Changeset 433
- Timestamp:
- 08/12/06 18:48:30 (2 years ago)
- Files:
-
- 1.7.7/CHANGES.176 (modified) (1 diff)
- 1.7.7/CHANGES.177 (modified) (10 diffs)
- 1.7.7/INSTALL (modified) (1 diff)
- 1.7.7/MANIFEST (modified) (3 diffs)
- 1.7.7/Makefile.SH (modified) (1 diff)
- 1.7.7/Patchlevel (modified) (1 diff)
- 1.7.7/README.SSL (added)
- 1.7.7/game/data/minimal.db (modified) (4 diffs)
- 1.7.7/game/mushcnf.dst (modified) (2 diffs)
- 1.7.7/game/restrict.cnf (modified) (1 diff)
- 1.7.7/game/txt/compose.sh.SH (modified) (1 diff)
- 1.7.7/game/txt/hlp/penncmd.hlp (modified) (1 diff)
- 1.7.7/game/txt/hlp/pennflag.hlp (modified) (2 diffs)
- 1.7.7/game/txt/hlp/pennfunc.hlp (modified) (7 diffs)
- 1.7.7/game/txt/hlp/pennv176.hlp (modified) (1 diff)
- 1.7.7/game/txt/hlp/pennv177.hlp (modified) (11 diffs)
- 1.7.7/game/txt/hlp/pennvOLD.hlp (modified) (1 diff)
- 1.7.7/hdrs/attrib.h (modified) (2 diffs)
- 1.7.7/hdrs/boolexp.h (modified) (2 diffs)
- 1.7.7/hdrs/chunk.h (modified) (1 diff)
- 1.7.7/hdrs/command.h (modified) (1 diff)
- 1.7.7/hdrs/conf.h (modified) (4 diffs)
- 1.7.7/hdrs/dbdefs.h (modified) (3 diffs)
- 1.7.7/hdrs/extchat.h (modified) (2 diffs)
- 1.7.7/hdrs/externs.h (modified) (1 diff)
- 1.7.7/hdrs/function.h (modified) (1 diff)
- 1.7.7/hdrs/lock.h (modified) (4 diffs)
- 1.7.7/hdrs/mushdb.h (modified) (1 diff)
- 1.7.7/hdrs/mushtype.h (modified) (1 diff)
- 1.7.7/hdrs/myssl.h (added)
- 1.7.7/hdrs/version.h (modified) (1 diff)
- 1.7.7/po/Makefile (modified) (1 diff)
- 1.7.7/src/Makefile (modified) (3 diffs)
- 1.7.7/src/attrib.c (modified) (9 diffs)
- 1.7.7/src/boolexp.c (modified) (32 diffs)
- 1.7.7/src/bsd.c (modified) (43 diffs)
- 1.7.7/src/chunk.c (modified) (14 diffs)
- 1.7.7/src/cmds.c (modified) (1 diff)
- 1.7.7/src/command.c (modified) (5 diffs)
- 1.7.7/src/conf.c (modified) (4 diffs)
- 1.7.7/src/db.c (modified) (13 diffs)
- 1.7.7/src/extchat.c (modified) (8 diffs)
- 1.7.7/src/extmail.c (modified) (21 diffs)
- 1.7.7/src/flags.c (modified) (2 diffs)
- 1.7.7/src/funcrypt.c (modified) (1 diff)
- 1.7.7/src/function.c (modified) (6 diffs)
- 1.7.7/src/fundb.c (modified) (1 diff)
- 1.7.7/src/funlist.c (modified) (4 diffs)
- 1.7.7/src/funstr.c (modified) (1 diff)
- 1.7.7/src/funtime.c (modified) (3 diffs)
- 1.7.7/src/game.c (modified) (10 diffs)
- 1.7.7/src/help.c (modified) (4 diffs)
- 1.7.7/src/info_slave.c (modified) (2 diffs)
- 1.7.7/src/lock.c (modified) (12 diffs)
- 1.7.7/src/log.c (modified) (1 diff)
- 1.7.7/src/look.c (modified) (4 diffs)
- 1.7.7/src/myssl.c (added)
- 1.7.7/src/notify.c (modified) (4 diffs)
- 1.7.7/src/parse.c (modified) (1 diff)
- 1.7.7/src/predicat.c (modified) (2 diffs)
- 1.7.7/src/set.c (modified) (8 diffs)
- 1.7.7/src/timer.c (modified) (10 diffs)
- 1.7.7/src/warnings.c (modified) (3 diffs)
- 1.7.7/src/wild.c (modified) (2 diffs)
- 1.7.7/src/wiz.c (modified) (5 diffs)
- 1.7.7/win32/cmds.h (modified) (2 diffs)
- 1.7.7/win32/funs.h (modified) (2 diffs)
- 1.7.7/win32/pennmush.dsp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
1.7.7/CHANGES.176
r431 r433 13 13 14 14 ========================================================================== 15 16 Version 1.7.6 patchlevel 13 August 11, 2003 17 18 Fixes: 19 * Calling panic() while in the middle of a panic dump would cause a loop. 20 Reported by [EEH]. [SW] 21 * Outdated mention of compose.csh removed from compose.sh.SH. 22 Reported by Cheetah@M*U*S*H. 23 * timestring() dealt wrongly with large arguments. Reported by 24 Jules@M*U*S*H. timefmt() had a similar problem, reported by 25 Luke@M*U*S*H. 26 * Better checking of db save failures. [SW] 27 15 28 16 29 Version 1.7.6 patchlevel 12 June 23, 2003 1.7.7/CHANGES.177
r431 r433 18 18 19 19 ========================================================================== 20 21 Version 1.7.7 patchlevel 17 August 11, 2003 22 23 Major changes: 24 * SSL support, including server and client authentication as options. 25 This should be considered experimental. New ssl() function returns 1 26 if a player/descriptor is using SSL, 0 otherwise. New file README.SSL 27 documents how to set up SSL. Two things to note: 28 - SSL connections are dropped on @shutdown/reboot, so SSL users may 29 wish to write client triggers to reconnect. 30 - Output flushing behaves slightly differently for SSL connections. 31 * The way lock keys are handled internally has been rewritten to allow 32 them to be tracked by the same chunk-management code that handles 33 attributes. [SW] 34 * @mail message texts are now stored with the chunk-management code. [SW] 35 * The new code can no longer read databases created by versions of Penn 36 before 1.7.5p0. If you need to do this, load it in 1.7.6, shutdown, 37 and use that database. [SW] 38 Minor changes: 39 * A new minimal.db is distributed (older ones probably won't work, 40 and this one probably won't work with older versions). [TAP] 41 * Contents/exits lists and functions that use first_visible (like 42 lcon, lexits, etc.) are now affected by INTERACT_SEE. Suggested by 43 Prospero@Metro. 44 * @chan/recall now displays the last 10 lines by default. Use 45 @chan/recall <chan>=0 to get the full buffer. Suggested by [TAP]. 46 * Various boolexp tweaks. [SW] 47 * @power provides more verbose feedback. Suggested by Mordie@M*U*S*H. [SW] 48 * Additional chunk tweaks, including limiting migrations to one 49 per second. [TAP] 50 * PROFILING #define for use when profiling the code (surprise). This 51 just disables the CPU timer. 52 * When matching $-commands, only call the slower capturing wildcard match 53 function when we already know it succeeds, since it won't most of the time. 54 The faster non-capturing function is checked first to find a match. [SW] 55 * PCRE is initialized once, at startup, rather than testing to see if it has 56 to be done before each place regular expressions are used. [SW] 57 * The TERSE flag now applies to objects, not just players. Suggested 58 by Aur@M*U*S*H. 59 * The terminfo() function now returns SSL status as well. 60 * help-like commands without arguments now use the command name 61 as the argument. E.g. 'news' now looks for topic 'news', instead of 62 'help'. If not found, we fall back on help. Patch by Mike Griffiths. 63 * When an object is zoned to an unlocked ZMO, the ZMO is now autolocked 64 to =me instead of $me, because it's probably less confusing. 65 Suggested by Luke@M*U*S*H. 66 * @name now automatically trims leading and trailing spaces from its 67 newname argument, to avoid confusing people who use edit() to 68 generate new names and leave in spaces. Report by [TAP], patch by [SW]. 69 Commands: 70 * New 'logargs' and 'logname' restrictions in restrict.cnf allow 71 per-command logging. Suggested by Saturn @ M3. 72 Functions: 73 * The sha1() function has been renamed sha0(), since that's what it 74 really does. [TAP] 75 * trimtiny() and trimpenn() work like trim(), but force the TM or 76 Penn argument style. 77 * New 'logargs' and 'logname' restrictions in restrict.cnf allow 78 per-function logging. Suggested by Saturn @ M3. 79 Fixes: 80 * The side-effect version of name() was producing a weird return 81 value. Reported by Saturn@M3. 82 * Problems with restrict_command and restrict_function with multiple 83 restrictions now fixed. Report by Sholevi@M*U*S*H. 84 * stddef.h now included in src/extchat.c. Report by [EEH]. [SW] 85 * INFO output now includes a missing newline. Report by [EEH]. [SW] 86 * help BUILDER updated. Report by Laura Langland-Shula. 87 * down.txt message wasn't being sent. Report by Sholevi@M*U*S*H. [SW] 88 * New Win32 project files that include the chunk code. [EEH] 89 * @chan/what no longer highlights the channel's name, as this is 90 confusing if you use ansified channel names. Suggested by 91 Oriens@Alexandria. 92 * ex/mortal now operates more correctly. Report by Amy Kou'ai. 93 * Fixes from 1.7.6p13. 20 94 21 95 Version 1.7.7 patchlevel 16 June 23, 2003 … … 42 116 * @chan/what displays information about a channel's recall buffer, if any. 43 117 [SW] 44 * @chan/recall'ed lines are more clearly marked as such. Suggested by 118 * @chan/recall'ed lines are more clearly marked as such. Suggested by 45 119 Oriens@Alexandria. [SW] 46 120 * Consolidation of a common idiom used to format times throughout the source … … 63 137 Fixes: 64 138 * Problem with checking command flag masks when the number of 65 flags was an even multiple of 8. Reported by Nymeria and 139 flags was an even multiple of 8. Reported by Nymeria and 66 140 Mordie@M*U*S*H. 67 141 * Tweak to improve efficiency of ancestor checking code and delint … … 74 148 Report by Krad@M*U*S*H. 75 149 * Modified several Makefile.SH targets to prevent Javelin from 76 releasing patches that don't have the autogenerated files 150 releasing patches that don't have the autogenerated files 77 151 up-to-date for Windows folks. 78 152 * Removed some dependence on typedefs that may or may not be in system … … 81 155 * Help fixes by Mike Griffiths and Oriens@Alexandria. 82 156 83 157 84 158 Version 1.7.7 patchlevel 14 May 22, 2003 85 159 86 160 Major changes: 87 * Ancestors: an object can be configured to serve as an 'ultimate 161 * Ancestors: an object can be configured to serve as an 'ultimate 88 162 parent' of every room, exit, thing, or player, and attributes 89 that are not found on an object or any of its parents may be inherited 90 from the ancestor for that object type. The ORPHAN flag prevents 163 that are not found on an object or any of its parents may be inherited 164 from the ancestor for that object type. The ORPHAN flag prevents 91 165 ancestors from being used on an object. Patch by Walker@M*U*S*H. 92 166 * Mail messages now track not only the dbref of the sender but the 93 167 sender's creation time, so messages from dbrefs that have been 94 nuked and recreated can be distinguished from messages from the 168 nuked and recreated can be distinguished from messages from the 95 169 original sender. This modifies the maildb and make it not usable 96 170 with older versions. All existing @mail is grandfathered in, and … … 98 172 * New chunk memory allocator can be used to greatly reduce process 99 173 memory requirements by swapping little-used attribute texts out 100 to disk and caching often-used attribute texts in memory. 174 to disk and caching often-used attribute texts in memory. 101 175 This is incompatible with forking dumps, so if you use it, 102 you'll do nonforking dumps. Configurable in mush.cnf, see comments 176 you'll do nonforking dumps. Configurable in mush.cnf, see comments 103 177 there. [TAP] 104 178 * Hardcode: new interaction type INTERACT_PRESENCE marks the … … 110 184 * fraction(), for turning floating-point numbers into fractions. [SW] 111 185 * root(), for finding roots higher than the square root. [SW] 112 Minor changes: 186 Minor changes: 113 187 * We now use wrapper functions atr_value and safe_atr_value instead of 114 188 uncompress(AL_STR(...)) or safe_uncompress(AL_STR(...)), so we … … 117 191 as %0. Suggested by Sholevi and Time@M*U*S*H. [SW] 118 192 * Config options that take times now accept a notation describing what kind 119 of units to use. For example, 3600s, 60m, 30m1800s, and 1h all refer to 193 of units to use. For example, 3600s, 60m, 30m1800s, and 1h all refer to 120 194 the same period of time. Suggested by Time@M*U*S*H. [SW] 121 195 * Doxygen commenting of non-static members is essentially complete! … … 145 219 Konstantine Shirow. [SW] 146 220 * Using @chan/buffer to resize a recall buffer gives feedback. Reported by 147 Sholevi@M*U*S*H. [SW] 221 Sholevi@M*U*S*H. [SW] 148 222 * Help fix for grab() by Adu@AbryssMUSH. 149 223 * You can no longer destroy the base_room (or default_home). Suggested … … 155 229 * Interactions (something like "realms" in mux2). Two functions 156 230 in local.c can now be used to control conditions under which 157 objects can see, hear, or match each other. Possibly useful for 231 objects can see, hear, or match each other. Possibly useful for 158 232 implementing umbral worlds, etc. Patch by Vadiv@M*U*S*H. 159 233 Functions: 1.7.7/INSTALL
r431 r433 151 151 152 152 4. On cygwin systems, add to the CCFLAGS in the Makefile: 153 -I/usr/src/exim-4.10-1/minires 153 -I/usr/src/exim-4.20-1/minires 154 (or whatever the latest exim source directory is) 154 155 155 156 5. Do a "make install". This will build all the necessary files, and 1.7.7/MANIFEST
r431 r433 40 40 hdrs/mymalloc.h 41 41 hdrs/mysocket.h 42 hdrs/myssl.h 42 43 hdrs/oldflags.h 43 44 hdrs/parse.h … … 96 97 src/mymalloc.c 97 98 src/mysocket.c 99 src/myssl.c 98 100 src/notify.c 99 101 src/parse.c … … 209 211 FAQ 210 212 README 213 README.SSL 211 214 INSTALL 212 215 UPGRADING 1.7.7/Makefile.SH
r429 r433 36 36 # dunemush@pennmush.org 37 37 # 38 # If you want to profile the code, add -pg -a -DPROFILING to CCFLAGS 39 # and (probably) remove -O 40 # 38 41 $make_set_make 39 42 CC=$cc 1.7.7/Patchlevel
r431 r433 1 1 Do not edit this file. It is maintained by the official PennMUSH patches. 2 This is PennMUSH 1.7.7p1 62 This is PennMUSH 1.7.7p17 1.7.7/game/data/minimal.db
r335 r433 1 +V 41917461 +V29353474 2 2 ~3 3 3 !0 … … 8 8 -1 9 9 -1 10 lockcount 0 10 11 1 11 12 -1 … … 26 27 -1 27 28 -1 28 _Enter|(=1) 29 _Use|(=1) 30 _Basic|(=1) 29 lockcount 3 30 type "Basic" 31 creator 1 32 flags 2 33 key "=#1" 34 type "Enter" 35 creator 1 36 flags 2 37 key "=#1" 38 type "Use" 39 creator 1 40 flags 2 41 key "=#1" 31 42 1 32 43 -1 … … 55 66 -1 56 67 -1 68 lockcount 0 57 69 1 58 70 -1 1.7.7/game/mushcnf.dst
r427 r433 15 15 mud_name TinyMUSH 16 16 17 # the port it's running on.17 # The port it's running on. See also ssl_port, later. 18 18 port 4201 19 19 … … 152 152 chunk_cache_memory 1000000 153 153 154 # The number of attributes that may be moved at one time, with no155 # net activity. The higher the value, the faster memory gets156 # defragmented,but at a greater CPU cost.154 # The number of attributes that may be moved at one time, once per 155 # second. The higher the value, the faster memory gets defragmented, 156 # but at a greater CPU cost. 157 157 chunk_migrate 500 158 158 159 # The number of attributes that may be moved at one time, with net 160 # activity. 161 active_chunk_migrate 200 159 ### 160 ### SSL support 161 ### 162 163 # The port to listen on for SSL connections. This must be an unused 164 # port other than the standard connection port. To disable SSL 165 # connections, leave this set to 0. 166 ssl_port 0 167 168 # The file containing the MUSH server's certificate and private key, 169 # concatenated together, and with no password on the private key. 170 # Obviously, this file should only be readable by the MUSH account 171 # owner. If this is commented out, the server will not present a 172 # certificate, so clients that attempt to authenticate the server 173 # will fail. 174 ssl_private_key_file server-key.crt 175 176 # The file containing one or more certificates of certifying authorities 177 # that the server should trust to certify clients who connect and 178 # present certificates. A standard bundle of these is distributed 179 # with openssl as 'ca-bundle.crt'. If commented out, the server will 180 # not attempt client authentication. 181 ssl_ca_file /usr/share/ssl/certs/ca-bundle.crt 182 183 # Are clients *required* to present a valid certificate in order to 184 # make an SSL connection? 185 ssl_require_client_cert no 162 186 163 187 ### 1.7.7/game/restrict.cnf
r357 r433 12 12 # wizard Must be wiz to use it 13 13 # god Must be god to use it 14 # logname When func/cmd is used, log its name and user 15 # logargs When func/cmd is used, log its name, args, and user 14 16 # <flag> Any flag that must be present to use it (Command only) 15 17 # <power> Any power that must be present to use it (Command only) 1.7.7/game/txt/compose.sh.SH
r355 r433 52 52 dir=$1 53 53 if $test ! -d $dir; then 54 $echo "Usage: compose. csh <directory>"54 $echo "Usage: compose.sh <directory>" 55 55 exit 0 56 56 fi 1.7.7/game/txt/hlp/penncmd.hlp
r431 r433 3430 3430 The /brief switch is equivalent to the 'brief' command. 3431 3431 The /debug switch is wizard-only and shows raw values for certa 3432 in fields in an object.3432 in fields in an object. 3433 3433 The /mortal switch shows an object as if you were a mortal other than 3434 the object's owner and is primarily useful to admins. 3434 the object's owner and is primarily useful to admins. This switch 3435 ignores the object's VISUAL flag (but not its attribute flags) 3435 3436 The /all switch shows the values of VEILED attributes. 3436 3437 & follow 1.7.7/game/txt/hlp/pennflag.hlp
r429 r433 131 131 this, you will not be able to use these commands unless you have the 132 132 power. Only wizards can grant @powers. To see if building is limited, 133 check @co nfig.134 135 See also: POWERS, @power, @dig, @open, @create , @config133 check @command for the various building commands. 134 135 See also: POWERS, @power, @dig, @open, @create 136 136 & CHOWN_OK 137 137 Flag: CHOWN_OK (things, rooms, exits) … … 600 600 changes for more information. 601 601 & TERSE 602 Flag: TERSE (players )602 Flag: TERSE (players, things) 603 603 604 604 When an object is set TERSE, it does not see the descriptions or 605 605 success/failure messages in rooms. This is a useful flag if you're 606 606 on a slow connection or you're moving through a familiar area and 607 don't want to see tons of text. This flag is only valid for players;608 objects belonging to TERSE players are automatically considered to 609 be TERSE.607 don't want to see tons of text. 608 609 When a player is TERSE, all of their objects are considered to be TERSE. 610 610 & TRANSPARENT 611 611 Flag: TRANSPARENT (all types) 1.7.7/game/txt/hlp/pennfunc.hlp
r431 r433 112 112 conn() doing() height() hidden() idle() 113 113 lports() lwho() mwho() ports() pueblo() 114 terminfo() width()114 ssl() terminfo() width() 115 115 & Dbref functions 116 116 Dbref functions return a dbref or list of dbrefs related to some value … … 201 201 merge() mid() ord() pos() regedit() 202 202 lpos() regmatch() repeat() reverse() right() 203 rjust() scramble() secure() sha 1() space()203 rjust() scramble() secure() sha0() space() 204 204 spellnum() squish() strcat() strinsert() stripaccents() 205 205 stripansi() strlen() strmatch() strreplace() switch() … … 2989 2989 > say setunion(1.1 1.0, 1.000, %b, f) 2990 2990 You say, "1.0 1.1" 2991 & SHA 1()2992 sha 1(<string>)2993 2994 Returns the SHA -1cryptographic hash of the string. See RFC 31742991 & SHA0() 2992 sha0(<string>) 2993 2994 Returns the SHA cryptographic hash of the string. See RFC 3174 2995 2995 for more information. 2996 2996 & SHL() … … 3185 3185 Returns the number of times the server has been rebooted with 3186 3186 @shutdown/reboot since the last full startup. 3187 & SSL() 3188 ssl(<player|descriptor>) 3189 3190 This function returns 1 if the player is using an SSL connection, 3191 and 0 otherwise. If SSL is disabled, it always returns 0. 3192 Players can check the SSL status of their own connection. 3193 The See_All power is required to check other connections. 3194 3195 See also: terminfo() 3187 3196 & STEP() 3188 3197 step([<obj>/]<attr>, <list>, <step>[, <delim>, <outsep>]) … … 3385 3394 pueblo present if the client is in Pueblo mode. 3386 3395 telnet present if the client understands the telnet protocol. 3396 ssl present if the client is using an SSL/TLS connection. 3387 3397 3388 3398 Other fields may be added in the future, if, for example, MXP support … … 3505 3515 & TRIM() 3506 3516 trim(<string>[,<character to trim>][,<trim style>]) 3517 trimpenn(<string>[,<character to trim>][,<trim style>]) 3518 trimtiny(<string>[,<trim style>][,<character to trim>]) 3507 3519 3508 3520 This function trims leading and trailing characters from a string. … … 3518 3530 3519 3531 If the tiny_trim_fun config option is "yes", the character and style 3520 arguments are reversed. 3532 arguments are reversed. Use trimpenn() or trimtiny() if you want to 3533 specify a particular argument sequence no matter how the option is set. 3521 3534 3522 3535 Examples: 1.7.7/game/txt/hlp/pennv176.hlp
r431 r433 1 & 1.7.6p13 2 Version 1.7.6 patchlevel 13 August 11, 2003 3 4 Fixes: 5 * Calling panic() while in the middle of a panic dump would cause a loop. 6 Reported by [EEH]. [SW] 7 * Outdated mention of compose.csh removed from compose.sh.SH. 8 Reported by Cheetah@M*U*S*H. 9 * timestring() dealt wrongly with large arguments. Reported by 10 Jules@M*U*S*H. timefmt() had a similar problem, reported by 11 Luke@M*U*S*H. 12 * Better checking of db save failures. [SW] 13 14 1 15 & 1.7.6p12 2 16 Version 1.7.6 patchlevel 12 June 23, 2003 1.7.7/game/txt/hlp/pennv177.hlp
r431 r433 1 & 1.7.7p1 61 & 1.7.7p17 2 2 & changes 3 3 This is a list of changes in this patchlevel which are probably of … … 12 12 be read in 'help patchlevels'. 13 13 14 Version 1.7.7 patchlevel 17 August 11, 2003 15 16 Major changes: 17 * SSL support, including server and client authentication as options. 18 This should be considered experimental. New ssl() function returns 1 19 if a player/descriptor is using SSL, 0 otherwise. New file README.SSL 20 documents how to set up SSL. Two things to note: 21 - SSL connections are dropped on @shutdown/reboot, so SSL users may 22 wish to write client triggers to reconnect. 23 - Output flushing behaves slightly differently for SSL connections. 24 * The way lock keys are handled internally has been rewritten to allow 25 them to be tracked by the same chunk-management code that handles 26 attributes. [SW] 27 * @mail message texts are now stored with the chunk-management code. [SW] 28 * The new code can no longer read databases created by versions of Penn 29 before 1.7.5p0. If you need to do this, load it in 1.7.6, shutdown, 30 and use that database. [SW] 31 Minor changes: 32 * A new minimal.db is distributed (older ones probably won't work, 33 and this one probably won't work with older versions). [TAP] 34 * Contents/exits lists and functions that use first_visible (like 35 lcon, lexits, etc.) are now affected by INTERACT_SEE. Suggested by 36 Prospero@Metro. 37 * @chan/recall now displays the last 10 lines by default. Use 38 @chan/recall <chan>=0 to get the full buffer. Suggested by [TAP]. 39 * Various boolexp tweaks. [SW] 40 * @power provides more verbose feedback. Suggested by Mordie@M*U*S*H. [SW] 41 * Additional chunk tweaks, including limiting migrations to one 42 per second. [TAP] 43 * PROFILING #define for use when profiling the code (surprise). This 44 just disables the CPU timer. 45 * When matching $-commands, only call the slower capturing wildcard match 46 function when we already know it succeeds, since it won't most of the time. 47 The faster non-capturing function is checked first to find a match. [SW] 48 * PCRE is initialized once, at startup, rather than testing to see if it has 49 to be done before each place regular expressions are used. [SW] 50 * The TERSE flag now applies to objects, not just players. Suggested 51 by Aur@M*U*S*H. 52 * The terminfo() function now returns SSL status as well. 53 * help-like commands without arguments now use the command name 54 as the argument. E.g. 'news' now looks for topic 'news', instead of 55 'help'. If not found, we fall back on help. Patch by Mike Griffiths. 56 * When an object is zoned to an unlocked ZMO, the ZMO is now autolocked 57 to =me instead of $me, because it's probably less confusing. 58 Suggested by Luke@M*U*S*H. 59 * @name now automatically trims leading and trailing spaces from its 60 newname argument, to avoid confusing people who use edit() to 61 generate new names and leave in spaces. Report by [TAP], patch by [SW]. 62 Commands: 63 * New 'logargs' and 'logname' restrictions in restrict.cnf allow 64 per-command logging. Suggested by Saturn @ M3. 65 Functions: 66 * The sha1() function has been renamed sha0(), since that's what it 67 really does. [TAP] 68 * trimtiny() and trimpenn() work like trim(), but force the TM or 69 Penn argument style. 70 * New 'logargs' and 'logname' restrictions in restrict.cnf allow 71 per-function logging. Suggested by Saturn @ M3. 72 Fixes: 73 * The side-effect version of name() was producing a weird return 74 value. Reported by Saturn@M3. 75 * Problems with restrict_command and restrict_function with multiple 76 restrictions now fixed. Report by Sholevi@M*U*S*H. 77 * stddef.h now included in src/extchat.c. Report by [EEH]. [SW] 78 * INFO output now includes a missing newline. Report by [EEH]. [SW] 79 * help BUILDER updated. Report by Laura Langland-Shula. 80 * down.txt message wasn't being sent. Report by Sholevi@M*U*S*H. [SW] 81 * New Win32 project files that include the chunk code. [EEH] 82 * @chan/what no longer highlights the channel's name, as this is 83 confusing if you use ansified channel names. Suggested by 84 Oriens@Alexandria. 85 * ex/mortal now operates more correctly. Report by Amy Kou'ai. 86 * Fixes from 1.7.6p13. 87 88 & 1.7.7p16 14 89 Version 1.7.7 patchlevel 16 June 23, 2003 15 90 … … 35 110 * @chan/what displays information about a channel's recall buffer, if any. 36 111 [SW] 37 * @chan/recall'ed lines are more clearly marked as such. Suggested by 112 * @chan/recall'ed lines are more clearly marked as such. Suggested by 38 113 Oriens@Alexandria. [SW] 39 114 * Consolidation of a common idiom used to format times throughout the source … … 57 132 Fixes: 58 133 * Problem with checking command flag masks when the number of 59 flags was an even multiple of 8. Reported by Nymeria and 134 flags was an even multiple of 8. Reported by Nymeria and 60 135 Mordie@M*U*S*H. 61 136 * Tweak to improve efficiency of ancestor checking code and delint … … 68 143 Report by Krad@M*U*S*H. 69 144 * Modified several Makefile.SH targets to prevent Javelin from 70 releasing patches that don't have the autogenerated files 145 releasing patches that don't have the autogenerated files 71 146 up-to-date for Windows folks. 72 147 * Removed some dependence on typedefs that may or may not be in system … … 75 150 * Help fixes by Mike Griffiths and Oriens@Alexandria. 76 151 77 152 78 153 & 1.7.7p14 79 154 Version 1.7.7 patchlevel 14 May 22, 2003 80 155 81 156 Major changes: 82 * Ancestors: an object can be configured to serve as an 'ultimate 157 * Ancestors: an object can be configured to serve as an 'ultimate 83 158 parent' of every room, exit, thing, or player, and attributes 84 that are not found on an object or any of its parents may be inherited 85 from the ancestor for that object type. The ORPHAN flag prevents 159 that are not found on an object or any of its parents may be inherited 160 from the ancestor for that object type. The ORPHAN flag prevents 86 161 ancestors from being used on an object. Patch by Walker@M*U*S*H. 87 162 * Mail messages now track not only the dbref of the sender but the 88 163 sender's creation time, so messages from dbrefs that have been 89 nuked and recreated can be distinguished from messages from the 164 nuked and recreated can be distinguished from messages from the 90 165 original sender. This modifies the maildb and make it not usable 91 166 with older versions. All existing @mail is grandfathered in, and … … 93 168 * New chunk memory allocator can be used to greatly reduce process 94 169 memory requirements by swapping little-used attribute texts out 95 to disk and caching often-used attribute texts in memory. 170 to disk and caching often-used attribute texts in memory. 96 171 This is incompatible with forking dumps, so if you use it, 97 you'll do nonforking dumps. Configurable in mush.cnf, see comments 172 you'll do nonforking dumps. Configurable in mush.cnf, see comments 98 173 there. [TAP] 99 174 * Hardcode: new interaction type INTERACT_PRESENCE marks the … … 105 180 * fraction(), for turning floating-point numbers into fractions. [SW] 106 181 * root(), for finding roots higher than the square root. [SW] 107 Minor changes: 182 Minor changes: 108 183 * We now use wrapper functions atr_value and safe_atr_value instead of 109 184 uncompress(AL_STR(...)) or safe_uncompress(AL_STR(...)), so we … … 112 187 as %0. Suggested by Sholevi and Time@M*U*S*H. [SW] 113 188 * Config options that take times now accept a notation describing what kind 114 of units to use. For example, 3600s, 60m, 30m1800s, and 1h all refer to 189 of units to use. For example, 3600s, 60m, 30m1800s, and 1h all refer to 115 190 the same period of time. Suggested by Time@M*U*S*H. [SW] 116 191 * Doxygen commenting of non-static members is essentially complete! … … 140 215 Konstantine Shirow. [SW] 141 216 * Using @chan/buffer to resize a recall buffer gives feedback. Reported by 142 Sholevi@M*U*S*H. [SW] 217 Sholevi@M*U*S*H. [SW] 143 218 * Help fix for grab() by Adu@AbryssMUSH. 144 219 * You can no longer destroy the base_room (or default_home). Suggested … … 151 226 * Interactions (something like "realms" in mux2). Two functions 152 227 in local.c can now be used to control conditions under which 153 objects can see, hear, or match each other. Possibly useful for 228 objects can see, hear, or match each other. Possibly useful for 154 229 implementing umbral worlds, etc. Patch by Vadiv@M*U*S*H. 155 230 Functions: 1.7.7/game/txt/hlp/pennvOLD.hlp
r431 r433 4418 4418 type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3' 4419 4419 4420 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 4421 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 4420 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 4421 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 4422 4422 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 4423 4423 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 1.7.7/hdrs/attrib.h
r431 r433 42 42 extern int atr_iter_get(dbref player, dbref thing, char const *name, 43 43 aig_func func, void *args); 44 extern int atr_iter_get_visible(dbref player, dbref thing, char const *name, 45 aig_func func, void *args); 44 46 extern ATTR *atr_complete_match(dbref player, char const *atr, dbref privs); 45 47 extern void atr_free(dbref thing); … … 61 63 safe_atr_value(ATTR *atr) 62 64 __attribute_malloc__; 63 extern void atr_migrate(int amount);64 65 65 66 /* possible attribute flags */ 1.7.7/hdrs/boolexp.h
r417 r433 2 2 #define BOOLEXP_H 3 3 #include "copyrite.h" 4 #include "chunk.h" 4 5 5 /* Boolean expressions, for locks */ 6 typedef enum boolexp_type { 7 BOOLEXP_AND, 8 BOOLEXP_OR, 9 BOOLEXP_NOT, 10 BOOLEXP_CONST, 11 BOOLEXP_ATR, 12 BOOLEXP_IND, 13 BOOLEXP_CARRY, 14 BOOLEXP_IS, 15 BOOLEXP_OWNER, 16 BOOLEXP_EVAL, 17 BOOLEXP_FLAG, 18 BOOLEXP_BOOL 19 } boolexp_type; 6 typedef chunk_reference_t boolexp; 20 7 21 8 /* tokens for locks */ … … 28 15 #define OWNER_TOKEN '$' 29 16 30 /** An attribute lock specification. 31 * This structure is a piece of a boolexp that's used to store 32 * attribute locks (CANDO:1), eval locks (CANDO/1), and flag locks 33 * FLAG^WIZARD. 34 */ 35 struct boolatr { 36 const char *name; /**< Name of attribute, flag, etc. to test */ 37 char text[BUFFER_LEN]; /**< Value to test against */ 38 }; 39 40 /** A boolean expression. 41 * Boolean expressions are most widely used in locks. This structure 42 * is a general representation of the possible boolean expressions 43 * that can be specified in MUSHcode. 44 */ 45 struct boolexp { 46 /** Type of expression. 47 * The type of expressio is one of the boolexp_type's, such as 48 * and, or, not, constant, attribute, indirect, carry, is, 49 * owner, eval, flag, etc. 50 */ 51 boolexp_type type; 52 dbref thing; /**< An object, or a boolean val */ 53 /** The expression itself. 54 * This union comprises the various possible types of data we 55 * might need to represent any of the expression types. 56 */ 57 union { 58 /** And and or locks: combinations of boolexps. 59 * This union member is used with and and or locks. 60 */ 61 struct { 62 struct boolexp *a; /**< One boolean expression */ 63 struct boolexp *b; /**< Another boolean expression */ 64 } sub; 65 struct boolexp *n; /**< Not locks: boolean expression to negate */ 66 struct boolatr *atr_lock; /**< Atr, eval and flag locks */ 67 const char *ind_lock; /**< Indirect locks */ 68 } data; 69 }; 70 71 #define TRUE_BOOLEXP ((struct boolexp *) 0) 72 #define FALSE_ATOM (0) 73 #define TRUE_ATOM (1) 17 enum { TRUE_BOOLEXP = NULL_CHUNK_REFERENCE }; 74 18 75 19 /* From boolexp.c */ 76 extern struct boolatr *alloc_atr(const char *name, const char *s); 77 extern struct boolexp *dup_bool(struct boolexp *b); 78 extern struct boolexp *alloc_bool(void); 79 extern int sizeof_boolexp(struct boolexp *b); 80 extern int eval_boolexp(dbref player, struct boolexp *b, dbref target); 81 extern struct boolexp *parse_boolexp(dbref player, const char *buf, 82 lock_type ltype); 83 extern void free_boolexp(struct boolexp *b); 84 struct boolexp *getboolexp(FILE * f, const char *ltype); 85 void putboolexp(FILE * f, struct boolexp *b); 20 extern boolexp dup_bool(boolexp b); 21 extern int sizeof_boolexp(boolexp b); 22 extern int eval_boolexp(dbref player, boolexp b, dbref target); 23 extern boolexp parse_boolexp(dbref player, const char *buf, lock_type ltype); 24 extern void free_boolexp(boolexp b); 25 boolexp getboolexp(FILE * f, const char *ltype); 26 void putboolexp(FILE * f, boolexp b); 86 27 enum u_b_f { UB_ALL, UB_DBREF }; 87 extern char *unparse_boolexp(dbref player, struct boolexp *b, enum u_b_f flag);28 extern char *unparse_boolexp(dbref player, boolexp b, enum u_b_f flag); 88 29 #endif /* BOOLEXP_H */ 1.7.7/hdrs/chunk.h
r427 r433 4 4 #ifndef _CHUNK_H_ 5 5 #define _CHUNK_H_ 6 7 #undef LOG_CHUNK_STATS 6 8 7 9 typedef unsigned short u_int_16; 1.7.7/hdrs/command.h
r427 r433 39 39 */ 40 40 #define CMD_T_INTERNAL 0x00040000 41 42 /* Logging for commands */ 43 #define CMD_T_LOGNAME 0x00020000 44 #define CMD_T_LOGARGS 0x00010000 41 45 42 46 /* Split arguments at = */ 1.7.7/hdrs/conf.h
r427 r433 84 84 char mud_name[128]; /**< The name of the mush */ 85 85 int port; /**< The port to listen for connections */ 86 int ssl port; /**< Future:The port to listen for SSL connections */86 int ssl_port; /**< The port to listen for SSL connections */ 87 87 char input_db[256]; /**< Name of the input database file */ 88 88 char output_db[256]; /**< Name of the output database file */ … … 230 230 char chunk_swap_file[256]; /**< Name of the attribute swap file */ 231 231 int chunk_cache_memory; /**< Memory to use for the attribute cache */ 232 int chunk_migrate_inactive; /**< Number of attrs to migrate when inactive */ 233 int chunk_migrate_active; /**< Number of attrs to migrate when active */ 232 int chunk_migrate_amount; /**< Number of attrs to migrate each second */ 233 #ifdef HAS_OPENSSL 234 char ssl_private_key_file[256]; /**< File to load the server's cert from */ 235 char ssl_ca_file[256]; /**< File to load the CA certs from */ 236 int ssl_require_client_cert; /**< Are clients required to present certs? */ 237 #endif 234 238 }; 235 239 … … 261 265 262 266 #define TINYPORT (options.port) 263 #define SSLPORT (options.ssl port)267 #define SSLPORT (options.ssl_port) 264 268 #define PLAYER_START (options.player_start) 265 269 #define MASTER_ROOM (options.master_room) … … 366 370 #define CHUNK_SWAP_FILE (options.chunk_swap_file) 367 371 #define CHUNK_CACHE_MEMORY (options.chunk_cache_memory) 368 #define CHUNK_MIGRATE_INACTIVE (options.chunk_migrate_inactive) 369 #define CHUNK_MIGRATE_ACTIVE (options.chunk_migrate_active) 372 #define CHUNK_MIGRATE_AMOUNT (options.chunk_migrate_amount) 370 373 371 374 /* Compiler-specific stuff. */ 1.7.7/hdrs/dbdefs.h
