PennMUSH Community

Changeset 467

Show
Ignore:
Timestamp:
08/16/06 01:15:26 (2 years ago)
Author:
pennmush
Message:

PennMUSH 1.7.7p34 Archival

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 1.7.7/CHANGES.177

    r465 r467  
    1818 
    1919========================================================================== 
     20 
     21Version 1.7.7 patchlevel 34                     June 22, 2004 
     22 
     23Flags and Powers: 
     24  * Debit power allows the giving of negative amounts of money. 
     25    Suggested by Hemlon@SevenStones. 
     26  * The setting and resetting of flags and powers can be logged  
     27    by using the new 'log' restriction. Changes were made in 
     28    flaglocal.dst which you must carry over into flaglocal.c 
     29    (or, if you don't use flaglocal.c, just rm src/flaglocal.c and 
     30    flaglocal.dst will be copied in its place). Suggested by Sholevi@M*U*S*H 
     31    [SW] 
     32  * Setting and resetting @powers are once again logged by default. [SW] 
     33Locks: 
     34  * @lock/speech can now be set by unprivileged players. @lock/speech 
     35    now applies to all players (it is no longer automatically overridden 
     36    by admin). SPEECH_LOCK`*FAILURE attributes can be used to override  
     37    the default failure messages when @lock/speech fails. 
     38Commands: 
     39  * ex/parent examines an object and shows attributes that will be 
     40    inherited from its parents (if you are permitted to examine 
     41    the parent as well). Suggested by BladedThoth@M*U*S*H.  
     42  * examine now shows the complete (examinable-by-enactor) chain of  
     43    parent objects, not just the nearest parent. Suggested by Luke@M*U*S*H. 
     44Functions: 
     45  * mailsend() is a function form of @mail/send. Suggested by Moe@ChicagoMUSH 
     46  * ncon, nvcon, nexits, nvexits, nplayers, nvplayers, nwho, nvwho  
     47    functions to count the number of each thing. Patch by Walker@M*U*S*H. 
     48  * xcon, xvcon, xexits, xvexits, xplayers, xvplayers, xwho, xvwho functions  
     49    to extract slices of potentially long contents, etc. lists. [Rhost,TM] 
     50    Patch by Walker@M*U*S*H. 
     51Minor changes (user-visible): 
     52  * Players can no longer be set CHOWN_OK. Suggested by Intrevis@M*U*S*H. 
     53    If you have existing CHOWN_OK players, you probably want to unset 
     54    this from them, or the results will be confusing (they'll continue 
     55    to appear to have the flag, even though it won't be testable or 
     56    settable or clearable; this is desired behavior). 
     57  * If you're See_All and Pemit_All, you may now @cemit on any channel. 
     58    Based on a suggestion by Philip Mak. 
     59  * Attempting to give a player more than max_pennies will give them 
     60    enough to get them to max_pennies, instead of being treated as 
     61    an error. Similarly, taking away more pennies than they have will 
     62    take away exactly all their pennies. 
     63  * Improved errors for unprivileged users doing @boot/port. 
     64    Suggested by Intrevis@M*U*S*H. [TAP] 
     65Minor changes (internals): 
     66  * pre OS X Macintosh OSes are no longer supported. Hints for  
     67    Darwin are improved. [SW] 
     68  * An extra file descriptor only needed on Sun OS boxes was being 
     69    opened on all unix systems. [SW] 
     70  * If no config file name is given on the netmush program's command line, 
     71    it will assume you mean mush.cnf instead of quitting. You should still 
     72    be using the restart script instead of netmush directly, though, as it 
     73    does important things like using the right database... [SW] 
     74  * 'make local-files' will copy all the src/*local.dst files to their 
     75    respective .c counterparts. Suggested by Nymeria@M*U*S*H. [SW] 
     76Fixes: 
     77  * Configure handles the case where SO_KEEPALIVE works but TCP_KEEPIDLE isn't 
     78    defined. [SW] 
     79  * Win32 portability fixes and mingw hints. [EEH] 
     80  * Raising max_logins from 0 with @config/set wouldn't take existing 
     81    connections into account. [SW]  
     82  * $commands starting with # (that don't look like an @force by dbref) 
     83    will now be matched. Reported by Intrevis@M*U*S*H. 
     84  * version() is verbose again. Reported by Sholevi@M*U*S*H. 
     85  * The double-add of SQL_OK on minimal.db is now really fixed. 
     86    See p33 changes for information. Report by Mordie@M*U*S*H. 
     87  * Help fixes by Kevin@M*U*S*H and Cerekk@bDv. 
     88  * @boot/desc on one's own descriptor is no longer translated to 
     89    @boot/me. [TAP] 
     90  * Overflow of integer argument in giving pennies fixed. Report by 
     91    Sholevi@M*U*S*H. 
     92  * Typo in fun_vcross() fixed. [SW] 
     93  * Configure does better when ssl shared libraries, but not static 
     94    libraries, are available. You can use -D no_openssl to skip SSL checks. 
     95 
    2096 
    2197Version 1.7.7 patchlevel 33                     June 3, 2004 
  • 1.7.7/CHANGES.OLD

    r417 r467  
    26592659 
    26602660 
    2661 Version 1.6.7 patchlevel 0               Augest 22, 1996 
     2661Version 1.6.7 patchlevel 0               August 22, 1996 
    26622662 
    26632663Major Changes: 
  • 1.7.7/Configure

    r463 r467  
    426426libs='' 
    427427d_openssl='' 
    428 libcrypto='' 
    429428libssl='' 
    430429lns='' 
     
    16681667            osvers="$3" 
    16691668            ;; 
    1670         dgux) osname=dgux  
     1669        dgux) osname=dgux 
    16711670            osvers="$3" 
    16721671            ;; 
     
    16741673            osvers="$3" 
    16751674            ;; 
    1676         freebsd) osname=freebsd  
     1675        freebsd) osname=freebsd 
    16771676            osvers="$3" ;; 
    16781677        genix) osname=genix ;; 
    1679         hp*) osname=hpux  
     1678        hp*) osname=hpux 
    16801679            case "$3" in 
    16811680            *.08.*) osvers=9 ;; 
     
    16991698            esac 
    17001699            ;; 
    1701         netbsd*) osname=netbsd  
     1700        netbsd*) osname=netbsd 
    17021701            osvers="$3" 
    17031702            ;; 
     
    17401739            esac 
    17411740            ;; 
    1742         uts) osname=uts  
     1741        uts) osname=uts 
    17431742            osvers="$3" 
    17441743            ;; 
     
    17461745            osvers="$4" 
    17471746            ;; 
     1747                mingw32*) osname=mingw32 
     1748                       osvers="$3" 
     1749                       ;; 
    17481750        $2) case "$osname" in 
    17491751            *isc*) ;; 
     
    46474649        exit(2); 
    46484650#ifdef I_NETINET_TCP 
     4651#ifdef TCP_KEEPIDLE 
    46494652    val = 1; 
    46504653    if (-1 == setsockopt(s, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val))) 
    46514654        exit(3); 
     4655#else 
     4656        exit(3); 
     4657#endif 
    46524658#endif 
    46534659    exit(0); 
     
    48994905: see if we should include -lssl and -lcrypto 
    49004906echo " " 
    4901 if $test -r /usr/lib/libssl$_a || \ 
    4902    $test -r /lib/libssl$_a || \ 
    4903    $test -r /usr/local/lib/libssl$_a ; then 
    4904     echo "-lssl found." >&4 
    4905     libssl='-lssl' 
    4906 else 
    4907     xxx=`./loc libssl$_a x $libpth` 
    4908     case "$xxx" in 
    4909     x) 
    4910         echo "No ssl library found." >&4 
    4911         libssl='' 
    4912         ;; 
    4913     *) 
    4914         echo "SSL library found in $xxx." >&4 
    4915         libssl="$xxx" 
    4916         ;; 
    4917     esac 
    4918 fi 
    4919  
    4920 if $test -r /usr/lib/libcrypto$_a || \ 
    4921    $test -r /lib/libcrypto$_a || \ 
    4922    $test -r /usr/local/lib/libcrypto$_a ; then 
    4923     echo "-lcrypto found." >&4 
    4924     libcrypto='-lcrypto' 
    4925 else 
    4926     xxx=`./loc libcrypto$_a x $libpth` 
    4927     case "$xxx" in 
    4928     x) 
    4929         echo "No crypto library found." >&4 
    4930         libcrypto='' 
    4931         ;; 
    4932     *) 
    4933         echo "SSL crypto library found in $xxx." >&4 
    4934         libcrypto="$xxx" 
    4935         ;; 
    4936     esac 
    4937 fi 
    49384907 
    49394908d_openssl="$undef" 
    4940 case "x$libssl$libcrypto" in 
    4941     x) 
    4942         ;; 
    4943     *) 
    4944 $cat > test_openssl.c <<EOM 
     4909 
     4910if $test "x$no_openssl" = "x"; then 
     4911 
     4912  libssl="-lssl -lcrypto" 
     4913 
     4914  $cat > test_ssl.c <<EOM 
    49454915#include <stdio.h> 
    49464916#include <stdlib.h> 
     
    49524922EOM 
    49534923 
    4954 if $cc $ccflags $ldflags -o test_openssl test_openssl.c $libs $libssl $libcrypto >/dev/null 2>&1 ; 
    4955 then 
    4956     echo 'You have openssl...' >&4 
    4957     version=`./test_openssl` 
    4958     if $test $? -eq 0; then 
    4959       d_openssl="$define" 
    4960       echo '...and at least version 0.9.6. Great.' >&4 
    4961     else 
    4962       echo '...but not at least version 0.9.6.' >&4 
     4924  if $cc $ccflags $ldflags -o test_ssl test_ssl.c $libs $libssl >/dev/null 2>&1 ; 
     4925  then 
     4926      echo 'You have openssl...' >&4 
     4927      version=`./test_ssl` 
     4928      if $test $? -eq 0; then 
     4929    echo '...and at least version 0.9.6. Great.' >&4 
     4930    d_openssl="$define" 
     4931      else 
     4932    echo '...but not version 0.9.6 or later.' >&4 
     4933    libssl='' 
     4934      fi 
     4935  else 
     4936      echo "You don't seem to have openssl." >&4 
    49634937      libssl='' 
    4964       libcrypto='' 
    4965     fi 
    4966 else 
    4967     echo "You don't seem to have openssl." >&4 
    4968     libssl='' 
    4969     libcrypto='' 
    4970 fi 
    4971 $rm -f test_openssl* core 
    4972  
    4973     ;;   
    4974 esac 
     4938  fi 
     4939  $rm -f test_ssl* core 
     4940 
     4941else 
     4942 
     4943  echo "Skipping openssl tests." >&4 
     4944  libssl='' 
     4945 
     4946fi 
     4947 
    49754948: see if rename exists 
    49764949set rename d_rename 
     
    71037076less='$less' 
    71047077libc='$libc' 
    7105 libcrypto='$libcrypto' 
    71067078libmysqlclient='$libmysqlclient' 
    71077079libpth='$libpth' 
  • 1.7.7/MANIFEST

    r463 r467  
    227227po/Makefile 
    228228win32/README.txt 
     229win32/README_MySQL.txt 
    229230win32/cmds.h 
    230231win32/config.h 
  • 1.7.7/Makefile.SH

    r463 r467  
    5050CCFLAGS=$optimize -I.. -I../hdrs $ccflags $warnings 
    5151LDFLAGS=$ldflags 
    52 CLIBS=$libs $cryptlib $libssl $libcrypto $libmysqlclient 
     52CLIBS=$libs $cryptlib $libssl $libmysqlclient 
    5353INSTALL=$install 
    5454INSTALLDIR=$installdir 
     
    146146    (cd src; make depend "CC=$(CC)" "CCFLAGS=$(CCFLAGS)" \ 
    147147    "LDFLAGS=$(LDFLAGS)" "CLIBS=$(CLIBS)" ) 
     148 
     149local-files: 
     150    $(CP) -f src/cmdlocal.dst src/cmdlocal.c 
     151    $(CP) -f src/flaglocal.dst src/flaglocal.c 
     152    $(CP) -f src/funlocal.dst src/funlocal.c 
     153    $(CP) -f src/local.dst src/local.c 
    148154 
    149155# REQUIRES GNU INDENT! DON'T INDENT WITH ANYTHING ELSE! 
  • 1.7.7/Patchlevel

    r465 r467  
    11Do not edit this file. It is maintained by the official PennMUSH patches. 
    2 This is PennMUSH 1.7.7p33 
     2This is PennMUSH 1.7.7p34 
  • 1.7.7/README.SSL

    r463 r467  
    5252  The Configure script distributed with PennMUSH automatically detects 
    5353  the OpenSSL libraries (libssl and libcrypto) and attempts to link 
    54   them into the executable, defining HAS_OPENSSL in config.h 
     54  them into the executable, defining HAS_OPENSSL in config.h. 
     55  If you have SSL libraries but wish to avoid linking with them, 
     56  give the -D no_openssl argument to Configure when you run it. 
    5557 
    5658  You can compile the OpenSSL libraries yourself from source code 
  • 1.7.7/game/txt/hlp/penncmd.hlp

    r465 r467  
    14121412   mdark       <actor> must be WIZARD or ROYALTY  
    14131413   odark       <actor> must own the <object> (or be WIZARD or ROYALTY) 
     1414 
     1415  The following permissions control other behavior related to the flag: 
     1416   
     1417  log          Log when the flag is set or cleared. Only meaningful in 
     1418               <setperms>. 
    14141419 
    14151420& @function 
     
    36513656    the object's owner and is primarily useful to admins. This switch 
    36523657    ignores the object's VISUAL flag (but not its attribute flags) 
     3658  The /parent switch show attributes that would be inherited from the 
     3659    object's parents, if you have permission to examine the attributes 
     3660    on the parent. 
    36533661  The /all switch shows the values of VEILED attributes. 
    36543662 
  • 1.7.7/game/txt/hlp/pennfunc.hlp

    r463 r467  
    144144 
    145145  folderstats() mail()        maildstats()  mailfrom()    mailfstats() 
    146   mailstats()   mailstatus()  mailsubject() mailtime() 
     146  mailsend()    mailstats()   mailstatus()  mailsubject() mailtime() 
    147147   
    148148& List functions 
     
    597597  Returns <string> with the first character capitalized. 
    598598  Example: capstr(foo bar baz) returns "Foo bar baz" 
     599 
     600  See also: lcstr(), ucstr() 
    599601& CAT() 
    600602  cat(<string1>,<string2>[,<string3>,<string4>,...]) 
     
    19201922  Returns <string> with all letters converted to lowercase. 
    19211923  Example: lcstr(Foo BAR bAz) returns "foo bar baz" 
     1924 
     1925  See also: capstr(), ucstr() 
    19221926& LDELETE() 
    19231927  Ldelete(<list>,<position>[,<single-character separator>]) 
     
    22562260  wizards or royalty do NOT appear on the dbref list. 
    22572261 
    2258   See also: mwho() 
     2262  See also: mwho(), nwho(), xwho() 
    22592263& MAIL() 
    22602264  mail() 
     
    23102314  <# sent> <# sent unread> <# sent cleared> <# sent bytes> <# received> 
    23112315  <# received unread> <# received cleared> <# received bytes> 
     2316& MAILSEND() 
     2317  mailsend(<player>,[<subject>/]<message>) 
     2318 
     2319  This function sends a message to a player, just like @mail/send. 
     2320  It returns nothing if successful, or an error message. 
    23122321& MAP() 
    23132322  map([<object>/]<attribute>,<list>[,<delim>][, <osep>]) 
     
    26132622 
    26142623  See also: lcon(), lexits(), con(), exit() 
     2624& NMWHO() 
     2625  nmwho() 
     2626 
     2627  This returns a count of all currently connected, non-hidden players. 
     2628  It's exactly the same as nwho() used by a mortal, and is suitable 
     2629  for use on privileged global objects who need an unprivileged count 
     2630  of who's online. 
     2631 
     2632  See also: nwho(), mwho(), xmwho() 
    26152633& NOR() 
    26162634  nor(<boolean>, <boolean>,...) 
     
    26372655  Returns the dbref number of the object, which must be in the same  
    26382656  room as the object executing num. 
     2657& NVCON() 
     2658& NCON() 
     2659  ncon(<object>) 
     2660  nvcon(<object>) 
     2661 
     2662  These functions return a count of the contents in a container. 
     2663 
     2664  ncon(<object>)  is identical to words(lcon(<object>)) 
     2665  nvcon(<object>) is identical to words(lvcon(<object>)) 
     2666 
     2667  See also: nexits(), nplayers(), xcon(), lcon(), lvcon() 
     2668& NVEXITS() 
     2669& NEXITS() 
     2670  nexits(<room>) 
     2671  nvexits(<room>) 
     2672 
     2673  These functions return a count of the exits in a room. 
     2674 
     2675  nexits(<room>)  is identical to words(lexits(<room>)) 
     2676  nvexits(<room>) is identical to words(lvexits(<room>)) 
     2677 
     2678  See also: ncon(), nplayers(), xexits(), lexits(), lvexits() 
     2679& NVPLAYERS() 
     2680& NPLAYERS() 
     2681  nplayers(<object>) 
     2682  nvplayers(<object>) 
     2683 
     2684  These functions return a count of the players in a container. 
     2685 
     2686  nplayers(<object>)  is identical to words(lplayers(<object>)) 
     2687  nvplayers(<object>) is identical to words(lvplayers(<object>)) 
     2688 
     2689  See also: ncon(), nexits(), xplayers(), lplayers(), lvplayers() 
     2690& NWHO() 
     2691  nwho() 
     2692 
     2693  This returns a count of all currently-connected players. When 
     2694  mortals use this function, DARK wizards or royalty are NOT counted. 
     2695 
     2696  See also: lwho(), nmwho(), xwho() 
    26392697& OBJ() 
    26402698  obj(<object>) 
     
    39393997  Returns <string> with all letters converted to uppercase. 
    39403998  Example: ucstr(Foo BAR baz) returns "FOO BAR BAZ" 
     3999 
     4000  See also: lcstr(), capstr() 
    39414001& UDEFAULT() 
    39424002  Function:  udefault([<obj>/]<attr>,<default case>[,<arg>]...) 
     
    42444304 
    42454305  See also: and(), or(), not(), nor() 
     4306& XVCON() 
     4307& XCON() 
     4308  xcon(<object>,<start>,<count>) 
     4309  xvcon(<object>,<start>,<count>) 
     4310 
     4311  xcon() fetches <count> or fewer item dbrefs from <object>'s contents 
     4312  starting at position <start>. It is useful when the number of objects 
     4313  in a container causes lcon() to exceed the buffer limit. 
     4314 
     4315  It is equivalent to extract(lcon(<object>),<start>,<count>) 
     4316 
     4317  xvcon() is identical, except it follows the restrictions of 
     4318  lvcon() 
     4319 
     4320  See also: ncon(), lcon(), lvcon() 
     4321& XVEXITS() 
     4322& XEXITS() 
     4323  xexits(<room>,<start>,<count>) 
     4324  xvexits(<room>,<start>,<count>) 
     4325 
     4326  xexits() fetches <count> or fewer exit dbrefs from <room> 
     4327  starting at position <start>. It is useful when the number 
     4328  of exits in a container causes lexits() to exceed the buffer 
     4329  limit. 
     4330 
     4331  It is equivalent to extract(lexits(<room>),<start>,<count>) 
     4332 
     4333  xvexits() is identical, except it follows the restrictions of 
     4334  lvexits() 
     4335 
     4336  See also: nexits(), lexits(), lvexits() 
     4337& XVPLAYERS() 
     4338& XPLAYERS() 
     4339  xplayers(<object>,<start>,<count>) 
     4340  xvplayers(<object>,<start>,<count>) 
     4341 
     4342  xplayers() fetches <count> or fewer player dbrefs from <object> 
     4343  starting at position <start>. It is useful when the number of 
     4344  players in a container causes lplayers() to exceed the buffer limit. 
     4345 
     4346  It is equivalent to extract(lplayers(<object>),<start>,<count>) 
     4347 
     4348  xvplayers() is identical, except it follows the restrictions of 
     4349  lvplayers() 
     4350 
     4351  See also: nplayers(), lplayers(), lvplayers() 
     4352& XWHO() 
     4353& XMWHO() 
     4354  xwho(start,count) 
     4355  xmwho(start,count) 
     4356 
     4357  xwho() fetches <count> or fewer player dbrefs from the list of connected 
     4358  players. It is useful when the number of players connected causes lwho() 
     4359  or pemits in +who $-commands to exceed buffer limits. 
     4360 
     4361  It is equivalent to extract(lwho(),<start>,<count>). 
     4362 
     4363  xmwho() is identical, except it is limited to non-DARK and non-HIDE 
     4364  players. 
     4365 
     4366  See also: lwho(), mwho(), nwho() 
    42464367& ZEMIT() 
    42474368  zemit(<zone>, <message>) 
  • 1.7.7/game/txt/hlp/penntop.hlp

    r463 r467  
    10331033  builder               Can use Builder commands. 
    10341034  chat_privs            Can use Admin channels. 
     1035  debit                 Can use give with a negative amount. 
    10351036  functions             Can use @function command. 
    10361037  guest                 Guest. Restricted command set. 
     
    10561057  see_all               Sees everything as if it were Visual. 
    10571058  see_queue             Can do @ps on anyone, and @ps/all. 
     1059  sql_ok                Can perform SQL queries 
    10581060  tport_anything        Can @teleport anything. 
    10591061  tport_anywhere        Can @teleport to anywhere. 
     
    13101312   digit, for numbers. [[:digit:]] is the same as \d. 
    13111313    [[:^digit:]] is the same as \D. 
    1312    alpha, for letters. alnum, for numbers and letters. 
    1313    lower, for lower-case letters. upper, for upper-case letters. 
     1314   alpha, for letters.  
     1315   alnum, for numbers and letters. 
     1316   lower, for lower-case letters.  
     1317   upper, for upper-case letters. 
    13141318   word, for word characters. [[:word:]] is the same as \w. 
    13151319    [[:^word:]] is the same as \W. 
     
    13221326 explicit ranges where possible to improve portability. For example, 
    13231327 [A-Za-z] and [[:alpha:]] are not the same thing in languages with accented 
    1324  characters. There are other keywords, but the ones listed are the most 
    1325  useful. 
     1328 characters.  
    13261329 
    13271330  Examples: 
     
    13301333  > say regmatch(foo bar, lit(^[[:word:]]+$)) 
    13311334  You say "0"   
     1335 
     1336 Other, less useful, character class keywords include ascii, cntrl, 
     1337 graph, print, punct, and xdigit. 
    13321338 
    13331339& REGEXP EXAMPLES 
  • 1.7.7/game/txt/hlp/pennv177.hlp

    r465 r467  
    1 & 1.7.7p33 
     1& 1.7.7p34 
    22& changes 
    33This is a list of changes in this patchlevel which are probably of 
     
    1212be read in 'help patchlevels'. 
    1313 
     14Version 1.7.7 patchlevel 34                     June 22, 2004 
     15 
     16Flags and Powers: 
     17  * Debit power allows the giving of negative amounts of money. 
     18    Suggested by Hemlon@SevenStones. 
     19  * The setting and resetting of flags and powers can be logged  
     20    by using the new 'log' restriction. Changes were made in 
     21    flaglocal.dst which you must carry over into flaglocal.c 
     22    (or, if you don't use flaglocal.c, just rm src/flaglocal.c and 
     23    flaglocal.dst will be copied in its place). Suggested by Sholevi@M*U*S*H 
     24    [SW] 
     25  * Setting and resetting @powers are once again logged by default. [SW] 
     26Locks: 
     27  * @lock/speech can now be set by unprivileged players. @lock/speech 
     28    now applies to all players (it is no longer automatically overridden 
     29    by admin). SPEECH_LOCK`*FAILURE attributes can be used to override  
     30    the default failure messages when @lock/speech fails. 
     31Commands: 
     32  * ex/parent examines an object and shows attributes that will be 
     33    inherited from its parents (if you are permitted to examine 
     34    the parent as well). Suggested by BladedThoth@M*U*S*H.  
     35  * examine now shows the complete (examinable-by-enactor) chain of  
     36    parent objects, not just the nearest parent. Suggested by Luke@M*U*S*H. 
     37Functions: 
     38  * mailsend() is a function form of @mail/send. Suggested by Moe@ChicagoMUSH 
     39  * ncon, nvcon, nexits, nvexits, nplayers, nvplayers, nwho, nvwho  
     40    functions to count the number of each thing. Patch by Walker@M*U*S*H. 
     41  * xcon, xvcon, xexits, xvexits, xplayers, xvplayers, xwho, xvwho functions  
     42    to extract slices of potentially long contents, etc. lists. [Rhost,TM] 
     43    Patch by Walker@M*U*S*H. 
     44Minor changes (user-visible): 
     45  * Players can no longer be set CHOWN_OK. Suggested by Intrevis@M*U*S*H. 
     46    If you have existing CHOWN_OK players, you probably want to unset 
     47    this from them, or the results will be confusing (they'll continue 
     48    to appear to have the flag, even though it won't be testable or 
     49    settable or clearable; this is desired behavior). 
     50  * If you're See_All and Pemit_All, you may now @cemit on any channel. 
     51    Based on a suggestion by Philip Mak. 
     52  * Attempting to give a player more than max_pennies will give them 
     53    enough to get them to max_pennies, instead of being treated as 
     54    an error. Similarly, taking away more pennies than they have will 
     55    take away exactly all their pennies. 
     56  * Improved errors for unprivileged users doing @boot/port. 
     57    Suggested by Intrevis@M*U*S*H. [TAP] 
     58Minor changes (internals): 
     59  * pre OS X Macintosh OSes are no longer supported. Hints for  
     60    Darwin are improved. [SW] 
     61  * An extra file descriptor only needed on Sun OS boxes was being 
     62    opened on all unix systems. [SW] 
     63  * If no config file name is given on the netmush program's command line, 
     64    it will assume you mean mush.cnf instead of quitting. You should still 
     65    be using the restart script instead of netmush directly, though, as it 
     66    does important things like using the right database... [SW] 
     67  * 'make local-files' will copy all the src/*local.dst files to their 
     68    respective .c counterparts. Suggested by Nymeria@M*U*S*H. [SW] 
     69Fixes: 
     70  * Configure handles the case where SO_KEEPALIVE works but TCP_KEEPIDLE isn't 
     71    defined. [SW] 
     72  * Win32 portability fixes and mingw hints. [EEH] 
     73  * Raising max_logins from 0 with @config/set wouldn't take existing 
     74    connections into account. [SW]  
     75  * $commands starting with # (that don't look like an @force by dbref) 
     76    will now be matched. Reported by Intrevis@M*U*S*H. 
     77  * version() is verbose again. Reported by Sholevi@M*U*S*H. 
     78  * The double-add of SQL_OK on minimal.db is now really fixed. 
     79    See p33 changes for information. Report by Mordie@M*U*S*H. 
     80  * Help fixes by Kevin@M*U*S*H and Cerekk@bDv. 
     81  * @boot/desc on one's own descriptor is no longer translated to 
     82    @boot/me. [TAP] 
     83  * Overflow of integer argument in giving pennies fixed. Report by 
     84    Sholevi@M*U*S*H. 
     85  * Typo in fun_vcross() fixed. [SW] 
     86  * Configure does better when ssl shared libraries, but not static 
     87    libraries, are available. You can use -D no_openssl to skip SSL checks. 
     88 
     89 
     90& 1.7.7p33 
    1491Version 1.7.7 patchlevel 33                     June 3, 2004 
    1592 
  • 1.7.7/game/txt/hlp/pennvOLD.hlp

    r465 r467  
    44194419 
    442044201.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 
    4421        19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 
     4421       19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 
    442244221.7.6: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 
    442344231.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 
  • 1.7.7/hdrs/attrib.h

    r463 r467  
    4545extern int atr_iter_get(dbref player, dbref thing, char const *name, 
    4646            int mortal, aig_func func, void *args); 
     47extern int atr_iter_get_parent(dbref player, dbref thing, char const *name, 
     48                   int mortal, aig_func func); 
    4749extern ATTR *atr_complete_match(dbref player, char const *atr, dbref privs); 
    4850extern void atr_free(dbref thing); 
  • 1.7.7/hdrs/dbdefs.h

    r465 r467  
    5353 
    5454#define Pennies(thing) (db[thing].penn) 
    55 #define s_Pennies(thing,p) (db[thing].penn=(p)) 
    5655 
    5756#define Parent(x)  (db[(x)].parent) 
  • 1.7.7/hdrs/externs.h

    r465 r467  
    187187extern char *wenv[10], renv[NUMQ][BUFFER_LEN]; 
    188188extern char *wnxt[10], *rnxt[NUMQ]; 
     189extern int process_command_port; 
    189190extern void do_second(void); 
    190191extern int do_top(int ncom); 
     
    324325extern int charge_action(dbref player, dbref thing, const char *awhat); 
    325326dbref first_visible(dbref player, dbref thing); 
     327 
     328/* From rob.c */ 
     329extern void s_Pennies(dbref thing, int amount); 
    326330 
    327331/* From set.c */ 
     
    576580 
    577581    /* flaglocal.c */ 
    578     void local_flags(void); 
     582    void local_flags(FLAGSPACE * flags); 
    579583 
    580584/* funlist.c */ 
  • 1.7.7/hdrs/flags.h

    r463 r467  
    4141 */ 
    4242struct flagspace { 
     43  const char *name;     /**< The name of this flagspace */ 
    4344  PTAB *tab;            /**< Prefix table storing flags by name/alias */ 
    4445  FLAG **flags;         /**< Variable-length array of pointers to canonical flags, indexed by bit */ 
     
    170171#define F_ODARK         0x2000  /* owner/admin/God can see this flag */ 
    171172#define F_DISABLED      0x4000  /* flag can't be used */ 
     173#define F_LOG           0x8000  /* Log when the flag is set/cleared */ 
    172174 
    173175 
  • 1.7.7/hdrs/game.h

    r465 r467  
    6666enum exam_type { EXAM_NORMAL, EXAM_BRIEF, EXAM_MORTAL }; 
    6767extern void do_examine(dbref player, const char *name, enum exam_type flag, 
    68                int all); 
     68               int all, int parent); 
    6969extern void do_inventory(dbref player); 
    7070extern void do_find(dbref player, const char *name, char **argv); 
  • 1.7.7/hdrs/mushdb.h

    r463 r467  
    4646#define Pemit_All(x)    (Wizard(x) || has_power_by_name(x,"PEMIT_ALL",NOTYPE)) 
    4747#define Sql_Ok(x)       (Wizard(x) || has_power_by_name(x, "SQL_OK", NOTYPE)) 
     48#define Can_Debit(x)    (Wizard(x) || has_power_by_name(x, "DEBIT", NOTYPE)) 
    4849 
    4950/* Permission macros */ 
     
    135136#define DBF_NEW_FLAGS           0x20000 
    136137#define DBF_NEW_POWERS          0x40000 
     138#define DBF_POWERS_LOGGED       0x80000 
    137139 
    138140/* Reboot DB flag macros - these should be defined whether or not the 
  • 1.7.7/hdrs/switches.h

    r457 r467  
    8989#define SWITCH_PANIC 88 
    9090#define SWITCH_PARANOID 89 
    91 #define SWITCH_PLAYERS 90 
    92 #define SWITCH_PORT 91 
    93 #define SWITCH_POWERS 92 
    94 #define SWITCH_PRESERVE 93 
    95 #define SWITCH_PRINT 94 
    96 #define SWITCH_PRIVS 95 
    97 #define SWITCH_PURGE 96 
    98 #define SWITCH_QUICK 97 
    99 #define SWITCH_QUIET 98 
    100 #define SWITCH_READ 99 
    101 #define SWITCH_REBOOT 100 
    102 #define SWITCH_RECALL 101 
    103 #define SWITCH_REGEXP 102 
    104 #define SWITCH_REGIONS 103 
    105 #define SWITCH_REGISTER 104 
    106 #define SWITCH_REMOVE 105 
    107 #define SWITCH_RENAME 106 
    108 #define SWITCH_RESTORE 107 
    109 #define SWITCH_RESTRICT 108 
    110 #define SWITCH_RETROACTIVE 109 
    111 #define SWITCH_ROOM 110 
    112 #define SWITCH_ROOMS 111 
    113 #define SWITCH_RSARGS 112 
    114 #define SWITCH_SEE 113 
    115 #define SWITCH_SEEFLAG 114 
    116 #define SWITCH_SELF 115 
    117 #define SWITCH_SEND 116 
    118 #define SWITCH_SET 117 
    119 #define SWITCH_SILENT 118 
    120 #define SWITCH_SKIPDEFAULTS 119 
    121 #define SWITCH_SPEAK 120 
    122 #define SWITCH_SPOOF 121 
    123 #define SWITCH_STATS 122 
    124 #define SWITCH_SUMMARY 123 
    125 #define SWITCH_TABLES 124 
    126 #define SWITCH_TAG 125 
    127 #define SWITCH_TELEPORT 126 
    128 #define SWITCH_TF 127 
    129 #define SWITCH_THINGS 128 
    130 #define SWITCH_TITLE 129 
    131 #define SWITCH_TRACE 130 
    132 #define SWITCH_TYPE 131 
    133 #define SWITCH_UNCLEAR 132 
    134 #define SWITCH_UNFOLDER 133 
    135 #define SWITCH_UNGAG 134 
    136 #define SWITCH_UNHIDE 135 
    137 #define SWITCH_UNMUTE 136 
    138 #define SWITCH_UNTAG 137 
    139 #define SWITCH_UNTIL 138 
    140 #define SWITCH_URGENT 139 
    141 #define SWITCH_USEFLAG 140 
    142 #define SWITCH_WHAT 141 
    143 #define SWITCH_WHO 142 
    144 #define SWITCH_WIPE 143 
    145 #define SWITCH_WIZ 144 
    146 #define SWITCH_WIZARD 145 
    147 #define SWITCH_YES 146 
    148 #define SWITCH_ZONE 147 
     91#define SWITCH_PARENT 90 
     92#define SWITCH_PLAYERS 91 
     93#define SWITCH_PORT 92 
     94#define SWITCH_POWERS 93 
     95#define SWITCH_PRESERVE 94 
     96#define SWITCH_PRINT 95 
     97#define SWITCH_PRIVS 96 
     98#define SWITCH_PURGE 97 
     99#define SWITCH_QUICK 98 
     100#define SWITCH_QUIET 99 
     101#define SWITCH_READ 100 
     102#define SWITCH_REBOOT 101 
     103#define SWITCH_RECALL 102 
     104#define SWITCH_REGEXP 103 
     105#define SWITCH_REGIONS 104 
     106#define SWITCH_REGISTER 105 
     107#define SWITCH_REMOVE 106 
     108#define SWITCH_RENAME 107 
     109#define SWITCH_RESTORE 108 
     110#define SWITCH_RESTRICT 109 
     111#define SWITCH_RETROACTIVE 110 
     112#define SWITCH_ROOM 111 
     113#define SWITCH_ROOMS 112 
     114#define SWITCH_RSARGS 113 
     115#define SWITCH_SEE 114 
     116#define SWITCH_SEEFLAG 115 
     117#define SWITCH_SELF 116 
     118#define SWITCH_SEND 117 
     119#define SWITCH_SET 118 
     120#define SWITCH_SILENT 119 
     121#define SWITCH_SKIPDEFAULTS 120 
     122#define SWITCH_SPEAK 121 
     123#define SWITCH_SPOOF 122 
     124#define SWITCH_STATS 123 
     125#define SWITCH_SUMMARY 124 
     126#define SWITCH_TABLES 125 
     127#define SWITCH_TAG 126 
     128#define SWITCH_TELEPORT 127 
     129#define SWITCH_TF 128 
     130#define SWITCH_THINGS 129 
     131#define SWITCH_TITLE 130 
     132#define SWITCH_TRACE 131 
     133#define SWITCH_TYPE 132 
     134#define SWITCH_UNCLEAR 133 
     135#define SWITCH_UNFOLDER 134 
     136#define SWITCH_UNGAG 135 
     137#define SWITCH_UNHIDE 136 
     138#define SWITCH_UNMUTE 137 
     139#define SWITCH_UNTAG 138 
     140#define SWITCH_UNTIL 139 
     141#define SWITCH_URGENT 140 
     142#define SWITCH_USEFLAG 141 
     143#define SWITCH_WHAT 142 
     144#define SWITCH_WHO 143 
     145#define SWITCH_WIPE 144 
     146#define SWITCH_WIZ 145 
     147#define SWITCH_WIZARD 146 
     148#define SWITCH_YES 147 
     149#define SWITCH_ZONE 148 
  • 1.7.7/hdrs/version.h

    r465 r467  
    11#define VERSION "1.7.7" 
    2 #define PATCHLEVEL "33
    3 #define PATCHDATE "[06/03/2004]" 
    4 #define NUMVERSION 001007007033 
     2#define PATCHLEVEL "34
     3#define PATCHDATE "[06/22/2004]" 
     4#define NUMVERSION 001007007034 
  • 1.7.7/hints/darwin.sh

    r465 r467  
    11usenm="n" 
    22cdecl='' 
     3so='dylib' 
    34 
  • 1.7.7/src/SWITCHES

    r457 r467  
    8888PANIC 
    8989PARANOID 
     90PARENT 
    9091PLAYERS 
    9192PORT 
  • 1.7.7/src/attrib.c

    r463 r467  
    7272               int flags); 
    7373static ATTR *find_atr_in_list(ATTR *atr, char const *name); 
     74static ATTR *atr_get_with_parent(dbref obj, char const *atrname, dbref *parent); 
    7475 
    7576/*======================================================================*/ 
     
    733734atr_get(dbref obj, char const *atrname) 
    734735{ 
     736  return atr_get_with_parent(obj, atrname, NULL); 
     737} 
     738 
     739static ATTR * 
     740atr_get_with_parent(dbref obj, char const *atrname, dbref *parent) 
     741{ 
    735742  static char name[ATTRIBUTE_NAME_LIMIT + 1]; 
    736743  char *p; 
     
    774781      /* Now actually find the attribute. */ 
    775782      atr = find_atr_in_list(atr, name); 
    776       if (atr && (target == obj || !AF_Private(atr))) 
     783      if (atr && (target == obj || !AF_Private(atr))) { 
     784    if (parent) 
     785      *parent = target; 
    777786    return atr; 
     787      } 
    778788 
    779789    continue_target: 
     
    875885    indirect = &AL_NEXT(ptr); 
    876886