From: Ari Johnson Date: Thu, 14 Jun 2007 15:30:48 +0000 (+0000) Subject: Removed several PennMUSH-specific files no longer relevant to CobraMUSH X-Git-Url: https://git.theari.com/?a=commitdiff_plain;h=11b4b5a61d4240bcca3930436ee5bfd714e5045f;p=cobramush.git Removed several PennMUSH-specific files no longer relevant to CobraMUSH --- diff --git a/BUGS b/BUGS deleted file mode 100644 index 9814dae..0000000 --- a/BUGS +++ /dev/null @@ -1,9 +0,0 @@ -Bugs that aren't our fault, but might bite people with old compilers: - -* Ralph Melton reports that compiling with gcc 2.5.8 under SunOS 4.1.1 - using -O optimization and forking dumps causes the dump process to - crash. Removing -O fixes the problem; so might using a more recent gcc. -* Javelin has confirmed that compiling with gcc 2.7.2.3 under Linux 2.2.16 - using -O optimization causes ansi(rh,a) to crash. Removing -O fixes - the problem; so might using a more recent gcc - diff --git a/CHANGES.174 b/CHANGES.174 deleted file mode 100644 index a28e272..0000000 --- a/CHANGES.174 +++ /dev/null @@ -1,714 +0,0 @@ -This is the changes file for PennMUSH 1.7.4. Please look it over; each -version contains new things which might significantly affect the -function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[LdW] is Luuk de Waard, a former PennMUSH developer (aka Halatir) -[RLM] is Ralph Melton, a former PennMUSH developer -[NJG] is Nick Gammon, the primary Win32 porter -[EEH] is Ervin Hearn III, a Win32 porter (aka Noltar) -[DW] is Dan Williams, the MacOS porter -[2.2] refers to code which originated with the TinyMUSH 2.2 developers -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.7.4 patchlevel 20 September 19, 2002 - -Fixes: - * Help semaphores4 typo fixed by Mike Griffiths. - * Help cleanup. [TAP] - * See_All players now see hidden connected mail senders. Suggested - by Philip Mak. - * spellnum could introduce spurious spaces. Reported by Intrevis@M*U*S*H. - * table() sometimes produced spurious blank rows. Reported by - Nymeria@M*U*S*H. This is the first attempt at a fix. - * switch() help improved. [SW] - * enter no longer returns Permission denied, but - "I can't see that here", as you can only enter things. - Suggested by Philip Mak. - * A one-time, one-pointer memory leak in plyrlist.c fixed - by Vadiv@M*U*S*H. - * Unbalanced or empty double-quotes gave weird results in page - and whisper. Reported by Vadiv@M*U*S*H. [SW] - * @chan/decomp no longer shows names of channels that the enactor - can't see. Reported by Nat@SW:ANT. - * The lock() and elock() functions now operate properly with - user:whatever locks. Reported by Mike Griffiths. - * pmatch() will locate hidden players if they're visible to you - because they're nearby. Suggested by Julian@M*U*S*H. - * regedit and other functions that used $-substitutions for subpatterns - could produce weird results in some cases. Reported by Bellemore@M*U*S*H - - -Version 1.7.4 patchlevel 19 June 14, 2002 - -Minor changes: - * Wizards can now unset the WIZARD flag on any thing, whether they - own it or not. Suggested by Cerekk@bDv. - * Circular zoning is no longer allowed. Fixes part of a bug reported - by Philip Mak. [SW] -Fixes: - * Win32 portability fixes. [EEH] - * grep for 'grep' rather than 'egrep' in restart because in grep 2.5.1, - egrep is a shell script that exec's grep instead of a link. - Fix by Vadiv@M*U*S*H. - * The messages for a possessive get used the object's new location - instead of its old one. Fixed by Apollo@Restoration. - * Attempts by unlinked exits to @link an exit could crash. - * %1 in @areceive was being set to the recipient rather than the giver. - Fixed. Report by jubjup@trekmush.org - * @uptime fix for Linux 2.4 kernel. [SW] - * The @@() function no longer complains about commas. Report by - Trispis@M*U*S*H. [TAP] - * @search flags= is now smarter about toggles with the same - letter and different types. Report by Philip Mak. - * English-style matching now ignores the type of object being matched. - This fixes a bug with, e.g., @link my 1st object=me reported by - Oriens@Alexandria. - * bound() now listed in the math functions list. Report by Dandy@M*U*S*H. - * Help fix for member() by Cerekk@bDV TrekMUSH - * The server can now transparently read mush.cnf (and included) files - that have Dos- or Mac-style line-endings. Suggested by Paleran. - * Crash bug in @search fixed. Reported by Philip Mak. - -Version 1.7.4 patchlevel 18 May 6, 2002 - -Minor Changes: - * The Mersenne Twister RNG has been backported from 1.7.5 into - this patchlevel, as it is not susceptible to some bugs that could - cause the RNG to hang the server. Report by Bellemore@M*U*S*H. - * Improved detection of info_slave errors. Based on patch by CU5. - * Rooms and exits can now be @forced. Suggested by Philip Mak. - * Deleting files from the hlp/nws/etc. directories is now sufficient - to cause game/txt/Makefile to rebuild the txt files. Patch by - Philip Mak. - * A see_all player may now use @chan/decompile on any channel. - Previously, the ROYALTY flag was required. Suggested by Oriens@Alexandria. -Fixes: - * The QUEUE and semaphore attributes aren't listed in @decompile - anymore. Suggested by Oriens@Alexandria. [SW] - * Several compiler warnings fixed. [SW] - * The LASTSITE and LASTIP attributes are now set locked and wizard by default, - to go along with the other connection-tracking attributes. [SW] - * Help on-vacation updated. Report by Nymeria@M*U*S*H. - * Help for following() function added. Report by Ashen-Shugar@Rhost. - * The last line of the access.cnf file sometimes wouldn't get read - properly. [SW] - * lnum improperly cached its return values without consideration for - changes in separator, so subsequent lnums with different separators - broke. Reported by Rhysem and Ambrosia@M*U*S*H. [TAP] - * Failing to speak on a channel you can't see no longer reveals the - full channel name. Reported by Vadiv@M*U*S*H. - * Passing a negative argument to the space() function now returns - an error string instead of 8192 blanks. Patch by Myrddin. - * Improved messages for following/unfollowing an ambiguous object. - Reported by Philip Mak. - - -Version 1.7.4 patchlevel 17 April 14, 2002 - -Minor Changes: - * The on-vacation flag, if in use, is no longer automatically cleared - on connect. Instead, the player is warned on connect (and at each - dump) that their flag is set. Suggested by Nymeria@M*U*S*H. -Fixes: - * Improved help for edit(). Suggested by Trispis@M*U*S*H [SW] - * List functions with null elements and a null output seperator could - trip end-of-buffer checks and stop in the middle of a list. [SW] - * valid() was inconsistent in how it handled attribute names with lower-case - letters compared to what everything else does. Reported by Philip Mak. [SW] - * @open could cause crashes in some unusual contexts. Reported - by Dandy@M*U*S*H. - * Improved sort()'s autodetection of list types. [SW] - * Fixed a problem with sorting dbrefs larger than the highest one in the - db. [SW] - * Mac portability fixes. [DW] - * Help for @open clarified. Suggested by fil@M*U*S*H. - * Help for kill clarified. Suggested by Philip Mak. - * Channel titles can no longer contain newlines or beeps. - Report by Nome@M*U*S*H. - * soundex behaved badly with extended characters. [SW] - * inc() and dec() now behave like the help says, regardless of whether - tiny_math is set or not. Their behavior on null strings and strings - that do not end in a digit depend on the null_eq_zero setting. - Reported by Wayne@PDX. - * The panic db file descriptor was never closed after reading a - panic dump. [SW] - * DOES removed from help attribute list. Suggested Philip Mak. - * Under no circumstances should connection to a null-named player - be allowed. Suggested by Wayne@PDX. - * 'with' no longer allows use of $commands on remote objects you - don't control. Report by Nammyung@M*U*S*H. - -Version 1.7.4 patchlevel 16 March 11, 2002 - -Minor changes: - * After using 'register' at the connect screen, the player is - no longer disconnected. Suggested by Philip Mak. - * 'help mail functions'. Suggested by Trispis@M*U*S*H. - * Messages associated with drop, give, and get are now more - verbose and provide more information about who did what to whom. - Suggested by Philip Mak. - * Attrib locks did case-sensitive comparison of values, which is not - what you probably want. No longer. Reported by Philip Mak. [SW] - * QUEUE and sempahore attributes are now removed (not just emptied) - when drained or notified to 0. [TAP] -Fixes: - * Improvements in handling ansi in string functions. [SW] - * @clone/preserve didn't preserve when cloning exits. Reported by - Bellemore@M*U*S*H. [SW] - * A significant bug in the manual notification of timed semaphores has - been corrected. [SW] - * Revian@M*U*S*H pointed out that user-defined commands starting with - "@" that match the names of standard attributes don't behave as - you might expect. This is now documented in help user-defined commands. - * Security checks for attribute setting used the owner of the setting - object, not the setting object itself. Report by Howie@New Frontier. - * help set() improved based on report by Tareldin@M*U*S*H. - * folderstats() did not behave as promised in the help. Now it - does. Report by Trispis@M*U*S*H. - * Typo in src/log.c fixed by Nathan Schuette. - * Improved help for DEBUG. [SW] - * Aliased 'help ^' to 'help listening2'. Suggested by Philip Mak. - * MacOS portability fixes. [DW] - * The sigusr1 handler would reinstall itself as the sighup handler - on systems that don't provide persistent signals. - Fixed by Bellemore@M*U*S*H. - * &a=b me now properly clears the attribute A=B. Reported by - Trispis@M*U*S*H. In addition, now @tel #1234= produces an error, - as it should. [SW] - * mail functions can now be called by an object on anything it controls - (typically, its owner). Suggested by Trispis@M*U*S*H. - * The givee is now correctly passed in %1 to @give/@ogive/@agive, - and documented. Reported by Philip Mak. - * Added hints for Irix 6.x by Vexon@M*U*S*H. - * i18n fix for function invocation limit message. - * Clarification in help @alias by Philip Mak. - * @set obj=!puppet repeatedly no longer repeats the "not listening" - message. Reported by Philip Mak. - - -Version 1.7.4 patchlevel 15 February 8, 2002 - -Minor Changes: - * @dolist and iter(), where multiple tokens are replaced (## and #@), - now do both replacements at once. This is more efficient in several - ways and fixes a problem where if the second token gets into the - string from a replacement of the first, it gets replaced. (iter(a#@, - ##) should return a#@, not a1). [SW] - * setunion no longer eats empty list elements. [SW] - * The help text for items() is now more descriptive of how it works - and differs from words(). Suggested by Zen@SW1. - * When you attempt to @chzone an object to a ZMO without a zone-lock, - a default zone-lock of "owner of the ZMO" is now set, and the - attempt succeeds. Suggested by Linda Antonsson. - * In the French message translation files, the word 'drapeau' and - 'flag' were used interchangeably. I've standardized on 'flag'. - Report by Vexon@M*U*S*H. -Fixes: - * Message typo fixed by Bellemore@M*U*S*H. - * No more ansified names in logged shutdown messages. Report by - Bellemore@M*U*S*H. - * Messages when destroying players now take into account the - destroy_possessions and really_safe settings. Suggested by Wayne@PDX. - * The parser no longer strips any first layer of braces in, e.g. - @switch action clauses, but only when the first character in the - clause is a brace. This prevents @sw 1=1, @wait me={@emit 1; @emit 2} - from being misparsed and running @emit 2 immediately. Reported by - Azratax@Azmush. [TAP] - -Version 1.7.4 patchlevel 14 January 4, 2002 - -Minor Changes: - * The global function invocation limit is now 5 times the per-evaluation - function invocation limit, to provide some flexibility in cases - where you run a small number of functions that cause a larger - number of other functions to be evaluated (e.g., using tel() - to move players into rooms with function-laden descriptions). [TAP] -Fixes: - * Mortals are now restricted in which html tags they can generate - when pueblo support is enabled. Suggested by BladedThoth. - * @sitelock/name ! was improperly case-sensitive in its - matching. Reported by Linda Antonsson. - * Better invocation count checking and aborting on reaching limit. - Reported by Ashen-Shugar. [TAP] - * Beep characters are ignored when matching object listen patterns. - Suggested by Wayne@PDX. - * The end-of-dump marker is checked when reading the chat database. - Suggested by Bellemore@M*U*S*H. [SW] - * @lock obj=attrib:value locks were broken. Reported by Linda - Antonsson. - * Minor help fixes. - -Version 1.7.4 patchlevel 13 November 30, 2001 - -Minor changes: - * options.h.dist mentions Darwin as well as MacOS X. [DW] - * PCRE updated to 3.7. [SW] - * When CHAN_NAME_LEN is increased beyond 30, the @chan/list header - line is misaligned, and other strange things can happen to - @chan/list. Reported by Bladed Thoth -Fixes: - * Crash bug in chat channels reported by BladedThoth. - -Version 1.7.4 patchlevel 12 November 9, 2001 - -Minor changes: - * @dol/delim is now @dol/delimit, for Mux compatibility. [SW] - * /preserve switch for @chownall works like @chown's /preserve switch. - This changes the default behavior of @chownall, which used to - preserve everything, to work like @chown and strip privileged bits. - Suggested by Taladan@M*U*S*H. -Fixes: - * Warnings in index-files.pl are no longer shown. Report by Noltar@Korongil - * Additional support for ansi in channel names. Ansi is now stripped - when sorting channels and when matching names for @chan/decomp and - @chan/what. Reported by Oriens@Alexandria. - * Help @decompile clarifies the /flags switch. Suggested by Oriens@Alexandria - * Source is indented before diffs are produced. - * Typo in help zmr correct by Oriens@Alexandria. - * Players disconnecting without QUIT continued to use CPU until fully - disconnected. Fixed. Report by Protagonist@M*U*S*H. [SW] - - -Version 1.7.4 patchlevel 11 October 15, 2001 - -Minor Changes: - * In places like switch() that can match \n" in PRE, and the newer clients that are supporting - the pueblo protocol, like MUSHclient, do handle it correctly, causing - an incompatibility problem. Our workaround is to avoid PRE. - Reported by [NJG]. - * The WHO list output is tagged for Pueblo to get - appropriate newline handling. [NJG] - * help @mail mentions help @malias. Suggested by Trispis@M*U*S*H. - * Matching code now treats players you can't see like disconnected players - when matching *player. Reported by Walker@M*U*S*H. - * @newpassword now confirms whose password was changed. Suggested by - Xyrxwyrth@M*U*S*H. - * @chan/who and cwho() now include objects on the channel. Suggested by - Glonk@GlonkMUSH. - * q-register lookup is slightly faster. [SW] - * Floating-point numbers in exponential format (6.02e23) are always - accepted, not just when tiny_math is set. [SW] - * isint() and isnum() ignore the null_eq_zero option, since they already - ignore tiny_math. [SW] - * time() and convsecs() take an optional timezone argument that, - if 'UTC', makes them act the same way as utctime() and convutcsecs(). - From MUX2. [SW] -Fixes: - * Additional range checking to avoid some bugs reported by Alierak. [SW] - * Fix to buglet in @name error with PLAYER_NAME_SPACES reported by - Luke@M*U*S*H. - * Typo in @name error message fixed by Luke@M*U*S*H. - * One could @pcreate players past the hard db limit. Reported by Z@Korongil. - * Typos in config_h.SH and options.h.dist fixed by Oriens@Alexandria. - * Under some conditions, you could double-join a channel. - Reported by Xyrxwyrth@M*U*S*H, investigated by Steven@Champions. - * Error message for @chan/desc improved. Reported by Oriens@Alexandria. - * Typo in alias.cnf fixed by rodregis@M*U*S*H. - * @mvattr sometimes failed to remove the old attrib, when it was a - standard attrib that could be abbreviated (@mvattr a/desc=b). - Fixed by Walker@M*U*S*H. - * Some english-matching (like 'get 1st foo') would fail. Reported by - Mystery8. - * Typo in help @verb reported by Greck. - * MacOS tweaks. [DW] - * Better detection of numbers that are too big. [SW] - * Wizards could crash the server by entering objects in their own - inventory. Reported by Howie@New Frontiers. - -Version 1.7.4 patchlevel 6 June 11, 2001 - -Minor changes: - * English-style matching has been added to some more commands, - to help with the stricter ambiguity checking (@teleport my 3rd foo=box, - etc.). [SW] - * @pemit/list no longer does its useless ## substitution. [SW] - * capstr() and art() skip leading ansi and html. [SW] - * table(), alphamin(), alphamax(), comp(), lcstr(), ucstr(), strinsert(), - and delete() are all ansi and html aware. Mixing html and ansi in their - arguments is probably a bad idea, though. [SW] - * reverse() and scramble() are ansi-aware, and still will break html, but - in a different way than before. [SW] - * foreach() strips ansi and html from the string before doing its things. [SW] - * Complete Norwegian translation by Kenneth Aalberg. -Fixes: - * Bug in growing hash tables fixed. [SW] - * Typo in copyright fixed. Reported by Cheetah@M*U*S*H. - * Unused variable removed from fun_ansi. Reported by Sidney@M*U*S*H. - * Mac portability stuff. [DW] - * Wizards could @chown garbage objects. [SW] - * Wizards could give to garbage objects. [SW] - * Wizards could read God's @mail. [SW] - * Eliminated some compiler warnings. [SW] - * mid() was quite broken with ansi. right() was less broken. - Both hopefully fixed for good. [SW] - * Fixed a problem with the attribute used with foreach() evaluating from - the perspective of the wrong object. [SW] - * before(), after(), and wrap() are now classified as string functions - in the help. [TAP] - * help wildcards now mentions ?. Suggested by cmintrnt@M*U*S*H. - * help fixes by Jeff Ferrell. - * Problems with wrap() when the text included %r%r (or started with %r) - reported by Noltar@Korongil. - * If you somehow managed to load a corrupt db with a parent loop, - lparent could infinite-loop. Reported by Ashen-Shugar. [TAP] - - -Version 1.7.4 patchlevel 5 May 25, 2001 - -Fixes: - * Fix to uninitialized variable that could cause ansi to bleed - on some systems. Patch by Luke@M*U*S*H - * Prototypes for ansi_align and ansi_save added to externs.h. [DW] - * FreeBSD hints file updated to get rid of a compiler warning. [SW] - * Setting hate_dest to no will not disable @recycle [SW] - * switchinc.c updated. [DW] - - -Version 1.7.4 patchlevel 4 May 13, 2001 - -Minor changes: - * Internally, the /folder switch is now /folders, which prefix-matches - to /folder and also lets @mail/folders work as syntactic sugar. - * fun_ansi has been rewritten to use less buffer space by consolidating - ansi codes. New codes for turning off ansi attributes (like hilite) - also added. Patch by Luke@M*U*S*H. - * /silent switch to give suppresses default messages when giving - money to players. Suggested by 8BitMUSH. - * Old port concentrator code removed. [SW] - * On linux, @uptime reads /proc files instead of running 'uptime' [SW] - * Code that uses strdup and then adds a MEM_CHECK record for "string" - now use a wrapper function that does it automatically. [SW] -Fixes: - * Paging a page-locked player didn't give the appropriate messages. - Reported by Steven@Champions. - * left, right, and mid are now ansi-aware. Patch by Luke@M*U*S*H. - * Help fixes to lexits(), name() (Noltar@Korongil), 1.7.4p3 (Z@Korongil). - * win32/cmds.h updated with prototypes for dismiss and desert by - Noltar@Korongil. And hdrs/externs.h, too, by [SW]. - * Memory leak with using alphabetic q-registers in queued commands fixed. - Report by Jayvin@Dynamix [SW] - * Added hints/openbsd.sh to distribution. - * Mac portability linting. [DW] - * Several memory leaks in @malias code fixed. [SW] - -Version 1.7.4 patchlevel 3 April 23, 2001 - -Commands: - * unfollow with no args now stops you from following everyone. - dismiss command stops people from following you. - desert command stops people from following you or leading you. - Idea by Oriens@Alexandria. Names suggested by Noltar@Korongil -Minor changes: - * MONITOR announcements of disconnects distinguish hidden disconnects. - Suggested by Oriens@Alexandria. - * The Uptime field of INFO shows first start time, not last reboot time. - Suggested by Trispis@M*U*S*H. -Fixes: - * Exact matches are now preferred over partial matches, and no longer - result in ambiguity. Report by Steven Viscido. - * Message mentioning INHERIT changed to TRUST by Xyrxwyrth@M*U*S*H. - * Distributed register.txt file is now more descriptive. - Suggested by Xyrxwyrth@M*U*S*H. - * The ctime(), mtime(), restarttime(), and starttime() functions now - return 2-digit days (01 vs. 1). Reported by Z@Korongil. - * @malias output uses the alias token more consistently. Suggested by - Kyieren@M*U*S*H. - * hints/solaris_2.sh modified a bit. - * Mac portability fixes - * Options.h clarification suggested by rodregis@M*U*S*H. - * Cosmetic bug in @halt fixed. Report by Trispis@M*U*S*H. - * Fixed a fencepost error in regedit*() that could generate garbage text. - Reported by Vadiv@M*U*S*H - - -Version 1.7.4 patchlevel 2 March 23, 2001 - -Major changes: - * The object matching routines have been modified. Some things you may - notice: - * Ambiguous cases are more often reported as such (rather than you - getting one of the ambiguous matches arbitrarily). - * locate() now returns #-2 as promised. Reported by Jeff Ferrell. - * A few functions that used accept player names now require - the use of *playername to match the player (e.g. mail(), hidden()). - (This is generally more consistent). -Minor changes: - * @tr of a nonexistent attribute now reports that. Report by Z@Korongil. - * TEL_OK is an alias for JUMP_OK. Suggested by Kyieren@M*U*S*H. - * Added 'help i18n' (aka help translation). Suggested by Kyieren@M*U*S*H. - * When you use 'teach' and, as a result, run the command you are teaching, - it is treated as if the command were run by a player from the socket -- - that is, attribute sets are not evaluated. Suggested by Xyrxwyrth@M*U*S*H. - * See_All players can see all channels and their members, too. - Suggested by Oriens@Alexandria. - * When trying to join yourself to a channel, we only check channels - you're not on; when trying to leave a channel, we only check channels - that you are on. This is handy for disambiguating similar prefixes. - Suggested by Oriens@Alexandria. - * When you're following a leader and the leader moves, you're told that - that you're following them before you attempt to move. Suggested by - Oriens@Alexandria. - * @stats/table is no longer restricted. -Fixes: - * @grep/iprint produced highlighted strings matching the case you - gave, not the case actually found. Reported by Reagan@NF - * @search/lsearch by powers could sometimes get you the equivalent - flag-bit instead of power-bit. Reported by Reagan@NF - * Configure fix. - * hpux-gcc hint file now included. - * Nested ansi() broke again in p1. Fixed now. Reported by Intrevis@M*U*S*H - * Added Configure check for to help Cygwin builds. - Reported by Xyrxwyrth@M*U*S*H. - * Help fix or two. - * Grammatical correction by Eratl@M*U*S*H in @boot/me error message. - * Cosmetics of @mail with folders > 9 improved. Reported by Bellemore@M*U*S*H - * One could be disconnected at the connect screen under some conditions - for no good reason. Reported by Oriens@Alexandria. [SW] - * Compile error when ROYALTY_FLAG not defined patched by Noltar@Korongil. - * Fixed infinite loop reported by Xyrxwyrth@M*U*S*H. [SW] - * It's no longer posible to connect to a GOING player. - -Version 1.7.4 patchlevel 1 March 17, 2001 - -Minor changes: - * Speedup for repeat() function. [TAP] - * Hint for openbsd, which appears to have a broken IPv6 configuration. [SW] - * Some OS-dependent defines have been removed. - * ansi() now only adds a maximum of 7 codes to the string. [TAP] -Fixes: - * The restrict_command for rob has been removed from restrict.cnf - Reported by Kyieren@M*U*S*H. - * Help fixes by Kyieren, rodregis, and Luke @ M*U*S*H, Datron@SW2, - and Noltar@Korongil. - * stripansi() didn't correctly handle multiple ansi codes in - sequence. Reported by CU5@WCX. - * Linting for warnings in pcre. [SW] - * Configure now sends mailing list subscription stuff to the new - list address. - * Updated examples in access.README to use dbrefs. - * Updated a reference to the rob command in 'give' errors. Noted by - rodregis@M*U*S*H. - * median was broken. Reported by Parax@SandsMUSH. - * Fixes to update.pl's handling of CHAT_TOKEN_ALIAS and the like. - Noted by rodregis@M*U*S*H - -Version 1.7.4 patchlevel 0 March 7, 2001 - -Major Changes: - * This is now the stable minor version. PennMUSH 1.7.2 is no longer - supported except to help people transition to this version. -Commands: - * The practically useless 'rob' command has been removed. -Minor Changes: - * A virtually complete French translation joins the Swedish and - Hungarian ones! Congratulations to Jean-Michael Amblat and - Guillaime Lupin. - * The index-files.pl script handles long help topic titles better when - creating the index of help entries. [SW] - * Config options that can be set with @config/set are now documented in - mush help. [SW] - * A @config/set of a dbref option now checks dbref for validity. [SW] - * An ansi_normal code is added at the end of each channel title. - * You can clear attributes that have invalid names. [SW] - * stripansi() removes HTML markup as well as ANSI. [SW] - * @poll and @doing cannot have ANSI or HTML markup. [SW] - * soundex() and soundslike() strip ANSI and HTML. [SW] - * The maximum length of attribute names has been limited to 1024 - characters. [SW] - * Nesting ansi() functions now works better. Patch by Luke@M*U*S*H. - * help credits explains [initials] used herein. Suggested by Kyieren@M*U*S*H -Fixes: - * Help fixes by Nymeria, Balerion, Trispis, Vexon (all@M*U*S*H), - Jeff Ferrell, and [SW,LdW] - * The two-argument forms of regmatch() and regmatchi() were backwards - when it came to case-sensitivity. [SW] - * @search on zone class did parent instead. Fix by Luke@M*U*S*H. - * Use of @mail after @mail/nuke could cause a crash. - Reported by Brazil. [SW] - * make update handles the include directive correctly. [SW] - * The admin WHO output looks better when locations reach 5-digit - dbrefs now. - * regedit() and regeditall() were case-insenstive. Fixed. [SW] - * The code for log() was changed some time back to allow an optional - base argument, but the help and function table were never updated. [SW] - * owner() could be used to determine if any attribute existed on any - object. [SW] - * atrlock() has been cleaned up, fixing many bugs. [SW] - * Some list functions that evaluate attributes could be used to determine - if the attribute existed even if the object doing the function couldn't - normally see the attribute. Fixed, and their error messages are now - consistant with the other list functions (In other words, no errors, just - a null string) [SW] - * Idle timeout is now checked every minute rather than at dbck intervals. - Based on a report by Noltar@Korongil. - * Cleanup of signed/unsigned casts and signal handlers. [SW,DW] - * forbidden_name now does a case-insensitive comparison. - Reported by Kyieren@M*U*S*H. - * Blank lines at the start of help files are now correctly ignored - on Win32 and Mac systems as well as Unix. Report by Nymeria@M*U*S*H. - * functions() didn't show @functions. [SW] - * Nuked players weren't getting removed from @maliases. [SW] - * Database corruption caused by reading a db with over-long attribute - names or with attributes starting with quotes fixed. [SW] - * Crash bug in @attribute/rename fixed. [SW] - * Potential memory leak in help_command fixed. [SW] - * Warnings removed. Reported by [NJG] - * Windows NT native IO (NT_TCP) stuff should work again. Reported by - Bellemore@M*U*S*H. [NJG] - * @forwardlist now requires that you control the target, be pemit_all, - or pass the target's @lock/forward. Report by Vadiv@M*U*S*H. - * unparse_flags didn't handle exit toggles. Report by Draci@Chaotic. - * Casting and cleanup to enable compiling with lcc [SW] - * A potential problem with regexps with heavy backtracking fixed. [SW] - * Memory leaks with @clock fixed. [SW] - * Typo in spellnum() "fourty" fixed. Reported by Kyieren@M*U*S*H. - * @malias/set didn't work. Reported by Kyieren@M*U*S*H. - * Win32 portability fixes. [NJG] - * MacOS portability fixes [DW] diff --git a/CHANGES.175 b/CHANGES.175 deleted file mode 100644 index 074feee..0000000 --- a/CHANGES.175 +++ /dev/null @@ -1,487 +0,0 @@ -This is the changes file for PennMUSH 1.7.5. Please look it over; each -version contains new things which might significantly affect the -function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[LdW] is Luuk de Waard, a PennMUSH developer (aka Halatir) -[RLM] is Ralph Melton, a former PennMUSH developer -[NJG] is Nick Gammon, the Win32 porter -[EEH] is Ervin Hearn III, a Win32 porter (aka Noltar) -[DW] is Dan Williams, the MacOS porter -[2.2] refers to code which originated with the TinyMUSH 2.2 developers -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.7.5 patchlevel 12 November 3, 2002 - -Fixes: - * Another bug in wrap() fixed. Reported by Rhysem. [SW] - * Bug in @wall fixed. [SW] - * Variable renaming to avoid C99 keyword 'conj'. [SW] - * Win32 project files for MSVC++ updated by Mark. - * Several portability fixes for MS VS.NET's compiler by BladedThoth. - * flip() and reverse() didn't mix well. Better now. - Reported by Julian. [SW] - * Compiling with CHAT_SYSTEM undefined works again. Report by - BladedThoth. - * bxor() was actually doing a bor(). Reported by Sketch@M*U*S*H. [SW] - - -Version 1.7.5 patchlevel 11 October 31, 2002 - -Config: - * New mush.cnf option only_ascii_in_names (defaults to yes) prohibits - the use of extended characters in names. Games that are running - in non-English locales will probably want to set this to no instead. - Suggested by Philip Mak. [SW] -Commands: - * Added @hook/before and @hook/after [SW,3] -Locks: - * You can now use power^ and channel^ in locks - to test if the enactor has a given power or is on a given channel. - Patch by Vadiv@M*U*S*H. - * @lock/dropto, if set on a room, can prevent objects from being - affected by the room's drop-to. Inspired by Oriens@Alexandria. -Functions: - * The sha1() function computes the SHA-1 cryptographic hash of a string. - * A new nosidefx function restriction to allow disabling the side-effect - version of a function while still enabling the informational version. - For things like name() and parent(). [SW] - * @function's report includes more function restrictions in the flags - field. [SW] -Minor changes: - * Modularization of code for itemizing lists by Vadiv@M*U*S*H. - * If there's no connect.html and you're on an html connection, - connect.txt is now better formatted when sent to you. Same for - other cached text files. Suggested by BladedThoth@M*U*S*H. - * CRYPT_SYSTEM 1 now behaves like CRYPT_SYSTEM 3 (replacing - system-crypt passwords with SHS passwords). Suggested by Vadiv@M*U*S*H. - * flag_table is no longer referenced anywhere except when it is used - to seed the ptab_flag at startup. A stub "flag_add" function has - been added to make life easier for hardcoders. Suggested by - Gepht. -Fixes: - * sig.c was broken on systems without sigprocmask. Reported by - Arithon@Oracle - * Bug with paging disconnected players and @away fixed. - Reported by Vadiv@M*U*S*H. - * Bashisms that crept into utils/mkcmds.sh has been replaced by - more portable alternatives based on Configure's results. - Reported by Jason Newquist. - * Trigonometric functions were broken for non-radian degree types. - Fixed up. - * @decomp / didn't properly use 'here' as the name - of the object in its output. Reported by Oriens@Alexandria. - * Wizards can now modify any lock on anything but God. Reported by - Brian Favela. - * ex/mortal and ex now produce identical output when a mortal - examines an object owned by someone else. Reported by Philip Mak. - * We do a little better about trying to close html and ansi tags - in all conditions. Bugs reported by BladedThoth @ M*U*S*H. - * whisper/@pemit to a puppet should be relayed to the owner, even if the - owner is in the same room. Discovered thanks to MUSH sound test - suite designed by Trispis@M*U*S*H. - * The --longest switch in game/txt/Makefile was broken. Report by - Nymeria@M*U*S*H - * Help fixes by Noltar@Korongil and Intrevis@M*U*S*H - * The M_READ extmail bit is now renamed M_MSGREAD, as M_READ conflicts - with an included define on Solaris. Report by Jason Newquist. - * Setting flags using single characters was not well documented, and - didn't respect the character case. Reported by Intrevis@M*U*S*H. - * @chown by a Wizard attempted to debit the Wizard's money, rather than - that of the new owner of the object, which violated expected conservation - of money. Reported by Peter Bengtson. - * Several bugs in wrap()'s output fixed. Reported by Balerion@M*U*S*H. [SW] - - -Version 1.7.5 patchlevel 10 September 19, 2002 - -Major Changes: - * Commands can now be restricted by generic flags or powers. - Several mush.cnf options (restricted_building, free_objects, - hate_dest, player_locate, cemit_power) are now restrict.cnf - restrictions instead. By Vadiv@M*U*S*H. -Functions: - * When a set function (setdiff, etc.) is called with 4 arguments, - if the last one isn't a valid sorting category, it's treated as - the output separator. Inspired by Mux [SW] - * checkpass(), a wizard function that checks a string against a player's - password. Requested by Writh@M*U*S*H. - * regedit() and variants can now accept multiple regexps and - replacements, in order, like edit(). By Walker@M*U*S*H. - * comp() can take a third argument to specify the type of - comparison to make. Suggested by Philip Mak. - * The trigonometric functions now take an optional argument to - control how the angles they work with are measured to allow them - to accept angles in degrees as well as the default radians. [SW,MUX2,Rhost] - * Added ctu() for converting between angle measurements. [SW,MUX2,Rhost] - * Added atan2(). [SW] - * dist2d() and dist3d() can take floating-point numbers. [SW] - * Other small cleanups in the math functions. [SW] -Mail: - * The MAIL_SUBJECTS option has been removed. @mail now includes - subjects mandatorily. Suggested by Vadiv@M*U*S*H. -Minor Changes: - * When a player @clones an object owned by another player, the - clone is now owned by the @cloning player, instead of the original - owner. Fixes a quota transfer issue reported by Sparta and - Philip Mak. - * The flag table is no longer walked with a linear search. Instead, - ptab_firstentry and ptab_nextentry are used. Flags no longer need - to be added in a particular order or groups in flags.c, and flags - added through hardcode should work better. Patch by Vadiv@M*U*S*H - * Error message for wrong number of arguments to a function - now tells you how many arguments it thinks you gave. - Suggested by Philip Mak. - * GAGGED players may now perform mail reading and maintenance. - * Internal reorganization of signal code. [SW] - * Attempts to speak on a channel that you can't speak on or see - now fail and command parsing continues. Suggested by Vadiv@M*U*S*H. - * The amount of CPU time spent running a queue entry can be limited. - This helps reduce the impact of some types of denial-of-service attacks. - New mush.cnf directive queue_entry_cpu_time. This currently - works only on Unix systems with setitimer. [SW] - * Internal rewrite of page/whisper code by Vadiv@M*U*S*H. - * Flag set/reset messages now include the name of the target object. - Suggested by Kyieren@M*U*S*H. - * game/txt/Makefile now includes options to limit the number of - news/etc topic aliases that are included in the 'entries' indices - generated by index-files.pl. Suggested by Nymeria@M*U*S*H. - * Minor inconsistencies in @sweep output punctuation reported by - Cmintrnt@M*U*S*H have been fixed. - * Added hints/cygwin.sh, tested with cygwin 1.3.12. Added additional - cygwin build information to README. - * The whisper-pose message is now Player senses: , with no - quotation marks added. This matches all other pose-type messages - in the server. Suggested by Philip Mak. - * Only escape codes described in the help are allowed in timefmt() [SW] -Fixes: - * Archaic help reference to FORCE_WHITE removed. Noted by Oriens@Alexandria. - * Help fixes by Cerekk@bDv TrekMUSH, Julian@M*U*S*H, Letters@M*U*S*H, - and Philip Mak. - * The wildcard matcher could lag the MUSH under unusual conditions. - It's now smarter. Discovered by Sketch@M*U*S*H. - * Fixes from 1.7.4p20 - * Fix a bug with setdiff() not using the output separator correctly. [SW] - * convsecs() could attempt to use values larger than 2^31, which could - crash Windows. Reported by Bellemore@M*U*S*H. - * @config didn't correctly show default flags for objects. - Reported by Vadiv@M*U*S*H. - * The strcasecoll function was poorly coded, and is now fixed. - * Created players who hadn't yet logged in didn't have LASTIP set - properly. Reported by Philip Mak. - -Version 1.7.5 patchlevel 9 July 16, 2002 - -Minor Changes: - * /noeval switch added to @wall/@rwall/@wizwall and variants. - Suggested by Philip Mak. -Fixes: - * Added a missing space in the @function report for softcoded - @functions. [SW] - * MUX-style @function foo=obj/attr works right. [SW] - * Cleaned up some multiple includes of the same header files. [SW] - * Lots of cleanup of old _() macros and similar by Vadiv@M*U*S*H. - * Added help for @stats/table. Suggested by Intrevis@M*U*S*H. - * Fixes to csrimalloc #ifdefs that broke in last patchlevel. [SW] - * A typo that could crash @function on certain operating systems - has been fixed. Report by Jeff Heinen. - * Improved switch() help. [SW] - * Changes in the way switchinc.c is generated, to reduce the number - of patches that attempt to patch it due to indentation changes. [SW] - -Version 1.7.5 patchlevel 8 June 26, 2002 - -Minor Changes: - * Added @nspemit and nspemit(). Wizard-only versions of @pemit and - pemit() that don't print nospoof information. Suggested by many people, - most recently Mike Griffiths and Nymeria@M*U*S*H. [SW] - * Help updates. [SW] - * Force the pipes to compression program for database reads and saves to be - block-buffered. [SW] - * @function name=obj/attrib now works, as well as - @function name=obj,attrib [TAP] - * The AF_PREFIXMATCH flag is no longer shown on attributes it's set - on when you examine them. -Fixes: - * A bunch of internal code cleanup, especially around casts. [SW] - * The disconnected room check is skipped on GOING rooms. Suggested - by Philip Mak. - * The dbck check for nameless rooms was only checking disconnected - rooms; now it checks all rooms. - * hasflag() did not work with single-character flag abbreviations. - Report by Mystery8. - * The variable named 'template' in src/strutil.c has been renamed - to avoid clashes with the C++ reserved word. Suggested by Mac@M*U*S*H. - * Improvement to help @filter. Suggested by Philip Mak. [SW] - * Files in the patches directory ending in ~ are ignored - when patches.h is rebuilt. [SW] - * Removed a // comment from strutil.c, as we're still - just following the c89 standard, not c99. Report by - Vadiv@M*U*S*H. [SW] - * make indent now indents the .dst files before the .c ones. - Fixes some spurious warnings from later makes. Suggested by - Vadiv@M*U*S*H. [SW] - * Code cleanup, mostly tprintf() and unneeded header file - checking elimination. [SW] - * Since a Windows header #defines OPAQUE, which conflicts with a - #define for the mush flag of the same name, rename - our #define rather than #undefining the Windows one. [SW] - * Fixes from 1.7.4p19 - - -Version 1.7.5 patchlevel 7 May 14, 2002 - -Utilities: - * 'make globalinstall' will install executables, scripts, and - a game/ directory structure in a global location (/usr/libexec/pennmush - by default). Facilitates rpm builds. By Vadiv@M*U*S*H. - * The utils/ln-dir.sh script can be used to clone a globalinstall'd - pennmush for an individual MUSH/user. In combination, these two - are a replacement for 'make customize', especially for mud hosters. - By Vadiv@M*U*S*H. - * You can now configure options.h settings from the command line - using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update - This will mostly be useful for autoinstallers and packaging scripts. - Suggested by Vadiv@M*U*S*H. -Minor Changes: - * The default gcc compile flags now include some extra warnings. - * The prefix-table code now only aliases down to unique prefixes. - This prevents @w from calling @wipe (reported by Philip Mak), - and means that you'll need to use alias.cnf to get some of those - short aliases. [SW] - * Attribute lookups only do prefix-matching on attributes with the - AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this - flag, but newly added @attributes won't. Solves a problem with - inadvertant prefix-matching of @attribs reported by Sam Knowlton. -Fixes: - * Fixes from 1.7.4p18 - * @decomp/skipdefaults skips @lsets of default lock flags. - Suggested by Oriens@Alexandria. [SW] - * Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H. - * Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H. - * A bunch of linting. - * Win32 portability fixes. [EEH] - * Updated MSVC++ project files for win32. [EEH] - * @newpassword = foo would change the password of an arbitrary player. - This is now corrected. Report by Oriens@Alexandria. - -Version 1.7.5 patchlevel 6 April 22, 2002 - -Config: - * New attribute_alias config directive, and some default attribute - aliases added to alias.cnf. Based on a report from Hilikiradi. -Functions: - * textfile() returns help/news/etc. entries. Suggested by Trispis@M*U*S*H. -Minor changes: - * New @warnings type lock-checks that reports problems with @locks. [SW] - * exit-unlinked checks do some sanity checks on variable exits. [SW] - * Improved error-checking in evaluation of @locks. [SW] - * No more hdrs/warnings.h file. [SW] - * New @nameaccent attribute to add accent marks to object - names in speech and things like look. Idea from Elendor. [SW] - * accent() understands a few more things. [SW] - * The accented characters->html entities table and other - lookup tables are now in a seperate file, src/tables.c, - which can be regenerated if needed by utils/gentables.c [SW] - * Improvements in caching of cached text files. [SW] -Fixes: - * Buglet in ansi display of high-bit characters fixed. Report by - Trispis@M*U*S*H. [SW] - * Improved @clock2 help by Linda Antonsson. - * Fixes from 1.7.4p17 - * A truly perverse database could cause an infinite loop on load. [TAP] - * Win32 portability fixes. [NJG, EEH] - * The notify code assumed that integers could be directly stored in - pointers. This isn't always true. [SW] - * Removed some un-used code. [SW] - * Fixed some compiler warnings and general code cleanup. [SW] - * Changed signal handlers to always use the ANSI/ISO C form (Returning - void, basically) [SW] - * A null string no longer prefix-matches anything. Report by Prot Diryn - and Cheetah@M*U*S*H. - * @sitelock/remove could remove entries it shouldn't if you remove the first - one after the '@sitelock will add sites...' line. Reported by - Ambrosia@M*U*S*H. [SW] - * The last line of the access.cnf file sometimes wouldn't get read - properly. [SW] - - -Version 1.7.5 patchlevel 5 March 11, 2002 - -Commands: - * @notify and @drain now accept a new switch /any. [TAP] - * Added @remit/list. Suggested by Tareldin@M*U*S*H [SW] -Minor changes: - * We now use the Mersenne Twister pseudo-random number generator, - which is better that that available in most C libraries. - Moreover, we seed with /dev/urandom, if it's available. [SW] - * The 'T' type character (for THING) is now shown when one-character - flag lists are displayed. This is more consistent with other types, - and makes it harder to confuse #23O (#23, opaque) with #230 - (#230, no flags). Suggested by Eratl@M*U*S*H. - * @lock/use on a parent used to apply to attempts to use $commands on - a child. This is no longer necessary, given inheritable locks, - so the behavior has been changed. Parents' locks are no longer checked - when deciding if a $command inherited from the parent should be run - via a child. - * New 'call_limit' config option can limit the number of recursive - parser calls to control process stack size and avoid crashes - on systems with limited stack. Defaults to unlimited, however, because - setting this value too small breaks mushcode. Report by Bellemore - and BladedThoth @ M*U*S*H. -Fixes: - * Code cleanup - some stuff from 1.7.4 got left in that isn't - used in 1.7.5 any more. [SW] - * Fixes from 1.7.4p16, notably an important fix for timed semaphores. - * Cygwin portability fixes. [NJG] - * Updated MSVC++ project files. [EEH] - - -Version 1.7.5 patchlevel 4 February 15, 2002 - -Major changes: - * The mush recognizes telnet-aware connections. This is - neccessary for properly sending them some 8-bit characters. [SW] - * Much more support for handling accented characters in the ISO 8859-1 - character set. See help for accent(), stripaccents(), and NOACCENTS. - Inspired by Elendor. [SW] - * Things that do first-unique-prefix matching (command, attribute and flag - names) now use a more space-efficient data structure than before. - This adds two new files, src/ptab.c and hdrs/ptab.h [SW] -Commands: - * @sitelock/remove removes a sitelock entry. [SW] -Functions: - * ord() and chr() functions for converting characters to/from numerical - values that represent them. [SW] -Minor changes: - * The useless FORCE_WHITE flag is really, truely, gone. [SW] - * Use the new arglens argument to functions in more places. [SW] - * capstr() and before() fixes reimplemented using arglens. [SW] - * We now use the Mersenne Twister PRNG algorithm. [SW] -Fixes: - * setunion() no longer eats empty list elements. [SW] - * Setting an inherited lock on a child could change the parent's lock. - Reported by Riverwolf. [SW] - * Help fixes. [SW, Nymeria] - * Players waiting at the connect screen weren't being disconnected - by the idle_timeout. - * Detection of cygwin in Configure may be improved. - * Fixes from 1.7.4p15. - -Version 1.7.5 patchlevel 3 January 24, 2002 - -Fixes: - * before() was broken in 1.7.5p2. Reported by Sam Knowlton. - * capstr() was broken in 1.7.5p2. - * Win32 portability fixes by Noltar@Korongil. - -Version 1.7.5 patchlevel 2 January 23, 2002 - -Major changes: - * Implementations for softcode functions get the lengths of their arguments - passed to them, and this is taken advantage of in a number of places. [SW] -Minor changes: - * It's harder to get a partial dbref because of end-of-buffer truncation. [SW] - * Code cleanup. In particular, safe_str() and friends are no longer - macros for a safe_copy_str() or the like, because hardly anything - used a different buffer length than BUFFER_LEN, and those places - can be handled other ways. [SW] -Fixes: - * Win32 portability fixes by Noltar@Korongil and Eric Koske. - * When you have two hidden connections, one idle over the inactivity limit, - and the other not, @hide/off on the active connection unhides both, - but you also see the Inactivity re-hide message from the other - connection. Reported by Trispis. - * iname() function actually added to function table so it works. - Reported by K. Shirow. - * @lock obj=attrib:value locks didn't work properly. Reported by - Linda Antonsson. - * Fixes from 1.7.4p14. - -Version 1.7.5 patchlevel 1 December 3, 2001 - -Minor Changes: - * PCRE updated to 3.7. [SW] - * player_name_len is now runtime configurable. Suggested by - Linda Antonsson. [SW] - * Any object of any type may be a ZMO, and any object of any type - may be zoned to a ZMO of any type. However, searching for - $commands has not changed, so $commands on a ZMO are only - searched when the ZMO is not a room, and $commands on objects - within the ZMO are only searched when the ZMO is a room. [TAP] - * @chzoneall nows directly calls @chzone, and @chzone now tells - you when it's not changing a zone. [TAP] - * The term "Zone Master" (player) has been replaced by "Shared - Player" in the help. [TAP] - * Many obsolete db formats are no longer readable. hdrs/oldattrib.h - and src/convdb.c are no more. [SW] - * Code cleanup. [SW] -Fixes: - * Help file for mix updated. Report by Cmintrnt@M*U*S*H - * Updated win32 config.h file and other fixes by Noltar@Korongil - * WHO wasn't showing unconnected players. Report by Noltar@Korongil. [SW] - * Help fixes. [SW] - -Version 1.7.5 patchlevel 0 November 14, 2001 - -Major Changes: - * This is now the development minor version. This first release includes - relatively few changes, to make converting to it easier. - * Internal changes to the lock system. This requires a new minimal.db, - which is now distributed. [SW] - * Locale-based string collation throughout. - * Only ANSI C compilers are still supported; no more K&R. Files are - gradually going to be converted to ANSI C only. - * There is now an option to make ZMOs and ZMRs not count for - control of objects, only ZMPs. [SW] -Flags: - * The ZONE player flag has been renamed SHARED, to help seperate the - ZMP control-only meaning from the command-matching of ZMOs and ZMRs. [SW] -Commands: - * /preserve switch for @link prevents @chowning. Suggested by Vexon@M*U*S*H - * Admin WHO and SESSION now includes unconnected descriptors. [SW] - * Unconnected descriptors can now be booted. Patch by Bellemore@M*U*S*H. - * Unconnected descriptors can now be paged by admin with page/port. [SW] -Functions: - * mix() can take more than 10 lists and of unequal length. [3,SW] - * iname() returns the name of an object from inside (honoring nameformat) - Idea by Jeffrey@TheHotel. - * lplayers() returns a list of players in the location. Handy for - room parents. By Vexon@M*U*S*H. - * lvplayers(), lvcon(), lvexits() are like lplayers/lcon/lexits, but - leave out dark things (and disconnected players). Handy for room - parents. By Vexon@M*U*S*H. -Minor Changes: - * munge() now passes its delimiter as %1 to make generic sorting easier. [SW] - * Word-based attribute compression is faster than before, for both - compression and decompression. [SW] - * Windows memory-usage information for wizards is now in @uptime, not - @stats [SW] - * Word-based attribute compression stats can be viewed on non-Windows - mushes as well, by defining COMP_STATS. See externs.h for details. [SW] - * Setting of the internal QUEUE and semaphore attributes does not modify - an object's last-modified timestamp. [SW] - * Speaking on a channel that you're gagging is now treated like - speaking on a channel that you're not on. Suggested by rodregis@M*U*S*H - * You can use @exitto in place of &DESTINATION to set the destinatino - for variable exits, though DESTINATION is checked first. [3] - * WATCHER is another name for the MONITOR flag. [3] - * max_guest_pennies and guest_paycheck config options. Inspired by [SW] - * Lock and unlock messages now show object name and dbref, and tell - you if you unlock an already unlocked object. Suggested by Jamie Warren. - * A version of portmsg for Win32 is in the win32 directory. - Donated by CU5@WCX - * Tweaks to info_slave, which now uses readv/writev. [SW] - * Lots of code cleanup. [SW] - * CHAT_SYSTEM, INFO_SLAVE, and FUNCTION_SIDE_EFFECTS are now #define'd - by default. [TAP] -Fixes: - * Indentation fixes [SW] - * Fixes up to 1.7.4p12 merged in. - diff --git a/CHANGES.176 b/CHANGES.176 deleted file mode 100644 index a8c0a34..0000000 --- a/CHANGES.176 +++ /dev/null @@ -1,357 +0,0 @@ -This is the changes file for PennMUSH 1.7.6. Please look it over; each -version contains new things which might significantly affect the -function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[LdW] is Luuk de Waard, a PennMUSH developer (aka Halatir) -[RLM] is Ralph Melton, a former PennMUSH developer -[NJG] is Nick Gammon, the Win32 porter -[EEH] is Ervin Hearn III, a Win32 porter (aka Noltar) -[DW] is Dan Williams, the MacOS porter -[2.2] refers to code which originated with the TinyMUSH 2.2 developers -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.7.6 patchlevel 16 April 28, 2004 - -Fixes: - * PCRE updated to 4.5 [SW] - - -Version 1.7.6 patchlevel 15 January 25, 2004 - -Fixes: - * Improved freebsd hints. [SW] - * Channel user memory allocation error corrected. - - -Version 1.7.6 patchlevel 14 September 23, 2003 - -Fixes: - * Fix to help @search2 by LeeLaLimaLLama@M*U*S*H. - * The max file descriptor could get stomped in some cases. [SW] - * Powers and toggles on destroyed objects are reset, as they - caused anomalous lsearch/haspower behavior. Report by Mordie@M*U*S*H. - * Changing channel privs and loading channels with objects no longer - permitted could cause crashes. Report by Septimus@SW RP Forum. - - -Version 1.7.6 patchlevel 13 August 11, 2003 - -Fixes: - * Calling panic() while in the middle of a panic dump would cause a loop. - Reported by [EEH]. [SW] - * Outdated mention of compose.csh removed from compose.sh.SH. - Reported by Cheetah@M*U*S*H. - * timestring() dealt wrongly with large arguments. Reported by - Jules@M*U*S*H. timefmt() had a similar problem, reported by - Luke@M*U*S*H. - * Better checking of db save failures. [SW] - - -Version 1.7.6 patchlevel 12 June 23, 2003 - -Minor changes: - * Users no longer see last connection information when they - connect to Guests. Suggested by Jules@M*U*S*H. -Fixes: - * Potential problem with ambigious names in the information functions - fixed. [SW] - * The 'chat' config group is no longer displayed when CHAT_SYSTEM - isn't defined. Report by Mike Griffiths. [SW] - * cygwin install instructions changed to remove obsolete exim - version information. Suggested by Cheetah@M*U*S*H. - * Objects with user-defined locks had problems with finding built-in locks - on the object. Reported by Walker@M*U*S*H. [SW] - - -Version 1.7.6 patchlevel 11 June 1, 2003 - -Minor changes: - * The restart script now insures that GAMEDIR is a real directory - and CONF_FILE exists therein before proceeding. Suggested by - Philip Mak. - * Attribute flag setting messages are more verbose. Suggested by - Mike Griffiths - * See_All players may use the ports() function. Suggested by - Mike Griffiths. -Fixes: - * Wizards can no longer @chzone God. Report by Kevin@M*U*S*H. - * Help fixes by Mike Griffiths. - -Version 1.7.6 patchlevel 10 May 13, 2003 - -Minor changes: - * PCRE (the regex matching engine we use) is updated to version 4.2. [SW] - * @mail/file now unclears the cleared bit when filing @mail. - Suggested by Philip Mak. -Fixes: - * @edit is better with editing ansi. Reported by Trispis@M*U*S*H. [SW] - * Help file cleanup. [SW] - * @warnings about missing FAILURE messages were not correctly - checked, causing false positives. Reported by Cheetah. - * Page message no longer ends in a period. Suggested by Time@M*U*S*H. - * Help fixes by Intrevis@M*U*S*H. - * BASE_ROOM can't be destroyed any more. Suggested by Philip Mak. - - -Version 1.7.6 patchlevel 9 April 9, 2003 - -Fixes: - * index-files.pl now produces a sensible warning for duplicate - help topics, rather than a perl warning. Suggested by Cheetah@M*U*S*H. - * Spellnum cosmetic bug with 'seventeen' fixed. Report by Jules@M*U*S*H. - * Another wrap() buglet tracked down and fixed. Probably the one - reported by Nymeria@M*U*S*H. - * Memory leak in flip() and scramble() fixed. - * Configure test for /dev/urandom from 1.7.5 got left out by mistake. - * Critical overflow bug in command argument parsing fixed. - -Version 1.7.6 patchlevel 8 March 21, 2003 - -Minor changes: - * The CHANGES file has been renamed so that it always refers to - a version number, and utils/mkvershelp.pl now generates seperate - .hlp files for each CHANGES file. This will prevent patch hunk - failures when two patchlevels of different versions are released - and both used to try to modify the same .hlp file. - * Channel names are restricted to printable characters, with no - leading or trailing spaces. Suggested by Letters@M*U*S*H. - * Calling time() with any argument other than 'utc' now generates - an error. Report by Time@M*U*S*H. -Fixes: - * Some redundant code cleanup in look_exits suggested by Vadiv@M*U*S*H. - * Help file fixes by Ves@M*U*S*H, Jules@M*U*S*H, Cerekk@bDv. - * When page_aliases is on, there's a space between the player's - name and alias. Suggested by Saturn@M3. - * Command-checking for ZMR contents didn't function when a ZMR - was used as a player's personal zone. Reported by BlaZe@M*U*S*H. - * Default idle_timeout was different in code and mushcnf.dst. - Reported by James Bond@M*U*S*H. [SW] - - -Version 1.7.6 patchlevel 7 February 20, 2003 - -Fixes: - * Some sloppy coding in src/access.c could generate runtime - debugging exceptions. Reported by BladedThoth@M*U*S*H. - * wrap() could behave incorrectly when a line was exactly the length - of the wrap width and the total input size was larger than - any previously wrapped input. Reported by Liam@Firdeloth. - * Extra NUL characters were sent after telnet codes, which - confused Mudnet and maybe some clients. Patch by Alierak. - - -Version 1.7.6 patchlevel 6 January 23, 2003 - -Minor changes: - * nearby() always works for see_all players. Reported by Sparta. - * findable() now requires that executor control either the object - or the victim or be see_all. Reported by Sparta. -Fixes: - * POWER^ and CHANNEL^ locks tested the wrong object. [SW] - * @grep, @wipe, and @edit now report when no attributes are - matched. Suggested by Procyon@M3 - * Changes to telnet negotiation strings to match those in - PennMUSH 1.7.7, which seems to fix some problems with display - of connect.txt in some clients. Report by Howie@NewFrontier. - Patch by Time@M*U*S*H. - * @mail/silent wasn't unless you used /send too. Report by - Moe@Chicago. - * Wizards could set attributes on garbage objects (which were useless, - but may have leaked memory needlessly). Reported by Taz@M*U*S*H. - * @chan/hide didn't check for hide permissions properly in some - cases. Reported by Tanaku@M*U*S*H. - * Better explanation of when regexp matching is case sensitive vs. - insensitive. Suggested by Jake@BrazilMUX, Brazil@BrazilMUX, and - Vadiv@M*U*S*H. - - -Version 1.7.6 patchlevel 5 January 7, 2003 - -Fixes: - * 1.7.6p4 broke 'go #dbref', which broke the ability of followers - to follow. Reported by Ellis@M*U*S*H. - - -Version 1.7.6 patchlevel 4 January 2, 2003 - -Minor Changes: - * English-style matching now applies to exits in the room - (so '1st down' can match the first 'down' exit if you're not carrying - anything that matches 'down'). New english-style matching adjective - 'toward' restricts the match to exits (so: 'look toward 1st down'). -Fixes: - * Code cleanup to fix several potential buffer overflows. - * The wildcard matcher had problems with backslash escapes in - some cases, making matching a : in a $command very hard. - Reported by Wayne@PDX. - * @chzone could cause crashes on some systems. Reported by Wayne@PDX. - * When two exits match, one is no longer chosen at random. - Instead, the ambiguity should be reported as an error. - Reported by Intrevis@M*U*S*H. - * The dbref returned by locate when given the X parameter is - no longer random, but the last one found (as per the help). - * Serious bug in reading locks from the db on startup corrected. - * The profiling timer is turned off duing dumps, as some systems - (FreeBSD?) appear to continue to use it and interrupt dumps - due to cpu limiting. Reported by Nathan Schuette. - - -Version 1.7.6 patchlevel 3 December 22, 2002 - -Minor changes: - * call_limit now controls the maximum recursion in process_expression, - instead of maximum calls to p_e per command cycle. This still - limits stack size, but doesn't get in the way of massive code - nearly as much. People using a very high call_limit value should - probably lower it significantly. Patch by Philip Mak. - * Improved error messages for many database information functions. - Notably, several functions that require at least one argument, - now complain if they don't get it rather than returning silently. - Suggested by Intrevis@M*U*S*H. [SW] -Fixes: - * @warnings are no longer shown on GOING objects. Suggested by - Philip Mak. - * Help fixes by Intrevis, Time, and Ambrosia@M*U*S*H - * Bug in @decomp/skipdefaults reported by Philip Mak. [SW] - * Tweaks to utils/mkcmds.sh [SW] - * home() on a room acts as described in the help. Reported by - Intrevis@M*U*S*H. [SW] - * whisper/noisy double-notified the whisperer. Reported by Philip Mak. - * Crash bug in @mail fixed. Reported by Titan@OtherSpace. - - -Version 1.7.6 patchlevel 2 December 17, 2002 - -Minor changes: - * An invalid range argument to @search/lsearch is now coerced - to be the lowest or highest dbref, as appropriate. The search - range is also now inclusive. And lsearch() works. - Suggested by Philip Mak. - * mushcnf.dst now includes a default value for call_limit. - Suggested by Philip Mak. - * Testing for whether the mush is already running in the - restart script has been improved by Philip Mak. -Internationalization: - * Polish translation files (partial) are now being distributed. -Fixes: - * Fix to win32 warnings. [EEH] - * Under Win32, a failed accept() call in bsd.c would not be - correctly handled. Report by BladedThoth@M*U*S*H. - * Help fixes by Luigi@8bitMUSH, Kyieren@M*U*S*H, Intrevis@M*U*S*H. - * @map crash bug repoted by Philip Mak, fixed by Walker@M*U*S*H. - * Modifiying locks now updates the object's modification time. - Reported by Philip Mak. - - -Version 1.7.6 patchlevel 1 November 26, 2002 - -Minor changes: - * When using @nuke to destroy a SAFE object when really_safe is "no", - provide a warning (but schedule destruction anyway). Suggested by - Cerekk@bDV. -Fixes: - * VS.NET project file was defaulting to signed instead of unsigned - chars, causing crashes. Fixed by BladedThoth@M*U*S*H. - Several places where we should have cast things to unsigned to - avoid this kind of thing have been fixed. [SW] - * The *emit() functions now set the orator correctly. - Reported by Philip Mak. - * ccom and cplr are cleared after each command execution so they - can't be leaked as easily. Suggested by Philip Mak. - * Linting. - * If God gives the wrong password to @logwipe, provide some feedback. - Suggested by Cerekk@bDv. - * mkcmds.sh was needlessly rebuilding several autogenerated files. - * The rules for flag characters shown in object headers now allows - F_INTERNAL flags to be shown (like GOING), just the same as - when you get a full flag list on examine. Report by Philip Mak. - * Help fixes by Bird@M*U*S*H, Intrevis@M*U*S*H, Philip Mak. - * @search type=something would report an error AND match the entire - database when something wasn't object, player, exit or room. [SW] - * Cosmetic bug in @malias/list fixed. Report by Tanaku@M*U*S*H. - * The info_slave now properly obeys the use_dns setting in mush.cnf. - This requires a full shutdown to put into effect. Report by - BlaZe@M*U*S*H. [SW] - - -Version 1.7.6 patchlevel 0 November 11, 2002 - -License: - * PennMUSH 1.7.6 and later is now released under the Artistic - License. This is an OSI-compliant open source license. See the file - COPYRITE for the complete license text. - - Notable changes from the old license: - * No restrictions on commercial use - * No requirement to inform developers of improvements or submit - modifications, though it's still a nice thing to do. Note, however - that if you redistribute a modified version of PennMUSH, you MUST - include source code. - - The PennMUSH devteam thanks the copyright holders of TinyMUD, - TinyMUSH 2.0, TinyMUSH 2.2, and TinyMUSH 3.0 for their assistance - in making this possible. -Documentation: - * The README file has been split into README, INSTALL, UPGRADING, - and I18N files. -Minor Changes: - * Rooms now hear remits and lemits in them, and can be pemitted - to. This behavior now matches that of other MUSH servers. - * AUDIBLE objects now propagate sound @remit'd into them. - Report by [SW]. - * Added @lock/destroy to limit who can destroy a DESTROY_OK - object. Suggested by Luigi@8bit. - * PARANOID nospoof notification now includes the name of the object's - owner as well. Suggested by Philip Mak. - * room() no longer notifies the executor of permission errors out of - band. It now just returns the error instead, like loc(). Suggested by - Philip Mak. - * Creation times are now public information via ctime(); permission to - examine is no longer required. This allows objects to use, e.g., - %#@[ctime(%#)] as a historically unique identifier of an enactor. - Suggested by Philip Mak. - * The reboot.db is now versioned. This will make it possible to - @shutdown/reboot across patchlevels that change the reboot.db - format (in 1.7.7 and later versions). - * Rooms on an @forwardlist now receive the message as a remit, - rather than a pemit. Suggested by BladedThoth@M*U*S*H. -Fixes: - * More work on the great table() bug. Looks like a fix. [SW] - * Improved VS.NET project files by BladedThoth. - * Plugged a memory leak in deleting @locks. [SW] - * Fixed @lock-related crash bug reported by Philip Mak. [SW] - * General linting. - * process_expression ignores the [ in ansi escapes. Reported in the - context of #$ by Philip Mak. [SW] - * Internal changes to compress(), which now returns an allocated - string. Under Huffman compression, it should no longer be possible - to overflow a buffer with a pathological compression tree. Initial - concern voiced by Eyal Sagi. - * Table and ansi didn't play well together. Reported by Ellis@M*U*S*H. - * Config file reading should be better on Macs. Patch by Philip Mak. - * Obsolete checks for OLD_ANSI are removed. [SW] - * Crash bug in @function fixed. Report by Dallimar@Hemlock. - * Change to message on failed attribute flag set, to make it more - generic to cover all the possible failures. Report by Cerekk@bDv. - * Translations to some languages were broken. Fixed now. Report by - Sbot@M*U*S*H. - * QUEUE is now visible if you control an object, as promised in the - help. Reported by Luigi@8bit. - * Help fixes by Mortimer@M*U*S*H, Bellemore@M*U*S*H, Hyacinth@8bit, - [EEH], BladedThoth@M*U*S*H, Moe@M*U*S*H, Viila@M*U*S*H, Walker@M*U*S*H. - * Comment in src/Makefile fixed by Vadiv@M*U*S*H. - * A weird crash on @shutdown/reboot, probably attributable to a - broken library or system call, is now worked-around. Report by - Solarius@SWWF. - * Audible objects with @forwardlist set are no longer concealed by - the DARK flag. - * Win32 project files no longer use the win32/ directory as an include - directory, which causes problems. Reported by Gepht. - diff --git a/CHANGES.177 b/CHANGES.177 deleted file mode 100644 index c997a4e..0000000 --- a/CHANGES.177 +++ /dev/null @@ -1,1465 +0,0 @@ -This is the changes file for PennMUSH 1.7.7. Please look it over; each -version contains new things which might significantly affect the -function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar) -[LdW] is Luuk de Waard, a former PennMUSH developer (aka Halatir) -[RLM] is Ralph Melton, a former PennMUSH developer -[NJG] is Nick Gammon, the Win32 porter -[DW] is Dan Williams, the MacOS porter -[2.2] refers to code which originated with the TinyMUSH 2.2 developers -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.7.7 patchlevel 40 December 1, 2004 - -Major Changes: - * Another pass at the chunk allocator! Simpler but effective. - Folks should, however, greatly reduce their chunk_migrate - value in mush.cnf -- we suggest '50'. [TAP] -Commands: - * @command/alias can alias commands. Patch by Walker@M*U*S*H. -Functions: - * zwho() and zmwho(). [EEH] -Minor Changes: - * utils/penn-install is no longer part of the PennMUSH distribution - (it's part of the Debian maintainer's stuff). [EEH] - * Inheritable @locks are inherited off of ancestor objects. - Suggested by Zith@Lovarii. [SW] -Fixes: - * Infinite recursion in @lock/examine fixed. Report by - Amy Kou'ai (Amy@ShoujoAi) and Sparta Kerleon (Sparta@ShoujoAi). [TAP] - * @flag/letter now allows setting a flag's letter to one used by - another flag that works on different object types. Report by Lenon. - * Translation corrections by Cheetah@M*U*S*H and [EEH]. - * Added __USE_POSIX to the cflags for linux, and removed - checking for -lbind, to help SuSE 9. Report by Ambrosia@M*U*S*H. - * Fixes to panic db loading logic. [SW] - * escape() shouldn't double-escape the first character of the - string when it's a special character. Report by Walker@M*U*S*H. - - -Version 1.7.7 patchlevel 39 October 25, 2004 - -Major Changes: - * Game and chat database formats have been rewritten. They are - much more human-readable, can be extended with new fields - without using versioning flags, and provide better detection - and reporting of malformed databases. [SW] - * Chunk deref counts for locks are now stored in the database. [SW] -Commands: - * New 'buy' command for purchasing items from vendors that can offer - multiple items at multiple prices. Patch by Walker@M*U*S*H. - * restrict_command and @command/restrict can now include an - error message to be sent when the player can't use the command, - which supercedes more generic errors. Suggested by Philip Mak. - Patch by Walker@M*U*S*H. -Functions: - * lwho() can take an argument to produce the who list from that - player's viewpoint. Patch by Walker@M*U*S*H. -Fixes: - * nattr(obj/attrib) returns 1 when matching a non-wildcarded attrib. - Report by Impster@M*U*S*H. - * +chan is now converted to @chat = (with noeval) - so @chat hooks apply to +chatting too. Patch by Walker@M*U*S*H. - * You must be able to locate a player to perform elock() on them. - Report by Ambrosia. - * Help fixes by Sketch@M*U*S*H. - * Simplification of @version code. [SW] - * cemit() restrictions are now based on those of @cemit, instead - of @emit. Report by BlackPhyr. - * Setting queue_loss to 0 disables queue_loss. A bad idea, but - more consistent behavior. Suggested by K Moon. - * Examining objects always shows their actual number of coins, - whether or not they're admin or no_pay. - * Code cleanup in @edit and in char routines. [SW]. - * Wrong object checked when reporting money as unlimited. Report - by Nate Barney. [EEH] - * New hints/freebsd_5.sh. Suggested by James Lang. - * INFO command once again reports the server as "PennMUSH", - not just a version number. Report by Mark Hassman. - * Win32 linting. Builds with NT_TCP should work again (although - @shutdown/reboot under NT_TCP is still not functional). - Reorganization of the Win32 services macros. [EEH] - * Fix to bug with login attempts using literal encrypted strings. - Reported by Cadar and Mirrador. - * @ps/all shows the right label on top. Patch by qa'toq@bDv. - - -Version 1.7.7 patchlevel 38 August 25, 2004 - -Commands: - * @boot/silent disconnects without the standard message. - Suggested by Thor@bDv. -Fixes: - * Crash bug in is_objid fixed. Report by Wayne@PDX. - * God could cause a flag to lose its type status, and then become - inaccessible. Report by Wayne@PDX. - - -Version 1.7.7 patchlevel 37 August 23, 2004 - -Major changes: - * @adisconnect is triggered on every disconnection, partial or full. - This mirrors the behavior of @aconnect. Use %1 (the number of - remaining connections) to distinguish between partial and full - disconnects in @adisconnect code. -Minor changes (user-visible): - * When a player disconnects, their recv(), sent(), and cmds() - values are passed to triggered @adisconnects as %2, %3, and %4. - The number of remaining connections is passed as %1. - Suggested by Jessica Hawthorne and Wayne@PDX. - * No_Pay players now have their money reported as unlimited by - examine and score (but money() still returns a useful integer value). - ex/debug can be used to see the object's Pennies field. - Suggested by Wayne@PDX. -Fixes: - * ex obj/*1 and similar was matching like ex obj/*1*. Reported by - Math@HavenMUSH. - * inc() and dec() with out-of-range integers now return a more - useful error instead of odd behavior. Suggested by Jessica Hawthorne. - * Win32 bug with renamed temporary database files resolved. - Reported by AndromedaMU. - * Help fixes by Mike Griffiths. - * @mail commands with no message list were not using current folder. - Report by Jessica Hawthorne. - -Version 1.7.7 patchlevel 36 August 9, 2004 - -Functions: - * l/lv/n/nv/x/xvthings() functions by Walker@M*U*S*H. - * New flag to locate(), 'y', for matching player names like pmatch(), - without requiring a leading * before the name like the 'p' flag. [SW] - * lattr()/nattr() works for mortals on non-owned objects, showing - or counting only attribs they can examine. Suggested by Philip Mak, - patch by Walker@M*U*S*H. -Minor changes (user-visible): - * Mortals can no longer teleport HEAVY admin through exits. - Suggested by Ambrosia@M*U*S*H. -Minor changes (internals): - * win32 directory has subdirectories for msvc6 and msvc.net. [EEH] - * locate() on dark rooms now works for see_all players. Suggested - by Wayne@PDX. -Fixes: - * @mail subjects are stripped of ansi before being stored (escape - chars were always smashed on display). Suggested by Wayne@PDX. - * @command/delete by God of a non-existing command caused a crash. - Report by Wayne@PDX. - * Follow works again. Report by Shirow. - * Fix to digest()'s sha hash on systems without OpenSSL. [SW] - * @list/command no longer includes duplicates. Report by Relay@M*U*S*H. [EEH] - * comp() again returns -1/1 instead of -2/2. Report by Jessica Hawthorne. - * sort() of large floats works again. Report by Jessica Hawthorne. - * Linting of warnings in funlist.c. Report by Nymeria@M*U*S*H. - * It was possible for wizards to create circular zone chains that - would cause an infinite loop. Report by Wayne@PDX. - * safe_ansi_string was double-prepending starting ansi codes. - Report by Shirow. - * Debian packaging improvements. [EEH] - * Help fixes by Mike Griffiths. - - -Version 1.7.7 patchlevel 35 July 21, 2004 - -Attributes: - * NO_NAME and NO_SPACE attribute flags, when applied to @o-message - attributes, omit either the enactor's name or the space after it - when sending the message to others. Patch by Walker@M*U*S*H. [3] -Commands: - * @break = now runs - instead of simply stopping execution when is true. - New command @assert breaks and runs new command when - is false. Suggested by Philip Mak and Zebranky@M*U*S*H. Patch by - Walker@M*U*S*H. - * The new command 'huh_command' is responsible for handling unmatched - command input. By default, it produces the usual Huh? message, but - it can be overridden with @hook. Logging of huhs is now controlled - in restrict.cnf and the log_huhs mush.cnf directive is removed. - Suggested by T'orA and Walker@M*U*S*H. - * New @decompile/prefix switch generalizes @decompile/tf. - Prefixes are now applied even when decompiling multiple attributes, - and a bug in doing so is corrected. Patch by Walker@M*U*S*H. - * New @edit/first switch only replaces first occurrence of string. - Suggested by Kevin@M*U*S*H. -Functions: - * malias() function for examining mail aliases. Inspired by - Kevin@M*U*S*H. - * llocks()/locks() lists locks on an object. Patch by Walker@M*U*S*H. - * lset() function works like @lset. Patch by Walker@M*U*S*H. - * lockflags() and llockflags() show short and long flags set on a lock. - Patch by Walker@M*U*S*H. - * lattrp() is lattr() including parent attribs. Patch by Walker@M*U*S*H. - * nattr(obj/wildcardpattern) is now supported. Patch by Walker@M*U*S*H. - * nattrp() is nattr() including parent attribs. Patch by Walker@M*U*S*H. - * xattr(obj/wildcardpattern,start,count) extracts the corresponding - elements from lattr(). xattrp() is xattr() including parent attribs. - Patch by Walker@M*U*S*H. -Minor changes (user-visible): - * @lset and lock() recognize locks beginning with user:. Patch by - Walker@M*U*S*H. - * When a player causes an ambiguous channel match, the error message - mentions CHAN_USEFIRSTMATCH, which now has a help entry. - Suggested by Luke@M*U*S*H. - * New sort options: sorting by dbref name, idle time, connection seconds, - creation time, owner dbref, and attribute values. sort() and any - functions that use list2arr() are now ansi-aware. Patch by Walker@M*U*S*H. - * You can @name yourself to your @alias; this swaps name and alias. - Suggested by Oriens@Alexandria. Patch by Walker@M*U*S*H. -Minor changes (internals): - * Several global variables are now encapsulated in a single structure - to reduce potential namespace clashes. - * Reorganization of some filecopy.c code. [SW] -Fixes: - * @mail manipulation specifying folder 0 explicitly when the - current folder is non-zero didn't work right. Report by - Jess Hawthorne. - * Buffer overflow in string handling fixed. Report by Ashen-Shugar. - * @sitelock/name of an already locked name no longer creates extra - entries. Report by Nymeria@M*U*S*H. - * make depend no longer produces an unterminated Makefile.SH. - Reported by Bytor and Cheetah@M*U*S*H. - * Help fixes by [SW]. - * Fix to replace_string2 to prevent overflow situations. Report by - Atuarre. [SW]. - * Removed non-static shutdownsock prototype in hdrs/mysocket.h. - Report by Kholnuu@M*U*S*H. - * SQL code should be much more memory-efficient. [SW] - * Code cleanup and fixes to some memory leaks with strcoll. [SW] - - -Version 1.7.7 patchlevel 34 June 22, 2004 - -Flags and Powers: - * Debit power allows the giving of negative amounts of money. - Suggested by Hemlon@SevenStones. - * The setting and resetting of flags and powers can be logged - by using the new 'log' restriction. Changes were made in - flaglocal.dst which you must carry over into flaglocal.c - (or, if you don't use flaglocal.c, just rm src/flaglocal.c and - flaglocal.dst will be copied in its place). Suggested by Sholevi@M*U*S*H - [SW] - * Setting and resetting @powers are once again logged by default. [SW] -Locks: - * @lock/speech can now be set by unprivileged players. @lock/speech - now applies to all players (it is no longer automatically overridden - by admin). SPEECH_LOCK`*FAILURE attributes can be used to override - the default failure messages when @lock/speech fails. -Commands: - * ex/parent examines an object and shows attributes that will be - inherited from its parents (if you are permitted to examine - the parent as well). Suggested by BladedThoth@M*U*S*H. - * examine now shows the complete (examinable-by-enactor) chain of - parent objects, not just the nearest parent. Suggested by Luke@M*U*S*H. -Functions: - * mailsend() is a function form of @mail/send. Suggested by Moe@ChicagoMUSH - * ncon, nvcon, nexits, nvexits, nplayers, nvplayers, nwho, nvwho - functions to count the number of each thing. Patch by Walker@M*U*S*H. - * xcon, xvcon, xexits, xvexits, xplayers, xvplayers, xwho, xvwho functions - to extract slices of potentially long contents, etc. lists. [Rhost,TM] - Patch by Walker@M*U*S*H. -Minor changes (user-visible): - * Players can no longer be set CHOWN_OK. Suggested by Intrevis@M*U*S*H. - If you have existing CHOWN_OK players, you probably want to unset - this from them, or the results will be confusing (they'll continue - to appear to have the flag, even though it won't be testable or - settable or clearable; this is desired behavior). - * If you're See_All and Pemit_All, you may now @cemit on any channel. - Based on a suggestion by Philip Mak. - * Attempting to give a player more than max_pennies will give them - enough to get them to max_pennies, instead of being treated as - an error. Similarly, taking away more pennies than they have will - take away exactly all their pennies. - * Improved errors for unprivileged users doing @boot/port. - Suggested by Intrevis@M*U*S*H. [TAP] -Minor changes (internals): - * pre OS X Macintosh OSes are no longer supported. Hints for - Darwin are improved. [SW] - * An extra file descriptor only needed on Sun OS boxes was being - opened on all unix systems. [SW] - * If no config file name is given on the netmush program's command line, - it will assume you mean mush.cnf instead of quitting. You should still - be using the restart script instead of netmush directly, though, as it - does important things like using the right database... [SW] - * 'make local-files' will copy all the src/*local.dst files to their - respective .c counterparts. Suggested by Nymeria@M*U*S*H. [SW] -Fixes: - * Configure handles the case where SO_KEEPALIVE works but TCP_KEEPIDLE isn't - defined. [SW] - * Win32 portability fixes and mingw hints. [EEH] - * Raising max_logins from 0 with @config/set wouldn't take existing - connections into account. [SW] - * $commands starting with # (that don't look like an @force by dbref) - will now be matched. Reported by Intrevis@M*U*S*H. - * version() is verbose again. Reported by Sholevi@M*U*S*H. - * The double-add of SQL_OK on minimal.db is now really fixed. - See p33 changes for information. Report by Mordie@M*U*S*H. - * Help fixes by Kevin@M*U*S*H and Cerekk@bDv. - * @boot/desc on one's own descriptor is no longer translated to - @boot/me. [TAP] - * Overflow of integer argument in giving pennies fixed. Report by - Sholevi@M*U*S*H. - * Typo in fun_vcross() fixed. [SW] - * Configure does better when ssl shared libraries, but not static - libraries, are available. You can use -D no_openssl to skip SSL checks. - - -Version 1.7.7 patchlevel 33 June 3, 2004 - -Minor changes (internals): - * IsPlayer, etc. macros rewritten for clarity by Luke@M*U*S*H. - * Use enums in place of some more #defines and magic numbers. [SW] - * New did_it_with() hc function simplifies passing a dbref as %0 - to did_it actions. [SW] -Fixes: - * The SQL_OK power could get double-added. If this happened to you, - delete one of them and double-check that all sql-using objects - still have the power set. Report by Mordie@M*U*S*H. - * Missing include in game.c fixed. - * Improper include in bufferq.c fixed. Report by Leona and Walker@M*U*S*H. - * Obsolete bzero() uses removed. [SW] - * New win32/pennmush.dsp. - * Help fix by bleeder@M*U*S*H. - * Mac OS X linting [SW]. - - -Version 1.7.7 patchlevel 32 May 26, 2004 - -Major Changes: - * SQL support. PennMUSH can now operate as an SQL client and perform - queries against an SQL server. Currently only the MySQL server is - supported. This adds the @sql command, the sql() and sqlescape() - functions, and the Sql_Ok power. See README.SQL for some - additional information. Mostly based on patches by Hans Engelen. - * Creating a leaf attribute automatically creates associated branch - attributes if they are not already present. [TAP] - * When a $command matches on an object, but the object's use-lock or - command-lock prevents the command from being run, the object's - COMMAND_LOCK`FAILURE, COMMAND_LOCK`OFAILURE, and COMMAND_LOCK`AFAILURE - attributes will be triggered if the $command never successfully - matched, rather than returning a Huh? to the player. - * Exits and rooms may now run $commands. Rooms are treated as being - located in themselves for purposes of location checks. Exits are - treated as being located in their source room. Suggested by [TAP]. -Commands: - * 'empty ' attempts to get each item in and put - it alongside (in 's location). - * 'give to ' syntax added. -Minor Changes (user-visible): - * @COST attribute is now evaluated, so you can make costs depend - on who's paying, a selected item, etc. Suggested by Walker@M*U*S*H. - Also, the amount given is passed in as %0, so you can code - vendors that accept any amount. - * New OBJID^ lock atom. - * The server now maintains a rolling log of activity (commands issued, - evaluations parsed, and locks evaluated), that is dumped to the log - file on panic, or can be seen by God with @uptime. This aids - debugging code that causes a "clean" panic rather than a crash. - Suggested by Intrevis@M*U*S*H. - * When checking a use/command/listen-lock on an object with patterns - that get matched, we only check the lock once and cache the result, - to prevent multiple lock evaluations if multiple patterns match. [TAP] - * @chan/recall now shows nospoof tags for @cemit'd lines. - Suggested by Sholevi@M*U*S*H. - * SUSPECT flag can now be applied to any type of object. - Suggested by Oriens@Alexandria. -Minor Changes (internals): - * fun_escape() and fun_secure() use the same list of special characters, - rather than each having their own copy. [SW] - * Buffer queue code used by @chan/buffer and the activity log refactored - into src/bufferq.c and hdrs/bufferq.h. - * Added mush_panicf(), with printf()-style format and arguments. [SW] -Fixes: - * @scan correctly shows attributes on parents again. Report by - Wayne@PDX. - * @shutdown/panic and @shutdown/paranoid work again. [SW] - * A panic DB could be created before the database files were actually read, - causing problems on the next restart. [SW] - * Win32 and Debian installer portability fixes. [EEH] - * Code cleanup around errno. [SW] - * The locate() function now respects visibility and interactions. - Report by Jules@M*U*S*H. - - -Version 1.7.7 patchlevel 31 May 11, 2004 - -Minor Changes: - * netmush is now started with only a single argument - the path to - the configuration file. The error log file (typically game/netmush.log) - is now configured in mush.cnf. Suggested by Vadiv@M*U*S*H. - * The restart script now bases its decision about whether the mush - is already running on the full path to the configuration file, - which means you can leave mush.cnf named mush.cnf without fear - of restart problems when multiple mushes are using the same - host. This also facilitates make update. Suggested by Vadiv@M*U*S*H. - * The GAMEDIR environment variable can be passed to 'make update' - to cause it to update *.cnf files in directories other than - game/ (using the template *.dst files in game/). - E.g.: make GAMEDIR=/home/othermush/game update -Commands: - * @nscemit. Suggested by Mystery8@ST:AW. -Functions: - * nscemit(). Suggested by Mystery8@ST:AW. -Flags: - * New HEAVY admin flag, prevents an object from being teleported - by a mortal between two containers they own. Admin without this - flag can now be teleported. -Fixes: - * Help fixes by Anri@AkaneaMUSH and Intrevis@M*U*S*H. - * mix() now treats empty lists as empty, instead of containing a single - null element. Report by Luke@M*U*S*H. - * @power messages no longer reference 'flags'. Report by Nymeria@M*U*S*H. - * Crash bug with @clone in new power system fixed. - - -Version 1.7.7 patchlevel 30 May 6, 2004 - -Major changes: - * CHAT_SYSTEM option removed. If you don't want to use the chat system, - use restrict.cnf to disable @channel, @chat, etc. - * USE_MAILER and MAIL_ALIAS options removed. If you don't want to - use the @mail or @malias systems, use restrict.cnf to disable - the associated commands. - * QUOTA, EMPTY_ATTRS, and FUNCTION_SIDE_EFFECTS options are now - runtime options, instead of compile-time. - * SINGLE_LOGFILE option removed, and log filenames are now - runtime options. You may now give the same name to - multiple log files and get a more fine-grained version of the - same effect. Based on ideas by Vadiv@M*U*S*H. -Minor changes: - * New IP^ and HOSTNAME^ tests for boolexps. Suggested by Luke@M*U*S*H. - * ALLOW_NOSUBJECT option removed. We always use the beginning of the - message as the subject if one is not provided. - * JURY_OK and UNINSPECTED_FLAG options removed. Use @flag to add - flags if you need them. ONLINE_REG and VACATION_FLAG options - removed (default to always defined, add or remove with @flag as - desired). - * MEM_CHECK option removed from options.h; it is now a runtime - option in mush.cnf. - * @function/restrict can be applied to softcoded @functions, and - @function/add can accept a list of restrictions as a fifth argument. - Patch by Luke@M*U*S*H. - * log_walls run-time configuration option removed. Use the - logargs option in restrict.cnf instead. -Fixes: - * Crash bug in anonymous attributes fixed. Report by Intrevis@M*U*S*H. - * lplayers() was broken. Report by T'orA@M*U*S*H. - * Failing to create a player by providing a bad password now gives - a better error. Suggested by [NJG]. - * Setting/clearing a chan title on a notitles channel works, but - reminds you that titles are off. Suggested by Dan@InNomine. - * haspower_restricted removed from mushcnf.dst to stop spurious - warning on startup. Report by Nymeria@M*U*S*H. - - -Version 1.7.7 patchlevel 29 April 28, 2004 - -Major changes: - * Anonymous attributes via #lambda. See help anonymous attributes. [SW] - * Wizards (other than God) and royalty are no longer treated as No_Pay - unless the No_Pay power is explicitly set on them, although they - can still give (themselves or others) as many pennies as they wish. - This helps stop runaway wizards in the queue (they'll run out of cash - like anyone else). To get the old behavior back, @power your admin - No_Pay. You probably want to @power any globals that use search(), - children(), mail*stats(), etc, No_Pay as well. Suggested by Walker@M*U*S*H. - * game/restrict.cnf, alias.cnf, names.cnf are renamed in the tarball and - made with make update like mush.cnf. Suggested by Philip Mak. [SW] - * @powers now operate under the same code as the @flag system, so God - can add and modify powers in the MUSH with @power/add, etc. -Commands: - * @nsemit, @nsoemit, @nslemit, @nsremit, @nszemit and function forms - of the same. Suggested by Cloud@M*U*S*H. -Functions: - * andlpowers(), orlpowers(), andpowers(), orpowers(). - * align() performs fancy text alignment tricks. Patch by Walker@M*U*S*H. - * sent() and recv() show more player descriptor data from SESSION. - Suggested by Ricochet@M*U*S*H. - * scan() with a single argument assumes the executor's point of - view. Suggested by Cheetah@M*U*S*H. - * valid() can also check for syntactically correct passwords, - command names, and function names. -Minor changes: - * No more CRYPT_SYSTEM in options.h. We try everything and we - always reset passwords to SHS. Patch by Vadiv@M*U*S*H. - * Wizards and other privileged players can @chan/recall on channels they're - not on. Suggested by Trispis@M*U*S*H. [SW] - * A separate ip address to bind the SSL port to can now be specified - in mush.cnf. - * @flag/type allows God to change flag types. Suggested by Renee@ShoreSide. - * After each @startup is enqueued (during startup or @restart/all), - we immediately run up to 5 queue cycles. This allows, e.g., God's - @startup to up to five levels of @dol/@tr/@switch/etc and still have - the queued code run ahead of other startups. This requires that you - keep God's dbref as #1. Based on comments by Philip Mak and o - Trispis@M*U*S*H. - * The message after successful @password is now clearer, to avoid - confusion in some unusual cases. Report by Kholnuu. - * Makefile is no longer set executable. Report by Luke@M*U*S*H. - * Server now handles telnet NOP and AYT commands. Suggested by - Philip Mak and Liz (author of Muckclient). - * announce.c is no longer distributed. portmsg.c cleanup. -Fixes: - * @undestroy on an invalid (garbage, or !going) object now produces - an error message. Suggested by T'orA@M*U*S*H. - * On shutdowns, all queue deposits are now refunded. - * Ansi behavior on second and later lines of text fixed by Walker@M*U*S*H. - * Database reading improvements for win32 - ideally, you should now - be able to read a database written on win32/unix on either system. - * allof() now evaluates its separator argument. [SW] - * firstof() doesn't add an extra space before the value it returns. [SW] - * Slackware portability fixes by Dale @ Wolfpaw.net hosting - * ]page properly noevals (the right hand side) now. Report by - Cheetah@M*U*S*H. - * Partial channel match listings no longer reveal channels the player - isn't allowed to see. Report by Taz. - * Help fixes by Trispis@M*U*S*H and Tanaku@M*U*S*H. - * ssl() and terminfo() don't work on other players unless you're - See_All, as promised. Based on patch by Tanaku@M*U*S*H. - * lcon, etc. all do an INTERACT_SEE interaction check now. - Suggested by Thor@bDv. - * Code cleanup. [SW] - * Fixes from 1.7.6p16 - - -Version 1.7.7 patchlevel 28 March 12, 2004 - -Major changes: - * You can add customized configuration parameters to set in mush.cnf - by adding a couple of new lines into the local_configs() function - in local.c. (YOU MUST UPDATE YOUR local.c FROM local.dst IN THIS - PATCHLEVEL). Patch by grapenut@M*U*S*H. - * Object ids: An object id is the string "#dbref:ctime" - where #dbref is the object's dbref and ctime is its creation time - in integer format. The %: substitution returns this - id for the enactor, and the objid() function returns it for an - arbitrary object. Object ids can be used in place of softcode that - stores dbrefs to insure that a recycled dbref isn't used in place - of the intended one. The matcher code will also match objects by - id any time it's matching by dbref. - * @command/add and @command/del. You can add a custom command - (which will have the same precedence as a standard server command), - and then @hook it to softcode, effectively promoting the precedence - of softcoded globals, and letting them take advantage of some - command parser settings. Patch by Walker@M*U*S*H. -Functions: - * tr() accepts ranges of characters like a-z instead of having to - give each one. [SW] - * escape() also escapes parens and commas now. Suggested by Philip Mak. [SW] - * time() can now take a time offset or object argument (in the latter - case, time offset is read from object's TZ attribute). Patch by - Walker@M*U*S*H. - * vcross() performs cross products of vectors. [SW] - * merge() can now take a list of characters. [SW] -Minor changes: - * You can @set multiple flags at once by giving them as a list. - Suggested by Walker@M*U*S*H and others. - * Channel names are recognized when surround by <>'s, too. [SW] - * 'move' is now a command_alias for 'goto' (in alias.cnf), and not - a separate command. - * PAGE_LOCK`{,O,A}FAILURE attributes now activated when a page/pemit fails - due to the victim's @lock/page. Suggested by Sholevi@M*U*S*H. - * Tweaked game message for failing to provide correct password to - @password. Suggested by Philip Mak. - * New command 'warn_on_missing' (defaults to disabled), aliased to the - '[' character. If enabled, players who attempt to write commands - starting with functions will get errors. Suggested by [SW] and - Cheetah@M*U*S*H. - * Renaming something triggers its ONAME and ANAME attributes, if present. - The old name is passed as %0; the new as %1. Suggested by Philip Mak. - * Owner information on ex/br is reported using the usual object_header() - so dbref and flags appear. Suggested by Eratl@M*U*S*H. - * Flags that are F_DARK or F_MDARK no longer appear on @flag/list - by non-admin. Suggested by Philip Mak. - * Warn players who set themselves SHARED with a weak zone lock. - Suggested by Philip Mak. [SW] - * @halt can now take "here". Suggested by Thor@bDv. - * When parsing eqsplit commands, don't evaluate the left side - of the equal sign if the command was run with ]. -Fixes: - * Fixes to robustify file reading on Windows systems. - * The 'nofixed' command restriction works as expected now (previously, - you had to use 'nofix'). - * Exit movements are now translated into explicit GOTO commands, - so @hooks and restrictions on GOTO are now applied. Patch by - Walker@M*U*S*H. - * The AE/ae accent characters can now be produced (accent(a,e)). - Patch by Luke@M*U*S*H. - * @hook/ignore would double-evaluate arguments. Reported by - Ambrosia@M*U*S*H. [SW] - * Mingw error in src/Makefile.SH fixed. Report by Thor@bDv. [SW] - * Help fixes by Cerekk@bDv, Mike Griffiths, Steve Varley, Thor@bDv, [SW], - Dahan, Jason Stover, and Kyieren@M*U*S*H. - * cmdlocal.dst now includes flags.h. By Dahan. - * Win32 portability fixes by Dahan, Nathan Baum, [EEH]. - * utils/mkcmds.sh is now smarter about choosing temp filenames, so - parallel make should work. Fixed by Cheetah@M*U*S*H. - * The Zone: data in examine could be wrong. - - -Version 1.7.7 patchlevel 27 January 25, 2004 - -Minor Changes: - * New etimefmt() formatting codes to make it easier to get nice-looking - results without 0-valued times. Suggested by ranko_usa@M*U*S*H. [SW] - * Autodetect existence of /usr/kerberos/include to make compile - easier for RH9 sufferers. - * src/Makefile is now autobuilt from src/Makefile.SH. IF you use - local hacks that require src/Makefile, this is likely to be a problem - for you. You'll want to start patching Makefile.SH instead. - * Fewer warning flags are now provided to the compiler by default. - You can set your own warning flags instead by defining the - warnings variable in config.over. -Fixes: - * The startups option actually does what it's supposed to now. - * Potential DOS in etimefmt fixed. Report by Ashen-Shugar. [SW] - * Code cleanup. ok_tag_attribute should work. [SW] - * Channels are automatically ungagged only on initial connection - (not reconnection, partial disconnection, etc.). Suggested by - Mordie@M*U*S*H. - * notify() calls during startup would crash. Reported by Mordie@M*U*S*H. [SW] - * Fixes from 1.7.6p15. - - -Version 1.7.7 patchlevel 26 December 15, 2003 - -Commands: - * Add /regexp switch to @switch and @select. Suggested by BladedThoth. [SW] - * New /spoof switch to @pemit, @remit, @lemit, @oemit, @emit, - causes the message to appear to be generated by the cause, rather - than the enactor, which makes globals like $ooc show the right - NOSPOOF information (instead of the name of the global command object). - Patch by Philip Mak. -Functions: - * hostname(), ipaddr(), and cmds() take a dbref or descriptor number - of a connected player and return the hostname, ipaddr, and number - of commands executed. Suggested by Sholevi@M*U*S*H and Renee@ShoreSide, - code by Sholevi@M*U*S*H. - * Add reswitch*() functions. Suggested by BladedThoth. [SW] - * insert() can take a negative position argument to insert from - the right. Patch by Sholevi@M*U*S*H. - * New firstof() and allof() functions return the first true value - or all true values from a set of expressions. Patch by Sholevi@M*U*S*H. - * tr() works like the Unix utility, translating characters. Patch - by Walker@M*U*S*H. -Attributes: - * Attributes may be set DEBUG to cause their evaluation to be - debugged selectively. Patch by Pozzo@SWForum. - * @desc can no longer be gotten remotely without privileges. - To implement this, a new attribute flag NEARBY was added, - which prevents visual attributes from being remotely accessed. - See new configuration directive 'read_remote_desc' if you prefer - the old behavior. Patch by Philip Mak. - * @desc on privileged objects can now be evaluated by mortals. - To implement this, a new attribute flag PUBLIC was added, - which overrides safer_ufun for that attribute. This flag is dangerous - and should be avoided unless you are sure you know what you're doing. - Patch by Philip Mak. -Minor Changes: - * "+ " complains if is ambiguous, and - displays a list of matching channels. Patch by Luke@M*U*S*H. - * Code cleanup around @oemit by Philip Mak. - * If an object has an IDESCFORMAT but no IDESCRIBE, interior viewers - now see the DESCRIBE formatted by IDESCFORMAT (instead of - the DESCRIBE formatted by DESCFORMAT). Suggested by Philip Mak. - * Ported to Win32 with the Mingw development environment. - See win32/README.mingw for compile instructions. [EEH] - * null() can now take any number of arguments. Patch by Walker@M*U*S*H. - * Using @chan/quiet to control the quiet flag on a channel no longer works - (Actually, it never did). Use @chan/priv instead. [SW] - * The NO_WARN flag now prevents disconnected room warnings, too. - Suggested by several people. Patch by Philip Mak. - * @sitelock/name !name still unlocks a reserved name, but no longer - removes that name from names.cnf. Suggested by Nymeria. [SW] - * Some cleanup of fopen() calls. [SW] - * The reference to channel Creator is now Owner in @chan/decomp. - Suggested by Howie@NFTrekMUSH. [SW] - * The name of the channel being tested is passed as %0 in channel locks. - Suggested by Philip Mak. [SW] - * help for @chownall mentions the /preserve switch. Warnings from @chown - and @chownall tell which objects they're for. Suggested by - Mordie@M*U*S*H. [SW] - * Home wrecking is allowed again. Suggested by Philip Mak. -Fixes: - * Puppets in containers with @listen container=* now hear the - outside world correctly. Patch by Philip Mak. - * The email sent on player registration now double-quotes the - player name in the example connect statement. Suggested by - David Kali. - * Two rooms should never be nearby() each other. Fix by Philip Mak. - * can_look_at() now handles the look/out case, too. Fix by Philip Mak. - * Help fixes by Viila@M*U*S*H, MetBoy@M*U*S*H, Cheetah@M*U*S*H. - * @flag/alias or @flag/add without giving an alias no longer crashes - the MUSH. Report by Wildfire. - * Correctly retrieve user full name from /etc/passwd fields under - Linux in Configure. Record it in config.sh. Reported by Vadiv@M*U*S*H. - * Debian package changes. [EEH] - * As the help promises, XCH_CMD and SEND attributes don't work - for non-Wizards. Really. - - -Version 1.7.7 patchlevel 25 October 30, 2003 - -Fixes: - * Crash bug in the interaction between parents and attr trees - fixed. Report by Walker@M*U*S*H. - * Improvements to how locks are decompiled. Built-in locks with the - no_inherit flag cleared are handled better. If the object doing - the @decompile is referenced in a lock key, it's decompiled as 'me' - rather than by dbref, to make it easier to port between games. - Report by Cerekk@bDv. [SW] - * The error typically logged by info_slave on a mush crash is worded - better. [SW] - * panic() renamed mush_panic() as the Mach kernel now has a public - system call panic(). Report by Jeff Ferrell. - - -Version 1.7.7 patchlevel 24 October 19, 2003 - -Minor Changes: - * The puppet flag can now apply to rooms. Suggested by Philip Mak. - * @tel/inside allows priv'd players to teleport into another player's - inventory (instead of to their location). Suggested by Philip Mak. -Fixes: - * Startups from a created minimal.db did not properly initialize - the objdata htab, so subsequent use of that htab (e.g. adding - players to channels) would crash. Report by [LdW]. - * Help fixes by BladedThoth@M*U*S*H and Philip Mak. - * Attempting to clear a branch attribute when it has leaves now - gives a better message. Also better message for inability to - write an attribute due to tree issues. Patch by Luke@M*U*S*H. - * Bug in @debugforwardlist fixed by Luke@M*U*S*H. - - -Version 1.7.7 patchlevel 23 October 10, 2003 - -Major Changes: - * Forking dumps now work with the chunk memory manager. [TAP] -Minor Changes: - * Chunk allocator improvements in partial read/writes and for - Win32. [TAP] - * Use the SHA0 algorithm from OpenSSL instead of our own when possible. [SW] -Functions: - * New digest() function for generating checksums via a variety of - algorithms. [SW] - * cowner() returns the dbref of a channel's owner. Suggested by - Sholevi@M*U*S*H. [SW] - * Added baseconv(), for converting numbers from one base to another. - Useful for tweaking things like Myrddin's bboard code. Suggested - by many people. [SW] -Fixes: - * Remove warnings in set.c and pcre.c. Report by Nymeria@M*U*S*H - * @power messages now show the canonical name of the power. - Suggested by Cheetah@M*U*S*H. - * Adding DARK players to channels produced a duplicated message. - Reported by Mystery8@ST:AW. - * Players set WIZARD and ROYALTY would get double notification - of some GAME: messages. Fixed now. [SW] - * Chatdb corruption possible when admin add players to channels. - Reported by several folks, diagnosed by Mordie@M*U*S*H. - - -Version 1.7.7 patchlevel 22 September 30, 2003 - -Minor Changes: - * When possible, sockets are now set SO_KEEPALIVE and TCP_KEEPIDLE. - This may help prevent disconnections of idle players behind - poorly designed NAT routers and the like, and make the use of - the IDLE command unnecessary. Patch by Philip Mak. - * Better failure messages for 'get blah's blah', especially when - the container or contained object is ambiguous. Suggested by - Philip Mak. -Fixes: - * Attempting to unset attribute flags actually set them. - Report by Ambrosia@M*U*S*H. [SW] - - -Version 1.7.7 patchlevel 21 September 23, 2003 - -Major Changes: - * Attribute trees. Attributes may now be organized hierarchically - like files and directories in a filesystem, using the backtick (`) - character as the branch separator. Attribute access restrictions - propagate down trees. New wildcard ** is introduced to match - all attributes at all tree levels. Suggested by Tabbifli. [TAP] -Locks: - * New framework for performing lock failure activities in hardcode. - As a proof-of-concept, the attributes FOLLOW_LOCK`FAILURE, - FOLLOW_LOCK`OFAILURE, FOLLOW_LOCK`AFAILURE do what you'd expect - when set on a potential leader. Suggested by Sholevi@M*U*S*H. -Channels: - * New per-channel flags NoTitles, NoNames, and NoCemit do what you'd - expect. Set them with @chan/privs. Based on suggestion by - Saturn@M3. - * @chan/recall/quiet omits timestamps. Suggested by Vadiv@M*U*S*H. -Commands: - * 'help ' now lists all help topics that match that - pattern. By popular request. [MUX,SW] - * @flag/letter can be used to change or clear the one-letter alias for a - flag. Suggested by Nymeria@M*U*S*H. [SW] - * @flag/list by God notes disabled flags. Suggested by Nymeria@M*U*S*H. [SW] -Functions: - * rand() now comes in a two-argument (low,high) flavor, and randword() - selects a random word from a list. The latter is aliased to - pickrand() to match Mux's name. Patch by Luke@M*U*S*H. -Minor Changes: - * Although we're Pueblo 2.50 compliant, go back to sending Pueblo 1.10 - as the server version until everyone upgrades their clients so - they can handle the 2.50 string. Suggested by Shirow. - * The locate() function is no longer noisy (no longer notifies - the executor in addition to returning a value). Suggested by - Mystery8@ST:AW. - * @lock/interact now has a higher priority than other interaction - checks, so it will work for Wizards. Suggested by Viila@M*U*S*H. - * Tweaks to facilitate a Debian package of PennMUSH. [EEH] -Fixes: - * max descriptor could get stomped in some cases. [SW] - * Removed extra struct def in hdrs/mushtype.h. Suggested by Kyle. - * Help tweak by Kevin@M*U*S*H. - * Fix to locks on players messing up their connection failure counts. - Reported by Luke@M*U*S*H. - * Fix to @entrances by Luke@M*U*S*H. - * Fix to Win32 not handling a missing minimal.db by Luke@M*U*S*H. - * The confirmation message for setting/clearing attribute flags would use - the flag name given as an argument, not neccessarily the the full name of - the flag. Reported by Vadiv@M*U*S*H. [SW] - * Fix a potential memory leak in ident.c [SW] - -Version 1.7.7 patchlevel 20 September 4, 2003 - -Major Changes: - * minimal.db is no more. If you start up the server and there's no - db to be found, it creates a new minimal database in memory - on the fly. Feel free to delete your coopy of minimal.db. [SW] - (In related news, the default OSUCC on #0 in minimal.db is gone. - Suggested by Cheetah@M*U*S*H. So much for the mists.) -Minor Changes: - * SSL connections are now ended before the dump when rebooting, - but their descriptor information sticks around to ensure that - their @adisconnect is run after the reboot. Based on suggestions - by Vadiv@M*U*S*H and [TAP]. - * When _DEBUG is defined in a win32 build, don't copy pennmush.exe - to pennmush_run.exe. Makes debugging easier. Patch by Luke@M*U*S*H. - * In pueblo mode, no longer clear past images after each room look. - Patch by Konstantine Shirow. - * In pueblo mode, we no longer render ansi attributes or colors with - HTML tags; we assume the client will correctly handle them as ansi - intermixed with Pueblo. This solves a variety of problems. - Based on a discussion with Konstantine Shirow. - * When matching $commands and ^listens, insure that a matching attribute - exists before testing locks. This may break some strange locks using - %c, but hopefully won't. Suggested by Cheetah@M*U*S*H. - * The @scan command temporarily sets %c to the command to be scanned - (without "@scan" prefixed) so that it can detect commands that use - %c-matching. Based on ideas from Cheetah and Walker@M*U*S*H. - * Added support for Pueblo's md5 checksum. We track it on each - descriptor, though we don't do anything with it currently. - * Speed-up to fun_merge. Patch by Walker@M*U*S*H. - * Internal cleanup of flags in channel_broadcast. - * Wizards may @name themselves to names forbidden in names.cnf. - Patch by LeeLaLimaLLama@M*U*S*H. - * We are now forgiving of stupid non-RFC-compliant telnet clients - that send CR only even when they claim to be sending CRLF - (Read: MS Windows XP telnet). MS bug reported first by - Intrevis@M*U*S*H. - * Misleading restrict_command on @clone removed from restrict.cnf, - as @dig/@open/@create permissions already control @clone. - Suggested by Philip Mak. -Functions: - * lstats() and quota() now allow objects to see stats/quota on other - objects they control (e.g., on their owners, perhaps). Suggested - by Philip Mak. - * hastype() can now test for type GARBAGE. Suggested by Tanaku@M*U*S*H. -Commands: - * The new ']' command prefix causes the rest of the command-line - not to be evaluated by the expression parser. Try: ]think [add(1,1)] - Inspired by Elendor. - * @hook/ignore. [mux] - * @hook/override [Rhost, though they don't call it that] -Attributes: - * @debugforwardlist forwards DEBUG output to dbrefs on the list. - Suggested by Balerion@M*U*S*H. -Tests: - * A new test harness for developing regression test suites in perl - for PennMUSH is now included; few test suites are. If you can figure - out how to use this, write some tests for us! (If you can't, don't - ask about it, please :) -Locks: - * @lock/interact can prevent other players from transmitting any - normal sound to you (that is, you won't hear them speak, pose, - emit, etc., like gagging them in a client). It doesn't control - page (use @lock/page) or @mail (use @lock/mail). You still - hear 'presence' messages (connects/disconnects/arrivals/leaves) - so you can have a sense of who can hear you but you can't hear. - Patch by Philip Mak. -Fixes: - * Configure script no longer keeps adding -lssl -lcrypto over and - over to the Makefile. Report by Sholevi@M*U*S*H. - * Portability fixes for compiling with MSVC5 by Luke@M*U*S*H. - * The behavior of spaces inside parentheses that aren't part of a - function has been improved. Report by Jason Newquist. [TAP] - * txt/*.html files were being improperly escaped before being - sent to Pueblo connections. Report by Konstantine Shirow. - * mushdb.h includes flags.h, as it relies on constants from there. - Suggested by Philip Mak. - * Better error reporting on some failure messages in chunk allocator. - Patch by Philip Mak. - * @config/set with an invalid option now returns an error. - Report by Sholevi@M*U*S*H. - * Fix to interaction checking in notify_anything that could result - in the wrong check being performed. Report by Philip Mak. - * Help fixes by LeeLaLimaLLama@M*U*S*H, Sunny@M*U*S*H, Sketch@M*U*S*H. - - -Version 1.7.7 patchlevel 19 August 19, 2003 - -Fixes: - * When SSL connections are dropped on reboot, other players weren't - seeing disconnect messages. Now they are. - * Two calls to flaglist_check_long didn't get converted to the new - abstraction layer, making flag_broadcast not work right. - Report by Luminar@M*U*S*H. - - -Version 1.7.7 patchlevel 18 August 19, 2003 - -Major Changes: - * The flag handling code has been additionally abstracted to - allow, in a future patchlevel, @powers to be handled in the - same way that flags are now. -Minor Changes: - * Wrap the OS-dependant code for making sure the mush always has a free - file descriptor available for use in a pair of functions. [SW] -Fixes: - * Linted some ssl-related warnings. Reported by Cheetah@M*U*S*H. - * Compile failed in timer.c unless USE_MAILER was defined. - Reported by Sunny@M*U*S*H. - * Bug allowing players to view internal and mortal_dark attributes - introduced in p17 has been fixed. [TAP] - - -Version 1.7.7 patchlevel 17 August 11, 2003 - -Major changes: - * SSL support, including server and client authentication as options. - This should be considered experimental. New ssl() function returns 1 - if a player/descriptor is using SSL, 0 otherwise. New file README.SSL - documents how to set up SSL. Two things to note: - - SSL connections are dropped on @shutdown/reboot, so SSL users may - wish to write client triggers to reconnect. - - Output flushing behaves slightly differently for SSL connections. - * The way lock keys are handled internally has been rewritten to allow - them to be tracked by the same chunk-management code that handles - attributes. [SW] - * @mail message texts are now stored with the chunk-management code. [SW] - * The new code can no longer read databases created by versions of Penn - before 1.7.5p0. If you need to do this, load it in 1.7.6, shutdown, - and use that database. [SW] -Minor changes: - * A new minimal.db is distributed (older ones probably won't work, - and this one probably won't work with older versions). [TAP] - * Contents/exits lists and functions that use first_visible (like - lcon, lexits, etc.) are now affected by INTERACT_SEE. Suggested by - Prospero@Metro. - * @chan/recall now displays the last 10 lines by default. Use - @chan/recall =0 to get the full buffer. Suggested by [TAP]. - * Various boolexp tweaks. [SW] - * @power provides more verbose feedback. Suggested by Mordie@M*U*S*H. [SW] - * Additional chunk tweaks, including limiting migrations to one - per second. [TAP] - * PROFILING #define for use when profiling the code (surprise). This - just disables the CPU timer. - * When matching $-commands, only call the slower capturing wildcard match - function when we already know it succeeds, since it won't most of the time. - The faster non-capturing function is checked first to find a match. [SW] - * PCRE is initialized once, at startup, rather than testing to see if it has - to be done before each place regular expressions are used. [SW] - * The TERSE flag now applies to objects, not just players. Suggested - by Aur@M*U*S*H. - * The terminfo() function now returns SSL status as well. - * help-like commands without arguments now use the command name - as the argument. E.g. 'news' now looks for topic 'news', instead of - 'help'. If not found, we fall back on help. Patch by Mike Griffiths. - * When an object is zoned to an unlocked ZMO, the ZMO is now autolocked - to =me instead of $me, because it's probably less confusing. - Suggested by Luke@M*U*S*H. - * @name now automatically trims leading and trailing spaces from its - newname argument, to avoid confusing people who use edit() to - generate new names and leave in spaces. Report by [TAP], patch by [SW]. -Commands: - * New 'logargs' and 'logname' restrictions in restrict.cnf allow - per-command logging. Suggested by Saturn @ M3. -Functions: - * The sha1() function has been renamed sha0(), since that's what it - really does. [TAP] - * trimtiny() and trimpenn() work like trim(), but force the TM or - Penn argument style. - * New 'logargs' and 'logname' restrictions in restrict.cnf allow - per-function logging. Suggested by Saturn @ M3. -Fixes: - * The side-effect version of name() was producing a weird return - value. Reported by Saturn@M3. - * Problems with restrict_command and restrict_function with multiple - restrictions now fixed. Report by Sholevi@M*U*S*H. - * stddef.h now included in src/extchat.c. Report by [EEH]. [SW] - * INFO output now includes a missing newline. Report by [EEH]. [SW] - * help BUILDER updated. Report by Laura Langland-Shula. - * down.txt message wasn't being sent. Report by Sholevi@M*U*S*H. [SW] - * New Win32 project files that include the chunk code. [EEH] - * @chan/what no longer highlights the channel's name, as this is - confusing if you use ansified channel names. Suggested by - Oriens@Alexandria. - * ex/mortal now operates more correctly. Report by Amy Kou'ai. - * Fixes from 1.7.6p13. - -Version 1.7.7 patchlevel 16 June 23, 2003 - -Commands: - * New switch /room for 'with' to run a $command available in a remote - location. Suggested by Mike Griffiths. [SW] -Functions: - * Added the terminfo() function, which returns information about a - client's name and capabilities for a particular connection. [SW] - * New lports() function. Like lwho() but returns port descriptors. - For mux2 compatibility. [SW] - * Functions that return information about a connected player now treat - integer arguments as a port descriptor to look up, rather than using - the least-idle connection of a player. To force a player name to - be treated as such even when it's a number, prefix it with a * in - softcode. For mux2 compatibility. [SW] - * Players can use ports() on themselves and use the descriptors - they're connected to as arguments to the information functions. - For mux2 compatibility. [SW] -Minor Changes: - * Compute various chunk stats (total used, total free space, etc.) - on demand instead of keeping running totals. [TAP] - * @chan/what displays information about a channel's recall buffer, if any. - [SW] - * @chan/recall'ed lines are more clearly marked as such. Suggested by - Oriens@Alexandria. [SW] - * Consolidation of a common idiom used to format times throughout the source - into a simple function call. [SW] - * The time a @mail was sent was stored, unusually, as a string. - No longer. Now it's handled the same way as all other times. [SW] -Fixes: - * Bug in resizing @chan/recall buffers fixed. Reported by Oriens@Alexandria. - [SW] - * Objects with user-defined locks had problems with finding built-in locks - on the object. Reported by Walker@M*U*S*H. [SW] - * Unregistered() macro was checking wrong flag name. Report by - Matt Kirby. - * Help fix by Adu@M*U*S*H. - * Potential problem with ambigious names in the information functions fixed. - - -Version 1.7.7 patchlevel 15 June 1, 2003 - -Fixes: - * Problem with checking command flag masks when the number of - flags was an even multiple of 8. Reported by Nymeria and - Mordie@M*U*S*H. - * Tweak to improve efficiency of ancestor checking code and delint - warning reported by Cheetah@M*U*S*H. - * SESSION output no longer misaligned with 5-digit dbrefs. - Reported by Cheetah@M*U*S*H. [TAP]. - * Fixes from 1.7.6p11. - * game/txt/index-files.pl now uses locale information in the - environment to, e.g., correctly lowercase accented characters. - Report by Krad@M*U*S*H. - * Modified several Makefile.SH targets to prevent Javelin from - releasing patches that don't have the autogenerated files - up-to-date for Windows folks. - * Removed some dependence on typedefs that may or may not be in system - header files. [SW] - * Patch compiler warnings. [SW,EEH] - * Help fixes by Mike Griffiths and Oriens@Alexandria. - - -Version 1.7.7 patchlevel 14 May 22, 2003 - -Major changes: - * Ancestors: an object can be configured to serve as an 'ultimate - parent' of every room, exit, thing, or player, and attributes - that are not found on an object or any of its parents may be inherited - from the ancestor for that object type. The ORPHAN flag prevents - ancestors from being used on an object. Patch by Walker@M*U*S*H. - * Mail messages now track not only the dbref of the sender but the - sender's creation time, so messages from dbrefs that have been - nuked and recreated can be distinguished from messages from the - original sender. This modifies the maildb and make it not usable - with older versions. All existing @mail is grandfathered in, and - can't be tracked this way. Suggested by Philip Mak. - * New chunk memory allocator can be used to greatly reduce process - memory requirements by swapping little-used attribute texts out - to disk and caching often-used attribute texts in memory. - This is incompatible with forking dumps, so if you use it, - you'll do nonforking dumps. Configurable in mush.cnf, see comments - there. [TAP] - * Hardcode: new interaction type INTERACT_PRESENCE marks the - arrival/departure/connection/disconnection/grows ears/loses ears - messages. Many message types that used to be considered auditory - (like most @verb-style messages) are now marked as visual instead. -Functions: - * strreplace() works like replace() for strings. [SW] - * fraction(), for turning floating-point numbers into fractions. [SW] - * root(), for finding roots higher than the square root. [SW] -Minor changes: - * We now use wrapper functions atr_value and safe_atr_value instead of - uncompress(AL_STR(...)) or safe_uncompress(AL_STR(...)), so we - can do future work with attribute storage cleanly. [TAP] - * @*payment attributes now receive the amount of money paid in - as %0. Suggested by Sholevi and Time@M*U*S*H. [SW] - * Config options that take times now accept a notation describing what kind - of units to use. For example, 3600s, 60m, 30m1800s, and 1h all refer to - the same period of time. Suggested by Time@M*U*S*H. [SW] - * Doxygen commenting of non-static members is essentially complete! - Pennhacks see: http://www.pennmush.org/docs/1.7.7/html/ - * The mail() function no longer matches non-player objects by name. - * Several additional messages (locks, parents, etc.) are now quieted by - the QUIET flag. Patch by [EEH]. - * New config option default_home sets the room to send homeless things - to. [TAP] - * Added visual progress indicators for utils/mkcmds.sh so that slow - systems won't think they're hung. Suggested by Cheetah@M*U*S*H. -Fixes: - * Fixes from 1.7.6p10. - * The 'i' sort type was not properly implemented. Reported by - Noltar and BlaZE@M*U*S*H. - * Cleanup of all accesses to ATTR values to use AL_STR() in preparation - for future work on attribute storage. [TAP] - * The 'any' string for specifying flag types didn't work properly. - Reported by Krad@M*U*S*H. - * The connect screen may now appear correctly under windows telnet. [SW] - * The more efficient channel buffer shifting code now handles - pathological cases correctly. - * The tag*() functions could leave tags open at the end of full - buffers. No longer. - * Code cleanup in src/notify.c. - * @rejectmotd and @wizmotd set the wrong messages. Report by - Konstantine Shirow. [SW] - * Using @chan/buffer to resize a recall buffer gives feedback. Reported by - Sholevi@M*U*S*H. [SW] - * Help fix for grab() by Adu@AbryssMUSH. - * You can no longer destroy the base_room (or default_home). Suggested - by Philip Mak. [TAP] - -Version 1.7.7 patchlevel 13 April 9, 2003 - -Major changes: - * Interactions (something like "realms" in mux2). Two functions - in local.c can now be used to control conditions under which - objects can see, hear, or match each other. Possibly useful for - implementing umbral worlds, etc. Patch by Vadiv@M*U*S*H. -Functions: - * children(), syntactic sugar for lsearch(all,parent,). - Suggested by Kyieren@M*U*S*H. Patch by BlaZe@M*U*S*H. - * powers() can now take a second argument to set an @power. - Suggested by Rob@BtFMUSH. -Minor changes: - * @config/set can now set null strings. Suggested by Cheetah@M*U*S*H. - * In restart, set LC_ALL as well as LANG from the given LANG value, - in case the user's got an LC_ALL in their shell. - * The channel buffer shifting code has gotten much more efficient. - Suggested by [TAP]. - * @function/restrict can accept arguments of the form '!' - to clear a restriction. Suggested by Saturn@M3. - * Most of the asterisk lines between different login message files - have been removed. Suggested by Vadiv@M*U*S*H most recently. -Fixes: - * Fixes from 1.7.6p9. - * Win32 portability fixes. [EEH] - * deny_silent in access.cnf was ignored in several cases, and no - longer is. Patch by Cloud@Sci-Fi Chat - * Help fixes by Cheetah@M*U*S*H and LeeLaLimaLLama@M*U*S*H. - - -Version 1.7.7 patchlevel 12 March 21, 2003 - -Commands: - * @channel/buffer creates a buffer for a channel to store the most - recent messages broadcast on the channel. @channel/recall can be - used to recall them. These are not stored across reboots and should - be set up by #1's @startup. -Functions/Substitutions: - * accname() gives the accented name of an object (applying @nameaccent). - * %~ gives the accented name of the enactor. -Minor Changes: - * The chat-related commands and functions have been moved out - of bsd.c and funmisc.c and into extchat.c. Patch by Vadiv@M*U*S*H. - * The notification stuff has been moved out of bsd.c and into a new - notify.c file. - * @name no longer requires a password for changing player names, - and ignores one if given. Suggested by Ambrosia@M*U*S*H (and others). - * @hook can not be used on the @password or @newpassword commands. - * The dump_complete message is also shown after a forking dump, - if one is defined. Suggested by Nathan Schuette. - * @lock/leave on a room now prevents people within it from leaving - via exits or via @tel. Suggested by Peter Bengtson, patch by - BlaZe@M*U*S*H. -Fixes: - * Fixes from 1.7.6p8 - * Cleanup of a few new db[x] mentions in the source to use dbdefs.h - macros. Inspired by Vadiv@M*U*S*H. - * @command/restrict didn't work properly for most flags, especially - new ones. Reported by Caesar and Sholevi@M*U*S*H. - * @pemit/list didn't honor NOSPOOF. Patch by Cheetah@M*U*S*H. - - -Version 1.7.7 patchlevel 11 February 22, 2003 - -Commands: - * New IDLE command (socket-level) does nothing, and does not update - the socket's last_time (so it doesn't change idle times). Useful - for people behind lame NAT firewalls that timeout their connections if - nothing is sent for 5 minutes. Suggested by Bolt and BladedThoth@M*U*S*H. -Fixes: - * Win32 (and other OS) portability fixes. [EEH] - * Fixed the openssl Configure thing again. The right way, this time. - -Version 1.7.7 patchlevel 10 February 22, 2003 - -Fixes: - * Fix to stupid typo in Configure script that breaks on systems - without openssl. Argh. - -Version 1.7.7 patchlevel 9 February 20, 2003 - -Functions: - * New function scan() works like @scan. Suggested by Viila@M*U*S*H. -Flags: - * New flag, MISTRUST, prevents an object from controlling anything - but itself. -Configuration: - * mush.cnf directives ansi_justify, globals, and global_connects have - been removed (they are now always on). - * New unconnected_idle_timeout directive in mush.cnf controls - timeouts for connections idle at the connect screen. - * New max_guests directive in mush.cnf can limit the number of - guests allowed to connect at once. Suggested by Sholevi@M*U*SH. -Minor Changes: - * New lflags search class takes a list of flag names. - * Improved connection failure messages. - * Somewhat more informative message when you @chan/gag,hide,mute - all channels at once. Suggested by Tanaku and Kevin@M*U*S*H. - * Began commenting files using doxygen. - * Internal code cleanup. Mostly converting some magic numbers to - #define'd symbols, and some #define'd symbols to enums for better - debugging and improved readability. Also some conversion of old - K&R style functions. [SW] - * sort() and the set functions understand all the same comparison - types as comp(). [SW] - * Case-sensitive comparison currently isn't always possible, depending - on the locale the mush is running on. Help files reflect this. [SW] - * @uptime shows the time of the last successful database save, and - the time of future events like saves, not just the time until them. - Suggested by Cheetah@M*U*S*H. [SW] - * Improvements to reporting of failed saves. [SW] - * Code cleanup. [SW] - * tel() now takes a third argument that makes it function like - @tel/silent. Suggested by Cheetah@M*U*S*H. [SW] - * @idescformat operates like @descformat for internal descriptions. - Suggested by Tanya@M*U*S*H. -Fixes: - * local_startup() was getting run earlier than in the past due to - changes in the startup sequence. This has been rectified, so - local_startup() again runs after all other initialization (and - just before all object startups are triggered). Report by - BladedThoth and grapenut@M*U*S*H. - * Improved testing for openssl libraries in Configure. The old - approach used to cause problems on systems with runtime-only - openssl installations without development libraries. - * help opaque mentions that opaque blocks look/outside. Suggested - by Cheetah@M*U*S*H. - * itext() and inum() now generate an error on a null argument, - regardless of tiny_math and null_eq_zero settings. Reported by - Intrevis@M*U*S*H. - * Another fix to the new matcher. Bug report by Kyieren@M*U*S*H. - * @flag/alias was broken. Fixed. Reported by Kevin@M*U*S*H. - - -Version 1.7.7 patchlevel 8 January 27, 2003 - -Minor Changes: - * command_add now expects to receive the flag list and the - switch list as strings. Folks who hack into cmdlocal.c should - take note and read example in the new cmdlocal.dst -Fixes: - * Players were not created with all the player_flags. In a related - bug, checking of command flag restrictions wouldn't work with - all flags. Reported by Cory Descoteau. - * Flagmasks on commands weren't grown properly when flags were added. - - -Version 1.7.7 patchlevel 7 January 25, 2003 - -Fixes: - * Crash bug in zone-checking during @dbck fixed. - - -Version 1.7.7 patchlevel 6 January 23, 2003 - -Major changes: - * Rewrite of the flag system. The new system allows for any number - of flags, which may apply to any set of object types (the flags/toggles - distinction has been eliminated). Flags without single-character - abbreviations are better supported. Flags are stored in the object - database, and are referenced in hardcode and the db by the name - of the flag rather than bit positions. Older databases will be - automatically converted to the new format on load, but can not be - converted back (so make backups!). New flaglocal.dst file for - hardcode patch hackers to add custom flags. - * Rewrite of the matcher code (src/match.c). Some semantics of the - matching have changed: matching adjectives are parsed earlier and - restrict the match for greater efficiency; they also behave more - close as described in the help with respect to object ordering. - In addition, you can now do things by dbref without controlling - the object in many cases that previously required control. - Provoked by bug reports by Intrevis@M*U*S*H and Philip Mak. -Commands: - * @flag allows God to manipulate flags within the game, including - adding new flags. Flags additions/changes are maintained across - reboots, so this command does not need to be run at every startup. -Functions: - * lflags(), orlflags(), andlflags() return or test flag lists. -Minor changes: - * New NUMVERSION macro defined in hdrs/version.h that can be tested - by hardcode hacks to add code conditional on version. - * Much cleanup of @wall. Minimally-user-visible changes: - The @rwallemit, @rwallpose, @wallemit, @wallpose, @wizemit and - @wizpose commands have been removed. @wall no longer accepts the - /wizard, /royalty, and /pose switches, and @rwall and @wizwall accept - the /emit switch. Suggested by Vadiv@M*U*S*H, though he'd really - rather see @wall removed. - * @lock and @unlock now show which type of lock was set/cleared. - @lset now specifically notes that lock flags are being changed. - Suggested by Tanaku@M*U*S*H. -Fixes: - * @boot/me will no longer boot a connection if it is the sole - connection the player, even if it's technically inactive. - Suggested by Ambrosia@M*U*S*H. - * @boot'ing an active self (by descriptor) crashes the MUSH. - Discovered by Ashlynn@ChicagoMUSH. - * The thorn and eth characters generated with accent() would - convert to 'th' when stripped or viewed under NOACCENT, which - could be very confusing in object names. Same for the German sharp - s, which converted to 'ss'. Until we can cleverly set up separate - tables for object name unparsing, these have been reverted to their - old behavior so that stripaccents(accent(X,Y)) should return X for - any X and Y. Reported by DeeJee, Intrevis, and Time (@M*U*S*H). - - -Version 1.7.7 patchlevel 5 January 7, 2003 - -Fixes: - * Fixes from 1.7.6p5. - - -Version 1.7.7 patchlevel 4 January 2, 2003 - -Minor Changes: - * When room_connects is on, @aconnect and @adisconnect also - functions on things when players (dis)connect inside them. - Suggested by Philip Mak. [SW] - * Parser-enforced argument counts for user-defined @functions, - as an option to @function. -Config: - * New mush.cnf option max_global_fns allows increasing the number - of @functions allowed without editing source code. If you change - this, you should reboot the MUSH or bad things can happen. - Suggested by hilikiradi@Dardalani. -Fixes: - * mkcmds.sh doesn't always regenerate every file, only what's - needed. Speeds up compiles. Suggested by Philip Mak. [SW] - * Fixes from 1.7.6p4. - - -Version 1.7.7 patchlevel 3 December 25, 2002 - -Commands: - * @sitelock/check tells you which rule, if any, would match. -Fixes: - * The objdata hashtable routines had a serious bug that could - cause crashes. - - -Version 1.7.7 patchlevel 2 December 22, 2002 - -Major Changes: - * The LOCAL_DATA define has been removed along with the pointer - in the object structure. The local functions called on creation, - destruction, and cloning are now always called. Objects can - now store data in a single hashtable using the set_objdata() - and get_objdata() functions. As a proof of concept, the transitory - channel lists on objects are now stored here, and the "channels" - pointer has been removed from the object structure. Design - and much of the implementation by Vadiv@M*U*S*H. -Powers: - * can_nspemit power can be used to provide access to @nspemit - without a Wizard bit. [SW] -Functions: - * lpos from Mux, TM3. [SW] -Fixes: - * Fix to some gcc-specific macros reported by Peter Bengston and - Michael Holbrook. [SW] - * Improvements to stripaccents/noaccents conversions. [SW] - * Fixes from 1.7.6p3. - - -Version 1.7.7 patchlevel 1 December 17, 2002 - -Minor Changes: - * ex obj/attrib returns the attribute value even if it's veiled, - if a specific (non-wildcard) attribute is given. Suggested by - Nhoj@M*U*S*H. -Fixes: - * Win32 portability fixes. [EEH] - * Fixes from 1.7.6p2 - -Version 1.7.7 patchlevel 0 December 8, 2002 - -Major Changes: - * Clients that understand telnet NAWS (See RFC 1073) can tell the mush - what dimensions a given connection's display is. Added the - width() and height() functions, and SCREENWIDTH and SCREENHEIGHT - psuedo-commands for getting/setting this information from the mush. - This changes the reboot.db format and requires a full shutdown. [SW] - * Two new atoms for locks. "#true" in a lock is always evaluated as true - (anyone can pass), and "#false" is always evaluated as false (no one - can pass). Suggested by Vadiv@M*U*S*H. -Internationalization: - * The pronoun sets are no longer hardcoded. If you're running in a - locale other than C or en*, you'll see weird looking pronoun descriptions - for things like %s until a translation team translates them to your - locale's language. Suggested by Dandy@M*U*S*H. -Attributes: - * @DESCFORMAT can be used to separate description contents from formatting. - Suggested by Philip Mak. - * VEILED attribute flag causes attribute value not to be displayed - on default examine, but otherwise accessible as usual. Good for spammy - data attributes. See 'help attribute flags'. Suggested by Cheetah@M*U*S*H. -Commands: - * examine/all shows contents of veiled attributes. Suggested by - Intrevis@M*U*S*H. -Flags: - * The FIXED and ROYALTY flags are no longer optional. -Minor Changes: - * Object creation times are no longer optional. - * Warnings are no longer a compile-time option; they're turned on. - You can stop automatic warnings in mush.cnf, as before. - * Cleanup of the telnet-option code in general. [SW] - * Consolidation of much of the code for functions that return information - about the least-idle connection of a given player. [SW] - * The tiny_attrs configuration option has been removed. - * Removed a lot of preprocessor checks for conditionally including header - files that always succeed because they're standard C headers. [SW] - * Removed the Size_t typedef in favor of the standard size_t. [SW] - * Some optimization hints for the GCC and VS.NET compilers. [SW] - * We try to be more conservative about when we show lines of - asterisks around motd-type messages, to avoid showing them when - there's no message. - * Continued ansi-C-ification of function declarations. diff --git a/CHANGES.180 b/CHANGES.180 deleted file mode 100644 index 468df6d..0000000 --- a/CHANGES.180 +++ /dev/null @@ -1,268 +0,0 @@ -This is the changes file for PennMUSH 1.8.0. Please look it over; each -version contains new things which might significantly affect the -function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar) -[GM] is Greg Millam, a PennMUSH developer (aka Walker) -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.8.0 patchlevel 13 July 5, 2006 - -Fixes: - * Crash bug in pcreate() fixed. Report by Phreq@M*U*S*H. - * Crash bug in setunion() fixed. Report by Gurenk@ST:Legacy. - - -Version 1.8.0 patchlevel 12 March 25, 2006 - -Minor changes: - * New config option keepalive_timeout for setting the socket-level - are-you-there ping interval used to help work around broken routers. [SW] - * Changing the SO_KEEPALIVE interval works on more OSes, including OS X. [SW] - * Passwords are masked when commands that require them are logged - in command.log. Suggested by Sumta. [SW] -Fixes - * Added help entry for @debugforwardlist. Suggested by d'Ark@M*U*S*H. - * Help fixes by Talvo@M*U*S*H. - * When objects are nuked, their creation time is reset to 0. - This prevents garbage objects from maintaining the same objid. - Suggested by Cooee@PDX - * When doing english-style matching, plain numbers ('3') were - treated as adjectives (like '3rd') and shouldn't have been. - Fixed. Reported by Stinky@M*U*S*H. - - -Version 1.8.0 patchlevel 11 February 25, 2006 - -Fixes: - * Help clarification to ancestors inspired by Viceroy@GuiltyPleasures. [TAP] - * Help clarification in @set by Skaven@M*U*S*H. - * Freebsd hints files combined and simplified. - - -Version 1.8.0 patchlevel 10 January 29, 2006 - -Minor changes: - * Row and field separators in sql() may now by more than one - character. Patch by Walker@M*U*S*H. -Fixes: - * Fix to GNU libc detection in Configure by Petr Salinger. - * Definition of MAILER in options.h.dist made to work by Luke@M*U*S*H. - * Fix to double-parsing of row and field separators in sql() - by Walker@M*U*S*H. - - -Version 1.8.0 patchlevel 9 December 12, 2005 - -Fixes: - * On amd64 systems running FreeBSD (and possibly others), connections - could break after about 32 connections. Report by nails@M*U*S*H. - * The CONF and CONFGROUP structures are renamed PENNCONF and - PENNCONFGROUP to work around brokenness in Debian's openssl0.9.8 - package. - - -Version 1.8.0 patchlevel 8 September 15, 2005 - -Fixes: - * /noflagcopy switch to @cpattr/@mvattr works now. Report by - Kimiko Muffin. - * SHS encryption now works on 64-bit architectures that define - uint32_t. Report by Licenser@M*U*S*H. - * MySQL detection by Configure was accidentally removed - in 1.8.0p7/1.8.1p2. It's back. Report by Walker@M*U*S*H. - Same applies to SO_KEEPIDLE and some other Configure units. - - -Version 1.8.0 patchlevel 7 August 29, 2005 - -Fixes: - * lsearch() with no results no longer returns #-1. It still does so when - there's an error. Suggested by Nathan Baum. [SW] - * Improved messages for @link of exits. Report by Nathan Baum. [SW] - * Restart script more portable to older bourne-like shells. - Patch by Walker@M*U*S*H. - * Fix to MinGW reboot. Patch by Nathan Baum. - * Help fixes by Tyr@M*U*S*H, Talvo@M*U*S*H, Dizzy@Forgotten Time, - and Trinsec@M*U*S*H. - * @flag/add of a flag with a name that is a unique prefix of an existing - flag wouldn't add the new flag. Reported by Mike Griffiths. [SW] - * @config/set of an invalid option would still return a success message. - Report by Sholevi@M*U*S*H. [SW] - * sql() without a field delimiter defaulted to using the row delimiter, - instead of a space. Report by Kali@M*U*S*H. - * lock() didn't set user-defined locks properly. Report by - Dahan@M*U*S*H. [SW] - * Infinite loop in fraction() fixed. - * FIXED players may no longer teleport through exits. Report by - Anyasha@bDv2 - * Better messages when attempting to wipe SAFE attributes. - Suggested by Nathan Baum. - - -Version 1.8.0 patchlevel 6 June 24, 2005 - -Fixes: - * Weird logging ouput with function logargs fixed. Report by Sholevi@M*U*S*H. - * sort() and set functions now ignore ansi. Patch by Walker@M*U*S*H. - * @hook memory leak fixed. Reported by Shari@M*U*S*H. - - -Version 1.8.0 patchlevel 5 May 30, 2005 - -Minor changes: - * help substitutions{2,3,4} aliased to help %{2,3,4} respectively - for convenience. Suggested by Tokeli@M*U*S*H. - * help for ulocal() clarified. Suggested by Dahan@M*U*S*H. - * help fixes by Sketch@M*U*S*H. -Fixes: - * next() on a thing or player behaved improperly. Reported by - Sketch@M*U*S*H. - * ancestor_* config options allow dbref specified with # as - well as just . Suggested by Nathan Baum. - * New MSVC6 project files. [EEH] - * NUMVERSION no longer starts with a 0, which made some compilers - think it might be an octal constant. Suggested by Shane DeRidder. - * @attribute did not check for validity of attribute names before - adding them. Report by Dahan@M*U*S*H. - * # forces ignored @hooks. Report by Mike Griffiths. - * access.cnf checks attempt to check against ipv6-ized versions - of ip addresses listed in sitelocks as well. - * Sort of dbrefs in @oemit was broken, which could lead to - multiple messages to same target. Report by Cheetah@M*U*S*H. [TAP] - * Setting a password ending in % is now feasible. Report by Marc - DVer [TAP]. - - -Version 1.8.0 patchlevel 4 March 20, 2005 - -Fixes: - * @list powers crashed the MUSH. Report by Kevin@M*U*S*H. - * Multiplayer whisper-poses now use the correct conjugation of the - verb "to sense". Suggested by Cheetah@M*U*S*H. - * @attribute NAME and @attribute @NAME can both be used to display - information about attributes. [SW] - - -Version 1.8.0 patchlevel 3 February 26, 2005 - -Fixes: - * 1.8.0p2 fixed ""hi when chat_strip_quote was on, and broke it - when it was off. Fixed both ways now. Report by Cheetah@M*U*S*H. - * The @break fix in 1.8.0p2 stopped compound break actions - in {}'s from working correctly. Fixed now. Report by - Kevin@M*U*S*H. [TAP] - * @list/list() works right with flags/powers now. - * MS VS.NET project file now includes sql.c/h and bufferq.c/h. - Report by T'orA@M*U*S*H. - * playermem() and objectmem() now return #-1 NO MATCH consistently - when they can't match their argument to an object of an appropriate - type. Suggested by Cheetah@M*U*S*H. - - -Version 1.8.0 patchlevel 2 February 2, 2005 - -Fixes: - * @break/@assert could double-evaluate the right side. - Patch by Walker@M*U*S*H. - * ""hi didn't produce the right output. Patch by Walker@M*U*S*H. - * Better output for @warn me=none and invalid warning lists. - Suggested by T'orA@M*U*S*H - * Help fix by Meyer@M*U*S*H. - * Bug in reading dbs when no chatdb present. Discovered by - Benigo@M*U*S*H. - - -Version 1.8.0 patchlevel 1 January 16, 2005 - -Fixes: - * Win32 portability fixes. NT_TCP builds work again, too. [EEH] - * pennv180.hlp file added to MANIFEST so it's distributed now. - Report by Nymeria@M*U*S*H. - * More translation files included. [EEH] - * Help fixes by [EEH] and Chili@M*U*S*H. - * cflags() now shows the N (nonames), T (notitles), and C (nocemit) - flags for channels. Suggested by Prospero@Metro. - * If A can't receive from B (due to interactions), then A's - puppet would send a null line when it heard B. Now the puppet - doesn't send at all. Fix by Prospero@Metro. - * Multiple simultaneous flag sets behaved oddly when one of the - flags affected listener/hearer status. Report by Cheetah@M*U*S*H. - * NUMVERSION corrected. - -Version 1.8.0 patchlevel 0 January 1, 2005 - -Major Changes (since 1.7.6): - * SQL support (MySQL server). - * SSL support. - * Attribute trees. - * Object ids uniquely identify an object across recycling dbrefs. - * Anonymous attributes via #lambda. - * Ancestor objects for each object type. - * Interactions (something like "realms" in mux2) control conditions - under which objects can see, hear, match, or establish the presence - of each other. See local.c. - * New flag/power internals, no more limits on number of flags, - flags can be added/removed at runtime. - * New game/chat db formats, more readable, extensible, and - better at detecting problems. - * New framework for performing lock failure activities in hardcode. - * Customized mush.cnf configuration parameters can be easily added. - * New chunk memory allocator does our own paging to disk, - so the resident memory footprint is much lower. - * Lock system rewrite. #true and #false atoms for locks. - * minimal.db is no more. If you start up the server and there's no - db to be found, it creates a new minimal database in memory. - * New commands: @command/alias, buy, @boot/silent, @assert, huh_command, - @decomp/prefix, @edit/first, ex/parent, empty, @nscemit, @function, - @nsemit, @nsoemit, @nslemit, @nsremit, @nszemit, ], @command/add, - @command/del, warn_on_missing, @switch/regexp, @*emit/spoof, - @tel/inside, @hook/ignore, @hook/override, @chan/recall, with/room, - IDLE, @sitelock/check, SCREENWIDTH, SCREENHEIGHT, ex/all - * New functions: zwho, zmwho, l/lv/n/nv/x/xvthings, malias, locks, llocks, - lset, lockflags, llockflags, lattrp, nattr/p, xattr/p, mailsend, - x/xv/n/nv/exits/players/things, nsemit/cemit/remit/lemit/oemit/zemit, - andlflags, andlpowers, orlflags, orlpower, andpowers, orpowers, - align, sent, recv, scan, valid, allof, firstof, tr, vcross, hostname, - ipaddr, cmds, reswitch*, digest, cowner, baseconv, randword, - trimtiny, trimpenn, terminfo, lports, strreplace, fraction, root, - children, accname, lpos, width, height - * New behaviors: @adisconnect, No_Pay, @name, @lock/speech, examine, - @cemit, give, @cost, SUSPECT, @startup, escape(), time(), merge(), - @set, move, @name, etimefmt(), insert(), PUPPET, help, rand, DEBUG, - TERSE, powers(), @config/set, @function/restrict, %~, @lock/leave, - tel(), @descformat, @idescformat, @aconnect - * @lock/interact can prevent other players from transmitting any - normal sound to you (that is, you won't hear them speak, pose, - emit, etc., like gagging them in a client). - * New flags: HEAVY, ORPHAN, MISTRUST - * New powers: Debit, Can_NSPemit - * New attribute flags: NO_NAME, NO_SPACE, DEBUG, NEARBY, PUBLIC, VEILED - * New channel flags: Notitles, Nonames, Nocemit - * You can log setting/resetting of flags/powers, as well as individual - commands or function calls. - * Rolling activity log dumped on panic dumps or visible with @uptime. - * A new test harness for developing regression test suites in perl - for PennMUSH is now included; few test suites are. If you can figure - out how to use this, write some tests for us! - * More and better telnet negotiation. - * Many internal improvements. Many old compile-time options removed - or replaced by run-time options. Source code commenting using - doxygen. Improved internationalization. - * New config directives: unconnected_idle_timeout, max_guests, - max_global_fns, read_remote_desc, default_home -Minor Changes (since last 1.7.7): - * The LFAIL/OLFAIL/ALFAIL messages are activated whenever a @lock/leave - is checked and failed, not just when a 'leave' command fails. - (So they work for failed attempts to leave rooms by exits/@tel). - Suggested by Zith@Lovarii. -Fixes (since last 1.7.7): - * Help for grab() now references graball(). Report by Sketch@M*U*S*H. - * Reference to 'ducats' in code replaced by appropriate plural - currency unit. Report by Kinumi@ShoujoAi. diff --git a/CHANGES.181 b/CHANGES.181 deleted file mode 100644 index 32631e6..0000000 --- a/CHANGES.181 +++ /dev/null @@ -1,450 +0,0 @@ -This is the changes file for PennMUSH 1.8.1. Please look it over; each -version contains new things which might significantly affect the -function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar) -[GM] is Greg Millam, a PennMUSH developer (aka Walker) -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[MUX] refers to code by (or inspired by) TinyMUX 2.x -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.8.1 patchlevel 10 September 13, 2006 -Fixes: - * Cleaned up some compiler warnings. [SW] - * The AAHEAR and AMHEAR attribute flags work on listening parents. - Report by PAD@M*U*S*H. [GM] - * Flags without a letter would truncate the list of set flag letters. - Reported by Intrevis@M*U*S*H and Nathan Baum. Patched by latter. - * Win32 lacks the LC_MESSAGES setlocale() category. Reported by Intrevis. - * Trying to ignore signals could crash on Win32. Reported by Intrevis. - * Fixed parse errors in non-C99 compilers. Reported by Intrevis. - * Help fixes by Talvo, Sketch - * Fixes for 64-bit platforms [SW] - * @dump/paranoid produced corrupt databases. - Reported by Marvin@M*U*S*H. [SW] - * Better support for dealing with databases with a different number of - attributes on an object than expected. Marvin and Luke. [SW] - * Fixed the example in cmdlocal.c. Reported by Tokeli [SW] - * Fix in CHAT_TOKEN_ALIAS. [GM] - -Functions: - * link() now takes an optional third argument to make it act like - @link/preserve. Suggested by qatoq@ST:Foundations. - -Minor Changes: - * The hash table code now calls a cleanup function on data when deleting - an entry. [SW] - * The above is used in db.c, function.c and plyrlist.c [SW] - * @config compile reports if MySQL support is present. (This does not - mean the game is configured to use it.) [SW] - * restart copies log files from the last time the mush was running to - game/save/ instead of deleting them. [SW] - - -Version 1.8.1 patchlevel 9 July 9, 2006 - -Fixes: - * Fixes from 1.8.0p13. - - -Version 1.8.1 patchlevel 8 June 3, 2006 - -Attributes: - * New 'AAHEAR' and 'AMHEAR' attribute flags, when set on an - ^listen attribute, cause it to behave like @aahear or - @amhear respectively, instead of like @ahear. Suggested by - Jules@M*U*S*H. Patch by Talvo@M*U*S*H. - * New UNIMPLEMENTED_COMMAND command handles commands that - are known but not implemented (currently just @SQL). By default, - produces a standard message, but can now be @hooked, etc. - Suggested by Talvo@M*U*S*H. [TAP]. - * @conformat and @invformat are now passed a |-delimited list - of object names, unparsed in the default fashion, as %1. Patch - by Talvo@M*U*S*H. -Functions: - * default() can now take any number of obj/attr cases. Suggested - by Nathan Baum, patch by Talvo@M*U*S*H. - * lwhoid(), mwhoid(), xwhoid(), xmwhoid() work like lwho(), etc. - but return objids instead of dbrefs. Patch by Talvo@M*U*S*H. - * stringsecs() converts timestrings to seconds. Patch by Talvo@M*U*S*H. -Minor changes: - * %u is now set to the evaluated typed $command (when a $command - is matched) and is available to locks. Suggested - by Jules@M*U*S*H, patch by Talvo@M*U*S*H. - * Rooms reachable from FLOATING rooms are now considered topologically - connected, just like rooms reachable from the base room. - Patch by Nathan Baum. - * %i0-%i9 evaluates to itext(0)-itext(9) for convenience in iter(). - Suggested by Nathan Baum. Patch by Talvo@M*U*S*H. - * When safer_ufun is on, you must control an object to @function - an attribute on it. This prevents, e.g., mortals with @function power - from making attributes on wizard objects into @functions. - Suggested by Talvo@M*U*S*H. - * Internal eval_lock_with function added to support passing special - %0/%1 values to lock evaluations. Suggested by Malix@8bit. - * Improved @uptime display by Ambrosia@M*U*S*H. - * Players may @search a ZMP if they pass the zone lock. Patch by - Talvo@M*U*S*H. -Fixes: - * cbuffer() crash fixed. Report by qa'toq@ST:Foundations. [GM] - * regex crash bug fixed. [GM] - * insert() added an extra delimiter when inserting at end of list. - Report by Sangman. [SW] - * make distclean is more thorough. Patch by Ranmir@M*U*S*H. - * EQSPLIT commands with no equal sign that were hooked were passed to the - hook attribute with an equal sign (and nothing to the right). - Fixed. Suggested by Talvo@M*U*S*H. - * zwho/zmwho can now be used by see_all players on any zone. - Suggested by Talvo@M*U*S*H. - * crecall() now accepts 1 or 2 arguments, as promised. Report by - Sketch@M*U*S*H. - * attrib_set(obj/attr,) sets the attribute to a single space - when EMPTY_ATTRS is off. Patch by Talvo@M*U*S*H. - * Portability fix in fun_speak. [EEH] - * Fix to TZ parsing in src/funtime.c by Jules@M*U*S*H. - * Fix to speak() for fragments of speech by Talvo@M*U*S*H based on - report by Trelane@M*U*S*H. - * Typo fixes in game/aliascnf.dst by Talvo@M*U*S*H. - * Help fixes by Talvo@M*U*S*H, Sketch@M*U*S*H. - - -Version 1.8.1 patchlevel 7 March 21, 2006 - -Major changes: ** PLEASE READ ** - * The FIXED flag's restriction on 'home' is no longer applied in - the hardcode but through restrict.cnf. A new entry has been - added to restrictcnf.dst for this -- people running existing - MUSHes that use the FIXED flag will want to copy this to their - restrict.cnf. -Locks: - * @lock/take controls who may 'get' something from a container - or location; note that @lock/enter no longer controls this on - containers but only controls who may 'enter'. The container's - TAKE_LOCK`*FAILURE attributes provide messages on a failed get. - Suggested by BladedThoth@M*U*S*H. Patch by Talvo@M*U*S*H. -Commands: - * @chan/recall can take an extra argument to specify the line to - start the recall from. Suggested by Sholevi@M*U*S*H. Patch by - Talvo@M*U*S*H. -Functions: - * ulambda() is a version of u() that can take #lambdas. [GM] - * speak() for language processing. Suggested by Nymeria@M*U*S*H. - Patch by Talvo@M*U*S*H. [3] - * width() and height() take an optional second argument to set the - default values. Patch by Nathan Baum. - * unique() function removes contiguous duplicates in lists. [SW] - * nextdbref() returns the next dbref on the free list. - Suggested by Jules@M*U*S*H. Patch by Talvo@M*U*S*H. - * Specifying more than one type to locate() now makes each of them - preferred (not just the last one). Suggested by Anyasha@ST:Foundations. - * namelist() parses a list of dbrefs and possibly-quoted names a la page - and returns the corresponding dbrefs. Patch by Talvo@M*U*S*H. - * crecall() is a functional form of @chan/recall. Suggestd by - Cheetah and Trinsec@M*U*S*H. Patch by Talvo@M*U*S*H. -Flags: - * The LIGHT flag now overrides the DARK flag consistently. DARK - objects will show up in LIGHT rooms and anything set both - LIGHT and DARK is effectively LIGHT. Suggested by Renee@ShoreSide. - Patch by Talvo@M*U*S*H. -Minor changes: - * @poll by itself now displays the current poll instead of clearing it. - @poll/clear does that. [SW] - * Added aliases for @atrlock/@atrchown/atrlock to 'attr' versions - in aliascnf.dst. Suggested by Talvo@M*U*S*H. - * Players who already have a forbidden name (as their name or alias) - may change to that name. Patch by Talvo@M*U*S*H. - * New alias_flag() and alias_power() hardcode functions for hackers. - Patch by Talvo@M*U*S*H. - * Mortals can use @power/list and @power commands. - Patch by Talvo@M*U*S*H. - * Restriction-checking by power fixed in cases where no flag - restrictions were applied. Patch by Talvo@M*U*S*H. - * New type GARBAGE for @search/lsearch type class. - * @pemit/list now accepts player names as well as dbrefs, a la page. - Patch by Talvo@M*U*S*H. -Fixes: - * pcre.c includes config.h again. [EEH]. - * Help fixes by Talvo@M*U*S*H. - * Fixes from 1.8.0p12 - - -Version 1.8.1 patchlevel 6 February 25, 2006 - -Major Changes: - * pcre updated to 6.4. This includes such nifty features and - named captures. [SW] - * NT_TCP code has been removed from the server. It was deemed - less useful than keeping the networking code unitary and - the ability to @shutdown/reboot. Patch by Nathan Baum. -Flags: - * New LOUD flag (admin-settable) causes an object to bypass - speech (including chat) and interaction locks. Admin and others - with Pemit_All no longer pass interaction locks automatically - unless they are also LOUD. Patch by Cheetah@M*U*S*H. -Locks: - * New DBREFLIST^ lock key checks to see if the enactor - appears in a list of dbrefs/objids stored on an attribute of - the object, simplifying a very common need. Suggested by - NightDaemon@M*U*S*H, patch by Cheetah@M*U*S*H. -Powers: - * Many_Attribs power allows an object to have more attributes - than the max_attrs_per_obj parameter. Suggested by Nymeria@M*U*S*H. -Functions: - * decompose() now decomposes ansi codes into ansi() calls. - Patch by Sketch@M*U*S*H. - * mapsql() efficiently feeds sql query results to an attribute. [GM] - * wildgrep()/wildgrepi() are versions of grep()/grepi() that now take - wildcard patterns instead of substrings. [SW] - * regmatch()/regedit() now has a more flexible syntax for assigning - subpatterns to %q-registers. [SW] - * decompose() no longer inserts an initial backslash all the time. - Suggested by Trinsec@M*U*S*H. - * ordinal() returns the spelled-out ordinal form of an integer. - Suggested by Malone@HavenMUSH. -Minor Changes: - * Font size tags (for pueblo) are not quite so huge for room names. - * The /noeval switch for @command is now called /noparse. - Patch by Nathan Baum. - * hints/cygwin.sh has been removed, as no hints were needed to - build on cygwin when tested with 1.5.19-4. win32/README.cygwin - has been added to document the cygwin build process. - * Added hints/darwin-fink.sh and README.OSX. [SW] -Fixes: - * Track_Money objects with No_Pay still reported coins lost to - queue costs, even though they didn't pay them. Report by - Cheetah@M*U*S*H. [GM] - * Help fixes by Trinsec@M*U*S*H, Cheetah@M*U*S*H. - * Various %c weirdnesses fixed by Cheetah@M*U*S*H. - * Better message in restart when mush.cnf not found by Talvo@M*U*S*H. - * @alias provides more specific error messages for invalid aliases - of various sorts. Suggested by Intrevis@M*U*S*H. - * Function restriction localize now appears in @function info output. - Better error messages when attempting to use invalid function - restrictions. Reported by Trinsec@M*U*S*H. - * Linting of warnings. [SW] - * Command and function names may now really start with punctuation - characters. Reported by Talvo@M*U*S*H. - * Fixes from 1.8.0p11. - - -Version 1.8.1 patchlevel 5 January 29, 2006 - -Major Changes: - * @attrib/access no longer treats one-word flag lists that don't - match a single flag as a set of flag characters. You must now always - specify a space-separated list of full flag names. -Commands: - * @list/locks and list(locks) lists all defined locktypes. - Suggested by Jules@M*U*S*H, patch by Walker@M*U*S*H. - * New @search classes 'start' (nth element of return list to start - with) and 'count' (how many elements to show, from ). - Useful for getting results a page at a time. Patch by Walker@M*U*S*H. -Functions: - * nsearch()/nlsearch()/nchildren() return the number of objects that - would be returned by the equivalent search/lsearch/children call. - Patch by Walker@M*U*S*H. -Minor Changes: - * delete() can use a negative length argument to delete characters - leftward, a la MUX. [MUX, SW]. - * In @mail commands, : is now recognized as meaning 'all messages - in folder n'. Notably, @mail 3: now lists all messages in folder 3, - rather than reading all messages in folder 3. Patch by Sketch@M*U*S*H. - * When one alias in a list of aliases being set is invalid, we - now report it with specificity. Suggested by Talvo@M*U*S*H. - * You no longer need to escape commas in decompose(). Suggested by - Trinsec@M*U*S*H. - * @sitelock rules for Guest access can now be specified per-guest - character. Suggested by Talvo@M*U*S*H. - * process_expression now parses for regex pattern captures by default, - so lots of things will work better under regedit(). Use of a ufun - clears the captured registers so dollar signs in ufuns don't - need escaping. Patch by Walker@M*U*S*H. - * Refactoring of ufun code by Walker@M*U*S*H. -Fixes: - * Help fixes by Trinsec@M*U*S*H and Talvo@M*U*S*H and qa'toq@M*U*S*H. - * Crash bug in page fixed. Reported by the fine folks at ST:Foundation. - Patch by Walker@M*U*S*H. - * Win32 portability fixes. [EEH] - * Fixes from 1.8.0p10. - - -Version 1.8.1 patchlevel 4 December 6, 2005 - -Major Changes: - * Errors in matching switches to commands are ignored when the - command is hook/ignored or hook/overriden, so you can override - a built-in command and provide your own switches. Suggested by - Trinsec@M*U*S*H. -Mail: - * @mailfilter attribute causes incoming mail to be be automatically - filed to a folder if it evaluates to a folder name/number. - Patch by Sketch@M*U*S*H. -Commands: - * @prompt/@nsprompt work like @pemit/list, but add a telnet GOAHEAD - at the end of the message when emitting to players; players whose - clients handle GOAHEAD (e.g. tf) will get the message displayed - as a prompt in the input window. Suggested by Trinsec@M*U*S*H. - * The PROMPT_NEWLINES socket command can be used to add a newline - after the GOAHEAD in a prompt, for clients that mix up prompt - lines with other output. -Functions: - * namegrab() and namegraball(). Patch by Walker@M*U*S*H. - * prompt() and nsprompt() (the function equivalents of @prompt/@nsprompt). - * textentries(). Suggested by Trinsec@M*U*S*H. - * cdesc(), cusers(), cmsgs(), cbuffer(), cstatus(), clflags() - functions. Suggested by d'Ark@M*U*S*H. - * numversion() returns Penn version as an integer (1008001004) - for softcode use. -Minor changes: - * @chan/list works better for people who increase CHAN_NAME_LEN. - Suggested by Trinsec@M*U*S*H. - * Help fixes by Trinsec@M*U*S*H, Chili@M*U*S*H. - * Several powers (tport_anything, tport_anywhere, no_money, no_quota, - debit, sql_ok) are now aliased to TinyMUSH/TinyMUX equivalents - as well, for better code portability. [3,MUX] -Fixes: - * center() behaves better when given a fourth argument but - not a third one. Also fixes to cases where the right fill - string is one longer than the left. Report by Ian@M*U*S*H - * Fixes from 1.8.0p9. - - -Version 1.8.1 patchlevel 3 September 15, 2005 - -Fixes - * Bugfixes from 1.8.0p8 applied. - - -Version 1.8.1 patchlevel 2 September 5, 2005 - -Commands: - * @edit/check shows the results of an @edit without actually doing - it, to avoid inadvertent overediting. Patch by Walker@M*U*S*H. -Functions: - * sortkey() sorts a list by mapping each list element through a - function and applying a standard sort type. Patch by Walker@M*U*S*H. -Minor changes: - * "% " (percent-space) is now parsed to a literal percent-space, - making it easier to type things like "I'm 50% happy". And - % at end of line is parsed to a literal %. Patch by Sketch@M*U*S*H. - * @nameformat now receives the default-formatted name as %1 - so you can edit from that if you prefer. Suggested by Talvo@M*U*S*H. - * Added netbsd hints. Suggested by Tyr@M*U*S*H. - * hastype() can take a list of types to check for, not just one. [SW] - * Add @function/preserve, which does the same thing as the localize - restriction. [MUX] [SW] - * Leaving out the argument to align() defaults it to a - space. Suggested by Tyr@M*U*S*H, patch by Walker@M*U*S*H. - * Improved error message for setq() with odd arguments. - Report by Malix@8bit. - * When variable exits fail due to invalid/not permitted destination, - the enactor is told what the attempted destination was. - Suggested by Nathan Baum. - * Rooms may now @search/search() their owners. Suggested by Kali@M*U*S*H. -Fixes: - * @function/restrict mentioned in help. [SW] - * Clearer help on parallel setq. Suggested by Trinsec@M*U*S*H. [TAP] - * lsearch() didn't refund pennies when it failed because of lack of - permissions or invalid search criteria. Reported by Nathan Baum. [SW] - * lsearch() could return garbage objects. Report by Nathan Baum. [SW] - * %+ now only records argument count from last ufun, not from other - (builtin) functions. Report by Cheetah@M*U*S*H. - * Some linting of float comparisons. Report by Cheetah@M*U*S*H. - * page = now pages the player with a blank line instead of - repaging the last paged player with "". Report by Cheetah@M*U*S*H. - - -Version 1.8.1 patchlevel 1 June 27, 2005 - -Fixes: - * Players could set the 'internal' attribute flag, which causes - confusion. Report by Cooee@PDX. - * Setting attribute flags by character alias did not work - properly. - - -Version 1.8.1 patchlevel 0 June 25, 2005 - -Major Changes: - * Players may have multiple aliases, by specifying a semicolon-separated - list to @alias. Players may list their usual @name as one of their - aliases, and the @name command may be used to switch to any alias. - The maximum number of aliases per non-Wizard player may be limited by the - max_aliases config directive. Suggested by Nymeria@M*U*S*H. [3] - * 'home' is now a standard command, with no special precedence. - It can be @command/disabled and/or @hook'd. Suggested by - several people. If 'home' is disabled, 'goto home' will no longer - work (but @tel to home is still allowed). -Flags: - * A player with the TRACK_MONEY flag set gets a message any time - their objects spend or lose money. Patch by Walker@M*U*S*H. - * New Pueblo_Send power allows use of xch_cmd and send tags. -Mail: - * The @MAILFORWARDLIST attribute can be set to a list of dbrefs or - objids to which any @mail received should be forwarded. Your own - dbref may be listed if you wish to retain a copy - of the message as well. You must pass the @lock/mailforward of - any player listed in your @MAILFORWARDLIST. Suggested by T'orA@M*U*S*H. -Functions: - * setq()/setr() can set multiple registers in parallel. Suggested by - Nathan Baum. [SW] - * center() can now take multi-character fills, and can have different - left and right fills. Suggested by Boris@M*U*S*H. - * attrib_set() is a version of set() for setting attributes that - has a more comfortable syntax and that can clear attributes - without wiping whole attribute trees like wipe(). Suggested by - Kevin@M*U*S*H. [TAP] - * extract()'s second and third arguments are now optional, and default - to 1. Suggested by Philip Mak. - * lsearch() can now take more than one class/restriction pair, and - will require them all to be met. New "mindb" and "maxdb" classes - specify low and high dbrefs, and replace the old , - parameters, which are now deprecated. Suggested by qa'toq@bDv. - * alias() and fullalias() functions. [EEH] - * New function restriction "localize" causes q-registers to be - saved and restored around the function as if localize() or - ulocal() were used; handy for @functions. Patch by grapenut. - * flip() and reverse() no longer require escaping of commas. - Suggested by Yar Kramer. -Channels: - * Channels, by default, now ignore interaction rules defined in - local.c, so they can be used as "OOC" communication between - players who wouldn't be able to interact "IC"ly. A new per-channel - permission, "interact", changes this behavior back to enforcing - interaction rules on the channel. @lock/interact always applies, - however. Suggested by Shamash. - * New channel_flags config directive sets default permissions - for newly-created channels. -Minor changes: - * The %+ substitution returns the number of arguments passed to - a function and is useful in ufuns and @functions. - Suggested by Nathan Baum. - * The rules for valid command and functions names (e.g. for @command/add) - have been relaxed to allow @foo, +blah, and others with punctuation. - Suggested by Mike Griffiths. - * @hook/list lists hooks on a command. Suggested by Nathan Baum. - * @INVFORMAT works like @CONFORMAT for the inventory command. - * Help for mail and chat functions moves to pennmail.hlp and - pennchat.hlp, respectively. Suggested by Kevin@M*U*S*H. - * Settings and resetting multiple attribute flags at once is now - supported more flexibly. Suggested by Sholevi@M*U*S*H. - * The restart script handles mush.cnf files with Windows-style - line endings more gracefully. Reported by CBeilby@M*U*S*H. - * @attribute/access now understands the privilege 'none' to mean - 'no associated attribute flags'. Report by Tyson Cochrane. - * @flag/alias flag=!alias removes a flag alias. Suggested by - Relay@MatrixMUSH. - * @search now refers to things as things instead of objects. - Suggested by Zebranky@M*U*S*H. - * Suggested restrictions to disable hardcoded chat and mail - are in restrictcnf.dst for those who want to do that. - Patch by Kevin@M*U*S*H. - * TZ attribute is now visual by default, since time() gets it anyway. - Suggested by Mike Griffiths. -Fixes: - * Fixes include from versions up to 1.8.0p6. diff --git a/CHANGES.182 b/CHANGES.182 deleted file mode 100644 index 1ea34fc..0000000 --- a/CHANGES.182 +++ /dev/null @@ -1,95 +0,0 @@ - -This is the most current changes file for PennMUSH. Please look it -over; each version contains new things which might significantly affect -the function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar) -[GM] is Greg Millam, a PennMUSH developer (aka Walker) -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[MUX] refers to code by (or inspired by) TinyMUX 2.x -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.8.2 patchlevel 2 January 27, 2007 - -Fixes: - * Vector functions with an empty vector didn't return anything. - Reported by Talvo. [SW] - * Several typos in server messages. Fixed by Sketch, Stoko. - * Help fixes by Malix, [GM], Talvo, Sketch, and others. - * Crash bug in lmath() fixed. [GM] - * Crash bug in list functions fixed. [GM] - * list2arr in C now removes markup. list2arr_ansi() was added. [GM] - * Compilation problems on IRIX and similar OSes. [SW] - * Matcher bug with multiple wildcards fixed. Reported by Ian. [SW] - * Garbled output of locks from examine. Reported by Intrevis. [SW]. - * regraballi() couldn't use its output seperator argument. Reported - by Jules. [SW] - * Looking at an object used the looker, not the lookee, as the origin - of the name for @ahear/@aahear/@amhear. [SW] - * Fixed the distribution of random numbers with a huge range. Reported - by Luke. - -Version 1.8.2 patchlevel 1 November 26, 2006 - -Fixes: - * Corrected inadvertent breakage of null comparisons. Patched by - Javelin. - * Added overview since 1.8.0 to help 1.8.2p0. [EEH] - - -Version 1.8.2 patchlevel 0 November 26, 2006 - -Major Changes (since 1.8.0): - * Players may have multiple aliases. - * 'home' is now a standard command. - * Errors in matching switches to commands are ignored when the command - is hook/ignored or hook/overriden. - * @attrib/access no longer treats one-word flag lists that don't match - a single flag as a set of flag characters. - * pcre updated to 6.4. - * NT_TCP code has been removed from the server. - * The FIXED flag's restriction on 'home' has been moved to restrict.cnf. - * New commands: @edit/check, @function/preserve, @hook/list, @prompt, - @nsprompt, @list/locks, UNIMPLEMENTED_COMMAND, PROMPT_NEWLINES, - @poll/clear. - * New functions: alias, fullalias, attrib_set, sortkey, namegrab/all, - ns/prompt, textentries, cdesc, cusers, cmsgs, cbuffer, cstatus, - clflags, numversion, nl/nsearch, nchildren, decompose, mapsql, - wildgrep/i, ordinal, ulambda, speak, unique, nextdbref, namelist, - crecall, l/m/x/xmwhoid, stringsecs - * New attributes: invformat, mailforwardlist, mailfilter - * New substitutions: %+, % (percent-space), %i0-%i9, %u - * New locks: mailforward, take - * New behaviors: @flag/alias, @attribute/access, flip(), reverse(), - lsearch(), extract(), center(), setq(), setr(), page, align(), - regedit(), delete(), @search, @pemit/list, @poll, width(), height(), - locate(), @chan/recall, insert(), default(), @conformat, link(). - * New flags: loud, track_money. - * New powers: pueblo_send, many_attribs. - * New attribute flags: aahear, amhear. - * New config directives: channel_flags. - * New function restriction "localize" causes q-registers to be - saved and restored around the function as if localize() or - ulocal() were used; handy for @functions. - * New DBREFLIST^ lock key checks to see if the enactor - appears in a list of dbrefs/objids stored on an attribute of - the object. - * The LIGHT flag now overrides the DARK flag consistently. - -Minor Changes (since 1.8.1): - * decompose() now properly handles all manner of spaces, as well as - replacing 5 or more spaces with [space()]. Report by Malix. [GM] - -Fixes (since 1.8.1): - * Fix crash bug in decompose(). Report by Malix. - * The mush can listen to ports above 32000. Suggested by Nathan Baum. - * Fix the mix() bug that prepends the separator to the list. [GM] - * Win32 experienced erratic time behavior when compiled with MSVC++ 8 - or higher. Reported by Intrevis@M*U*S*H. - * Win32 project and readme files for MSVC++ 6 and .Net updated. [EEH] - * Help fixes by Kevin@M*U*S*H. diff --git a/CHANGES.183 b/CHANGES.183 deleted file mode 100644 index 6350ed5..0000000 --- a/CHANGES.183 +++ /dev/null @@ -1,28 +0,0 @@ - -This is the most current changes file for PennMUSH. Please look it -over; each version contains new things which might significantly affect -the function of your server. Changes are reported in reverse -chronological order (most recent first) - -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[EEH] is Ervin Hearn III, a PennMUSH developer (aka Noltar) -[GM] is Greg Millam, a PennMUSH developer (aka Walker) -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[MUX] refers to code by (or inspired by) TinyMUX 2.x -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.8.3 patchlevel 0 January 27, 2007 - -Major changes: - * Rewrite of color handling. [GM] - -Minor changes: - * Cleaned up the internals of @wipe. [SW] - * strmatch() now takes a third argument, to store wildcard captures. [GM] - * Termination of OS/2 support. [SW] - -Fixes: - * Fixes included from versions up to 1.8.2p2. diff --git a/CHANGES.OLD b/CHANGES.OLD deleted file mode 100644 index 1e83739..0000000 --- a/CHANGES.OLD +++ /dev/null @@ -1,4303 +0,0 @@ -This is the old changes file for PennMUSH. Changes are reported in reverse -chronological order (more recent first.) Starting with 1.7.4, each minor -version has its own changelog, in CHANGES.174 and so on. - -[TN] is Thorvald Natvig, a PennMUSH developer (aka Trivian) -[TAP] is T. Alexander Popiel, a PennMUSH developer (aka Talek) -[SW] is Shawn Wagner, a PennMUSH developer (aka Raevnos) -[LdW] is Luuk de Waard, a PennMUSH developer (aka Halatir) -[RLM] is Ralph Melton, a former PennMUSH developer -[NJG] is Nick Gammon, the Win32 porter -[DW] is Dan Williams, the MacOS porter -[2.2] refers to code which originated with the TinyMUSH 2.2 developers -[3] refers to code by (or inspired by) TinyMUSH 3.0 -[Rhost] refers to code by (or inspired by) RhostMUSH - -========================================================================== - -Version 1.7.3 patchlevel 14 January 29, 2001 - -Major Changes: - * Commands and functions can now be aliased to other names - in mush.cnf, so you can provide translated command names - as well as the english one, etc. Suggested at various times - by Krad@M*U*S*H and David@M*U*S*H. New file aliases.cnf - in game/ is created to put these command_alias and function_alias - directives (as well as reserve_alias). [SW] -Minor Changes: - * smalloc and bigram compression options are no longer supported. [SW] - * Internal improvements to @search/lsearch, which are now more - consistent with one another. [SW] - * mush.cnf options that refer to dbrefs now understand # as - well as just . They are also formatted as dbrefs in @config - and config(). [SW] - * Much longer game/names.cnf file contributed by Kyieren@M*U*S*H. - * New internal function notify_format() to replace notify+tprintf - more safely. [SW] - * Tweaks to network activity timeout code. [SW] - * @stat and lstats no longer needs to scan the entire database. [SW] -Commands: - * @switch and @select can now take a /notify switch, like @dolist. - * Players may @chown by dbref, but they must still be carrying - the object if it's a thing. Suggested by Kyieren@M*U*S*H. - * @clone can now clone rooms. Suggested by Kyieren@M*U*S*H. - * @verb's matching of the argument has been relaxed so - non-privileged objects can use it on remote actors, if the normal - permission checks succeed. This makes @verb much more useful for zones - and master room objects. [SW] -Attributes: - * @forwardlist [2.2,SW] -Functions: - * itemize() takes a list "a b c" and produces "a, b, and c" and - similar tricks. Also callable as elist() for Rhost compatibility. - * ilev() returns the current iter nesting level. [Rhost,SW] -Fixes: - * When indexing help files, ones that aren't in the right format - weren't being properly closed. Report by Nammyung@M*U*S*H. [SW] - * We're much more forgiving about help files that start with - blank lines now. - * Help updates by Kyieren@M*U*S*H, [SW] - * Games w/o MAIL_ALIAS couldn't load maildbs that had mail aliases. - Reported by Nymeria. [SW] - * max_pennies had a limit of 10,000 in conf.c, even though it - has always defaulted to 100,000. Reported by Intrevis@M*U*S*H. - * src/filecopy.c didn't include hdrs/log.h. Fixed by Noltar@Korongil. - * MacOS portability fixes. [DW] - * vsnprintf used in place of vsprintf everywhere when available. [SW] - * Cleanup of @atrlock code. [SW] - * '#' without any trailing numbers was treated as #0 when used as a - dbref. [SW] - * Added explicit checking for lower-case letters in good_atr_name(). [SW] - * Trying to set an attribute with a bad name now gives a better - error message. [SW] - * Fix to potential overflow bug in revwords. [SW] - * Fix to potential overflow bug in @grep. [SW] - * Configure checks for snprintf. Systems unfortunate enough not to - have this (Solaris 2.5.1, for example) are stuck with sprintf. - Report by Broncalo@DuneIII. - * CHARGES were decremented whenever an A-attribute would be - executed, *even if the attribute wasn't set on the object*. - Reported by Kyieren@M*U*S*H. - -Version 1.7.3 patchlevel 13 January 9, 2001 - -Major Changes: - * Semaphores may use attributes other than SEMAPHORE. These - "named semaphores" make it easier to have multiple semaphores - waiting on the same object. [SW] - * New attribute flag AF_NODUMP prevents attributes from being - dumped to the db. It applies to QUEUE, SEMAPHORE, and attributes - used as named SEMAPHORES. [SW] -Commands: - * @wait/until can be used to put commands on the wait queue until - some absolute time (in secs) is reached. [SW] - * @cpattr/noflagcopy copies attribute data without flags. - Same for @mvattr. Suggested by Noltar@Korongil. -Functions: - * foreach() takes start and end arguments like TM3/MUX2. [3,SW] - * locate() has a new option to force matching the preferred type, - and an undocumented option to eliminate ambiguous matching is now - documented. [SW] -Minor Changes: - * Experimental support for translating 8-bit accented characters to HTML - entities for Pueblo. [SW] - * Objects without a @lock/zone that are used as zones are noticed and - warned about during dbcks. [SW] - * Some people prefer that +channel "foo now cause you to say "foo - on the channel, instead of stripping the initial quote. Now - it's a mush.cnf option (chat_strip_quote). Suggested by Dave Milford. - * isint() now ignores tiny_math, so isint(foo) will always return 0. [SW] -Fixes: - * Hopefully fixed a problem with puppets doing look for non-Pueblo - players with Pueblo support turned on. The line after the look - could appear to come from the puppet even if it didn't. [SW] - * If you disabled a command with a one-character token (like say), - then running the command with the token ("hi!) would fail, but - wouldn't return the right thing for $command matching. Now it - returns the canoncalized raw command (SAY hi!) so you can trap - it in softcode. Reported by Mackenzie@SWGT Mush - * General linting [SW] - * Help fixes by Eratl@M*U*S*H. - * make customize doesn't try to link mkindx any more. And README and - os2/Makefile don't refer to it either. By Bobby Bailey (Chil@M*U*S*H). - * The internal tprintf() function is safer. [SW] - * Crash bug in @edit fixed, and @edit code is cleaned up. [SW] - * max_pennies documented in mush.cnf. Noted by Oriens@Alexandria - * cmdlocal.dst now includes cmds.h. Reported by David@M*U*S*H. - - -Version 1.7.3 patchlevel 12 January 4, 2001 - -Locks: - * A new @lock/chzone, set on a ZMO, controls who may @chzone - objects to the ZMO. This can simplify multi-player building - using ZMOs. Suggested by David@M*U*S*H -Commands: - * @wcheck/me checks all of a player's objects for them. -Functions: - * cflags() function gets channel flags. - * ctitle() gets channel title for an object. Suggested by Luke@M*U*S*H. - * strinsert() function does insert() on strings. Suggested by - Reagan@M*U*S*H. [SW] - * channels() on an object you can't examine now shows you channels - that you have in common with it. Suggested by Trispis@M*U*S*H -Minor changes: - * Runaway objects are now logged, along with the command that - pushed them over the edge. Suggested by Trispis@M*U*S*H. - * All instances of fprintf(stderr,...) after logging is started - are now handled through do_rawlog(LT_ERR,...). By David@M*U*S*H. - * @atrchown works more reasonably. [SW] - * @lock/link on an unlinked exit restricts who may link it. - * Everyone (even mortals) sees object names at the top of - their descriptions when they look at them. Suggested by Jeff - Ferrell most recently. - * New reserve_alias mush.cnf directive makes run-time command - alias reservation possible. Suggested by Jeff Ferrell. - * Mortals may use @command to get info about commands. Suggested by - Chili@M*U*S*H. - * Messages logged during help file indexing distinguish indexing - of admin topics. Suggested by mith@M*U*S*H -Fixes: - * Help fixes by [SW], Jeff Ferrell, mith@M*U*S*H, Mirth@AtheneuMUSH. - * Help update to @cpattr based on behavior noted by Noltar@Korongil. - * cwho and @chan/who behave better with hidden (@hide) players. - Reported by Reagan@M*U*S*H. - * MUSHes with no @functions crashed on @list calls due to a - problem with the hashtable code. Reported by Whiskey. [SW] - * A bug in handling of errors under debug in process_expression - was reported by Reagan@M*U*S*H. [SW] - * Rare memory leak in process_expression fixed. [SW] - * Inconsistencies in the handling of destroyed objects/players - and their locations fixed. [SW] - * The QUEUE attribute was not properly cleared on restart - for non-player objects. It was buggy in other ways, too. [SW] - * The AF_SAFE attribute flag couldn't be reset. Reported by - Pegasus@StarQuest. - * @teleporting into garbage could cause crashes. Reported by Howie - * The help_command and ahelp_command directives now look for - whitespace generally, not spaces specifically. - Suggested by Krad@M*U*S*H - * SIGHUP once again re-reads the config file. [SW] - * If an exit @created an object, that object would be inside the exit - until the next dbck. Now it is created in the exit's source room. [SW] - * Turning the lowest possible integer number into a string could - result in garbage output. [SW] - * Solaris needed arpa/nameser.h before resolv.h in mysocket.c - -Version 1.7.3 patchlevel 11 December 4, 2000 - -Minor changes: - * Added 'comsys' as help alias for 'chat'. Suggested by David@M*U*S*H - * New win32 project files and MSVC build instructions by Jenny Lind. -Fixes: - * Improved test for non-broken getdate and getnameinfo. - * Loading panic dumps does better on chatdb. By Maverick@M*U*S*H - * You may leave a channel even if you're the wrong type - to get onto it. Suggested by Cheetah@M*U*S*H. - * Typo in the win32 strcasecmp code fixed [NJG] - * stddev's algorithm improved. [TAP] - * If the go command is restricted, other commands produce spurious - errors during the exit-matching phase of command parsing. - Reported by Jamie@M*U*S*H - -Version 1.7.3 patchlevel 10 November 20, 2000 - -Major Changes: - * Improved detection of errors saving the game. If any problems - are encountered, the save is aborted, and online admins notified so - they can fix the problem before finding out about it too late. [SW] -Flags: - * The INHERIT flag has been renamed TRUST, which better describes - its function. INHERIT remains as an alias. -Commands: - * @chan now takes /ungag, /unhide, and /unmute as well as the - usual @chan/gag =no. By David@M*U*S*H. -Minor Changes: - * money() called on a no_pay player returns the value of - MAX_PENNIES to ease softcode checks. Suggested by Oriens@Alexandria. - * Removed help and &help entries from the distributed pennmush.nws - because people will generally want to override them anyway - and we shouldn't introduce problems. Suggested by Jeff Heinen. - * safe_str and friends optimize trivial 0 and 1 letter strings. [SW] - * A version of word-based compression that's almost 8-bit clean - is now included. [SW] - * We now use stricmp and friends for strcasecmp and friends on - Win32, rather than roll our own. [SW] -Fixes: - * @mail aliases couldn't be used by players who didn't have - permissions to see the alias members, which is wrong. - Fixed now. Report by Grinna@M*U*S*H. - * lnum(1) and lnum(0,0) were broken. Report by Jeff Ferrell - * Help updates. [SW] - * @set obj/notanattribute=flag now returns a 'No such attribute' error. - Reported by David@M*U*S*H. [SW] - * Help file indexing tries to detect files that aren't in the right - format. [SW] - * function restrictions were checking the wrong object. [SW] - * objmem and playermem counted eval-locks and atr-locks incorrectly. - Reported by Javin@DynamixMUSH. [SW] - * Fixes to win32 NT_TCP stuff. [NJG] - * Rare memory leak in do_page fixed by David@M*U*S*H. - -Version 1.7.3 patchlevel 9 November 20, 2000 - -Major Changes: - * Help files and their associated commands are now defined with - the 'help_command' (or 'ahelp_command') directive - in mush.cnf. So you can translate the help to french and - add an "aidez-moi" command if you like. [SW] - * Help file indexes are now kept in memory and built by the - server. The mkindx program is no longer used. [SW] - * Added restrict_function and @function/restrict, like the versions - for commands. [SW] - * User @functions can now override built-in functions, if you - @function/delete the built-in first. You can also @function/restore - the built-in back. [SW] -Attributes: - * @[oa]zenter and @[oa]zleave on ZMOs are triggered when someone - enters or leaves a given zone. Motion between rooms in the same - zone doesn't trigger these. "Zone" is based on the mover's - absolute room (outermost container) so that entering and leaving - an unzoned object in a zoned room doesn't trigger these either. - Suggested by Michael Kurtz. -Commands: - * New /silent switch for @teleport without @[o|a|ox]tport msgs. -Minor Changes: - * Still less allocation involved in outputting text to connections. [SW] - * @scan has better output when multiple attribs match. [SW] - * Added internal absolute_room function for use by fun_room - and move.c and wiz.c, etc. - * MEM_CHECK now uses a sorted linked list and is faster. [SW] -Fixes: - * References to kill_timer removed from win32 sections. [SW] - * conf.c reports error via logging routines, not fprintf. [SW] - * Assorted minor bug and warning fixes. [SW] - * Fix to example in help regedit by Amberyl. - * @wait and other timing functions were broken under win32. - Fixed now. [LdW] - - -Version 1.7.3 patchlevel 8 November 12, 2000 - -Major Changes: - * Objects' names are stored in a string tree like attributes, so - we don't have hundreds of copies of 'West ;west;w' and such - taking up memory. Attribute name "hash table" is now a strtree. [SW] - * We no longer use alarm() to know when to run stuff on the queue. [SW] - * @shutdown/reboot is now supported on Windows builds. This is - slightly experimental. By Revian. -Minor Changes: - * %qa-%qz now operate as global registers like %q0-%q9. - Suggested by Trispis@M*U*S*H and probably others. - * Hashtable lookups are faster (collision chains are sorted) [SW] - * @uptime/mortal suppresses the extra process information [SW] - * Wizard @uptime prints better process information on linux. [SW] - * @listen, @filter and @infilter respect the REGEXP and CASE attribute - flags. Suggested by Maestro@M*U*S*H [SW] - * Having many @waits or semaphores is more efficient, because we - sort those queues by time and we stop looking sooner. [SW] - * User-defined lock names must follow the same rules as attribute - names. The name part of attrib and eval locks have to also. [SW] - * @chan/title's confirmation message is nicer. [SW] - * Minor optimizations related to strcpy() and malloc() overhead. [SW] - * safe_format uses vsnprintf if your system has it. By Luke@M*U*S*H. - * replace_string is safer. By Luke@M*U*S*H. -Fixes: - * iter() is smarter about quitting when the function invocation - limit is reached or the buffer is filled. [TAP] - * lnum() has been greatly sped up. [TAP] - * RWHO references removed from game/mushcnf.dst, game/restart, - etc. by mith@M*U*S*H. - * Fix to help filter by Revian. - * COMPRESSION_TYPE 0 didn't compile. Report by David@M*U*S*H. - * Clarification of @lock/teleport in help @elock by Envinyatar@M*U*S*H - * Compiling w/o MAIL_ALIASES didn't declare load_maliases. - Reported by Envinyatar@M*U*S*H - * clone() was stomping %0-%9. Report by Revian. - * @dol with an empty list now does the right thing (nothing) - instead of running the command once. Report by Linda Naughton [SW] - * spname cleanup by mith@M*U*S*H. - * Fixed a bug in @function function-name [SW] - * make update should finally handle CHAT_TOKEN_ALIAS right. - It's also smarter with mush.cnf - * isword() on a null string now returns 0. Suggested by Ashen-Shugar. - * channels(object) returns a better error when object isn't matched. - Suggested by Trispis. - * Fix to help rand() to reflect actual error return value. Reported - by Philip Mak. - * More translated strings noted by Krad. - * Problems with encrypt()'s logic fixed by Ashen-Shugar. [Rhost] - * Other encrypt() sillyness fixed by Brazil. - * Potential crashers around DEBUG and other buffer overruns - have been fixed. Report by Tajan and Rimnar. [SW] - * notify_anything allocates less memory. [SW] - * Fixed mistagged memcheck "restart.descriptor". - * MacOS portability changes. Should build on MacOS X public beta - (Darwin) systems nearly straightaway. [DW] - * Restart script test for already-running MUSH condensed to one - line. Suggested most recently by Cory Albrecht. - * Serious crash bug in page fixed. Reported by Revian. - * Win32 bugs fixed by Luke@M*U*S*H: problems with dumping - compression suffixes, problems with @uptime - * MUSH no longer crashes if a player alias is > 32 chars in length. - It truncates names that are too long instead. By Luke@M*U*S*H. - * We don't check AF_PRIVATE attributes for $/^commands on children. - By Luke@M*U*S*H. - * Under win32, the MUSH would often start ignoring commands from - players after the first 98 per connection. Fixed by Revian. - -Version 1.7.3 patchlevel 7 October 12, 2000 - -Functions: - * filterbool(), for TM3 compatibility. Like filter(), - but tests for any true value, not just 1. [3,SW] - * case(), for TM3 compatibility, and caseall(). Like switch() - and switchall(), but does an exact match, not wildcard. [3,SW] - * valid() takes more categories. [SW] - * localize(), for TM3 compatibility. Like a cross between - s() and ulocal(). [3,SW] -Commands: - * @break, for Rhost compatibility. Stops processing the - current action list. [Rhost,SW] - * @enable and @disable can be used on any boolean config option. [SW] - * @function/enable and @function/disable for built-ins - * @function function-name reports some information on the function, - like @command command-name. -Flags: - * New attribute flag 'safe' prevents accidental modification. - Suggested by Stephen Viscido. [TAP] -Minor Changes: - * The daytime config option is no more. Do a few @searches in - its honor. [SW] - * lsearch() permission is controlled by @search, and entrances() - by @entrances, for consistency with other functions that have - a corresponding command. [SW] - * The number of reboots is tracked, and the restarts() function - added, for TM3 compatibility. [3,SW] - * Rearranged some compile flags to suit systems that have - /usr/local/include/ident.h. By Luiz Claudio Duarte. - * More strings marked for translation. By Krad@M*U*S*H - * :, [, ], (, and ) are no longer legal in attribute names - due to ambiguities and security issues. [TAP,SW] - * Ranges in @search, lsearch() and @find can be either #dbrefs or - (for backwards compatibility), integers. Inspired by ElendorMUSH. [SW] - * Broadcast messages in bsd.c replaced with GAME prefix. - Suggested by Krad@M*U*S*H. -Fixes: - * Fixed a bug in filter() where it only looked - at the first character of the evaluated attribute. [SW] - * Some more noise from info_slave was removed. [SW] - * do_pcreate and do_chownall now live in game.h and not - externs.h. Reported by Maestro@M*U*S*H. - * Clean-up of atr_add calls in void context. [TAP] - * IPv6 buglet fixed. Report by Vexon@M*U*S*H. [SW] - * @config/set can no longer be used to set options in the files - and messages categories, as this has icky consequences. [SW] - * Fixed a logic bug in letters_to_privs where not all the letters - were being turned into privs properly. Report by Bolt@M*U*S*H [SW] - * Fix to isint() so that isint(1a) is 0. [SW] - * Added safe_boolean internal function, and fixed a hang bug - in edit() reported by Walker@M*U*S*H. [SW] - * Fixed problems in panic dumps/reads of maildb and chatdb. [SW] - * @edit is a bit more efficient. [SW] - * Assorted lock structures are allocated in big chunks like - attribute structures, to save malloc overhead. [SW] - * User-defined lock names are stored in the attribute name tree. [SW] - * Various help fixes [SW, Javelin] - * LASTLOGOUT time now forces two-digit day for convtime niceness. [SW] - * Very large malias names or member lists could cause buffer - overruns. [SW] - * Buffer overrun fix, fix to str_chr. [TAP] - * tprintfs removed from DEBUG output so DEBUG doesn't mess up - messages in ^-commands anymore. [TAP] - -Version 1.7.3 patchlevel 6 September 20, 2000 - -Minor Changes: - * Translation files are now archived separately on the ftp site. - * A variety of options.h settings have been removed. - EXTENDED_ANSI, DUMP_EMPTY_ATTRS, DUMP_LESS_GARBAGE and the *_LOCK - defines are totally gone. [SW] - OLD_NEWLINES, DELETE_ATTRS and VISIBLE_EMPTY_ATTRS have been - moved out of options.h as they're special-purpose. [SW] - * More common function error messages were made into variables - rather than being hardcoded in as string literals. [SW] - * If a player is set HALT, their queued commands will not run. - * Speedup in process_expression. [TAP]. -Functions: - * The regedit(?:all)?i? family of functions, like perl's s///. [SW] - * Case-insenstive versions of regrab() and regraball(). [SW] - * etimefmt(), which is to timestring() as timefmt() is to time(). [SW] -Fixes: - * Error messages that were already variables are now translated. [SW] - * Fixes to various metaconfig rules. [SW] - * Open_Anywhere and Link_Anywhere were sharing the same - bitmask. Fixed. [SW] - * You can escape : in $command patterns that are being regexp- - matched now. [SW] - * Rewrites of the regexp functions so that, say, regrab() and - regraball() point to the same actual code, using called_as to - know when to stop. They also use PCRE's match optimizing - pcre_study() function when appropriate. [SW] - * Buglets in game/restart and game/mushcnf.dst fixed. - Reported by Krad and Nymeria at M*U*S*H. - * page_aliases directive in mush.cnf works now. Report by Nymeria. - * Same for float_precision. Report by Oleo@M*U*S*H. - * mushtype.h now included in compress.c. [DW] - * Less noise in log/netmush.log from failed ident queries. - * More strings marked for translation. - * Fixes to problems with @search reported by Oleo@M*U*S*H. - * Weird evaluation of functions in softcoded commands fixed. [TAP] - * Cleanup of typos here and there by Padraic@M*U*S*H. - - -Version 1.7.3 patchlevel 5 September 7, 2000 - -Minor Changes: - * FLOATING_POINT is no longer an option (it's always on). [SW] - * EXTENDED_ANSI defaults to enabled. [SW] -Attributes: - * @receive/@oreceive/@areceive triggered on the recipient - after a get or give, so you've got access to who caused - you to acquire the object and the object's dbref now. - * @give/@ogive/@agive triggered on the giver with object's - dbref in %0. Suggested by Oriens@Alexandria. -Fixes: - * Fixes for systems with broken or incomplete IPv6 support. [SW] - * Uses of index() changed to strchr() for consistency. [SW] - * Much removal of duplicate function prototypes and rearranging - of headers. hdrs/globals.h is now hdrs/case.h. hdrs/intrface.h is - no more, and hdrs/boolexp.h, hdrs/log.h were added. [SW] - * @search supports "quoted player names". - * We no longer report failed connect to ident servers in the log. - -Version 1.7.3 patchlevel 4 August 8, 2000 - -Major Changes: - * Internationalization: - * Support for international time formats via LC_TIME locale [SW] - * Support for message translation - * Support for locale-sensitive ordering of strings (LC_COLLATE) [SW] - To take advantage of the new features, you should have your - LANG environment variable set to an appropriate locale - before you 'make install' (which will cause the right message - catalog to be compiled), and you should see the section - in game/restart for setting it there (which will actually cause - the server to use it). - * IPv6 support [SW] -Commands: - * @dolist/delim and @map/delim [SW] - * @stats/tables [SW] - * SESSION command displays session statistics (experimental) [SW] -Functions: - * uldefault(), like udefault but saves registers like ulocal() [SW] - * switchall(), for Tiny compatibility. [SW] - * cemit() with an option to act like @cemit/noisy [SW] - * vmin() and vmax(), for returning the min and max of each pair in two - vectors. [SW] - * utctime(), convutcsecs() for UTC/GMT time instead of server-local. [SW] - * convtime() uses getdate() if present, along with a variety of templates - * that it can accept. [SW] - * timefmt() - like the strftime() C function. [SW] - * pcreate() side effect function suggested by Adamas and Padraic@M*U*S*H - * starttime() now returns the first startup time, and - restarttime() returns the time of the last @shutdown/reboot [SW] -Minor Changes: - * +help is mentioned in help help. Suggested by Trispis@M*U*S*H. - * include directive for config files, with an example moving all - the restrict_command's to another file. [SW] - * make indent runs expand, then indent, because indent doesn't seem to - handle tabs very well. [SW] - * index-files.pl sorts patchlevels correctly. Patch by Jeff - Heinen. - * LASTLOGOUT attribute records logout time, like LAST, but not - visual. Suggested by Oriens@Alexandria, and others. - * Internal cleanup by David@M*U*S*H. New @config category 'messages', - no more OBJECT_ENDOWMENT or OBJECT_DEPOSIT macros, etc. - * Internal functions safe_integer(), safe_number(), and safe_dbref() - to replace safe_str(unparse_FOO(data), buff, bp) calls [SW] - * You can now @trigger an attribute containing a $command or - ^listen and it'll work (skipping the $...: or ^...: parts). - So you can now do this: - &DO_WHO obj=$who *: @pemit %#=[u(who,%0)] - &DO_+WHO obj=$+who *: @tr me/do_who=%0 - (But you can do this much more efficiently with regexp...) -Fixes: - * table() is less CPU-intensive in extreme cases. [SW] - * Hopefully, Configure now determines pagesize on FreeBSD. - Method suggested by Matt Harris. - * CHAT_TOKEN_ALIAS comment clarification by Oleo@M*U*S*H. - * pcre regexp engine updated to version 3.4. - * Typo in @chan/who fixed by Vexon@M*U*S*H. - * @attribute/access won't modify AF_INTERNAL attributes now. - * Additional win32 portability fixes. [NJG] - * con() was buggy in a bad way. Fixed now. - * Configure -d should now work on linux systems that don't have - crypt libraries. Reports by mith and Inek@M*U*S*H. - * Fix to Z_TEL on things. - * Help fix to @lock5 by Datron@SW2. -Languages: - * Swedish and Hungarian translations for most strings are - included in this patchlevel. - - -Version 1.7.3 patchlevel 3 July 12, 2000 - -Major Changes: - * Restrictions to the 7-bit ascii charset have largely been removed - except in attribute names, to help international users. [SW] - * If available, we now use setlocale to support international - charsets (and eventually other conventions, though this should - be considered experimental). If you set your LC_CTYPE environment - variable to, say, 'fr_FR', french-accented characters should work. - Wide (multibyte) charsets are not supported. -Minor Changes: - * Internal cleanup of page/whisper code by David@M*U*S*H. - * New mush.cnf directive, page_aliases, for showing alias of - paging player. Supported by code by David@M*U*S*H. - Requested by many. A contrib version by Flame dates to 1996. - * @chat on a non-existant channel returns an error message. [SW] - * Two new CRYPT_SYSTEM options. One checks both SHS and crypt(3) - for passwords, and saves them back using SHS. The other does - the same for plaintext passwords. These should encourage folks - who currently use crypt(3) to make a painless move to SHS. [SW] -Commands: - * @remit can take /silent and /noisy switches now. Suggested by - Philip Mak. - * @lemit and @emit can take /silent switch. [SW] - * @config/set can set configuration parameters at runtime. [SW] -Functions: - * The set algebra functions can be given a sort order for output. [SW] -Fixes: - * CHAT_TOKEN_ALIAS could get defined w/o a character value. - Added a better explanation of CHAT_TOKEN_ALIAS in options.h.dist. - and fixed utils/update.pl to handle commented defines that take - values a bit better. Report by Nymeria@M*U*S*H. - * You can no longer initiate following a disconnected player. - Report by Dave@Galactic. - * CHANGES for 1.7.1 and 1.7.0 were missing. Back now. - * Typo in options.h.dist corrected. Report by Padraic@M*U*S*H. - * Small Configure portability improvements. - * Better handling of cases where the maildb has messages from - dbrefs that are out of range (due to truncating a db to remove - corruption, for example). Suggested by Ashen-Shugar. - * We now check for sitelocked sites before asking info_slave to - do ident lookups. - * Many help clarifications. [SW] - * linux Configure can use nm to find symbols, finally. - * help locate() now includes the z flag. - - -Version 1.7.3 patchlevel 2 June 3, 2000 - -Commands: - * New @sitelock options to control access to god, wizards, admin - by site. [SW] - * @force can now take /noeval [SW] - -Functions: - * squish() can take a second argument to squish non-spaces. [SW] - * div(), floordiv(), modulo(), and remainder(), a set of functions - jointly adopted by MUSH and MUX servers for compatibility. [TAP] - * @@() and null() functions suggested by [LdW]. - -Minor Changes: - * @uptime now shows initial restart time, not just time since - last reboot. - * Each player now has a limit to the number of @mail messages - in their inbox (folder 0), configurable in mush.cnf. - Suggested by Edwin@M*U*S*H. - -Fixes: - * More linting and improved indenting [SW] - * PARANOID works right for broadcast messages (like @cemit) now - too. Report by Vexon@M*U*S*H. - * You can no longer follow what you can't see. - * CHAT_TOKEN_ALIAS info appears in options.h now. Report by - Rhysem@M*U*S*H. - * Mac portability changes. [DW] - * Disconnected players don't follow any more. Suggested by Don Burks. - * Various fixes to better resist crashing due to attacks involving - overwhelming connections. - * @mail/stats for all was broken. Fixed now. - * Clearer message after failed @pemit. Suggested by Eratl@M*U*S*H - * Destroyed things stop following/leading. Report by Ashen-Shugar. - * follow didn't properly set up the followers as enactors. - We no longer short-circuit process_command. Report by Moe@Chicago. - -Version 1.7.3 patchlevel 1 May 18, 2000 - -Commands: - * @oemit now takes a list of players. Adapted from patch by Philip Mak. - -Minor Changes: - * Reconnecting is less spammy - we don't show motds again - to players already connected. Suggested by Trispis@M*U*S*H. - -Fixes: - * Configure problem that resulted in weird compile failures on - bind/accept in src/bsd.c fixed. - * Further linting. [SW] - * FreeBSD getrlimit problem diagnosed by [SW] is worked around. - * Couldn't compile w/o FLOATING_POINTS defined. Fixed. - * Fixed a few dependencies in the Makefiles to insure that - hdrs/patches.h and hdrs/switches.h are rebuilt properly. - * Indentation cleanup. - * We now recognize egcs as if it were gcc 2, and set ccflags - accordingly. - * Increased size of some hash tables for performance. [SW] - * Help fixes. [SW] - * flags(obj/attrib) behaved badly unless attrib was CAPITALIZED. - Fixed now. Reported by Vexon@M*U*S*H. - -Version 1.7.3 patchlevel 0 April 20, 2000 - -Major Changes: - * If you create a 'patches' subdirectory and keep any user-contrib - patches you apply in there, and if the patches are properly - formatted, i.e., they include these lines: - # Patch name: - # Patch version: - your MUSH's @version and INFO output will report them. - In addition to being helpful for you, this will help the - developers when you send us a bug report including your - @version. [TN] - * As @cemit doesn't override @chan/gag and allows - NOSPOOF notification, it basically now operates just like - @pemit/list (you can protect yourself from spoofing, and you can - silence it). Accordingly, the cemit power is no longer - necessary. It's now a runtime option. - * @malias (@mailing lists) by Daniel Peters. - * Attribute names are now stored in a single string tree, - so we don't have thousands of copies of the string - "FINGER_NOTE", etc., taking up memory. [TAP] - * As a consequence of the attribute name tree, the STARTUP flag - is no longer needed, and will be automatically removed from - dbs. - * Attributes are now inserted in alphabetical order, which - speeds lookup. [TAP] - * Panic dumps now dump the maildb and chatdb, appended to the - end of PANIC.db. The MUSH handles breaking them up on restart. - * New link_anywhere power allows @link'ing to any destination. - * Mortals may create VARIABLE exits. At the time the destination - is computed, the exit is check to see if it has permission to - link there (i.e., the exit controls the destination or the - exit is link_anywhere or the destination is link_ok). - To keep old code from breaking, all existing variable exits are - given the link_anywhere power at first db read in this patch. - Suggested by David@M*U*S*H. - * The follow command is implemented! - * Nested iter is now useful. The itext(n) function returns - the value of ## for the nth innermost iteraction, where - 0 is the most inner, and inum(n) does the same for #@. [TN] - * New regexp library, pcre, now allows perl 5.005 compatible - regular expressions! Suggested by [SW]. - * Objects are now limited in the number of attributes that may - be set on them. This prevents a DoS attack. Suggested by - Ashen-Shugar. - * Some more english-style matching (look my 2nd box). [TN] - -Functions: - * config() returns a list of config option names. - config(