This is patch30 to PennMUSH 1.7.7. After applying this patch, you will have version 1.7.7p30 To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p1 < 1.7.7-patch30 make clean make install If you use GNU patch 2.2, you probably want the above to be 'patch -b -p1', not just 'patch -p1'. Unix (or cygwin) users need not worry about failed hunks in src/switchinc.c, hdrs/switches.h, hdrs/cmds.h, or hdrs/funs.h. These files are automatically rebuilt on compile. On the off chance they appear not to be, simply rm them and re-run make. Then @shutdown and restart your MUSH. - Alan/Javelin In this patch: 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. Prereq: 1.7.7p29 *** 1_7_7.920/Patchlevel Wed, 28 Apr 2004 09:46:59 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.31 600) --- 1_7_7.964(w)/Patchlevel Thu, 06 May 2004 10:37:42 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.31 600) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.7p29 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.7p30 *** 1_7_7.920/CHANGES.177 Wed, 28 Apr 2004 09:46:59 -0500 dunemush (pennmush/g/23_CHANGES 1.48.1.258.1.14.1.53 600) --- 1_7_7.964(w)/CHANGES.177 Thu, 06 May 2004 10:38:02 -0500 dunemush (pennmush/g/23_CHANGES 1.48.1.258.1.14.1.71 600) *************** *** 18,23 **** --- 18,63 ---- ========================================================================== + 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: *** 1_7_7.920/game/txt/hlp/penntop.hlp Mon, 05 Apr 2004 00:19:02 -0500 dunemush (pennmush/13_penntop.hl 1.2.1.27.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.12.1.1.1.1.1.8.1.4 600) --- 1_7_7.964(w)/game/txt/hlp/penntop.hlp Sat, 01 May 2004 14:11:54 -0500 dunemush (pennmush/13_penntop.hl 1.2.1.27.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.12.1.1.1.1.1.8.1.5 600) *************** *** 1923,1928 **** --- 1923,1930 ---- noguest Usable only by non-guest @powered objects. nobody Nothing can use it. Same as the /disable switch to @command or @function. + noparse Function arguments are not evaluated. Only applies + to @functions. Commands can also use the 'noplayer' restriction, which stops player objects from using the command, as well as any generic *** 1_7_7.920/game/txt/hlp/penncmd.hlp Mon, 29 Mar 2004 00:03:16 -0600 dunemush (pennmush/18_penncmd.hl 1.2.1.1.1.47.1.1.1.1.1.3.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.10.1.1.1.1.1.1.1.1.1.1.1.22 600) --- 1_7_7.964(w)/game/txt/hlp/penncmd.hlp Sun, 02 May 2004 17:39:56 -0500 dunemush (pennmush/18_penncmd.hl 1.2.1.1.1.47.1.1.1.1.1.3.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.10.1.1.1.1.1.1.1.1.1.1.1.24 600) *************** *** 1408,1414 **** & @function @function [] ! @function =,[,, ] or @function =/ @function/ --- 1408,1414 ---- & @function @function [] ! @function =,[,, [,]] or @function =/ @function/ *************** *** 1479,1489 **** For example: @function/delete ansi &ansi_fun #1234=%0 ! @function ansi=#1234, ansi_fun, 2, 2 will create a new version of ansi() that doesn't do any colorization, and that requires it to be called with exactly ! 2 arguments, like the built-in version. See also: RESTRICT, FUNCTIONS, @startup & @grep --- 1479,1490 ---- For example: @function/delete ansi &ansi_fun #1234=%0 ! @function ansi=#1234, ansi_fun, 2, 2, noguest will create a new version of ansi() that doesn't do any colorization, and that requires it to be called with exactly ! 2 arguments, like the built-in version. It will be restricted to ! non-guest players. See also: RESTRICT, FUNCTIONS, @startup & @grep *************** *** 1982,1988 **** (continued in help @lock9) & @lock9 You can also test for set flags, powers, or object types in a lock directly, ! without using an evaluation lock, with these formats: @lock =flag^ @lock =type^ --- 1983,1989 ---- (continued in help @lock9) & @lock9 You can also test for set flags, powers, or object types in a lock directly, ! without using an evaluation lock, with these formats: @lock =flag^ @lock =type^ *************** *** 1997,2002 **** --- 1998,2012 ---- For example, @lock/use Admin Commands=flag^wizard|flag^royalty + + You can test for the current IP address or hostname of the owner + of the object (who must be connected to pass this test) with: + @lock =ip^ + @lock =hostname^ + + You may use wildcards (*, ?) in these patterns. Note that hostname + tests are insecure; players who control their reverse DNS can spoof + any hostname. See also: locktypes, @clock & locktypes *** 1_7_7.920/game/restart Mon, 15 Sep 2003 11:37:00 -0500 dunemush (pennmush/39_restart 1.1.1.1.1.1.1.2.1.1.1.1.1.2.1.2.2.1.2.2.1.1.1.1 700) --- 1_7_7.964(w)/game/restart Sun, 02 May 2004 11:38:31 -0500 dunemush (pennmush/39_restart 1.1.1.1.1.1.1.2.1.1.1.1.1.2.1.2.2.1.2.2.1.1.1.1.1.1 700) *************** *** 15,20 **** --- 15,24 ---- # The error log file LOG=log/netmush.log + # Uncomment the line below to attempt to allow crashes to produce + # core dumps. If you're getting crashes, this is the best way + # to debug them. + #ulimit -c unlimited if [ ! -d $GAMEDIR ]; then echo "GAMEDIR doesn't appear to be a directory. It's: $GAMEDIR" *** 1_7_7.920/game/mushcnf.dst Mon, 12 Apr 2004 20:44:19 -0500 dunemush (pennmush/41_mushcnf.ds 1.1.1.19.1.1.1.2.1.1.1.8.1.1.1.1.1.23 600) --- 1_7_7.964(w)/game/mushcnf.dst Thu, 06 May 2004 00:30:22 -0500 dunemush (pennmush/41_mushcnf.ds 1.1.1.19.1.1.1.2.1.1.1.8.1.1.1.1.1.29 600) *************** *** 375,380 **** --- 375,383 ---- # actual maximum length you want. player_name_len 16 + # Limit the number of objects players can own. + use_quota yes + ### ### Dump stuff ### *************** *** 464,469 **** --- 467,493 ---- ### ### Logging ### + ### When selecting log files, you may assign multiple logs to the + ### same filename. If you don't assign a filename to a log, + ### messages are written on stderr instead (usually redirected to + ### log/netmush.log). Probably unwise to change these in a running + ### MUSH. + ### + + # Filename to log connections to + connect_log log/connect.log + + # Filename to log wizard commands to + wizard_log log/wizard.log + + # Filename to log dump checkpoint messages to + checkpt_log log/checkpt.log + + # Filename to log debugging trace messages to + trace_log log/trace.log + + # Filename to log commands by SUSPECT players to + command_log log/command.log # log all commands. Makes big, big command.log files. Use only for # debugging, generally. *************** *** 475,482 **** # log forces done by wizards log_forces yes ! # log wizwalls ! log_walls no ### ### Logins --- 499,509 ---- # log forces done by wizards log_forces yes ! # perform memory allocation tracking (logged on @dump) to help find ! # memory leaks. This really shouldn't be changed while the server ! # is running - it's only useful if you do a full shutdown, turn ! # this on, and then start up. Generally, you want this off. ! mem_check no ### ### Logins *************** *** 517,528 **** # The old daytime directive is better suited to restrict_command # or @command/disable. - # restrict haspower() to see_all players? - haspower_restricted no - # prevent objects from evaluating ufuns on more privileged objects. [++] safer_ufun yes # default whisper to whisper/noisy instead of whisper/silent noisy_whisper no --- 544,555 ---- # The old daytime directive is better suited to restrict_command # or @command/disable. # prevent objects from evaluating ufuns on more privileged objects. [++] safer_ufun yes + # allow functions that have side effects? (e.g. dig(), etc.) + function_side_effects yes + # default whisper to whisper/noisy instead of whisper/silent noisy_whisper no *************** *** 560,565 **** --- 587,597 ---- # should say/pose by a DARK wizard be anonymous ('Someone says...')? full_invis no + + # Are empty attributes preserved? If this is yes, you can do + # &ATTR obj= and obj will have an attribute ATTR set, with an empty value. + # If this is no, that same command would clear the attribute instead. + empty_attrs yes ### ### TinyMUSH compatibility *** 1_7_7.920/src/wiz.c Tue, 27 Apr 2004 13:59:33 -0500 dunemush (pennmush/b/23_wiz.c 1.44.1.1.1.1.1.2.1.7.1.1.1.1.1.1.1.1.1.1.1.8.1.2.2.2.1.2.1.1.1.1.1.1.1.2.1.1.1.2.2.17.1.9.1.9 660) --- 1_7_7.964(w)/src/wiz.c Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/b/23_wiz.c 1.44.1.1.1.1.1.2.1.7.1.1.1.1.1.1.1.1.1.1.1.8.1.2.2.2.1.2.1.1.1.1.1.1.1.2.1.1.1.2.2.17.1.9.1.13 660) *************** *** 43,55 **** #include "game.h" #include "command.h" #include "dbdefs.h" - #ifdef USE_MAILER #include "extmail.h" - #endif - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "confmagic.h" --- 43,50 ---- *************** *** 116,122 **** return player; } - #ifdef QUOTA /** Set or check a player's quota. * \verbatim * This implements @quota and @squota. --- 111,116 ---- *************** *** 162,168 **** } /* the quotas of priv'ed players are unlimited and cannot be set. */ ! if (NoQuota(who)) { notify_format(player, T("Objects: %d Limit: UNLIMITED"), owned); return; } --- 156,162 ---- } /* the quotas of priv'ed players are unlimited and cannot be set. */ ! if (NoQuota(who) || !USE_QUOTA) { notify_format(player, T("Objects: %d Limit: UNLIMITED"), owned); return; } *************** *** 265,271 **** else notify_format(player, T("All quotas changed to %d."), limit); } - #endif /* QUOTA */ static int tport_dest_ok(dbref player, dbref victim, dbref dest) --- 259,264 ---- *************** *** 870,883 **** } } - #ifdef QUOTA /* change quota (this command is wiz only and we can assume that * we intend for the recipient to get all the objects, so we * don't do a quota check earlier. */ change_quota(victim, count); change_quota(n_target, -count); - #endif notify_format(player, T("Ownership changed for %d objects."), count); } --- 863,874 ---- *************** *** 978,986 **** void do_debug_examine(dbref player, const char *name) { - #ifdef USE_MAILER MAIL *mp; - #endif dbref thing; if (!Hasprivs(player)) { --- 969,975 ---- *************** *** 1003,1012 **** switch (Typeof(thing)) { case TYPE_PLAYER: - #ifdef USE_MAILER mp = desc_mail(thing); notify_format(player, T("First mail sender: %d"), mp ? mp->from : NOTHING); - #endif case TYPE_THING: notify_format(player, "Location: %d", Location(thing)); notify_format(player, "Home: %d", Home(thing)); --- 992,999 ---- *************** *** 1057,1068 **** if ((thing = noisy_match_result(player, name, NOTYPE, MAT_EVERYTHING)) == NOTHING) return; - #ifdef ONLINE_REG if (Unregistered(thing)) { notify(player, T("You can't grant powers to unregistered players.")); return; } - #endif if (God(thing) && !God(player)) { notify(player, T("God is already all-powerful.")); return; --- 1044,1053 ---- *************** *** 1651,1657 **** #pragma warning( default : 4761) /* Re-enable conversion warning */ #endif - #ifdef QUOTA /* ARGSUSED */ FUNCTION(fun_quota) { --- 1636,1641 ---- *************** *** 1687,1693 **** safe_integer(owned + get_current_quota(who), buff, bp); return; } - #endif /** Modify access rules for a site. * \verbatim --- 1671,1676 ---- *** 1_7_7.920/src/wild.c Thu, 11 Sep 2003 15:26:04 -0500 dunemush (pennmush/b/24_wild.c 1.11.1.1.1.8.1.1.1.4.1.2.1.5 660) --- 1_7_7.964(w)/src/wild.c Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/b/24_wild.c 1.11.1.1.1.8.1.1.1.4.1.2.1.7 660) *************** *** 30,36 **** #include "conf.h" #include "case.h" #include "externs.h" - #include "memcheck.h" #include "mymalloc.h" #include "parse.h" #include "pcre.h" --- 30,35 ---- *************** *** 494,502 **** */ return 0; } - #ifdef MEM_CHECK add_check("pcre"); - #endif /* * Now we try to match the pattern. The relevant fields will * automatically be filled in by this. --- 493,499 ---- *************** *** 571,579 **** */ return 0; } - #ifdef MEM_CHECK add_check("pcre"); - #endif /* * Now we try to match the pattern. The relevant fields will * automatically be filled in by this. --- 568,574 ---- *** 1_7_7.920/src/utils.c Sat, 27 Mar 2004 00:05:26 -0600 dunemush (pennmush/b/27_utils.c 1.30.1.1.1.16 660) --- 1_7_7.964(w)/src/utils.c Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/b/27_utils.c 1.30.1.1.1.18 660) *************** *** 34,42 **** #endif #include "conf.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "match.h" #include "externs.h" #include "mushdb.h" --- 34,39 ---- *************** *** 68,76 **** mush_malloc(size_t size, const char *check) { Malloc_t ptr; - #ifdef MEM_CHECK add_check(check); - #endif ptr = malloc(size); if (ptr == NULL) do_log(LT_ERR, 0, 0, "mush_malloc failed to malloc %d bytes for %s", --- 65,71 ---- *************** *** 88,96 **** mush_free(Malloc_t RESTRICT ptr, const char *RESTRICT check __attribute__ ((__unused__))) { - #ifdef MEM_CHECK del_check(check); - #endif free(ptr); return; } --- 83,89 ---- *************** *** 125,149 **** *attrib = (ATTR *) atr_get(*thing, upcasestr(name)); } void parse_anon_attrib(dbref player, char *str, dbref *thing, ATTR **attrib) { - /* takes a string which is of the format #lambda/code, / or , - * and returns the dbref of the object, and a pointer to the attribute. - */ if (string_prefix(str, "#lambda/")) { unsigned char *t; str += 8; ! *attrib = mush_malloc(sizeof(ATTR), "anon_attr"); ! AL_CREATOR(*attrib) = player; ! AL_NAME(*attrib) = strdup("#lambda"); ! t = compress(str); ! (*attrib)->data = chunk_create(t, u_strlen(t), 0); ! AL_FLAGS(*attrib) = AF_ANON; ! AL_NEXT(*attrib) = NULL; ! *thing = player; ! return; } parse_attrib(player, str, thing, attrib); } --- 118,155 ---- *attrib = (ATTR *) atr_get(*thing, upcasestr(name)); } + /** Parse an attribute or anonymous attribute into dbref and pointer. + * This function takes a string which is of the format #lambda/code, + * / or , and returns the dbref of the object, + * and a pointer to the attribute. + * \param player the executor, for permissions checks. + * \param str string to parse. + * \param thing pointer to address to return dbref parsed, or NOTHING + * if none could be parsed. + * \param attrib pointer to address to return ATTR * of attrib parsed, + * or NULL if none could be parsed. + */ void parse_anon_attrib(dbref player, char *str, dbref *thing, ATTR **attrib) { if (string_prefix(str, "#lambda/")) { unsigned char *t; str += 8; ! if (!*str) { ! *attrib = NULL; ! *thing = NOTHING; ! } else { ! *attrib = mush_malloc(sizeof(ATTR), "anon_attr"); ! AL_CREATOR(*attrib) = player; ! AL_NAME(*attrib) = strdup("#lambda"); ! t = compress(str); ! (*attrib)->data = chunk_create(t, u_strlen(t), 0); ! AL_FLAGS(*attrib) = AF_ANON; ! AL_NEXT(*attrib) = NULL; ! *thing = player; ! return; ! } } parse_attrib(player, str, thing, attrib); } *** 1_7_7.920/src/timer.c Wed, 29 Oct 2003 14:21:02 -0600 dunemush (pennmush/b/29_timer.c 1.29.1.7.1.14 660) --- 1_7_7.964(w)/src/timer.c Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/b/29_timer.c 1.29.1.7.1.17 660) *************** *** 34,42 **** #include "flags.h" #include "externs.h" #include "access.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "log.h" #include "game.h" #include "help.h" --- 34,39 ---- *************** *** 123,131 **** int actual; ATTR *aptr; lock_list *lptr; - #ifdef USE_MAILER MAIL *mp; - #endif if (db_top == 0) return; --- 120,126 ---- *************** *** 139,151 **** for (lptr = Locks(end_obj); lptr; lptr = L_NEXT(lptr)) if (L_KEY(lptr) != NULL_CHUNK_REFERENCE) actual++; - #ifdef USE_MAILER if (IsPlayer(end_obj)) { for (mp = find_exact_starting_point(end_obj); mp; mp = mp->next) if (mp->msgid != NULL_CHUNK_REFERENCE) actual++; } - #endif end_obj = (end_obj + 1) % db_top; } while (actual < amount && end_obj != start_obj); --- 134,144 ---- *************** *** 179,185 **** refs[actual] = &(lptr->key); actual++; } - #ifdef USE_MAILER if (IsPlayer(start_obj)) { for (mp = find_exact_starting_point(start_obj); mp; mp = mp->next) if (mp->msgid != NULL_CHUNK_REFERENCE) { --- 172,177 ---- *************** *** 187,193 **** actual++; } } - #endif start_obj = (start_obj + 1) % db_top; } while (start_obj != end_obj); --- 179,184 ---- *************** *** 256,272 **** /* Database dump routines */ if (options.dump_counter <= mudtime) { - #ifdef MEM_CHECK log_mem_check(); - #endif options.dump_counter = options.dump_interval + mudtime; strcpy(ccom, "dump"); fork_and_dump(1); - #ifdef VACATION_FLAG flag_broadcast(0, "ON-VACATION", "%s", T ("Your ON-VACATION flag is set! If you're back, clear it.")); - #endif } else if (NO_FORK && (options.dump_counter - 60 == mudtime) && *options.dump_warning_1min) { --- 247,259 ---- *** 1_7_7.920/src/help.c Mon, 17 Nov 2003 11:57:56 -0600 dunemush (pennmush/f/32_help.c 1.4.1.2.1.1.1.3.2.2.1.1.2.1.1.2.1.2.1.2.1.3.1.19 660) --- 1_7_7.964(w)/src/help.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/f/32_help.c 1.4.1.2.1.1.1.3.2.2.1.1.2.1.1.2.1.2.1.2.1.3.1.21 660) *************** *** 21,27 **** #include "flags.h" #include "dbdefs.h" #include "mymalloc.h" - #include "memcheck.h" #include "confmagic.h" #ifdef macintosh --- 21,26 ---- *************** *** 441,449 **** qsort(topics, num_topics, sizeof(help_indx), topic_cmp); h->entries = num_topics; h->indx = topics; - #ifdef MEM_CHECK add_check("help_index"); - #endif fclose(rfp); do_rawlog(LT_WIZ, T("%d topics indexed."), num_topics); return; --- 440,446 ---- *** 1_7_7.920/src/htab.c Mon, 28 Apr 2003 00:35:06 -0500 dunemush (pennmush/b/30_htab.c 1.8.1.11 660) --- 1_7_7.964(w)/src/htab.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/b/30_htab.c 1.8.1.13 660) *************** *** 15,21 **** #include "externs.h" #include "htab.h" - #include "memcheck.h" #include "mymalloc.h" #include "confmagic.h" --- 15,20 ---- *************** *** 438,443 **** --- 437,462 ---- return NULL; } + /** Return the first key of a hash table. + * This function is used with hash_nextentry_key() to iterate through a + * hash table. + * \param htab pointer to hash table. + * \return first hash table key. + */ + char * + hash_firstentry_key(HASHTAB *htab) + { + int hval; + + for (hval = 0; hval < htab->hashsize; hval++) + if (htab->buckets[hval]) { + htab->last_hval = hval; + htab->last_entry = htab->buckets[hval]; + return htab->buckets[hval]->key; + } + return NULL; + } + /** Return the next entry of a hash table. * This function is used with hash_firstentry() to iterate through a * hash table. hash_firstentry() must be called before calling *************** *** 463,468 **** --- 482,518 ---- htab->last_hval = hval; htab->last_entry = htab->buckets[hval]; return htab->buckets[hval]->data; + } + hval++; + } + return NULL; + } + + /** Return the next key of a hash table. + * This function is used with hash_firstentry{,_key}() to iterate through a + * hash table. hash_firstentry{,_key}() must be called before calling + * this function. + * \param htab pointer to hash table. + * \return next hash table key. + */ + char * + hash_nextentry_key(HASHTAB *htab) + { + int hval; + HASHENT *hptr; + + hval = htab->last_hval; + hptr = htab->last_entry; + if (hptr->next) { + htab->last_entry = hptr->next; + return hptr->next->key; + } + hval++; + while (hval < htab->hashsize) { + if (htab->buckets[hval]) { + htab->last_hval = hval; + htab->last_entry = htab->buckets[hval]; + return htab->buckets[hval]->key; } hval++; } *** 1_7_7.920/src/strutil.c Fri, 19 Mar 2004 23:41:44 -0600 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.1.1.21.1.2.1.2.1.14 660) --- 1_7_7.964(w)/src/strutil.c Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/b/33_strutil.c 1.28.1.3.1.3.1.7.2.1.1.2.1.1.1.1.1.1.1.21.1.2.1.2.1.16 660) *************** *** 20,28 **** #include "pueblo.h" #include "parse.h" #include "externs.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "mymalloc.h" #include "log.h" #include "confmagic.h" --- 20,25 ---- *************** *** 65,74 **** #ifdef HAS_STRDUP x = strdup(s); - #ifdef MEM_CHECK if (x) add_check(check); - #endif #else size_t len = strlen(s) + 1; --- 62,69 ---- *** 1_7_7.920/src/speech.c Sun, 28 Mar 2004 23:42:28 -0600 dunemush (pennmush/b/35_speech.c 1.21.1.2.1.3.1.5.1.1.1.7.1.3.1.1.1.8.1.1.1.1.1.1.1.10.1.2.1.13.2.4.1.1.3.1.1.5.1.1.1.6.1.1.1.1 660) --- 1_7_7.964(w)/src/speech.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/b/35_speech.c 1.21.1.2.1.3.1.5.1.1.1.7.1.3.1.1.1.8.1.1.1.1.1.1.1.10.1.2.1.13.2.4.1.1.3.1.1.5.1.1.1.6.1.1.1.3 660) *************** *** 25,31 **** #include "parse.h" #include "game.h" #include "pcre.h" - #include "memcheck.h" #include "confmagic.h" int okay_pemit(dbref player, dbref target); --- 25,30 ---- *************** *** 608,636 **** flag_broadcast(mask, 0, "%s %s %s, \"%s\"", prefix, Name(player), target == WALL_ALL ? "shouts" : "says", message); - - /* log it if necessary */ - if (target == WALL_ALL || options.log_walls) { - const char *type = ""; - switch (target) { - case WALL_ALL: - type = "all"; - break; - case WALL_RW: - type = "roywiz"; - break; - case WALL_WIZ: - type = "wiz"; - } - if (pose) - do_log(LT_WIZ, player, NOTHING, "(MSG/%s) %s%s%s", type, - Name(player), gap, message); - else if (emit) - do_log(LT_WIZ, player, NOTHING, "(MSG/%s) %s", type, message); - else - do_log(LT_WIZ, player, NOTHING, "(MSG/%s) %s %s, \"%s\"", type, - Name(player), target == WALL_ALL ? "shouts" : "says", message); - } } /** The page command. --- 607,612 ---- *** 1_7_7.920/src/set.c Wed, 28 Apr 2004 09:04:12 -0500 dunemush (pennmush/b/38_set.c 1.26.1.5.1.1.2.1.1.1.1.1.1.11.1.1.1.1.1.1.1.1.1.1.1.1.1.29 660) --- 1_7_7.964(w)/src/set.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/b/38_set.c 1.26.1.5.1.1.2.1.1.1.1.1.1.11.1.1.1.1.1.1.1.1.1.1.1.1.1.30 660) *************** *** 240,248 **** } /* Credit the current owner */ giveto(Owner(thing), Pennies(thing)); - #ifdef QUOTA change_quota(Owner(thing), QUOTA_COST); - #endif } chown_object(player, thing, newowner, preserve); notify(player, T("Owner changed.")); --- 240,246 ---- *** 1_7_7.920/src/predicat.c Tue, 27 Apr 2004 14:02:06 -0500 dunemush (pennmush/b/44_predicat.c 1.1.1.34.1.1.1.3.1.4.2.38.1.6 660) --- 1_7_7.964(w)/src/predicat.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/b/44_predicat.c 1.1.1.34.1.1.1.3.1.4.2.38.1.7 660) *************** *** 46,54 **** static int grep_helper(dbref player, dbref thing, char const *pattern, ATTR *atr, void *args); void do_grep(dbref player, char *obj, char *lookfor, int flag, int insensitive); - #ifdef QUOTA static int pay_quota(dbref, int); - #endif /* QUOTA */ extern PRIV attr_privs[]; /** A generic function to generate a formatted string. The --- 46,52 ---- *************** *** 472,483 **** return 0; } /* check building quota */ ! #ifdef QUOTA ! if (!NoQuota(who) && !pay_quota(who, QUOTA_COST)) { notify(who, T("Sorry, your building quota has run out.")); return 0; } - #endif /* QUOTA */ /* charge */ payfor(who, pennies); --- 470,479 ---- return 0; } /* check building quota */ ! if (!pay_quota(who, QUOTA_COST)) { notify(who, T("Sorry, your building quota has run out.")); return 0; } /* charge */ payfor(who, pennies); *************** *** 523,530 **** return 0; } - #ifdef QUOTA - /** Retrieve the amount of quote remaining to a player. * Figure out a player's quota. Add the RQUOTA attribute if he doesn't * have one already. This function returns the REMAINING quota, not --- 519,524 ---- *************** *** 543,549 **** /* if he's got an RQUOTA attribute, his remaining quota is that */ a = atr_get_noparent(Owner(who), "RQUOTA"); if (a) ! return (atoi(atr_value(a))); /* else, count up his objects. If he has less than the START_QUOTA, * then his remaining quota is that minus his number of current objects. --- 537,543 ---- /* if he's got an RQUOTA attribute, his remaining quota is that */ a = atr_get_noparent(Owner(who), "RQUOTA"); if (a) ! return parse_integer(atr_value(a)); /* else, count up his objects. If he has less than the START_QUOTA, * then his remaining quota is that minus his number of current objects. *************** *** 563,569 **** (void) atr_add(Owner(who), "RQUOTA", tprintf("%d", limit), GOD, NOTHING); ! return (limit); } --- 557,563 ---- (void) atr_add(Owner(who), "RQUOTA", tprintf("%d", limit), GOD, NOTHING); ! return limit; } *************** *** 574,583 **** void change_quota(dbref who, int payment) { - /* wizards and royalty don't need a quota */ - if (NoQuota(who)) - return; - (void) atr_add(Owner(who), "RQUOTA", tprintf("%d", get_current_quota(who) + payment), GOD, NOTHING); } --- 568,573 ---- *************** *** 593,613 **** { int curr; - /* wizards and royalty don't need a quota */ - if (NoQuota(who)) - return 1; - /* figure out how much we have, and if it's big enough */ curr = get_current_quota(who); ! if (curr - cost < 0) /* not enough */ return 0; change_quota(who, -cost); return 1; } - #endif /* QUOTA */ /** Is a name in the forbidden names file? * \param name name to check. --- 583,598 ---- { int curr; /* figure out how much we have, and if it's big enough */ curr = get_current_quota(who); ! if (USE_QUOTA && !NoQuota(who) && (curr - cost < 0)) /* not enough */ return 0; change_quota(who, -cost); return 1; } /** Is a name in the forbidden names file? * \param name name to check. *** 1_7_7.920/src/player.c Sat, 24 Apr 2004 08:56:21 -0500 dunemush (pennmush/b/47_player.c 1.15.1.1.1.1.1.4.1.6.1.1.1.10 660) --- 1_7_7.964(w)/src/player.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/b/47_player.c 1.15.1.1.1.1.1.4.1.6.1.1.1.13 660) *************** *** 354,362 **** { dbref player; - #ifdef QUOTA char temp[SBUF_LEN]; - #endif object_flag_type flags; player = new_object(); --- 354,360 ---- *************** *** 382,405 **** (void) atr_add(player, "LASTSITE", host, GOD, NOTHING); (void) atr_add(player, "LASTIP", ip, GOD, NOTHING); (void) atr_add(player, "LASTFAILED", " ", GOD, NOTHING); - #ifdef QUOTA sprintf(temp, "%d", START_QUOTA); (void) atr_add(player, "RQUOTA", temp, GOD, NOTHING); ! #endif /* QUOTA */ ! #ifndef EMPTY_ATTRS ! ! (void) atr_add(player, "ICLOC", " ", GOD, ! AF_MDARK | AF_PRIVATE | AF_WIZARD | AF_NOCOPY); ! #else ! ! (void) atr_add(player, "ICLOC", "", GOD, AF_MDARK | AF_PRIVATE | AF_WIZARD | AF_NOCOPY); - #endif - #ifdef USE_MAILER (void) atr_add(player, "MAILCURF", "0", GOD, AF_LOCKED | AF_NOPROG | AF_WIZARD); add_folder_name(player, 0, "inbox"); - #endif /* link him to PLAYER_START */ PUSH(player, Contents(PLAYER_START)); --- 380,392 ---- (void) atr_add(player, "LASTSITE", host, GOD, NOTHING); (void) atr_add(player, "LASTIP", ip, GOD, NOTHING); (void) atr_add(player, "LASTFAILED", " ", GOD, NOTHING); sprintf(temp, "%d", START_QUOTA); (void) atr_add(player, "RQUOTA", temp, GOD, NOTHING); ! (void) atr_add(player, "ICLOC", EMPTY_ATTRS ? "" : " ", GOD, AF_MDARK | AF_PRIVATE | AF_WIZARD | AF_NOCOPY); (void) atr_add(player, "MAILCURF", "0", GOD, AF_LOCKED | AF_NOPROG | AF_WIZARD); add_folder_name(player, 0, "inbox"); /* link him to PLAYER_START */ PUSH(player, Contents(PLAYER_START)); *** 1_7_7.920/src/parse.c Tue, 02 Mar 2004 17:35:59 -0600 dunemush (pennmush/b/48_parse.c 1.23.1.10.1.2.1.1.1.1.1.2.1.2.1.31 660) --- 1_7_7.964(w)/src/parse.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/b/48_parse.c 1.23.1.10.1.2.1.1.1.1.1.2.1.2.1.34 660) *************** *** 30,38 **** #include "pcre.h" #include "flags.h" #include "log.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "mymalloc.h" #include "confmagic.h" --- 30,35 ---- *************** *** 998,1013 **** /* Get the arguments */ temp_eflags = (eflags & ~PE_FUNCTION_MANDATORY) | PE_COMPRESS_SPACES | PE_EVALUATE | PE_FUNCTION_CHECK; ! if (fp->flags & FN_BUILTIN) { ! switch (fp->flags & FN_ARG_MASK) { ! case FN_LITERAL: ! temp_eflags |= PE_LITERAL; ! /* FALL THROUGH */ ! case FN_NOPARSE: ! temp_eflags &= ~(PE_COMPRESS_SPACES | PE_EVALUATE | ! PE_FUNCTION_CHECK); ! break; ! } } denied = !check_func(executor, fp); if (denied) --- 995,1008 ---- /* Get the arguments */ temp_eflags = (eflags & ~PE_FUNCTION_MANDATORY) | PE_COMPRESS_SPACES | PE_EVALUATE | PE_FUNCTION_CHECK; ! switch (fp->flags & FN_ARG_MASK) { ! case FN_LITERAL: ! temp_eflags |= PE_LITERAL; ! /* FALL THROUGH */ ! case FN_NOPARSE: ! temp_eflags &= ~(PE_COMPRESS_SPACES | PE_EVALUATE | ! PE_FUNCTION_CHECK); ! break; } denied = !check_func(executor, fp); if (denied) *** 1_7_7.920/src/memcheck.c Mon, 28 Apr 2003 22:14:16 -0500 dunemush (pennmush/c/1_memcheck.c 1.8.1.6 660) --- 1_7_7.964(w)/src/memcheck.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/1_memcheck.c 1.8.1.9 660) *************** *** 15,25 **** #include #include - #ifdef MEM_CHECK #include "externs.h" #include "dbdefs.h" - #include "memcheck.h" #include "mymalloc.h" #include "log.h" #include "confmagic.h" --- 15,23 ---- *************** *** 49,54 **** --- 47,55 ---- size_t reflen; int cmp; + if (!options.mem_check) + return; + for (loop = my_check; loop; loop = loop->next) { cmp = strcasecmp(ref, loop->ref_name); if (cmp == 0) { *************** *** 79,84 **** --- 80,88 ---- MEM *loop, *prev = NULL; int cmp; + if (!options.mem_check) + return; + for (loop = my_check; loop; loop = loop->next) { cmp = strcasecmp(ref, loop->ref_name); if (cmp == 0) { *************** *** 108,113 **** --- 112,119 ---- { MEM *loop; + if (!options.mem_check) + return; for (loop = my_check; loop; loop = loop->next) { notify_format(player, "%s : %d", loop->ref_name, loop->ref_count); } *************** *** 120,130 **** { MEM *loop; do_rawlog(LT_CHECK, "MEMCHECK dump starts"); for (loop = my_check; loop; loop = loop->next) { do_rawlog(LT_CHECK, "%s : %d", loop->ref_name, loop->ref_count); } do_rawlog(LT_CHECK, "MEMCHECK dump ends"); } - - #endif /* MEM_CHECK */ --- 126,136 ---- { MEM *loop; + if (!options.mem_check) + return; do_rawlog(LT_CHECK, "MEMCHECK dump starts"); for (loop = my_check; loop; loop = loop->next) { do_rawlog(LT_CHECK, "%s : %d", loop->ref_name, loop->ref_count); } do_rawlog(LT_CHECK, "MEMCHECK dump ends"); } *** 1_7_7.920/src/malias.c Mon, 28 Apr 2003 22:03:14 -0500 dunemush (pennmush/c/3_malias.c 1.36.1.6 660) --- 1_7_7.964(w)/src/malias.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/3_malias.c 1.36.1.9 660) *************** *** 60,72 **** #include "flags.h" #include "pueblo.h" #include "log.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "confmagic.h" - #ifdef MAIL_ALIASES int ma_size = 0; int ma_top = 0; --- 60,68 ---- *************** *** 249,257 **** m->owner = player; m->name = mush_strdup(na, "malias_name"); m->desc = compress(na); - #ifdef MEM_CHECK add_check("malias_desc"); - #endif m->nflags = ALIAS_OWNER | ALIAS_MEMBERS; m->mflags = ALIAS_OWNER; ma_top++; --- 245,251 ---- *************** *** 1024,1032 **** m->owner = getref(fp); m->name = mush_strdup(getstring_noalloc(fp), "malias_name"); m->desc = compress(getstring_noalloc(fp)); - #ifdef MEM_CHECK add_check("malias_desc"); - #endif m->nflags = getref(fp); m->mflags = getref(fp); --- 1018,1024 ---- *************** *** 1074,1104 **** putref(fp, m->members[j]); } putstring(fp, "*** End of MALIAS ***"); - /* putstring() of fputs() ???? - * Stupid thing to do. Someone sets a malias desc of "*** End of MALIAS ***" - * and then that maildb is read into a mush without MAIL_ALIAS, and bad - * stuff happens. It's rare, but it might happen. Will fix later. */ } - - - - #else /* MAIL_ALIASES */ - - /** Dummy function to read and discard malias data in a maildb. - * When MAIL_ALIASES isn't defined, we use this. - * \param fp file pointer to read from. - */ - void - load_malias(FILE * fp) - { /* Skip mail aliases, */ - char buffer[BUFFER_LEN]; - char *s; - - s = fgets(buffer, sizeof(buffer), fp); - - while (s && strcmp(buffer, "\"*** End of MALIAS ***\"\n") != 0) { - s = fgets(buffer, sizeof(buffer), fp); - } - } - - #endif /* MAIL_ALIASES */ --- 1066,1069 ---- *** 1_7_7.920/src/look.c Sat, 20 Mar 2004 02:18:06 -0600 dunemush (pennmush/c/4_look.c 1.21.1.2.1.9.1.1.1.1.1.26 660) --- 1_7_7.964(w)/src/look.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/4_look.c 1.21.1.2.1.9.1.1.1.1.1.27 660) *************** *** 21,29 **** #include "externs.h" #include "ansi.h" #include "pueblo.h" - #ifdef CHAT_SYSTEM #include "extchat.h" - #endif #include "game.h" #include "command.h" #include "parse.h" --- 21,27 ---- *************** *** 771,779 **** } notify_format(player, T("Powers: %s"), power_description(player, thing)); - #ifdef CHAT_SYSTEM notify(player, channel_description(thing)); - #endif /* CHAT_SYSTEM */ notify_format(player, T("Warnings checked: %s"), unparse_warnings(thing)); --- 769,775 ---- *** 1_7_7.920/src/log.c Mon, 11 Aug 2003 15:42:46 -0500 dunemush (pennmush/c/5_log.c 1.10.1.2.2.4.1.1.2.2.1.5 660) --- 1_7_7.964(w)/src/log.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/5_log.c 1.10.1.2.2.4.1.1.2.2.1.9 660) *************** *** 27,38 **** #include "externs.h" #include "flags.h" #include "dbdefs.h" #include "log.h" #include "confmagic.h" static char *quick_unparse(dbref object); static void start_log(FILE ** fp, const char *filename); ! static void end_log(FILE * fp); #ifdef macintosh #include "PMInit.h" --- 27,41 ---- #include "externs.h" #include "flags.h" #include "dbdefs.h" + #include "htab.h" #include "log.h" #include "confmagic.h" static char *quick_unparse(dbref object); static void start_log(FILE ** fp, const char *filename); ! static void end_log(const char *filename); ! ! HASHTAB htab_logfiles; #ifdef macintosh #include "PMInit.h" *************** *** 75,97 **** start_log(FILE ** fp, const char *filename) { char newfilename[256] = "\0"; ! /* Must use a buffer for MacOS file path conversion */ ! strncpy(newfilename, filename, 256); #ifdef macintosh ! /* Convert file path from a UNIX style one to a MacOS one */ ! PMConvertPath((char *) newfilename, (char *) newfilename, 256); ! *fp = fopen(newfilename, "ab"); #else ! *fp = fopen(newfilename, "a"); #endif ! if (*fp == NULL) { ! fprintf(stderr, T("WARNING: cannot open log %s\n"), newfilename); ! *fp = stderr; } - fprintf(*fp, "START OF LOG.\n"); - fflush(*fp); } /** Open all logfiles. --- 78,118 ---- start_log(FILE ** fp, const char *filename) { char newfilename[256] = "\0"; + static int ht_initialized = 0; + FILE *f; + + if (!filename || !*filename) { + *fp = stderr; + } else { + if (!ht_initialized) { + hashinit(&htab_logfiles, 8, sizeof(FILE *)); + ht_initialized = 1; + } + if ((f = (FILE *) hashfind(strupper(filename), &htab_logfiles))) { + /* We've already opened this file, so just use that pointer */ + *fp = f; + } else { ! /* Must use a buffer for MacOS file path conversion */ ! strncpy(newfilename, filename, 256); #ifdef macintosh ! /* Convert file path from a UNIX style one to a MacOS one */ ! PMConvertPath((char *) newfilename, (char *) newfilename, 256); ! *fp = fopen(newfilename, "ab"); #else ! *fp = fopen(newfilename, "a"); #endif ! if (*fp == NULL) { ! fprintf(stderr, T("WARNING: cannot open log %s\n"), newfilename); ! *fp = stderr; ! } else { ! hashadd(strupper(filename), (void *) *fp, &htab_logfiles); ! fprintf(*fp, "START OF LOG.\n"); ! fflush(*fp); ! } ! } } } /** Open all logfiles. *************** *** 99,122 **** void start_all_logs(void) { - #ifndef SINGLE_LOGFILE start_log(&connlog_fp, CONNLOG); start_log(&checklog_fp, CHECKLOG); start_log(&wizlog_fp, WIZLOG); start_log(&tracelog_fp, TRACELOG); start_log(&cmdlog_fp, CMDLOG); - #else - connlog_fp = checklog_fp = wizlog_fp = tracelog_fp = cmdlog_fp = stderr; - #endif /* SINGLE_LOGFILE */ } static void ! end_log(FILE * fp) { ! if (fp != stderr) { fprintf(fp, "END OF LOG.\n"); fflush(fp); fclose(fp); } } --- 120,143 ---- void start_all_logs(void) { start_log(&connlog_fp, CONNLOG); start_log(&checklog_fp, CHECKLOG); start_log(&wizlog_fp, WIZLOG); start_log(&tracelog_fp, TRACELOG); start_log(&cmdlog_fp, CMDLOG); } static void ! end_log(const char *filename) { ! FILE *fp; ! if (!filename || !*filename) ! return; ! if ((fp = (FILE *) hashfind(strupper(filename), &htab_logfiles))) { fprintf(fp, "END OF LOG.\n"); fflush(fp); fclose(fp); + hashdelete(strupper(filename), &htab_logfiles); } } *************** *** 125,138 **** void end_all_logs(void) { ! #ifndef SINGLE_LOGFILE ! /* close up the log files */ ! end_log(connlog_fp); ! end_log(checklog_fp); ! end_log(wizlog_fp); ! end_log(tracelog_fp); ! end_log(cmdlog_fp); ! #endif /* SINGLE_LOGFILE */ } --- 146,158 ---- void end_all_logs(void) { ! char *name, *next; ! name = hash_firstentry_key(&htab_logfiles); ! while (name) { ! next = hash_nextentry_key(&htab_logfiles); ! end_log(name); ! name = next; ! } } *************** *** 168,191 **** case LT_ERR: f = stderr; break; case LT_CMD: f = cmdlog_fp; break; case LT_WIZ: f = wizlog_fp; break; case LT_CONN: f = connlog_fp; break; case LT_TRACE: f = tracelog_fp; break; case LT_CHECK: f = checklog_fp; break; - case LT_HUH: - f = cmdlog_fp; - break; default: f = stderr; break; --- 188,214 ---- case LT_ERR: f = stderr; break; + case LT_HUH: case LT_CMD: + start_log(&cmdlog_fp, CMDLOG); f = cmdlog_fp; break; case LT_WIZ: + start_log(&wizlog_fp, WIZLOG); f = wizlog_fp; break; case LT_CONN: + start_log(&connlog_fp, CONNLOG); f = connlog_fp; break; case LT_TRACE: + start_log(&tracelog_fp, TRACELOG); f = tracelog_fp; break; case LT_CHECK: + start_log(&checklog_fp, CHECKLOG); f = checklog_fp; break; default: f = stderr; break; *************** *** 312,342 **** } switch (logtype) { case LT_CONN: ! end_log(connlog_fp); unlink(CONNLOG); start_log(&connlog_fp, CONNLOG); do_log(LT_ERR, player, NOTHING, T("Connect log wiped.")); break; case LT_CHECK: ! end_log(checklog_fp); unlink(CHECKLOG); start_log(&checklog_fp, CHECKLOG); do_log(LT_ERR, player, NOTHING, T("Checkpoint log wiped.")); break; case LT_CMD: ! end_log(cmdlog_fp); unlink(CMDLOG); start_log(&cmdlog_fp, CMDLOG); do_log(LT_ERR, player, NOTHING, T("Command log wiped.")); break; case LT_TRACE: ! end_log(tracelog_fp); unlink(TRACELOG); start_log(&tracelog_fp, TRACELOG); do_log(LT_ERR, player, NOTHING, T("Trace log wiped.")); break; case LT_WIZ: ! end_log(wizlog_fp); unlink(WIZLOG); start_log(&wizlog_fp, WIZLOG); do_log(LT_ERR, player, NOTHING, T("Wizard log wiped.")); --- 335,365 ---- } switch (logtype) { case LT_CONN: ! end_log(CONNLOG); unlink(CONNLOG); start_log(&connlog_fp, CONNLOG); do_log(LT_ERR, player, NOTHING, T("Connect log wiped.")); break; case LT_CHECK: ! end_log(CHECKLOG); unlink(CHECKLOG); start_log(&checklog_fp, CHECKLOG); do_log(LT_ERR, player, NOTHING, T("Checkpoint log wiped.")); break; case LT_CMD: ! end_log(CMDLOG); unlink(CMDLOG); start_log(&cmdlog_fp, CMDLOG); do_log(LT_ERR, player, NOTHING, T("Command log wiped.")); break; case LT_TRACE: ! end_log(TRACELOG); unlink(TRACELOG); start_log(&tracelog_fp, TRACELOG); do_log(LT_ERR, player, NOTHING, T("Trace log wiped.")); break; case LT_WIZ: ! end_log(WIZLOG); unlink(WIZLOG); start_log(&wizlog_fp, WIZLOG); do_log(LT_ERR, player, NOTHING, T("Wizard log wiped.")); *** 1_7_7.920/src/lock.c Tue, 17 Feb 2004 15:49:21 -0600 dunemush (pennmush/c/6_lock.c 1.17.1.13.1.1.1.1.1.14 660) --- 1_7_7.964(w)/src/lock.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/6_lock.c 1.17.1.13.1.1.1.1.1.15 660) *************** *** 44,52 **** #include "log.h" #include "flags.h" #include "dbdefs.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "mymalloc.h" #include "strtree.h" #include "privtab.h" --- 44,49 ---- *** 1_7_7.920/src/ident.c Mon, 29 Sep 2003 16:37:45 -0500 dunemush (pennmush/c/8_ident.c 1.19.1.4.1.14 660) --- 1_7_7.964(w)/src/ident.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/8_ident.c 1.19.1.4.1.15 660) *************** *** 59,65 **** #include "attrib.h" #include "ident.h" #include "mymalloc.h" - #include "memcheck.h" #include "externs.h" #include "mysocket.h" #include "confmagic.h" --- 59,64 ---- *** 1_7_7.920/src/game.c Sat, 27 Mar 2004 00:04:16 -0600 dunemush (pennmush/c/10_game.c 1.50.1.8.1.1.1.1.2.1.1.1.2.1.1.4.1.1.1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.1.1.1.1.2.1.1.1.2.1.1.1.1.1.1.1.1.1.5.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.12.1.3.1.7.1.2.2.1.1.4 660) --- 1_7_7.964(w)/src/game.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/10_game.c 1.50.1.8.1.1.1.1.2.1.1.1.2.1.1.4.1.1.1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.1.1.1.1.2.1.1.1.2.1.1.1.1.1.1.1.1.1.5.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.12.1.3.1.7.1.2.2.1.1.7 660) *************** *** 51,65 **** #include "attrib.h" #include "match.h" #include "case.h" - #ifdef USE_MAILER #include "extmail.h" - #endif - #ifdef CHAT_SYSTEM #include "extchat.h" - #endif - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #ifdef HAS_OPENSSL #include "myssl.h" #endif --- 51,58 ---- *************** *** 398,404 **** perror(realtmpfl); longjmp(db_err, 1); } - #ifdef USE_MAILER sprintf(realdumpfile, "%s%s", options.mail_db, options.compresssuff); strcpy(tmpfl, make_new_epoch_file(options.mail_db, epoch)); sprintf(realtmpfl, "%s%s", tmpfl, options.compresssuff); --- 391,396 ---- *************** *** 418,425 **** longjmp(db_err, 1); } } - #endif /* USE_MAILER */ - #ifdef CHAT_SYSTEM sprintf(realdumpfile, "%s%s", options.chatdb, options.compresssuff); strcpy(tmpfl, make_new_epoch_file(options.chatdb, epoch)); sprintf(realtmpfl, "%s%s", tmpfl, options.compresssuff); --- 410,415 ---- *************** *** 437,443 **** perror(realtmpfl); longjmp(db_err, 1); } - #endif /* CHAT_SYSTEM */ time(&last_dump_time); } --- 427,432 ---- *************** *** 496,507 **** } else { do_rawlog(LT_ERR, T("DUMPING: %s"), panicfile); db_write(f, DBF_PANIC); - #ifdef USE_MAILER dump_mail(f); - #endif - #ifdef CHAT_SYSTEM save_chatdb(f); - #endif fclose(f); do_rawlog(LT_ERR, T("DUMPING: %s (done)"), panicfile); _exit(136); --- 485,492 ---- *************** *** 786,794 **** FILE *f; int c; const char *infile, *outfile; - #ifdef USE_MAILER const char *mailfile; - #endif int panicdb; #ifdef WIN32 --- 771,777 ---- *************** *** 800,808 **** infile = restarting ? options.output_db : options.input_db; outfile = options.output_db; - #ifdef USE_MAILER mailfile = options.mail_db; - #endif strcpy(dumpfile, outfile); /* read small text files into cache */ --- 783,789 ---- *************** *** 875,881 **** if (!GoodObject(GOD) || (!IsPlayer(GOD))) do_rawlog(LT_ERR, T("WARNING: God (#%d) is NOT a player."), GOD); - #ifdef USE_MAILER /* read mail database */ if (panicdb) { do_rawlog(LT_ERR, T("LOADING: Trying to get mail from %s"), infile); --- 856,861 ---- *************** *** 898,906 **** db_close(f); } } - #endif /* USE_MAILER */ - #ifdef CHAT_SYSTEM init_chatdb(); if (panicdb) { --- 878,884 ---- *************** *** 925,931 **** } } } - #endif if (panicdb) db_close(f); --- 903,908 ---- *************** *** 2259,2268 **** } #endif - #ifdef MEM_CHECK if (God(player)) list_mem_check(player); - #endif } static char * --- 2236,2243 ---- *** 1_7_7.920/src/funufun.c Thu, 13 Nov 2003 07:48:17 -0600 dunemush (pennmush/c/11_funufun.c 1.19 660) --- 1_7_7.964(w)/src/funufun.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/11_funufun.c 1.21 660) *************** *** 66,87 **** PT_DEFAULT, pe_info); *s = '\0'; ! #ifdef FUNCTION_SIDE_EFFECTS ! /* The security hole created by function side effects is too great ! * to allow a see_all player to evaluate functions from someone else's ! * standpoint. We require control. ! */ ! if (((obj = match_thing(executor, name)) == NOTHING) ! || !controls(executor, obj)) ! obj = executor; ! #else ! /* In order to evaluate from something else's viewpoint, you ! * must control it, or be able to see_all. ! */ ! if (((obj = match_thing(executor, name)) == NOTHING) ! || (!controls(executor, obj) && !See_All(executor))) ! obj = executor; ! #endif p = args[1]; process_expression(buff, bp, &p, obj, executor, enactor, PE_DEFAULT, --- 66,87 ---- PT_DEFAULT, pe_info); *s = '\0'; ! if (FUNCTION_SIDE_EFFECTS) { ! /* The security hole created by function side effects is too great ! * to allow a see_all player to evaluate functions from someone else's ! * standpoint. We require control. ! */ ! if (((obj = match_thing(executor, name)) == NOTHING) ! || !controls(executor, obj)) ! obj = executor; ! } else { ! /* In order to evaluate from something else's viewpoint, you ! * must control it, or be able to see_all. ! */ ! if (((obj = match_thing(executor, name)) == NOTHING) ! || (!controls(executor, obj) && !See_All(executor))) ! obj = executor; ! } p = args[1]; process_expression(buff, bp, &p, obj, executor, enactor, PE_DEFAULT, *** 1_7_7.920/src/funlist.c Sat, 27 Mar 2004 00:05:26 -0600 dunemush (pennmush/c/16_funlist.c 1.3.1.1.1.5.1.2.1.1.1.1.1.4.1.2.1.2.1.19.1.2.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.1.2.1.1.3.1.2.1.1.1.1.1.1.1.1.1.1.1.12.1.14.1.7.1.2 660) --- 1_7_7.964(w)/src/funlist.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/16_funlist.c 1.3.1.1.1.5.1.2.1.1.1.1.1.4.1.2.1.2.1.19.1.2.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.1.2.1.1.3.1.2.1.1.1.1.1.1.1.1.1.1.1.12.1.14.1.7.1.4 660) *************** *** 15,21 **** #include "externs.h" #include "parse.h" #include "function.h" - #include "memcheck.h" #include "mymalloc.h" #include "pcre.h" #include "match.h" --- 15,20 ---- *************** *** 2749,2757 **** safe_str(errptr, buff, bp); return; } - #ifdef MEM_CHECK add_check("pcre"); - #endif /* If we're going to match the pattern multiple times, let's study it. */ if (all) { --- 2748,2754 ---- *************** *** 2762,2771 **** safe_str(errptr, buff, bp); return; } - #ifdef MEM_CHECK if (study != NULL) add_check("pcre.extra"); - #endif } len = strlen(prebuf); start = prebuf; --- 2759,2766 ---- *************** *** 2872,2880 **** safe_str(errptr, buff, bp); return; } - #ifdef MEM_CHECK add_check("pcre"); - #endif subpatterns = pcre_exec(re, NULL, args[0], arglens[0], 0, 0, offsets, 99); safe_integer(subpatterns >= 0, buff, bp); --- 2867,2873 ---- *************** *** 2948,2956 **** safe_str(errptr, buff, bp); return; } - #ifdef MEM_CHECK add_check("pcre"); - #endif reharg.study = pcre_study(reharg.re, 0, &errptr); if (errptr != NULL) { --- 2941,2947 ---- *************** *** 2959,2968 **** mush_free(reharg.re, "pcre"); return; } - #ifdef MEM_CHECK if (reharg.study) add_check("pcre.extra"); - #endif reharg.buff = buff; reharg.bp = bp; --- 2950,2957 ---- *************** *** 3034,3042 **** safe_str(errptr, buff, bp); return; } - #ifdef MEM_CHECK add_check("pcre"); - #endif study = pcre_study(re, 0, &errptr); if (errptr != NULL) { --- 3023,3029 ---- *************** *** 3045,3054 **** mush_free(re, "pcre"); return; } - #ifdef MEM_CHECK if (study) add_check("pcre.extra"); - #endif do { r = split_token(&s, sep); --- 3032,3039 ---- *** 1_7_7.920/src/fundb.c Tue, 27 Apr 2004 14:02:06 -0500 dunemush (pennmush/c/17_fundb.c 1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.7.1.3.1.3.1.3.1.2.1.2.1.3.2.1.2.1.2.1.1.1.1.4.1.1.1.1.1.1.1.1.1.1.1.3.1.1.2.2.2.1.1.1.1.1.1.33 660) --- 1_7_7.964(w)/src/fundb.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/17_fundb.c 1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.7.1.3.1.3.1.3.1.2.1.2.1.3.2.1.2.1.2.1.1.1.1.4.1.1.1.1.1.1.1.1.1.1.1.3.1.1.2.2.2.1.1.1.1.1.1.36 660) *************** *** 21,29 **** #include "game.h" #include "mushdb.h" #include "privtab.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "lock.h" #include "log.h" #include "attrib.h" --- 21,26 ---- *************** *** 262,270 **** return; } tp = tbuf = safe_atr_value(a); - #ifdef MEM_CHECK add_check("fun_eval.attr_value"); - #endif process_expression(buff, bp, &tp, thing, executor, executor, PE_DEFAULT, PT_DEFAULT, pe_info); mush_free((Malloc_t) tbuf, "fun_eval.attr_value"); --- 259,265 ---- *************** *** 304,312 **** return; } tp = tbuf = safe_atr_value(a); - #ifdef MEM_CHECK add_check("fun_eval.attr_value"); - #endif process_expression(buff, bp, &tp, thing, executor, executor, PE_DEFAULT, PT_DEFAULT, pe_info); mush_free((Malloc_t) tbuf, "fun_eval.attr_value"); --- 299,305 ---- *************** *** 343,351 **** } /* Ok, we've got it */ sp = sbuf = safe_atr_value(attrib); - #ifdef MEM_CHECK add_check("fun_edefault.attr_value"); - #endif process_expression(buff, bp, &sp, thing, executor, executor, PE_DEFAULT, PT_DEFAULT, pe_info); mush_free((Malloc_t) sbuf, "fun_edefault.attr_value"); --- 336,342 ---- *************** *** 502,512 **** safe_str(T(e_perm), buff, bp); return; } ! #ifdef FUNCTION_SIDE_EFFECTS ! do_power(executor, args[0], args[1]); ! #else ! safe_str(T(e_disabled), buff, bp); ! #endif return; } it = match_thing(executor, args[0]); --- 493,502 ---- safe_str(T(e_perm), buff, bp); return; } ! if (FUNCTION_SIDE_EFFECTS) ! do_power(executor, args[0], args[1]); ! else ! safe_str(T(e_disabled), buff, bp); return; } it = match_thing(executor, args[0]); *************** *** 1083,1094 **** safe_str(T(e_perm), buff, bp); return; } ! #ifdef FUNCTION_SIDE_EFFECTS ! do_lock(executor, args[0], args[1], ltype); ! #else ! safe_str(T(e_disabled), buff, bp); ! #endif ! return; } if (GoodObject(it) && (ltype != NULL) && Can_Read_Lock(executor, it, ltype)) { --- 1073,1084 ---- safe_str(T(e_perm), buff, bp); return; } ! if (FUNCTION_SIDE_EFFECTS) ! do_lock(executor, args[0], args[1], ltype); ! else { ! safe_str(T(e_disabled), buff, bp); ! return; ! } } if (GoodObject(it) && (ltype != NULL) && Can_Read_Lock(executor, it, ltype)) { *************** *** 1252,1263 **** safe_str(T(e_perm), buff, bp); return; } ! #ifdef FUNCTION_SIDE_EFFECTS ! (void) do_chzone(executor, args[0], args[1], 1); ! #else ! safe_str(T(e_disabled), buff, bp); ! return; ! #endif } it = match_thing(executor, args[0]); if (!GoodObject(it)) --- 1242,1253 ---- safe_str(T(e_perm), buff, bp); return; } ! if (FUNCTION_SIDE_EFFECTS) ! (void) do_chzone(executor, args[0], args[1], 1); ! else { ! safe_str(T(e_disabled), buff, bp); ! return; ! } } it = match_thing(executor, args[0]); if (!GoodObject(it)) *************** *** 1278,1289 **** safe_str(T(e_perm), buff, bp); return; } ! #ifdef FUNCTION_SIDE_EFFECTS ! do_parent(executor, args[0], args[1]); ! #else ! safe_str(T(e_disabled), buff, bp); ! return; ! #endif } it = match_thing(executor, args[0]); if (!GoodObject(it)) --- 1268,1279 ---- safe_str(T(e_perm), buff, bp); return; } ! if (FUNCTION_SIDE_EFFECTS) ! do_parent(executor, args[0], args[1]); ! else { ! safe_str(T(e_disabled), buff, bp); ! return; ! } } it = match_thing(executor, args[0]); if (!GoodObject(it)) *************** *** 1403,1413 **** safe_str(T(e_perm), buff, bp); return; } ! #ifdef FUNCTION_SIDE_EFFECTS ! do_name(executor, args[0], args[1]); ! #else ! safe_str(T(e_disabled), buff, bp); ! #endif return; } it = match_thing(executor, args[0]); --- 1393,1402 ---- safe_str(T(e_perm), buff, bp); return; } ! if (FUNCTION_SIDE_EFFECTS) ! do_name(executor, args[0], args[1]); ! else ! safe_str(T(e_disabled), buff, bp); return; } it = match_thing(executor, args[0]); *************** *** 1605,1611 **** safe_dbref(item, buff, bp); } - #ifdef FUNCTION_SIDE_EFFECTS /* -------------------------------------------------------------------------- * Creation functions: CREATE, PCREATE, OPEN, DIG --- 1594,1599 ---- *************** *** 1616,1621 **** --- 1604,1614 ---- { int cost; + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } + if (!command_check_byname(executor, "@create") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1630,1635 **** --- 1623,1632 ---- /* ARGSUSED */ FUNCTION(fun_pcreate) { + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@pcreate") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1640,1645 **** --- 1637,1646 ---- /* ARGSUSED */ FUNCTION(fun_open) { + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@open") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1650,1655 **** --- 1651,1660 ---- /* ARGSUSED */ FUNCTION(fun_dig) { + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@dig") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1660,1665 **** --- 1665,1674 ---- /* ARGSUSED */ FUNCTION(fun_clone) { + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@clone") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1675,1680 **** --- 1684,1693 ---- /* ARGSUSED */ FUNCTION(fun_link) { + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@link") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1685,1690 **** --- 1698,1707 ---- /* ARGSUSED */ FUNCTION(fun_set) { + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@set") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1695,1700 **** --- 1712,1721 ---- /* ARGSUSED */ FUNCTION(fun_wipe) { + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@wipe") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1712,1717 **** --- 1733,1742 ---- { int silent = 0; int inside = 0; + if (!FUNCTION_SIDE_EFFECTS) { + safe_str(T(e_disabled), buff, bp); + return; + } if (!command_check_byname(executor, "@tel") || fun->flags & FN_NOSIDEFX) { safe_str(T(e_perm), buff, bp); return; *************** *** 1724,1787 **** } - #else - - /* ARGSUSED */ - FUNCTION(fun_create) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_pcreate) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_open) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_dig) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_clone) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_link) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_set) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_wipe) - { - safe_str(T(e_disabled), buff, bp); - } - - /* ARGSUSED */ - FUNCTION(fun_tel) - { - safe_str(T(e_disabled), buff, bp); - } - - #endif /* FUNCTION_SIDE_EFFECTS */ - /* ARGSUSED */ FUNCTION(fun_isdbref) { --- 1749,1754 ---- *************** *** 1809,1817 **** } tp = grep_util(executor, it, args[1], args[2], arglens[2], strcmp(called_as, "GREP")); - #ifdef MEM_CHECK add_check("fun_grep.attr_list"); - #endif safe_str(tp, buff, bp); mush_free((Malloc_t) tp, "fun_grep.attr_list"); } --- 1776,1782 ---- *************** *** 1865,1880 **** status = 1; if (status == 1) { ! #ifdef FUNCTION_SIDE_EFFECTS ! if (!command_check_byname(executor, "@atrlock") || fun->flags & FN_NOSIDEFX) { ! safe_str(T(e_perm), buff, bp); return; ! } ! do_atrlock(executor, args[0], args[1]); ! return; ! #else ! safe_str(T(e_disabled), buff, bp); ! #endif return; } --- 1830,1845 ---- status = 1; if (status == 1) { ! if (FUNCTION_SIDE_EFFECTS) { ! if (!command_check_byname(executor, "@atrlock") ! || fun->flags & FN_NOSIDEFX) { ! safe_str(T(e_perm), buff, bp); ! return; ! } ! do_atrlock(executor, args[0], args[1]); return; ! } else ! safe_str(T(e_disabled), buff, bp); return; } *** 1_7_7.920/src/function.c Sun, 28 Mar 2004 23:42:28 -0600 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.2.1.1.1.7.1.22.1.11.1.3.1.6 660) --- 1_7_7.964(w)/src/function.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.2.1.1.1.7.1.22.1.11.1.3.1.13 660) *************** *** 21,29 **** #include "match.h" #include "htab.h" #include "parse.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "lock.h" #include "flags.h" #include "game.h" --- 21,26 ---- *************** *** 33,38 **** --- 30,36 ---- static void func_hash_insert(const char *name, FUN *func); extern void local_functions(void); + static int apply_restrictions(unsigned int result, const char *restriction); USERFN_ENTRY *userfn_tab; /**< Table of user-defined functions */ HASHTAB htab_function; /**< Function hash table */ *************** *** 209,215 **** {"CASE", fun_switch, 3, INT_MAX, FN_NOPARSE}, {"CASEALL", fun_switch, 3, INT_MAX, FN_NOPARSE}, {"CAT", fun_cat, 1, INT_MAX, FN_REG}, - #ifdef CHAT_SYSTEM {"CEMIT", fun_cemit, 2, 3, FN_REG}, {"CFLAGS", fun_cflags, 1, 2, FN_REG}, {"CHANNELS", fun_channels, 0, 2, FN_REG}, --- 207,212 ---- *************** *** 217,223 **** {"COWNER", fun_cowner, 1, 1, FN_REG}, {"CTITLE", fun_ctitle, 2, 2, FN_REG}, {"CWHO", fun_cwho, 1, 1, FN_REG}, - #endif {"CENTER", fun_center, 2, 3, FN_REG}, {"CHILDREN", fun_lsearch, 1, 1, FN_REG}, {"CHR", fun_chr, 1, 1, FN_REG}, --- 214,219 ---- *************** *** 270,278 **** {"FLIP", fun_flip, 1, 1, FN_REG}, {"FLOORDIV", fun_floordiv, 2, 2, FN_REG}, {"FOLD", fun_fold, 2, 4, FN_REG}, - #ifdef USE_MAILER {"FOLDERSTATS", fun_folderstats, 0, 2, FN_REG}, - #endif {"FOLLOWERS", fun_followers, 1, 1, FN_REG}, {"FOLLOWING", fun_following, 1, 1, FN_REG}, {"FOREACH", fun_foreach, 2, 4, FN_REG}, --- 266,272 ---- *************** *** 351,357 **** {"LVEXITS", fun_lvexits, 1, 1, FN_REG}, {"LVPLAYERS", fun_lvplayers, 1, 1, FN_REG}, {"LWHO", fun_lwho, 0, 0, FN_REG}, - #ifdef USE_MAILER {"MAIL", fun_mail, 0, 2, FN_REG}, {"MAILFROM", fun_mailfrom, 1, 2, FN_REG}, {"MAILSTATS", fun_mailstats, 1, 1, FN_REG}, --- 345,350 ---- *************** *** 360,366 **** {"MAILSTATUS", fun_mailstatus, 1, 2, FN_REG}, {"MAILSUBJECT", fun_mailsubject, 1, 2, FN_REG}, {"MAILTIME", fun_mailtime, 1, 2, FN_REG}, - #endif {"MAP", fun_map, 2, 4, FN_REG}, {"MATCH", fun_match, 2, 3, FN_REG}, {"MATCHALL", fun_matchall, 2, 4, FN_REG}, --- 353,358 ---- *************** *** 419,427 **** {"POSS", fun_poss, 1, 1, FN_REG}, {"POWERS", fun_powers, 1, 2, FN_REG}, {"PUEBLO", fun_pueblo, 1, 1, FN_REG}, - #ifdef QUOTA {"QUOTA", fun_quota, 1, 1, FN_REG}, - #endif {"R", fun_r, 1, 1, FN_REG}, {"RAND", fun_rand, 1, 2, FN_REG}, {"RANDWORD", fun_randword, 1, 2, FN_REG}, --- 411,417 ---- *************** *** 798,803 **** --- 788,839 ---- static Size_t userfn_count = 0; + static int + apply_restrictions(unsigned int result, const char *restriction) + { + int flag, clear = 0; + char *tp; + while (restriction && *restriction) { + if ((tp = strchr(restriction, ' '))) + *tp++ = '\0'; + if (*restriction == '!') { + restriction++; + clear = 1; + } + flag = 0; + if (!strcasecmp(restriction, "nobody")) { + flag = FN_DISABLED; + } else if (string_prefix(restriction, "nogag")) { + flag = FN_NOGAGGED; + } else if (string_prefix(restriction, "nofix")) { + flag = FN_NOFIXED; + } else if (!strcasecmp(restriction, "noguest")) { + flag = FN_NOGUEST; + } else if (!strcasecmp(restriction, "admin")) { + flag = FN_ADMIN; + } else if (!strcasecmp(restriction, "wizard")) { + flag = FN_WIZARD; + } else if (!strcasecmp(restriction, "god")) { + flag = FN_GOD; + } else if (!strcasecmp(restriction, "nosidefx")) { + flag = FN_NOSIDEFX; + } else if (!strcasecmp(restriction, "logargs")) { + flag = FN_LOGARGS; + } else if (!strcasecmp(restriction, "logname")) { + flag = FN_LOGNAME; + } else if (!strcasecmp(restriction, "noparse")) { + flag = FN_NOPARSE; + } + if (clear) + result &= ~flag; + else + result |= flag; + restriction = tp; + } + return result; + } + + /** Given a function name and a restriction, apply the restriction to the * function in addition to whatever its usual restrictions are. * This is used by the configuration file startup in conf.c *************** *** 822,871 **** restrict_function(const char *name, const char *restriction) { FUN *fp; - int clear = 0; - unsigned int flags = 0; - char *tp; if (!name || !*name) return 0; fp = func_hash_lookup(name); if (!fp) return 0; ! while (restriction && *restriction) { ! if ((tp = strchr(restriction, ' '))) ! *tp++ = '\0'; ! ! if (*restriction == '!') { ! restriction++; ! clear = 1; ! } ! if (!strcasecmp(restriction, "nobody")) { ! flags |= FN_DISABLED; ! } else if (string_prefix(restriction, "nogag")) { ! flags |= FN_NOGAGGED; ! } else if (string_prefix(restriction, "nofix")) { ! flags |= FN_NOFIXED; ! } else if (!strcasecmp(restriction, "noguest")) { ! flags |= FN_NOGUEST; ! } else if (!strcasecmp(restriction, "admin")) { ! flags |= FN_ADMIN; ! } else if (!strcasecmp(restriction, "wizard")) { ! flags |= FN_WIZARD; ! } else if (!strcasecmp(restriction, "god")) { ! flags |= FN_GOD; ! } else if (!strcasecmp(restriction, "nosidefx")) { ! flags |= FN_NOSIDEFX; ! } else if (!strcasecmp(restriction, "logargs")) { ! flags |= FN_LOGARGS; ! } else if (!strcasecmp(restriction, "logname")) { ! flags |= FN_LOGNAME; ! } ! if (clear) ! fp->flags &= ~flags; ! else ! fp->flags |= flags; ! restriction = tp; ! } return 1; } --- 858,870 ---- restrict_function(const char *name, const char *restriction) { FUN *fp; if (!name || !*name) return 0; fp = func_hash_lookup(name); if (!fp) return 0; ! fp->flags = apply_restrictions(fp->flags, restriction); return 1; } *************** *** 995,1000 **** --- 994,1003 ---- notify(player, T("Function table full.")); return; } + if (argv[6] && *argv[6]) { + notify(player, T("Expected between 1 and 5 arguments.")); + return; + } /* a completely new entry. First, insert it into general hash table */ fp = (FUN *) mush_malloc(sizeof(FUN), "func_hash.FUN"); fp->name = mush_strdup(name, "func_hash.name"); *************** *** 1016,1022 **** fp->maxargs = 10; } else fp->maxargs = 10; ! fp->flags = 0; hashadd(name, fp, &htab_user_function); /* now add it to the user function table */ --- 1019,1028 ---- fp->maxargs = 10; } else fp->maxargs = 10; ! if (argv[5] && *argv[5]) ! fp->flags = apply_restrictions(0, argv[5]); ! else ! fp->flags = 0; hashadd(name, fp, &htab_user_function); /* now add it to the user function table */ *** 1_7_7.920/src/flags.c Thu, 25 Mar 2004 15:48:37 -0600 dunemush (pennmush/c/20_flags.c 1.1.1.1.1.1.1.1.1.1.1.1.1.6.1.2.1.1.1.1.1.2.2.2.2.1.2.1.1.3.1.2.1.1.1.1.1.1.1.1.1.3.1.9.1.2.2.1.1.2.1.56.1.12.1.1.1.10 660) --- 1_7_7.964(w)/src/flags.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/20_flags.c 1.1.1.1.1.1.1.1.1.1.1.1.1.6.1.2.1.1.1.1.1.2.2.2.2.1.2.1.1.3.1.2.1.1.1.1.1.1.1.1.1.3.1.9.1.2.2.1.1.2.1.56.1.12.1.1.1.12 660) *************** *** 112,128 **** {"GAGGED", 'g', TYPE_PLAYER, PLAYER_GAGGED, F_WIZARD, F_WIZARD}, {"MYOPIC", 'm', TYPE_PLAYER, PLAYER_MYOPIC, F_ANY, F_ANY}, {"TERSE", 'x', TYPE_PLAYER | TYPE_THING, PLAYER_TERSE, F_ANY, F_ANY}, - #ifdef JURY_OK {"JURY_OK", 'j', TYPE_PLAYER, PLAYER_JURY, F_ROYAL, F_ROYAL}, {"JUDGE", 'J', TYPE_PLAYER, PLAYER_JUDGE, F_ROYAL, F_ROYAL}, - #endif {"FIXED", 'F', TYPE_PLAYER, PLAYER_FIXED, F_WIZARD, F_WIZARD}, - #ifdef ONLINE_REG {"UNREGISTERED", '?', TYPE_PLAYER, PLAYER_UNREG, F_ROYAL, F_ROYAL}, - #endif - #ifdef VACATION_FLAG {"ON-VACATION", 'o', TYPE_PLAYER, PLAYER_VACATION, F_ANY, F_ANY}, - #endif {"SUSPECT", 's', TYPE_PLAYER, PLAYER_SUSPECT, F_WIZARD | F_MDARK, F_WIZARD | F_MDARK}, {"PARANOID", '\0', TYPE_PLAYER, PLAYER_PARANOID, F_ANY | F_ODARK, --- 112,122 ---- *************** *** 137,145 **** {"FLOATING", 'F', TYPE_ROOM, ROOM_FLOATING, F_ANY, F_ANY}, {"JUMP_OK", 'J', TYPE_ROOM, ROOM_JUMP_OK, F_ANY, F_ANY}, {"NO_TEL", 'N', TYPE_ROOM, ROOM_NO_TEL, F_ANY, F_ANY}, - #ifdef UNINSPECTED_FLAG {"UNINSPECTED", 'u', TYPE_ROOM, ROOM_UNINSPECT, F_ROYAL, F_ROYAL}, - #endif {"CLOUDY", 'x', TYPE_EXIT, EXIT_CLOUDY, F_ANY, F_ANY}, {"GOING_TWICE", '\0', NOTYPE, GOING_TWICE, F_INTERNAL | F_DARK, F_INTERNAL | F_DARK}, --- 131,137 ---- *************** *** 194,202 **** {"WATCHER", "MONITOR"}, {"ZONE", "SHARED"}, {"COLOUR", "COLOR"}, - #ifdef JURY_OK {"JURYOK", "JURY_OK"}, - #endif #ifdef VACATION_FLAG {"VACATION", "ON-VACATION"}, #endif --- 186,192 ---- *** 1_7_7.920/src/extmail.c Fri, 27 Feb 2004 15:31:35 -0600 dunemush (pennmush/c/22_extmail.c 1.44.1.7.1.5.1.9.1.1.1.1.1.10 660) --- 1_7_7.964(w)/src/extmail.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/22_extmail.c 1.44.1.7.1.5.1.9.1.1.1.1.1.15 660) *************** *** 78,86 **** #include "externs.h" #include "match.h" #include "extmail.h" - #ifdef MAIL_ALIASES #include "malias.h" - #endif #include "attrib.h" #include "parse.h" #include "mymalloc.h" --- 78,84 ---- *************** *** 88,96 **** #include "flags.h" #include "log.h" #include "lock.h" #include "confmagic.h" - #ifdef USE_MAILER extern jmp_buf db_err; --- 86,94 ---- #include "flags.h" #include "log.h" #include "lock.h" + #include "command.h" #include "confmagic.h" extern jmp_buf db_err; *************** *** 110,121 **** static void send_mail(dbref player, dbref target, char *subject, char *message, mail_flag flags, int silent, int nosig); - #ifdef MAIL_ALIASES static int send_mail_alias(dbref player, char *aname, char *subject, char *message, mail_flag flags, int silent, int nosig); - #endif static MAIL *find_insertion_point(dbref player); static int get_folder_number(dbref player, char *name); static char *get_folder_name(dbref player, int fld); --- 108,117 ---- *************** *** 710,716 **** desc_mail_set(player, NULL); desc_mail_set(player, find_exact_starting_point(player)); } ! notify(player, T("MAIL: Mailbox purged.")); return; } --- 706,713 ---- desc_mail_set(player, NULL); desc_mail_set(player, find_exact_starting_point(player)); } ! if (command_check_byname(player, "@MAIL")) ! notify(player, T("MAIL: Mailbox purged.")); return; } *************** *** 851,860 **** subject_given = 1; } else message = mb; /* Rewind the pointer to the beginning */ - #ifdef ALLOW_NOSUBJECT - if (!subject_given) - strcpy(sbuf, T("(no subject)")); - #endif /* Parse the player list */ head = tolist; while (head && *head) { --- 848,853 ---- *************** *** 887,896 **** if (!GoodObject(target)) target = short_page(current); if (!GoodObject(target) || !IsPlayer(target)) { - #ifdef MAIL_ALIASES if (!send_mail_alias (player, current, sbuf, message, mail_flags, silent, nosig)) - #endif notify_format(player, T("No such unique player: %s."), current); } else send_mail(player, target, sbuf, message, mail_flags, silent, nosig); --- 880,887 ---- *************** *** 1838,1855 **** int mail_flags = 0; mail_flags += MDBF_SUBJECT; - #ifdef MAIL_ALIASES mail_flags += MDBF_ALIASES; - #endif mail_flags += MDBF_NEW_EOD; mail_flags += MDBF_SENDERCTIME; if (mail_flags) fprintf(fp, "+%d\n", mail_flags); - #ifdef MAIL_ALIASES save_malias(fp); - #endif OUTPUT(fprintf(fp, "%d\n", mdb_top)); --- 1829,1842 ---- *************** *** 2634,2640 **** return 1; } - #ifdef MAIL_ALIASES static int send_mail_alias(dbref player, char *aname, char *subject, char *message, mail_flag flags, int silent, int nosig) --- 2621,2626 ---- *************** *** 2669,2674 **** } return 1; /* Success */ } - #endif /* MAIL_ALIASES */ - - #endif /* USE_MAILER */ --- 2655,2657 ---- *** 1_7_7.920/src/extchat.c Sun, 28 Mar 2004 10:56:14 -0600 dunemush (pennmush/c/23_extchat.c 1.1.1.1.1.1.1.1.1.2.1.1.1.3.1.1.1.5.1.1.1.1.1.5.1.2.1.3.1.3.1.1.1.4.1.2.1.6.1.2.1.1.2.4.2.9.1.2.1.2.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.2.1.1.2.1.1.2.1.1.1.1.1.1.1.1.1.16.1.7 660) --- 1_7_7.964(w)/src/extchat.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/23_extchat.c 1.1.1.1.1.1.1.1.1.2.1.1.1.3.1.1.1.5.1.1.1.1.1.5.1.2.1.3.1.3.1.1.1.4.1.2.1.6.1.2.1.1.2.4.2.9.1.2.1.2.1.3.1.2.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.2.1.1.2.1.1.2.1.1.1.1.1.1.1.1.1.16.1.12 660) *************** *** 35,41 **** #include "command.h" #include "confmagic.h" - #ifdef CHAT_SYSTEM extern jmp_buf db_err; --- 35,40 ---- *************** *** 1822,1829 **** } strcpy(CUtitle(u), title); if (!Quiet(player)) ! notify_format(player, T("Title %s for channel <%s>."), ! *title ? T("set") : T("cleared"), ChanName(c)); return; } --- 1821,1829 ---- } strcpy(CUtitle(u), title); if (!Quiet(player)) ! notify_format(player, T("Title %s for %schannel <%s>."), ! *title ? T("set") : T("cleared"), ! Channel_NoTitles(c) ? "(NoTitles) " : "", ChanName(c)); return; } *************** *** 2711,2726 **** } if (nargs == 2) { ! #ifdef FUNCTION_SIDE_EFFECTS ! if (!command_check_byname(executor, "@clock") || fun->flags & FN_NOSIDEFX) { ! safe_str(T(e_perm), buff, bp); return; } - do_chan_lock(executor, args[0], args[1], which_lock); - return; - #else - safe_str(T(e_disabled), buff, bp); - #endif } if (Chan_Can_Decomp(c, executor)) { --- 2711,2726 ---- } if (nargs == 2) { ! if (FUNCTION_SIDE_EFFECTS) { ! if (!command_check_byname(executor, "@clock") || fun->flags & FN_NOSIDEFX) { ! safe_str(T(e_perm), buff, bp); ! return; ! } ! do_chan_lock(executor, args[0], args[1], which_lock); return; + } else { + safe_str(T(e_disabled), buff, bp); } } if (Chan_Can_Decomp(c, executor)) { *************** *** 3233,3237 **** return retval; } - - #endif /* CHAT_SYSTEM */ --- 3233,3235 ---- *** 1_7_7.920/src/destroy.c Wed, 28 Apr 2004 09:04:12 -0500 dunemush (pennmush/c/24_destroy.c 1.24.2.2.1.3.1.1.1.1.1.1.1.4.1.1.1.1.1.7 660) --- 1_7_7.964(w)/src/destroy.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/24_destroy.c 1.24.2.2.1.3.1.1.1.1.1.1.1.4.1.1.1.1.1.11 660) *************** *** 610,618 **** thing); return; } - #ifdef QUOTA change_quota(Owner(thing), QUOTA_COST); - #endif /* QUOTA */ do_halt(thing, "", thing); /* The equivalent of an @drain/any/all: */ dequeue_semaphores(thing, NULL, INT_MAX, 1, 1); --- 610,616 ---- *************** *** 688,696 **** Owner(thing) = GOD; Parent(thing) = NOTHING; Zone(thing) = NOTHING; - #ifdef CHAT_SYSTEM remove_all_obj_chan(thing); - #endif switch (Typeof(thing)) { /* Make absolutely sure we are removed from Location's content or --- 686,692 ---- *************** *** 820,837 **** char alias[BUFFER_LEN + 1]; /* Clear out mail. */ - #ifdef USE_MAILER do_mail_clear(thing, NULL); do_mail_purge(thing); - #ifdef MAIL_ALIASES malias_cleanup(thing); - #endif - #endif /* Chown any chat channels they own to God */ - #ifdef CHAT_SYSTEM chan_chownall(thing, GOD); - #endif /* Clear out names from the player list */ delete_player(thing, NULL); --- 816,827 ---- *** 1_7_7.920/src/db.c Sun, 25 Apr 2004 18:31:10 -0500 dunemush (pennmush/c/25_db.c 1.26.1.1.1.1.1.6.1.1.1.17 660) --- 1_7_7.964(w)/src/db.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/25_db.c 1.26.1.1.1.1.1.6.1.1.1.20 660) *************** *** 23,31 **** #include "mushdb.h" #include "attrib.h" #include "externs.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "mymalloc.h" #include "game.h" #include "flags.h" --- 23,28 ---- *************** *** 35,43 **** #include "strtree.h" #include "parse.h" #include "htab.h" - #ifdef USE_MAILER #include "extmail.h" - #endif #include "confmagic.h" #ifdef WIN32 --- 32,38 ---- *************** *** 1048,1056 **** DBF_NEW_STRINGS | DBF_TYPE_GARBAGE | DBF_SPLIT_IMMORTAL | DBF_NO_TEMPLE | DBF_SPIFFY_LOCKS; - #ifdef MEM_CHECK log_mem_check(); - #endif loading_db = 1; --- 1043,1049 ---- *************** *** 1253,1261 **** loading_db = 0; fix_free_list(); dbck(); - #ifdef MEM_CHECK log_mem_check(); - #endif return db_top; } } --- 1246,1252 ---- *************** *** 1360,1369 **** add_lock(god, god, Enter_Lock, parse_boolexp(god, "=me", Enter_Lock), -1); add_lock(god, god, Use_Lock, parse_boolexp(god, "=me", Use_Lock), -1); atr_new_add(god, "DESCRIBE", "You see Number One.", god, desc_flags, 1); - #ifdef USE_MAILER atr_new_add(god, "MAILCURF", "0", god, AF_LOCKED | AF_NOPROG | AF_WIZARD, 1); add_folder_name(god, 0, "inbox"); - #endif PUSH(god, Contents(start_room)); add_player(god, NULL); s_Pennies(god, START_BONUS); --- 1351,1358 ---- *** 1_7_7.920/src/cque.c Tue, 27 Apr 2004 14:02:06 -0500 dunemush (pennmush/c/28_cque.c 1.36.1.5.1.1.1.1.1.1.1.2.1.6.1.16 660) --- 1_7_7.964(w)/src/cque.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/28_cque.c 1.36.1.5.1.1.1.1.1.1.1.2.1.6.1.17 660) *************** *** 25,33 **** #include "mushdb.h" #include "match.h" #include "externs.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "parse.h" #include "strtree.h" #include "mymalloc.h" --- 25,30 ---- *** 1_7_7.920/src/conf.c Tue, 27 Apr 2004 14:02:06 -0500 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.15.1.1.1.1.1.1.1.22 660) --- 1_7_7.964(w)/src/conf.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/31_conf.c 1.41.2.3.1.3.1.2.1.15.1.1.1.1.1.1.1.33 660) *************** *** 65,74 **** , {"mail_database", cf_str, options.mail_db, sizeof options.mail_db, 0, "files"} , - #ifdef CHAT_SYSTEM {"chat_database", cf_str, options.chatdb, sizeof options.chatdb, 0, "files"} , - #endif {"compress_suffix", cf_str, options.compresssuff, sizeof options.compresssuff, 0, "files"} --- 65,72 ---- *************** *** 330,344 **** , {"max_global_fns", cf_int, &options.max_global_fns, 2000, 0, 0} , - #ifdef CHAT_SYSTEM {"max_channels", cf_int, &options.max_channels, 1000, 0, "chat"} , {"max_player_chans", cf_int, &options.max_player_chans, 100, 0, "chat"} , {"chan_cost", cf_int, &options.chan_cost, 10000, 0, "chat"} , - #endif {"log_commands", cf_bool, &options.log_commands, 2, 0, "log"} , --- 328,342 ---- , {"max_global_fns", cf_int, &options.max_global_fns, 2000, 0, 0} , + {"use_quota", cf_bool, &options.use_quota, 2, 0, "limits"} + , {"max_channels", cf_int, &options.max_channels, 1000, 0, "chat"} , {"max_player_chans", cf_int, &options.max_player_chans, 100, 0, "chat"} , {"chan_cost", cf_int, &options.chan_cost, 10000, 0, "chat"} , {"log_commands", cf_bool, &options.log_commands, 2, 0, "log"} , *************** *** 346,352 **** , {"log_forces", cf_bool, &options.log_forces, 2, 0, "log"} , ! {"log_walls", cf_bool, &options.log_walls, 2, 0, "log"} , {"player_flags", cf_flag, options.player_flags, sizeof options.player_flags, --- 344,363 ---- , {"log_forces", cf_bool, &options.log_forces, 2, 0, "log"} , ! {"command_log", cf_str, options.command_log, sizeof options.command_log, 0, ! "log"} ! , ! {"wizard_log", cf_str, options.wizard_log, sizeof options.wizard_log, 0, ! "log"} ! , ! {"checkpt_log", cf_str, options.checkpt_log, sizeof options.checkpt_log, 0, ! "log"} ! , ! {"trace_log", cf_str, options.trace_log, sizeof options.trace_log, 0, ! "log"} ! , ! {"connect_log", cf_str, options.connect_log, sizeof options.connect_log, 0, ! "log"} , {"player_flags", cf_flag, options.player_flags, sizeof options.player_flags, *************** *** 364,369 **** --- 375,383 ---- {"safer_ufun", cf_bool, &options.safer_ufun, 2, 0, "funcs"} , + {"function_side_effects", cf_bool, &options.function_side_effects, 2, 0, + "funcs"} + , {"noisy_whisper", cf_bool, &options.noisy_whisper, 2, 0, "cmds"} , *************** *** 412,417 **** --- 426,433 ---- , {"reverse_shs", cf_bool, &options.reverse_shs, 2, 0, "attribs"} , + {"empty_attrs", cf_bool, &options.empty_attrs, 2, 0, "attribs"} + , {"object_cost", cf_int, &options.object_cost, 10000, 0, "costs"} , {"exit_cost", cf_int, &options.exit_cost, 10000, 0, "costs"} *************** *** 461,466 **** --- 477,484 ---- 2, 0, "net"} , #endif + {"mem_check", cf_bool, &options.mem_check, 2, 0, "log"} + , {NULL, NULL, NULL, 0, 0, NULL} }; *************** *** 479,487 **** /** The table of all configuration groups. */ CONFGROUP confgroups[] = { {"attribs", "Options affecting attributes", 0}, - #ifdef CHAT_SYSTEM {"chat", "Chat system options", 0}, - #endif {"cmds", "Options affecting command behavior", 0}, {"compile", "Compile-time options", 0}, {"cosmetic", "Cosmetic options", 0}, --- 497,503 ---- *************** *** 986,997 **** strcpy(options.input_db, "data/indb"); strcpy(options.output_db, "data/outdb"); strcpy(options.crash_db, "data/PANIC.db"); - #ifdef CHAT_SYSTEM strcpy(options.chatdb, "data/chatdb"); options.chan_cost = 1000; options.max_player_chans = 3; options.max_channels = 200; - #endif strcpy(options.mail_db, "data/maildb"); options.player_start = 0; options.master_room = 2; --- 1002,1011 ---- *************** *** 1023,1028 **** --- 1037,1045 ---- options.func_nest_lim = 50; options.func_invk_lim = 2500; options.call_lim = 0; + options.use_quota = 1; + options.function_side_effects = 1; + options.empty_attrs = 1; strcpy(options.money_singular, "Penny"); strcpy(options.money_plural, "Pennies"); strcpy(options.log_wipe_passwd, "zap!"); *************** *** 1044,1053 **** strcpy(options.down_file[0], "txt/down.txt"); strcpy(options.full_file[0], "txt/full.txt"); strcpy(options.guest_file[0], "txt/guest.txt"); options.log_commands = 0; options.log_huhs = 0; options.log_forces = 1; - options.log_walls = 0; options.support_pueblo = 0; options.login_allow = 1; options.guest_allow = 1; --- 1061,1074 ---- strcpy(options.down_file[0], "txt/down.txt"); strcpy(options.full_file[0], "txt/full.txt"); strcpy(options.guest_file[0], "txt/guest.txt"); + strcpy(options.connect_log, ""); + strcpy(options.command_log, ""); + strcpy(options.trace_log, ""); + strcpy(options.wizard_log, ""); + strcpy(options.checkpt_log, ""); options.log_commands = 0; options.log_huhs = 0; options.log_forces = 1; options.support_pueblo = 0; options.login_allow = 1; options.guest_allow = 1; *************** *** 1141,1146 **** --- 1162,1168 ---- strcpy(options.ssl_ca_file, ""); options.ssl_require_client_cert = 0; #endif + options.mem_check = 0; } /* Limit how many files we can nest */ *************** *** 1325,1333 **** PMConvertPath(options.input_db, options.input_db, 255); PMConvertPath(options.output_db, options.output_db, 255); PMConvertPath(options.crash_db, options.crash_db, 255); - #ifdef CHAT_SYSTEM PMConvertPath(options.chatdb, options.chatdb, 255); - #endif PMConvertPath(options.mail_db, options.mail_db, 255); PMConvertPath(options.connect_file[0], options.connect_file[0], 255); PMConvertPath(options.motd_file[0], options.motd_file[0], 255); --- 1347,1353 ---- *************** *** 1340,1345 **** --- 1360,1366 ---- PMConvertPath(options.guest_file[0], options.guest_file[0], 255); PMConvertPath(options.access_file, options.access_file, 255); PMConvertPath(options.names_file, options.names_file, 255); + /* Don't convert log filenames to MacOS; handled in log.c instead */ #endif } *************** *** 1590,1605 **** notify(player, T(" The MUSH was compiled with SSL support.")); #endif - #ifdef SINGLE_LOGFILE - notify(player, T(" Logging is to a single log file.")); - #else - notify(player, T(" Logging is to multiple log files.")); - #endif - - #ifdef MEM_CHECK - notify(player, " The memory allocation tracker is operating."); - #endif - #ifdef INFO_SLAVE notify(player, T(" DNS and ident lookups are handled by a slave process.")); #else --- 1611,1616 ---- *************** *** 1610,1667 **** notify(player, T(" Windows NT native TCP/IP networking functions in use.")); #else notify(player, T(" BSD sockets networking in use.")); - #endif - - notify(player, T(" Floating point functions are enabled.")); - - #ifdef FUNCTION_SIDE_EFFECTS - notify(player, T(" Side effect functions are enabled.")); - #else - notify(player, T(" Side effect functions are disabled.")); - #endif - - #ifdef USE_MAILER - notify(player, - T(" The extended built-in MUSH mailing system is being used.")); - #ifdef ALLOW_NOSUBJECT - notify(player, - T(" Messages without subject lines have subject (no subject)")); - #else - notify(player, - T - (" Messages without subject lines use the beginning of the message as subject")); - #endif - #else - notify(player, T(" The built-in MUSH mailing system is not being used.")); - #endif - - #ifdef CHAT_SYSTEM - notify(player, T(" The extended chat system is enabled.")); - #else - notify(player, T(" The chat system is disabled.")); - #endif - - #ifdef QUOTA - notify(player, T(" Quota restrictions are being enforced.")); - #endif - - - #ifdef EMPTY_ATTRS - notify(player, T(" Empty attributes are kept.")); - notify(player, T(" Empty attributes are visible.")); - notify(player, T(" Attributes can be deleted.")); - #else - notify(player, T(" Empty attributes are deleted.")); - #endif - - #ifdef ONLINE_REG - notify(player, T(" The UNREGISTERED flag is enabled.")); - #endif - #ifdef VACATION_FLAG - notify(player, T(" The VACATION flag is enabled.")); - #endif - #ifdef UNINSPECTED_FLAG - notify(player, T(" The UNINSPECTED flag is enabled.")); #endif #ifdef HAS_GETDATE --- 1621,1626 ---- *** 1_7_7.920/src/command.c Sun, 28 Mar 2004 23:42:28 -0600 dunemush (pennmush/c/36_command.c 1.56.1.1.1.1.1.1.1.2.1.1.1.1.1.5.1.2.1.1.1.1.1.2.1.3.1.10.1.1.3.47 660) --- 1_7_7.964(w)/src/command.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/36_command.c 1.56.1.1.1.1.1.1.1.2.1.1.1.1.1.5.1.2.1.1.1.1.1.2.1.3.1.10.1.1.3.52 660) *************** *** 34,42 **** #include "flags.h" #include "log.h" #include "cmds.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "confmagic.h" PTAB ptab_command; /**< Prefix table for command names. */ --- 34,39 ---- *************** *** 67,75 **** CMD_T_PLAYER | CMD_T_EQSPLIT, 0, 0}, {"@@", NULL, cmd_null, CMD_T_ANY | CMD_T_NOPARSE, 0, 0}, {"@ALLHALT", NULL, cmd_allhalt, CMD_T_ANY, "WIZARD", "HALT"}, - #ifdef QUOTA {"@ALLQUOTA", "QUIET", cmd_allquota, CMD_T_ANY, "WIZARD", "QUOTA"}, - #endif {"@ATRLOCK", NULL, cmd_atrlock, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, {"@ATRCHOWN", NULL, cmd_atrchown, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, --- 64,70 ---- *************** *** 77,83 **** CMD_T_ANY | CMD_T_EQSPLIT, "WIZARD", 0}, {"@BOOT", "PORT ME", cmd_boot, CMD_T_ANY, 0, 0}, {"@BREAK", NULL, cmd_break, CMD_T_ANY, 0, 0}, - #ifdef CHAT_SYSTEM {"@CEMIT", "NOEVAL NOISY", cmd_cemit, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, {"@CHANNEL", --- 72,77 ---- *************** *** 85,91 **** cmd_channel, CMD_T_ANY | CMD_T_SWITCHES | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, {"@CHAT", NULL, cmd_chat, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, - #endif {"@CHOWNALL", "PRESERVE", cmd_chownall, CMD_T_ANY | CMD_T_EQSPLIT, "WIZARD", 0}, --- 79,84 ---- *************** *** 104,114 **** 0, 0}, {"@CLONE", "PRESERVE", cmd_clone, CMD_T_ANY | CMD_T_NOGAGGED | CMD_T_EQSPLIT, 0, 0}, - #ifdef CHAT_SYSTEM {"@CLOCK", "JOIN SPEAK MOD SEE HIDE", cmd_clock, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, - #endif {"@DBCK", NULL, cmd_dbck, CMD_T_ANY, "WIZARD", 0}, {"@DECOMPILE", "DB TF FLAGS ATTRIBS SKIPDEFAULTS", cmd_decompile, --- 97,105 ---- *************** *** 175,191 **** CMD_T_ANY | CMD_T_NOGAGGED | CMD_T_GOD, 0, 0}, {"@LSET", NULL, cmd_lset, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, - #ifdef USE_MAILER {"@MAIL", "NOEVAL NOSIG STATS DSTATS FSTATS DEBUG NUKE FOLDERS UNFOLDER LIST READ CLEAR UNCLEAR PURGE FILE TAG UNTAG FWD FORWARD SEND SILENT URGENT", cmd_mail, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, - #ifdef MAIL_ALIASES {"@MALIAS", "SET CREATE DESTROY DESCRIBE RENAME STATS CHOWN NUKE ADD REMOVE LIST ALL WHO MEMBERS USEFLAG SEEFLAG", cmd_malias, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, - #endif - #endif {"@MAP", "DELIMIT", cmd_map, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_NOPARSE, 0, 0}, --- 166,178 ---- *************** *** 229,237 **** cmd_power, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_ARGS, "WIZARD", 0}, {"@PS", "ALL SUMMARY COUNT QUICK", cmd_ps, CMD_T_ANY, 0, 0}, {"@PURGE", NULL, cmd_purge, CMD_T_ANY, 0, 0}, - #ifdef QUOTA {"@QUOTA", "ALL SET", cmd_quota, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, - #endif {"@READCACHE", NULL, cmd_readcache, CMD_T_ANY, "WIZARD", 0}, {"@RECYCLE", "OVERRIDE", cmd_destroy, CMD_T_ANY | CMD_T_NOGAGGED, 0, 0}, --- 216,222 ---- *************** *** 257,265 **** {"@SWITCH", "NOTIFY FIRST ALL REGEXP", cmd_switch, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_RS_ARGS | CMD_T_RS_NOPARSE | CMD_T_NOGAGGED, 0, 0}, - #ifdef QUOTA {"@SQUOTA", NULL, cmd_squota, CMD_T_ANY | CMD_T_EQSPLIT, 0, 0}, - #endif {"@TELEPORT", "SILENT INSIDE", cmd_teleport, CMD_T_ANY | CMD_T_EQSPLIT | CMD_T_NOGAGGED, 0, 0}, --- 242,248 ---- *************** *** 915,921 **** case EMIT_TOKEN: replacer = "@EMIT"; break; - #ifdef CHAT_SYSTEM case CHAT_TOKEN: #ifdef CHAT_TOKEN_ALIAS case CHAT_TOKEN_ALIAS: --- 898,903 ---- *************** *** 924,930 **** command_parse_free_args; return NULL; } - #endif /* CHAT_SYSTEM */ /* And everything else */ default: /* EXCEPT exits, which have priority. We still pass them through --- 906,911 ---- *************** *** 1662,1670 **** code = safe_atr_value(atr); if (!code) return 1; - #ifdef MEM_CHECK add_check("hook.code"); - #endif save_global_regs("run_hook", origregs); restore_global_regs("hook.regs", saveregs); --- 1643,1649 ---- *** 1_7_7.920/src/cmds.c Sun, 28 Mar 2004 23:42:28 -0600 dunemush (pennmush/c/37_cmds.c 1.33.1.1.1.2.1.2.2.3.1.1.1.2.1.1.1.3.1.8.1.1.2.2.2.20.1.3.1.7.1.2.1.6 660) --- 1_7_7.964(w)/src/cmds.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/37_cmds.c 1.33.1.1.1.2.1.2.2.3.1.1.1.2.1.1.1.3.1.8.1.1.2.2.2.20.1.3.1.7.1.2.1.9 660) *************** *** 57,69 **** do_allhalt(player); } - #ifdef QUOTA COMMAND (cmd_allquota) { do_allquota(player, arg_left, SW_ISSET(sw, SWITCH_QUIET)); } - #endif - COMMAND (cmd_atrlock) { do_atrlock(player, arg_left, arg_right); } --- 57,66 ---- *************** *** 470,476 **** do_lset(player, arg_left, arg_right); } - #ifdef USE_MAILER COMMAND (cmd_mail) { int urgent = SW_ISSET(sw, SWITCH_URGENT); int silent = SW_ISSET(sw, SWITCH_SILENT); --- 467,472 ---- *************** *** 524,530 **** do_mail(player, arg_left, arg_right); /* Does its own gagged check */ } - #ifdef MAIL_ALIASES COMMAND (cmd_malias) { if (SW_ISSET(sw, SWITCH_LIST)) --- 520,525 ---- *************** *** 560,567 **** else do_malias(player, arg_left, arg_right); } - #endif - #endif COMMAND (cmd_map) { unsigned int flags = DOL_MAP; --- 555,560 ---- *************** *** 690,696 **** do_purge(player); } - #ifdef QUOTA COMMAND (cmd_quota) { if (SW_ISSET(sw, SWITCH_ALL)) do_allquota(player, arg_left, (SW_ISSET(sw, SWITCH_QUIET))); --- 683,688 ---- *************** *** 699,705 **** else do_quota(player, arg_left, "", 0); } - #endif /* QUOTA */ COMMAND (cmd_readcache) { do_readcache(player); --- 691,696 ---- *************** *** 832,843 **** SW_ISSET(sw, SWITCH_NOTIFY), SW_ISSET(sw, SWITCH_REGEXP)); } - #ifdef QUOTA COMMAND (cmd_squota) { do_quota(player, arg_left, arg_right, 1); } - #endif COMMAND (cmd_teleport) { if (rhs_present && !*arg_right) --- 823,832 ---- *** 1_7_7.920/src/bsd.c Tue, 27 Apr 2004 14:02:06 -0500 dunemush (pennmush/c/38_bsd.c 1.58.1.11.1.2.1.5.1.7.1.14.1.13.1.9.1.4.1.2.1.12.1.1.1.1.1.2.1.1.1.13.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.8.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.1.1.10 660) --- 1_7_7.964(w)/src/bsd.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/38_bsd.c 1.58.1.11.1.2.1.5.1.7.1.14.1.13.1.9.1.4.1.2.1.12.1.1.1.1.1.2.1.1.1.13.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.3.1.8.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.1.1.25 660) *************** *** 107,112 **** --- 107,113 ---- #include "pueblo.h" #include "parse.h" #include "access.h" + #include "command.h" #include "version.h" #include "patches.h" #include "mysocket.h" *************** *** 114,122 **** #include "strtree.h" #include "log.h" #include "pcre.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #ifdef HAS_OPENSSL #include "myssl.h" #endif --- 115,120 ---- *************** *** 271,276 **** --- 269,275 ---- static const char *create_fail = "Either there is already a player with that name, or that name is illegal."; + static const char *password_fail = "The password is invalid (or missing)."; static const char *register_fail = "Unable to register that player with that email address."; static const char *register_success = *************** *** 296,301 **** --- 295,301 ---- temp = T ("Either there is already a player with that name, or that name is illegal."); + temp = T("The password is invalid (or missing)."); temp = T("Unable to register that player with that email address."); temp = T("Registration successful! You will receive your password by email."); temp = T("Going down - Bye"); *************** *** 600,607 **** time(&mudtime); - start_all_logs(); - /* If we have setlocale, call it to set locale info * from environment variables */ --- 600,605 ---- *************** *** 651,656 **** --- 649,656 ---- confname[BUFFER_LEN - 1] = '\0'; init_game_config(confname); + start_all_logs(); + /* save a file descriptor */ reserve_fd(); #ifndef macintosh *************** *** 1540,1548 **** T("[%d/%s/%s] Logout by %s(#%d) "), d->descriptor, d->addr, d->ip, Name(d->player), d->player); announce_disconnect(d->player); - #ifdef USE_MAILER do_mail_purge(d->player); - #endif if (MAX_LOGINS) { login_number--; if (!under_limit && (login_number < MAX_LOGINS)) { --- 1540,1546 ---- *************** *** 1575,1583 **** d->cmds = 0; d->hide = 0; d->doing[0] = '\0'; - #ifdef USE_MAILER d->mailp = NULL; - #endif welcome_user(d); } --- 1573,1579 ---- *************** *** 1606,1614 **** fcache_dump(d, fcache.quit_fcache, NULL); /* Player was not allowed to log in from the connect screen */ announce_disconnect(d->player); - #ifdef USE_MAILER do_mail_purge(d->player); - #endif } if (MAX_LOGINS) { login_number--; --- 1602,1608 ---- *************** *** 1717,1726 **** d->cmds = 0; d->hide = 0; d->doing[0] = '\0'; - #ifdef USE_MAILER - /* Go find where this player's messages start */ d->mailp = NULL; - #endif strncpy(d->addr, addr, 100); d->addr[99] = '\0'; strncpy(d->ip, ip, 100); --- 1711,1717 ---- *************** *** 2856,2864 **** return 0; } } - #ifdef USE_MAILER d->mailp = find_exact_starting_point(player); - #endif /* check to see if this is a reconnect and also set DARK status */ is_hidden = Can_Hide(player) && Dark(player); --- 2847,2853 ---- *************** *** 2886,2907 **** ModTime(player) = (time_t) 0; announce_connect(player, isnew, num); /* broadcast connect message */ check_last(player, d->addr, d->ip); /* set Last, Lastsite, give paycheck */ - #ifdef USE_MAILER /* Check folder 0, not silently (i.e. Report lack of mail, too) */ queue_eol(d); ! check_mail(player, 0, 0); set_player_folder(player, 0); - #endif do_look_around(player); if (Haven(player)) notify(player, T("Your HAVEN flag is set. You cannot receive pages.")); - #ifdef VACATION_FLAG if (Vacation(player)) { notify(player, T ("Welcome back from vacation! Don't forget to unset your ON-VACATION flag")); } - #endif local_connect(player, isnew, num); return 1; } --- 2875,2893 ---- ModTime(player) = (time_t) 0; announce_connect(player, isnew, num); /* broadcast connect message */ check_last(player, d->addr, d->ip); /* set Last, Lastsite, give paycheck */ /* Check folder 0, not silently (i.e. Report lack of mail, too) */ queue_eol(d); ! if (command_check_byname(player, "@MAIL")) ! check_mail(player, 0, 0); set_player_folder(player, 0); do_look_around(player); if (Haven(player)) notify(player, T("Your HAVEN flag is set. You cannot receive pages.")); if (Vacation(player)) { notify(player, T ("Welcome back from vacation! Don't forget to unset your ON-VACATION flag")); } local_connect(player, isnew, num); return 1; } *************** *** 3029,3035 **** T("[%d/%s/%s] Failed create for '%s' (bad name)."), d->descriptor, d->addr, d->ip, user); } else if (player == AMBIGUOUS) { ! queue_string_eol(d, T(create_fail)); do_log(LT_CONN, 0, 0, T("[%d/%s/%s] Failed create for '%s' (bad password)."), d->descriptor, d->addr, d->ip, user); --- 3015,3021 ---- T("[%d/%s/%s] Failed create for '%s' (bad name)."), d->descriptor, d->addr, d->ip, user); } else if (player == AMBIGUOUS) { ! queue_string_eol(d, T(password_fail)); do_log(LT_CONN, 0, 0, T("[%d/%s/%s] Failed create for '%s' (bad password)."), d->descriptor, d->addr, d->ip, user); *************** *** 3724,3733 **** } else flag_broadcast(0, "MONITOR", "%s %s", T("GAME:"), tbuf1); - #ifdef CHAT_SYSTEM if (ANNOUNCE_CONNECTS) chat_player_announce(player, tbuf1, (num == 1)); - #endif loc = Location(player); if (!GoodObject(loc)) { --- 3710,3717 ---- *************** *** 3868,3877 **** } } - #ifdef CHAT_SYSTEM if (ANNOUNCE_CONNECTS) chat_player_announce(player, tbuf1, 0); - #endif /* Monitor broadcasts */ /* Redundant, but better for translators */ --- 3852,3859 ---- *************** *** 4134,4139 **** --- 4116,4165 ---- } } + /** Return the ip address of the least-idle connection of a player. + * This function performs no permission checking, and returns the + * pointer from the descriptor itself (so don't destroy the result!) + * \param player dbref of player to get ip for. + * \return IP address of player as a string or NULL if not found. + */ + char * + least_idle_ip(dbref player) + { + DESC *d, *match = NULL; + DESC_ITER_CONN(d) { + if ((d->player == player) && (!match || (d->last_time > match->last_time))) + match = d; + } + return match ? (match->ip) : NULL; + } + + /** Return the hostname of the least-idle connection of a player. + * This function performs no permission checking, and returns a static + * string. + * \param player dbref of player to get ip for. + * \return hostname of player as a string or NULL if not found. + */ + char * + least_idle_hostname(dbref player) + { + DESC *d, *match = NULL; + static char hostname[101]; + char *p; + + DESC_ITER_CONN(d) { + if ((d->player == player) && (!match || (d->last_time > match->last_time))) + match = d; + } + if (!match) + return NULL; + strcpy(hostname, match->addr); + if ((p = strchr(hostname, '@'))) { + p++; + return p; + } else + return hostname; + } + /* ARGSUSED */ FUNCTION(fun_doing) { *************** *** 4470,4476 **** } - #ifdef USE_MAILER /** Return the mailp of the player closest in db# to player, * or NULL if there's nobody on-line. * In the current mail system, mail is stored in a linked list, sorted --- 4496,4501 ---- *************** *** 4533,4539 **** } } - #endif /* USE_MAILER */ --- 4558,4563 ---- *************** *** 4856,4864 **** d->raw_input = NULL; d->raw_input_at = NULL; d->quota = options.starting_quota; - #ifdef USE_MAILER d->mailp = NULL; - #endif #ifdef HAS_OPENSSL d->ssl = NULL; d->ssl_state = 0; --- 4880,4886 ---- *************** *** 4901,4911 **** strcpy(poll_msg, getstring_noalloc(f)); first_start_time = getref(f); reboot_count = getref(f) + 1; - #ifdef USE_MAILER DESC_ITER_CONN(d) { d->mailp = find_exact_starting_point(d->player); } - #endif #ifdef HAS_OPENSSL if (SSLPORT) { sslsock = make_socket(SSLPORT, NULL, NULL, SSL_IP_ADDR); --- 4923,4931 ---- *** 1_7_7.920/src/boolexp.c Sat, 20 Mar 2004 02:18:06 -0600 dunemush (pennmush/c/39_boolexp.c 1.1.1.17.1.1.1.13.1.2.1.14 660) --- 1_7_7.964(w)/src/boolexp.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/39_boolexp.c 1.1.1.17.1.1.1.13.1.2.1.18 660) *************** *** 101,107 **** #include "log.h" #include "extchat.h" #include "strtree.h" - #include "memcheck.h" #include "confmagic.h" /* #define DEBUG_BYTECODE */ --- 101,106 ---- *************** *** 180,185 **** --- 179,186 ---- OP_TTYPE, /**< Tests TYPE^ARG */ OP_TPOWER, /**< Tests POWER^ARG */ OP_TCHANNEL, /**< Tests CHANNEL^ARG */ + OP_TIP, /**< Tests IP^ARG */ + OP_THOSTNAME, /**< Tests HOSTNAME^ARG */ OP_LOADS, /**< Load ARG into S */ OP_LOADR, /**< Load ARG into R */ OP_NEGR, /**< Negate R */ *************** *** 235,240 **** --- 236,243 ---- {"POWER", OP_TPOWER}, {"TYPE", OP_TTYPE}, {"CHANNEL", OP_TCHANNEL}, + {"IP", OP_TIP}, + {"HOSTNAME", OP_THOSTNAME}, {NULL, 0} }; *************** *** 504,510 **** r = 0; break; case OP_TCHANNEL: - #ifdef CHAT_SYSTEM { CHAN *chan; boolexp_recursion++; --- 507,512 ---- *************** *** 512,520 **** r = chan && onchannel(player, chan); boolexp_recursion--; } ! #else ! r = 0; ! #endif break; case OP_TTYPE: switch (bytecode[arg]) { --- 514,554 ---- r = chan && onchannel(player, chan); boolexp_recursion--; } ! break; ! case OP_TIP: ! boolexp_recursion++; ! if (!Connected(Owner(player))) ! r = 0; ! else { ! /* We use the attribute for permission checks, but we ! * do the actual boolexp itself with the least idle ! * descriptor's ip address. ! */ ! a = atr_get(Owner(player), "LASTIP"); ! if (!a || !Can_Read_Attr(target, player, a)) ! r = 0; ! else { ! char *p = least_idle_ip(Owner(player)); ! r = p ? quick_wild(bytecode + arg, p) : 0; ! } ! } ! boolexp_recursion--; ! break; ! case OP_THOSTNAME: ! boolexp_recursion++; ! if (!Connected(Owner(player))) ! r = 0; ! else { ! /* See comment for OP_TIP */ ! a = atr_get(Owner(player), "LASTSITE"); ! if (!a || !Can_Read_Attr(target, player, a)) ! r = 0; ! else { ! char *p = least_idle_hostname(Owner(player)); ! r = p ? quick_wild(bytecode + arg, p) : 0; ! } ! } ! boolexp_recursion--; break; case OP_TTYPE: switch (bytecode[arg]) { *************** *** 685,690 **** --- 719,730 ---- case OP_TCHANNEL: safe_format(boolexp_buf, &buftop, "CHANNEL^%s", bytecode + arg); break; + case OP_TIP: + safe_format(boolexp_buf, &buftop, "IP^%s", bytecode + arg); + break; + case OP_THOSTNAME: + safe_format(boolexp_buf, &buftop, "HOSTNAME^%s", bytecode + arg); + break; } } } *************** *** 1524,1529 **** --- 1564,1571 ---- case OP_TPOWER: case OP_TTYPE: case OP_TCHANNEL: + case OP_TIP: + case OP_THOSTNAME: i->arg = blen + offset_to_string(a, i->arg); break; default: *************** *** 1731,1736 **** --- 1773,1784 ---- break; case OP_TCHANNEL: printf("TCHANNEL \"%s\"\n", bytecode + arg); + break; + case OP_TIP: + printf("TIP \"%s\"\n", bytecode + arg); + break; + case OP_THOSTNAME: + printf("THOSTNAME \"%s\"\n", bytecode + arg); break; case OP_LOADS: printf("LOADS \"%s\"\n", bytecode + arg); *** 1_7_7.920/src/attrib.c Fri, 27 Feb 2004 15:31:35 -0600 dunemush (pennmush/c/40_attrib.c 1.15.1.2.1.5.1.1.1.3.1.3.1.2.1.2.1.2.2.1.1.2.1.2.1.2.1.1.1.3.1.1.1.1.1.1.3.43.1.1 660) --- 1_7_7.964(w)/src/attrib.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/40_attrib.c 1.15.1.2.1.5.1.1.1.3.1.3.1.2.1.2.1.2.2.1.1.2.1.2.1.2.1.1.1.3.1.1.1.1.1.1.3.43.1.3 660) *************** *** 16,24 **** #include "dbdefs.h" #include "externs.h" #include "match.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "parse.h" #include "htab.h" #include "privtab.h" --- 16,21 ---- *************** *** 203,212 **** char const *name; ATTR **ins; ! #ifndef EMPTY_ATTRS ! if (!*s) return; - #endif ptr = get_atr_free_list(); atr_free_list = AL_NEXT(ptr); --- 200,207 ---- char const *name; ATTR **ins; ! if (!EMPTY_ATTRS && !*s) return; ptr = get_atr_free_list(); atr_free_list = AL_NEXT(ptr); *************** *** 288,297 **** if (!s) return atr_clr(thing, atr, player); ! #ifndef EMPTY_ATTRS ! if (!*s) return atr_clr(thing, atr, player); - #endif if (!good_atr_name(atr)) return AE_BADNAME; --- 283,290 ---- if (!s) return atr_clr(thing, atr, player); ! if (!EMPTY_ATTRS && !*s) return atr_clr(thing, atr, player); if (!good_atr_name(atr)) return AE_BADNAME; *************** *** 1100,1109 **** int was_hearer; int was_listener; dbref contents; ! #ifndef EMPTY_ATTRS ! if (s && !*s) s = NULL; - #endif if (IsGarbage(thing)) { notify(player, T("Garbage is garbage.")); return 0; --- 1093,1100 ---- int was_hearer; int was_listener; dbref contents; ! if (!EMPTY_ATTRS && s && !*s) s = NULL; if (IsGarbage(thing)) { notify(player, T("Garbage is garbage.")); return 0; *************** *** 1171,1181 **** return 0; } else if (res == AE_ERROR) { if (*missing_name) { ! if (s ! #ifndef EMPTY_ATTRS ! && *s ! #endif ! ) notify_format(player, T("You must set %s first."), missing_name); else notify_format(player, --- 1162,1168 ---- return 0; } else if (res == AE_ERROR) { if (*missing_name) { ! if (s && (EMPTY_ATTRS || *s)) notify_format(player, T("You must set %s first."), missing_name); else notify_format(player, *** 1_7_7.920/src/access.c Sun, 14 Mar 2004 19:56:40 -0600 dunemush (pennmush/c/43_access.c 1.11.1.2.1.4.1.9 660) --- 1_7_7.964(w)/src/access.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/c/43_access.c 1.11.1.2.1.4.1.10 660) *************** *** 74,82 **** #endif #include "conf.h" #include "externs.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "access.h" #include "mymalloc.h" #include "match.h" --- 74,79 ---- *** 1_7_7.920/hdrs/version.h Wed, 28 Apr 2004 09:46:59 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.33 660) --- 1_7_7.964(w)/hdrs/version.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.33 660) *************** *** 1,3 **** ! #define VERSION "PennMUSH version 1.7.7 patchlevel 29 [04/28/2004]" ! #define SHORTVN "PennMUSH 1.7.7p29" ! #define NUMVERSION 001007007029 --- 1,3 ---- ! #define VERSION "PennMUSH version 1.7.7 patchlevel 30 [05/06/2004]" ! #define SHORTVN "PennMUSH 1.7.7p30" ! #define NUMVERSION 001007007030 *** 1_7_7.920/hdrs/malias.h Thu, 30 Jan 2003 13:16:01 -0600 dunemush (pennmush/d/5_malias.h 1.17 660) --- 1_7_7.964(w)/hdrs/malias.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/5_malias.h 1.18 660) *************** *** 3,9 **** #ifndef _MALIAS_H #define _MALIAS_H - #ifdef MAIL_ALIASES #define MALIAS_TOKEN '+' /* Initial char for alias names */ --- 3,8 ---- *************** *** 51,57 **** /* We still need this one */ void load_malias(FILE * fp); - - #endif #endif --- 50,54 ---- *** 1_7_7.920/hdrs/game.h Sun, 28 Mar 2004 23:42:28 -0600 dunemush (pennmush/d/12_game.h 1.28.1.2.1.1.1.1.1.1.1.7.1.16 660) --- 1_7_7.964(w)/hdrs/game.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/12_game.h 1.28.1.2.1.1.1.1.1.1.1.7.1.17 660) *************** *** 149,159 **** extern void do_search(dbref player, const char *arg1, char **arg3); extern dbref do_pcreate (dbref creator, const char *player_name, const char *player_password); - #ifdef QUOTA extern void do_quota (dbref player, const char *arg1, const char *arg2, int set_q); extern void do_allquota(dbref player, const char *arg1, int quiet); - #endif extern void do_teleport (dbref player, const char *arg1, const char *arg2, int silent, int inside); extern void do_force(dbref player, const char *what, char *command); --- 149,157 ---- *** 1_7_7.920/hdrs/extmail.h Sat, 05 Jul 2003 15:56:20 -0500 dunemush (pennmush/d/15_extmail.h 1.6.1.10 660) --- 1_7_7.964(w)/hdrs/extmail.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/15_extmail.h 1.6.1.11 660) *************** *** 2,8 **** #ifndef _EXTMAIL_H #define _EXTMAIL_H - #ifdef USE_MAILER /* Some of this isn't implemented yet, but heralds the future! */ #define M_MSGREAD 0x0001 #define M_UNREAD 0x0FFE --- 2,7 ---- *************** *** 105,109 **** extern void desc_mail_set(dbref player, struct mail *mp); extern void desc_mail_clear(void); - #endif /* USE_MAILER */ #endif /* _EXTMAIL_H */ --- 104,107 ---- *** 1_7_7.920/hdrs/externs.h Wed, 28 Apr 2004 08:58:27 -0500 dunemush (pennmush/d/16_externs.h 1.1.1.53.1.2.1.8.2.1.1.2.1.1.1.1.1.2.1.6.1.3.1.4.3.1.1.1.1.18.1.8.1.1.1.5 660) --- 1_7_7.964(w)/hdrs/externs.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/16_externs.h 1.1.1.53.1.2.1.8.2.1.1.2.1.1.1.1.1.2.1.6.1.3.1.4.3.1.1.1.1.18.1.8.1.1.1.9 660) *************** *** 93,98 **** --- 93,100 ---- extern dbref guest_to_connect(dbref player); void dump_reboot_db(void); void close_ssl_connections(void); + char *least_idle_ip(dbref player); + char *least_idle_hostname(dbref player); /* The #defs for our notify_anything hacks.. Errr. Functions */ #define NA_NORELAY 0x0001 *************** *** 133,141 **** extern dbref na_except(dbref current, void *data); extern dbref na_except2(dbref current, void *data); extern dbref na_exceptN(dbref current, void *data); - #ifdef CHAT_SYSTEM extern dbref na_channel(dbref current, void *data); - #endif #define notify(p,m) notify_anything(orator, na_one, &(p), NULL, 0, m) #define notify_must_puppet(p,m) notify_anything(orator, na_one, &(p), NULL, NA_MUST_PUPPET, m) --- 135,141 ---- *************** *** 212,217 **** --- 212,223 ---- extern void do_look_around(dbref player); extern void do_look_at(dbref player, const char *name, int key); + /* From memcheck.c */ + extern void add_check(const char *ref); + extern void del_check(const char *ref); + extern void list_mem_check(dbref player); + extern void log_mem_check(void); + /* From move.c */ extern void enter_room(dbref player, dbref loc, int nomovemsgs); extern int can_move(dbref player, const char *direction); *************** *** 277,286 **** extern void giveto(dbref who, int pennies); extern int payfor(dbref who, int cost); extern int nearby(dbref obj1, dbref obj2); - #ifdef QUOTA extern int get_current_quota(dbref who); extern void change_quota(dbref who, int payment); - #endif extern int ok_name(const char *name); extern int ok_command_name(const char *name); extern int ok_player_name(const char *name, dbref player); --- 283,290 ---- *** 1_7_7.920/hdrs/extchat.h Sat, 20 Mar 2004 02:18:06 -0600 dunemush (pennmush/d/17_extchat.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.3.1.1.1.1.2.2.1.9.1.1.1.5.1.1 660) --- 1_7_7.964(w)/hdrs/extchat.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/17_extchat.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.3.1.1.1.1.2.2.1.9.1.1.1.5.1.2 660) *************** *** 41,47 **** #ifndef __EXTCHAT_H #define __EXTCHAT_H - #ifdef CHAT_SYSTEM #include "boolexp.h" --- 41,46 ---- *************** *** 264,268 **** }; - #endif /* CHAT_SYSTEM */ #endif /* __EXTCHAT_H */ --- 263,266 ---- *** 1_7_7.920/hdrs/dbdefs.h Sat, 20 Mar 2004 01:47:00 -0600 dunemush (pennmush/d/18_dbdefs.h 1.1.1.1.1.1.1.1.1.1.1.2.2.2.1.1.1.1.1.1.2.1.1.22.1.6.1.1 660) --- 1_7_7.964(w)/hdrs/dbdefs.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/18_dbdefs.h 1.1.1.1.1.1.1.1.1.1.1.2.2.2.1.1.1.1.1.1.2.1.1.22.1.6.1.5 660) *************** *** 62,74 **** #define Typeof(x) (Type(x) & ~TYPE_MARKED) /* Check for a specific one */ ! #define IsPlayer(x) (Typeof(x) & TYPE_PLAYER) ! #define IsRoom(x) (Typeof(x) & TYPE_ROOM) ! #define IsThing(x) (Typeof(x) & TYPE_THING) ! #define IsExit(x) (Typeof(x) & TYPE_EXIT) /* Was Destroyed() */ ! #define IsGarbage(x) (Typeof(x) & TYPE_GARBAGE) ! #define Marked(x) (db[(x)].type & TYPE_MARKED) #define IS(thing,type,flag) \ ((Typeof(thing) == type) && has_flag_by_name(thing,flag,type)) --- 62,74 ---- #define Typeof(x) (Type(x) & ~TYPE_MARKED) /* Check for a specific one */ ! #define IsPlayer(x) (!!(Typeof(x) & TYPE_PLAYER)) ! #define IsRoom(x) (!!(Typeof(x) & TYPE_ROOM)) ! #define IsThing(x) (!!(Typeof(x) & TYPE_THING)) ! #define IsExit(x) (!!(Typeof(x) & TYPE_EXIT)) /* Was Destroyed() */ ! #define IsGarbage(x) (!!(Typeof(x) & TYPE_GARBAGE)) ! #define Marked(x) (!!(db[(x)].type & TYPE_MARKED)) #define IS(thing,type,flag) \ ((Typeof(thing) == type) && has_flag_by_name(thing,flag,type)) *************** *** 83,94 **** #define ZMaster(x) (IS(x, TYPE_PLAYER, "ZONE")) /* 0x800 */ #define Unregistered(x) (IS(x, TYPE_PLAYER, "UNREGISTERED")) #define Fixed(x) (IS(Owner(x), TYPE_PLAYER, "FIXED")) - - #ifdef VACATION_FLAG #define Vacation(x) (IS(x, TYPE_PLAYER, "ON-VACATION")) /* 0x10000 */ - #else - #define Vacation(x) 0 - #endif /* Flags that apply to players, and all their stuff, * so check the Owner() of the object. --- 83,89 ---- *************** *** 119,129 **** #define RoomZTel(x) (IS(x, TYPE_ROOM, "Z_TEL")) /* 0x200 */ #define RoomInhearit(x) (IS(x, TYPE_ROOM, "LISTEN_PARENT")) /* 0x400 */ - #ifdef UNINSPECTED_FLAG #define Uninspected(x) (IS(x, TYPE_ROOM, "UNINSPECTED")) /* 0x1000 */ - #else - #define Uninspected(x) 0 - #endif #define ZTel(x) (ThingZTel(x) || RoomZTel(x)) --- 114,120 ---- *************** *** 294,300 **** #define DOLIST_VISIBLE(var, first, player)\ for((var) = first_visible((player), (first)); GoodObject((var)); (var) = first_visible((player), Next(var))) - #ifdef USE_MAILER /** A mail message. * This structure represents a single mail message in the linked list * of messages that comprises the mail database. Mail messages are --- 285,290 ---- *************** *** 314,320 **** typedef struct mail MAIL; - #endif /* USE_MAILER */ extern const char *EOD; --- 304,309 ---- *** 1_7_7.920/hdrs/conf.h Sun, 25 Apr 2004 19:10:26 -0500 dunemush (pennmush/d/20_conf.h 1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.2.1.1.2.1.2.13.1.4.1.20.1.9 660) --- 1_7_7.964(w)/hdrs/conf.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/20_conf.h 1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.2.1.1.2.1.2.13.1.4.1.20.1.15 660) *************** *** 139,150 **** char compressprog[256]; /**< Program to compress database dumps */ char uncompressprog[256]; /**< Program to uncompress database dumps */ char compresssuff[256]; /**< Suffix for compressed dump files */ - #ifdef CHAT_SYSTEM char chatdb[256]; /**< Name of the chat database file */ int max_player_chans; /**< Number of channels a player can create */ int max_channels; /**< Total maximum allowed channels */ int chan_cost; /**< Cost to create a channel */ - #endif char connect_file[2][256]; /**< Names of text and html connection files */ char motd_file[2][256]; /**< Names of text and html motd files */ char wizmotd_file[2][256]; /**< Names of text and html wizmotd files */ --- 139,148 ---- *************** *** 157,163 **** int log_commands; /**< Should we log all commands? */ int log_huhs; /**< Should we log commands that produce a Huh? */ int log_forces; /**< Should we log force commands? */ - int log_walls; /**< Should we log wall commands? */ int support_pueblo; /**< Should the MUSH send Pueblo tags? */ int login_allow; /**< Are mortals allowed to log in? */ int guest_allow; /**< Are guests allowed to log in? */ --- 155,160 ---- *************** *** 254,259 **** --- 251,265 ---- char ssl_ca_file[256]; /**< File to load the CA certs from */ int ssl_require_client_cert; /**< Are clients required to present certs? */ #endif + int mem_check; /**< Turn on the memory allocation checker? */ + int use_quota; /**< Are quotas enabled? */ + int empty_attrs; /**< Are empty attributes preserved? */ + int function_side_effects; /**< Turn on side effect functions? */ + char connect_log[256]; /**< File to log connections */ + char wizard_log[256]; /**< File to log wizard commands */ + char command_log[256]; /**< File to log suspect commands */ + char trace_log[256]; /**< File to log trace data */ + char checkpt_log[256]; /**< File to log checkpoint data */ }; extern OPTTAB options; *************** *** 403,408 **** --- 409,422 ---- #define NEWLINE_ONE_CHAR (options.newline_one_char) #define ONLY_ASCII_NAMES (options.ascii_names) #define MAX_GLOBAL_FNS (options.max_global_fns) + #define USE_QUOTA (options.use_quota) + #define EMPTY_ATTRS (options.empty_attrs) + #define FUNCTION_SIDE_EFFECTS (options.function_side_effects) + #define CONNLOG (options.connect_log) + #define WIZLOG (options.wizard_log) + #define CMDLOG (options.command_log) + #define TRACELOG (options.trace_log) + #define CHECKLOG (options.checkpt_log) #define CHUNK_SWAP_FILE (options.chunk_swap_file) #define CHUNK_CACHE_MEMORY (options.chunk_cache_memory) *** 1_7_7.920/hdrs/htab.h Mon, 28 Apr 2003 00:35:06 -0500 dunemush (pennmush/d/23_htab.h 1.8 660) --- 1_7_7.964(w)/hdrs/htab.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/23_htab.h 1.9 660) *************** *** 53,58 **** --- 53,60 ---- extern void hash_flush(HASHTAB *htab, int size); extern void *hash_firstentry(HASHTAB *htab); extern void *hash_nextentry(HASHTAB *htab); + extern char *hash_firstentry_key(HASHTAB *htab); + extern char *hash_nextentry_key(HASHTAB *htab); extern void hash_stats_header(dbref player); extern void hash_stats(dbref player, HASHTAB *htab, const char *hashname); #endif *** 1_7_7.920/hdrs/atr_tab.h Sun, 15 Feb 2004 13:48:22 -0600 dunemush (pennmush/d/26_atr_tab.h 1.15.1.13 660) --- 1_7_7.964(w)/hdrs/atr_tab.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/d/26_atr_tab.h 1.15.1.14 660) *************** *** 27,35 **** {"ALFAIL", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"ALIAS", AF_VISUAL | AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, - #ifdef USE_MAILER {"AMAIL", AF_WIZARD | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, - #endif {"AMHEAR", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"AMOVE", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"ANAME", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, --- 27,33 ---- *************** *** 99,105 **** {"LEAVE", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"LFAIL", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"LISTEN", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, - #ifdef USE_MAILER {"MAILCURF", AF_WIZARD | AF_NOPROG | AF_LOCKED | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"MAILFILTERS", AF_WIZARD | AF_NOPROG | AF_LOCKED | AF_PREFIXMATCH, --- 97,102 ---- *************** *** 107,113 **** {"MAILFOLDERS", AF_WIZARD | AF_NOPROG | AF_LOCKED | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"MAILSIGNATURE", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, - #endif {"MOVE", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, {"NAMEACCENT", AF_NOPROG | AF_VISUAL | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, --- 104,109 ---- *** 1_7_7.920/options.h.dist Sat, 24 Apr 2004 08:56:21 -0500 dunemush (pennmush/d/33_options.h. 1.10.1.1.1.1.1.2.1.1.1.1.1.1.1.3.1.6.1.2.2.3.1.1.1.1 600) --- 1_7_7.964(w)/options.h.dist Thu, 06 May 2004 00:30:20 -0500 dunemush (pennmush/d/33_options.h. 1.10.1.1.1.1.1.2.1.1.1.1.1.1.1.3.1.6.1.2.2.3.1.1.1.13 600) *************** *** 83,102 **** /*------------------------- Other internals ----------------------*/ - - /* Define this if you don't wish your log file to be split up into several - * components. This saves on file descriptors and makes it easy to tail -f - * the log, but is inconvenient for quick scanning. - */ - /* #define SINGLE_LOGFILE /* */ - - /* Defining this adds a simple tracking allocator of allocs and frees that - * keeps ref counts of what sort of memory is allocated, and how many. - * Good for testing for Memory leaks. Don't, however, define this unless - * 1. It's really necessary. 2. You know what you're doing. - */ - /* #define MEM_CHECK /* */ - /* If defined, use the info_slave to get information from identd, * instead of having the MUSH do it directly. This may help reduce lag * from new logins. This does _not_ work under Win32. --- 83,88 ---- *************** *** 111,148 **** /*------------------------- MUSH Features ----------------------*/ - /* This option is to control whether functions may have side effects - * affecting the db. With it on, the functions create(), open(), - * dig(), link(), and set() exist, corresponding to the @commands of - * the same name. Also, the 2 parameter versions of zone(), parent(), - * and lock() are enabled by this define. - */ - #define FUNCTION_SIDE_EFFECTS /* */ - - /* Comment this out if you don't wish to use the built-in mail system. - * The @mail command provides a flexible hardcoded mail system, which - * uses its own database to store messages. - */ - #define USE_MAILER /* */ - - /* Defining ALLOW_NOSUBJECT marks mail sent with no subject as having - * subject '(no subject)'. The default is for the subject of the mail to - * be the first 30 characters of the message when not specfied - */ - /* #define ALLOW_NOSUBJECT /* */ - - /* - * Should we have mail aliases (@mailing lists?). This modifies - * the maildb format, but you can reverse it. - */ - #define MAIL_ALIASES /* */ - - /* The chat channels system allows players to talk cross-MUSH to each - * other, without needing to be in the same room. Whether or not you - * want this depends on what type of MUSH you want. - */ - #define CHAT_SYSTEM /* */ - /* Many MUSHes want to change the +channels to =channels. That's * annoying. So we've got this CHAT_TOKEN_ALIAS, which allows + as well * as = (or whatever) channels. If you want this, define it to be --- 97,102 ---- *************** *** 151,200 **** */ /* #define CHAT_TOKEN_ALIAS '=' /* */ - /* Quotas limit players to a fixed number of objects. - * Wizards can check and set quotas on players. - * See also restricted_building in game/mush.cnf for another way - * to slow database growth. - */ - /* #define QUOTA /* */ - - - /*------------------------------ DB ----------------------------------*/ - - /* With EMPTY_ATTRS, empty (no value) attributes are retained on - * objects, keeping their attribute flags and locked status. - * Without this option, such attributes are fully deleted. - * Recommended. - */ - #define EMPTY_ATTRS /* */ - - - /*------------------------------ FLAGS --------------------------------*/ - - - /* If defined, enables the Jury and Judge flags, which don't do anything - * in themselves, but which other MUSHes may find useful - */ - /* #define JURY_OK /* */ - - /* If defined, adds support for the UNREGISTERED flag, which you can - * arrange in mush.cnf to have set on new players, and can test for. - * The only hardcoded restriction is in wiz.c - unreg'd players can't - * be given powers - */ - /* #define ONLINE_REG /* */ - - /* If defined, adds support for the ON-VACATION flag, which a player - * can set to indicate that they're going to be away from the MUSH - * for vacation (and which a wizard can test for when doing player purges, - * or which can aid other players, etc). - */ - /* #define VACATION_FLAG /* */ - - /* If defined, adds the UNINSPECTED flag for rooms, which does nothing, - * but can be tested for in mushcode, etc. - */ - /* #define UNINSPECTED_FLAG /* */ /*------------------------- Cosmetic Features --------------------*/ --- 105,110 ---- *************** *** 206,224 **** * Example: #define MAILER "/full/path/to/other/mailer" /* #define MAILER /* */ - - /*------------------------- Log Files ----------------------------*/ - - /* The main log is given on the command line, after the config file. - * Checkpoints are written to a separate log, as are connects and - * disconnects from the game, commands used by wizards, report traces, - * and player commands. The defaults are listed below. - */ - - #define CHECKLOG "log/checkpt.log" - #define CONNLOG "log/connect.log" - #define WIZLOG "log/wizard.log" - #define TRACELOG "log/trace.log" - #define CMDLOG "log/command.log" #endif --- 116,120 ---- *** 1_7_7.920/MANIFEST Fri, 23 Apr 2004 10:30:30 -0500 dunemush (pennmush/d/34_MANIFEST 1.21.1.2.1.7.1.3.1.20 600) --- 1_7_7.964(w)/MANIFEST Sat, 01 May 2004 13:32:50 -0500 dunemush (pennmush/d/34_MANIFEST 1.21.1.2.1.7.1.3.1.21 600) *************** *** 33,39 **** hdrs/log.h hdrs/malias.h hdrs/match.h - hdrs/memcheck.h hdrs/mushdb.h hdrs/mushtype.h hdrs/mymalloc.h --- 33,38 ---- *** 1_7_7.920/game/txt/hlp/penncode.hlp Thu, 26 Feb 2004 13:38:27 -0600 dunemush (pennmush/d/40_penncode.h 1.5.1.6 600) --- 1_7_7.964(w)/game/txt/hlp/penncode.hlp Mon, 03 May 2004 12:48:06 -0500 dunemush (pennmush/d/40_penncode.h 1.5.1.7 600) *************** *** 13,19 **** & download The latest version of this MUSH code is available at ! http://ftp.penmush.org/Source. It will be called something like pennmush-1.7.6p0.tar.Z, depending on the version number. You will also find files of translations of server messages into various languages in Source/translations/. See help i18n --- 13,19 ---- & download The latest version of this MUSH code is available at ! http://download..pennmush.org/Source. It will be called something like pennmush-1.7.6p0.tar.Z, depending on the version number. You will also find files of translations of server messages into various languages in Source/translations/. See help i18n *** 1_7_7.920/hdrs/mushtype.h Thu, 18 Sep 2003 18:49:27 -0500 dunemush (pennmush/f/20_mushtype.h 1.2.1.1.1.18 660) --- 1_7_7.964(w)/hdrs/mushtype.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/f/20_mushtype.h 1.2.1.1.1.20 660) *************** *** 116,124 **** #endif struct descriptor_data *next; /**< Next descriptor in linked list */ struct descriptor_data *prev; /**< Previous descriptor in linked list */ - #ifdef USE_MAILER struct mail *mailp; /**< Pointer to start of player's mail chain */ - #endif int conn_flags; /**< Flags of connection (telnet status, etc.) */ unsigned long input_chars; /**< Characters received */ unsigned long output_chars; /**< Characters sent */ --- 116,122 ---- *************** *** 136,146 **** #define MAX_COMMAND_LEN 4096 #define BUFFER_LEN ((MAX_COMMAND_LEN)*2) - #ifdef CHAT_SYSTEM /* Channel stuff */ typedef struct chanuser CHANUSER; typedef struct chanlist CHANLIST; typedef struct channel CHAN; - #endif #endif --- 134,142 ---- *** 1_7_7.920/game/txt/hlp/pennconf.hlp Mon, 12 Apr 2004 21:51:02 -0500 dunemush (pennmush/f/43_pennconf.h 1.14 600) --- 1_7_7.964(w)/game/txt/hlp/pennconf.hlp Sat, 01 May 2004 14:16:16 -0500 dunemush (pennmush/f/43_pennconf.h 1.15 600) *************** *** 194,200 **** max_guest_pennies=: The maximum pennies a guest can have. player_name_len=: The maximum length of a player name. queue_entry_cpu_time=: The maximum number of milliseconds a ! queue entry can take to run. & @config log These options affect logging. --- 194,202 ---- max_guest_pennies=: The maximum pennies a guest can have. player_name_len=: The maximum length of a player name. queue_entry_cpu_time=: The maximum number of milliseconds a ! queue entry can take to run. ! use_quota=: Controls if quotas are used to limit the number ! of objects a player can own. & @config log These options affect logging. *** 1_7_7.920/src/ptab.c Sat, 29 Mar 2003 13:27:53 -0600 dunemush (pennmush/g/8_ptab.c 1.8 660) --- 1_7_7.964(w)/src/ptab.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/g/8_ptab.c 1.10 660) *************** *** 12,18 **** #include #include "externs.h" #include "ptab.h" - #include "memcheck.h" #include "confmagic.h" static int ptab_find_exact_nun(PTAB *tab, const char *key); --- 12,17 ---- *************** *** 284,293 **** else tab->maxlen *= 2; tmp = realloc(tab->tab, tab->maxlen * sizeof(struct ptab_entry **)); - #ifdef MEM_CHECK if (tab->tab == NULL) add_check("ptab"); - #endif if (!tmp) return; tab->tab = tmp; --- 283,290 ---- *** 1_7_7.920/I18N Mon, 11 Nov 2002 20:39:30 -0600 dunemush (pennmush/g/22_I18N 1.1 600) --- 1_7_7.964(w)/I18N Mon, 03 May 2004 12:47:38 -0500 dunemush (pennmush/g/22_I18N 1.2 600) *************** *** 28,34 **** 1. Compiling the MUSH - tips Files with translated messages are located at ! http://ftp.pennmush.org/Source/translations/. Get the one for your patchlevel and language, put it in your pennmush/po/ directory. These files have to be compiled to an efficient internal form before --- 28,34 ---- 1. Compiling the MUSH - tips Files with translated messages are located at ! http://download.pennmush.org/Source/translations/. Get the one for your patchlevel and language, put it in your pennmush/po/ directory. These files have to be compiled to an efficient internal form before *** 1_7_7.920/hdrs/oldflags.h Tue, 07 Jan 2003 11:50:15 -0600 dunemush (pennmush/g/26_oldflags.h 1.3 660) --- 1_7_7.964(w)/hdrs/oldflags.h Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/g/26_oldflags.h 1.3.1.2 660) *************** *** 104,120 **** * sequences (for examine). */ #define PLAYER_ZONE 0x800 /* Zone Master (zone control owner) */ - #ifdef JURY_OK #define PLAYER_JURY 0x1000 /* Jury_ok Player */ #define PLAYER_JUDGE 0x2000 /* Judge player */ - #endif #define PLAYER_FIXED 0x4000 /* can't @tel or home */ - #ifdef ONLINE_REG #define PLAYER_UNREG 0x8000 /* Not yet registered */ - #endif - #ifdef VACATION_FLAG #define PLAYER_VACATION 0x10000 /* On vacation */ - #endif #define PLAYER_COLOR 0x80000 /* ANSI color ok */ #define PLAYER_NOACCENTS 0x100000 /* Strip accented text on output */ #define PLAYER_PARANOID 0x200000 /* Paranoid nospoof */ --- 104,114 ---- *************** *** 154,162 **** */ #define ROOM_INHEARIT 0x400 /* checks parent chain for ^ patterns */ - #ifdef UNINSPECTED_FLAG #define ROOM_UNINSPECT 0x1000 /* Not inspected */ - #endif /*-------------------------------------------------------------------------- --- 148,154 ---- *** 1_7_7.920/game/txt/hlp/pennvOLD.hlp Fri, 26 Mar 2004 16:27:55 -0600 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2 660) --- 1_7_7.964(w)/game/txt/hlp/pennvOLD.hlp Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.3 660) *************** *** 4418,4424 **** type 'help p'. For example, 'help 1.7.2p3' 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ! 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, --- 4418,4424 ---- type 'help p'. For example, 'help 1.7.2p3' 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ! 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 1.7.5: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 1.7.4: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, *** 1_7_7.920/game/txt/hlp/pennv177.hlp Wed, 28 Apr 2004 09:46:59 -0500 dunemush (pennmush/g/34_pennv177.h 1.226.1.14.1.53 660) --- 1_7_7.964(w)/game/txt/hlp/pennv177.hlp Thu, 06 May 2004 10:38:32 -0500 dunemush (pennmush/g/34_pennv177.h 1.226.1.14.1.71 660) *************** *** 1,4 **** ! & 1.7.7p29 & changes This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions --- 1,4 ---- ! & 1.7.7p30 & changes This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions *************** *** 11,16 **** --- 11,57 ---- A list of the patchlevels associated with each release can be read in 'help patchlevels'. + 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. + + + & 1.7.7p29 Version 1.7.7 patchlevel 29 April 28, 2004 Major changes: *** 1_7_7.920/src/notify.c Sun, 28 Mar 2004 23:42:28 -0600 dunemush (pennmush/g/35_notify.c 1.41.1.3 660) --- 1_7_7.964(w)/src/notify.c Thu, 06 May 2004 10:38:31 -0500 dunemush (pennmush/g/35_notify.c 1.41.1.5 660) *************** *** 77,92 **** #include "strtree.h" #include "log.h" - #ifdef MEM_CHECK - #include "memcheck.h" - #endif #include "mymalloc.h" - #ifdef CHAT_SYSTEM #include "extchat.h" extern CHAN *channels; - #endif #include "extmail.h" #include "attrib.h" #include "game.h" --- 77,87 ---- *** 1_7_7.920/src/Makefile.SH Sun, 15 Feb 2004 12:35:43 -0600 dunemush (pennmush/h/7_Makefile.S 1.2 655) --- 1_7_7.964(w)/src/Makefile.SH Sun, 02 May 2004 11:47:25 -0500 dunemush (pennmush/h/7_Makefile.S 1.4 655) *************** *** 78,84 **** ../hdrs/function.h ../hdrs/game.h ../hdrs/getpgsiz.h ../hdrs/help.h \ ../hdrs/htab.h ../hdrs/htab.h ../hdrs/ident.h ../hdrs/lock.h \ ../hdrs/log.h ../hdrs/log.h ../hdrs/malias.h ../hdrs/match.h \ ! ../hdrs/memcheck.h ../hdrs/mushdb.h ../hdrs/mushtype.h \ ../hdrs/mymalloc.h ../hdrs/mysocket.h ../hdrs/myssl.h \ ../hdrs/parse.h ../hdrs/pcre.h ../hdrs/privtab.h ../hdrs/ptab.h \ ../hdrs/strtree.h ../hdrs/version.h ../options.h --- 78,84 ---- ../hdrs/function.h ../hdrs/game.h ../hdrs/getpgsiz.h ../hdrs/help.h \ ../hdrs/htab.h ../hdrs/htab.h ../hdrs/ident.h ../hdrs/lock.h \ ../hdrs/log.h ../hdrs/log.h ../hdrs/malias.h ../hdrs/match.h \ ! ../hdrs/mushdb.h ../hdrs/mushtype.h \ ../hdrs/mymalloc.h ../hdrs/mysocket.h ../hdrs/myssl.h \ ../hdrs/parse.h ../hdrs/pcre.h ../hdrs/privtab.h ../hdrs/ptab.h \ ../hdrs/strtree.h ../hdrs/version.h ../options.h *************** *** 191,198 **** ctags *.c depend: funlocal.c cmdlocal.c local.c flaglocal.c ! makedepend -w10 -- $(CFLAGS) -- $(C_FILES) $(H_FILES) ! ../utils/fixdepend.pl Makefile # Requires GNU indent! indent: --- 191,198 ---- ctags *.c depend: funlocal.c cmdlocal.c local.c flaglocal.c ! makedepend -fMakefile.SH -w10 -- $(CFLAGS) -- $(C_FILES) $(H_FILES) ! ../utils/fixdepend.pl Makefile.SH # Requires GNU indent! indent: *************** *** 238,269 **** access.o: ../hdrs/conf.h access.o: ../options.h access.o: ../hdrs/mushtype.h access.o: ../hdrs/externs.h access.o: ../confmagic.h - access.o: ../hdrs/memcheck.h access.o: ../hdrs/access.h access.o: ../hdrs/mymalloc.h access.o: ../hdrs/match.h access.o: ../hdrs/parse.h access.o: ../hdrs/log.h - access.o: ../hdrs/mushdb.h - access.o: ../hdrs/dbdefs.h - access.o: ../hdrs/htab.h - access.o: ../hdrs/flags.h atr_tab.o: ../config.h atr_tab.o: ../hdrs/conf.h atr_tab.o: ../hdrs/copyrite.h atr_tab.o: ../options.h atr_tab.o: ../hdrs/mushtype.h atr_tab.o: ../hdrs/externs.h ! atr_tab.o: ../confmagic.h atr_tab.o: ../hdrs/attrib.h atr_tab.o: ../hdrs/atr_tab.h - atr_tab.o: ../hdrs/ptab.h atr_tab.o: ../hdrs/privtab.h atr_tab.o: ../hdrs/mymalloc.h - atr_tab.o: ../hdrs/dbdefs.h - atr_tab.o: ../hdrs/htab.h atr_tab.o: ../hdrs/log.h atr_tab.o: ../hdrs/parse.h attrib.o: ../hdrs/copyrite.h --- 238,274 ---- access.o: ../hdrs/conf.h access.o: ../options.h access.o: ../hdrs/mushtype.h + access.o: ../hdrs/htab.h access.o: ../hdrs/externs.h + access.o: ../hdrs/dbdefs.h + access.o: ../hdrs/mushdb.h + access.o: ../hdrs/flags.h + access.o: ../hdrs/ptab.h + access.o: ../hdrs/chunk.h + access.o: ../hdrs/attrib.h access.o: ../confmagic.h access.o: ../hdrs/access.h access.o: ../hdrs/mymalloc.h access.o: ../hdrs/match.h access.o: ../hdrs/parse.h access.o: ../hdrs/log.h atr_tab.o: ../config.h atr_tab.o: ../hdrs/conf.h atr_tab.o: ../hdrs/copyrite.h atr_tab.o: ../options.h atr_tab.o: ../hdrs/mushtype.h + atr_tab.o: ../hdrs/htab.h atr_tab.o: ../hdrs/externs.h ! atr_tab.o: ../hdrs/dbdefs.h ! atr_tab.o: ../hdrs/mushdb.h ! atr_tab.o: ../hdrs/flags.h ! atr_tab.o: ../hdrs/ptab.h ! atr_tab.o: ../hdrs/chunk.h atr_tab.o: ../hdrs/attrib.h + atr_tab.o: ../confmagic.h atr_tab.o: ../hdrs/atr_tab.h atr_tab.o: ../hdrs/privtab.h atr_tab.o: ../hdrs/mymalloc.h atr_tab.o: ../hdrs/log.h atr_tab.o: ../hdrs/parse.h attrib.o: ../hdrs/copyrite.h *************** *** 271,289 **** attrib.o: ../hdrs/conf.h attrib.o: ../options.h attrib.o: ../hdrs/mushtype.h attrib.o: ../hdrs/attrib.h attrib.o: ../hdrs/dbdefs.h ! attrib.o: ../hdrs/htab.h attrib.o: ../hdrs/externs.h attrib.o: ../confmagic.h attrib.o: ../hdrs/match.h - attrib.o: ../hdrs/memcheck.h attrib.o: ../hdrs/parse.h attrib.o: ../hdrs/privtab.h attrib.o: ../hdrs/mymalloc.h attrib.o: ../hdrs/strtree.h - attrib.o: ../hdrs/flags.h - attrib.o: ../hdrs/mushdb.h attrib.o: ../hdrs/lock.h attrib.o: ../hdrs/boolexp.h attrib.o: ../hdrs/log.h --- 276,295 ---- attrib.o: ../hdrs/conf.h attrib.o: ../options.h attrib.o: ../hdrs/mushtype.h + attrib.o: ../hdrs/htab.h + attrib.o: ../hdrs/chunk.h attrib.o: ../hdrs/attrib.h attrib.o: ../hdrs/dbdefs.h ! attrib.o: ../hdrs/mushdb.h ! attrib.o: ../hdrs/flags.h ! attrib.o: ../hdrs/ptab.h attrib.o: ../hdrs/externs.h attrib.o: ../confmagic.h attrib.o: ../hdrs/match.h attrib.o: ../hdrs/parse.h attrib.o: ../hdrs/privtab.h attrib.o: ../hdrs/mymalloc.h attrib.o: ../hdrs/strtree.h attrib.o: ../hdrs/lock.h attrib.o: ../hdrs/boolexp.h attrib.o: ../hdrs/log.h *************** *** 292,323 **** boolexp.o: ../hdrs/conf.h boolexp.o: ../options.h boolexp.o: ../hdrs/mushtype.h boolexp.o: ../hdrs/mushdb.h boolexp.o: ../hdrs/match.h boolexp.o: ../hdrs/externs.h boolexp.o: ../confmagic.h boolexp.o: ../hdrs/lock.h boolexp.o: ../hdrs/boolexp.h boolexp.o: ../hdrs/parse.h - boolexp.o: ../hdrs/attrib.h - boolexp.o: ../hdrs/flags.h - boolexp.o: ../hdrs/dbdefs.h - boolexp.o: ../hdrs/htab.h boolexp.o: ../hdrs/log.h boolexp.o: ../hdrs/extchat.h boolexp.o: ../hdrs/strtree.h - boolexp.o: ../hdrs/memcheck.h bsd.o: ../hdrs/copyrite.h bsd.o: ../config.h bsd.o: ../hdrs/conf.h bsd.o: ../options.h bsd.o: ../hdrs/mushtype.h bsd.o: ../hdrs/mushdb.h bsd.o: ../hdrs/externs.h - bsd.o: ../confmagic.h bsd.o: ../hdrs/dbdefs.h ! bsd.o: ../hdrs/htab.h ! bsd.o: ../hdrs/flags.h bsd.o: ../hdrs/lock.h bsd.o: ../hdrs/boolexp.h bsd.o: ../hdrs/help.h --- 298,333 ---- boolexp.o: ../hdrs/conf.h boolexp.o: ../options.h boolexp.o: ../hdrs/mushtype.h + boolexp.o: ../hdrs/htab.h boolexp.o: ../hdrs/mushdb.h + boolexp.o: ../hdrs/flags.h + boolexp.o: ../hdrs/ptab.h boolexp.o: ../hdrs/match.h boolexp.o: ../hdrs/externs.h + boolexp.o: ../hdrs/dbdefs.h + boolexp.o: ../hdrs/chunk.h + boolexp.o: ../hdrs/attrib.h boolexp.o: ../confmagic.h boolexp.o: ../hdrs/lock.h boolexp.o: ../hdrs/boolexp.h boolexp.o: ../hdrs/parse.h boolexp.o: ../hdrs/log.h boolexp.o: ../hdrs/extchat.h boolexp.o: ../hdrs/strtree.h bsd.o: ../hdrs/copyrite.h bsd.o: ../config.h bsd.o: ../hdrs/conf.h bsd.o: ../options.h bsd.o: ../hdrs/mushtype.h + bsd.o: ../hdrs/htab.h + bsd.o: ../hdrs/chunk.h + bsd.o: ../hdrs/attrib.h bsd.o: ../hdrs/mushdb.h + bsd.o: ../hdrs/flags.h + bsd.o: ../hdrs/ptab.h bsd.o: ../hdrs/externs.h bsd.o: ../hdrs/dbdefs.h ! bsd.o: ../confmagic.h bsd.o: ../hdrs/lock.h bsd.o: ../hdrs/boolexp.h bsd.o: ../hdrs/help.h *************** *** 326,351 **** bsd.o: ../hdrs/pueblo.h bsd.o: ../hdrs/parse.h bsd.o: ../hdrs/access.h bsd.o: ../hdrs/version.h bsd.o: ../hdrs/patches.h bsd.o: ../hdrs/mysocket.h bsd.o: ../hdrs/ident.h bsd.o: ../hdrs/strtree.h bsd.o: ../hdrs/log.h ! bsd.o: ../hdrs/memcheck.h bsd.o: ../hdrs/mymalloc.h bsd.o: ../hdrs/extmail.h - bsd.o: ../hdrs/attrib.h bsd.o: ../hdrs/game.h cmdlocal.o: ../hdrs/copyrite.h cmdlocal.o: ../config.h cmdlocal.o: ../hdrs/externs.h cmdlocal.o: ../hdrs/conf.h cmdlocal.o: ../options.h cmdlocal.o: ../hdrs/mushtype.h cmdlocal.o: ../confmagic.h cmdlocal.o: ../hdrs/parse.h - cmdlocal.o: ../hdrs/htab.h cmdlocal.o: ../hdrs/command.h cmdlocal.o: ../hdrs/switches.h cmdlocal.o: ../hdrs/cmds.h --- 336,388 ---- bsd.o: ../hdrs/pueblo.h bsd.o: ../hdrs/parse.h bsd.o: ../hdrs/access.h + bsd.o: ../hdrs/command.h + bsd.o: ../hdrs/switches.h bsd.o: ../hdrs/version.h bsd.o: ../hdrs/patches.h bsd.o: ../hdrs/mysocket.h bsd.o: ../hdrs/ident.h bsd.o: ../hdrs/strtree.h bsd.o: ../hdrs/log.h ! bsd.o: ../hdrs/pcre.h ! bsd.o: ../hdrs/myssl.h bsd.o: ../hdrs/mymalloc.h bsd.o: ../hdrs/extmail.h bsd.o: ../hdrs/game.h + chunk.o: ../hdrs/copyrite.h + chunk.o: ../config.h + chunk.o: ../hdrs/conf.h + chunk.o: ../options.h + chunk.o: ../hdrs/mushtype.h + chunk.o: ../hdrs/htab.h + chunk.o: ../hdrs/chunk.h + chunk.o: ../hdrs/attrib.h + chunk.o: ../hdrs/command.h + chunk.o: ../hdrs/switches.h + chunk.o: ../hdrs/dbdefs.h + chunk.o: ../hdrs/mushdb.h + chunk.o: ../hdrs/flags.h + chunk.o: ../hdrs/ptab.h + chunk.o: ../hdrs/externs.h + chunk.o: ../confmagic.h + chunk.o: ../hdrs/intrface.h + chunk.o: ../hdrs/log.h + chunk.o: ../hdrs/mymalloc.h cmdlocal.o: ../hdrs/copyrite.h cmdlocal.o: ../config.h cmdlocal.o: ../hdrs/externs.h + cmdlocal.o: ../hdrs/dbdefs.h + cmdlocal.o: ../hdrs/mushdb.h cmdlocal.o: ../hdrs/conf.h cmdlocal.o: ../options.h cmdlocal.o: ../hdrs/mushtype.h + cmdlocal.o: ../hdrs/htab.h + cmdlocal.o: ../hdrs/flags.h + cmdlocal.o: ../hdrs/ptab.h + cmdlocal.o: ../hdrs/chunk.h + cmdlocal.o: ../hdrs/attrib.h cmdlocal.o: ../confmagic.h cmdlocal.o: ../hdrs/parse.h cmdlocal.o: ../hdrs/command.h cmdlocal.o: ../hdrs/switches.h cmdlocal.o: ../hdrs/cmds.h *************** *** 354,367 **** cmds.o: ../hdrs/conf.h cmds.o: ../options.h cmds.o: ../hdrs/mushtype.h - cmds.o: ../hdrs/dbdefs.h cmds.o: ../hdrs/htab.h cmds.o: ../hdrs/mushdb.h cmds.o: ../hdrs/externs.h cmds.o: ../confmagic.h cmds.o: ../hdrs/match.h cmds.o: ../hdrs/game.h - cmds.o: ../hdrs/attrib.h cmds.o: ../hdrs/extmail.h cmds.o: ../hdrs/malias.h cmds.o: ../hdrs/getpgsiz.h --- 391,407 ---- cmds.o: ../hdrs/conf.h cmds.o: ../options.h cmds.o: ../hdrs/mushtype.h cmds.o: ../hdrs/htab.h + cmds.o: ../hdrs/dbdefs.h cmds.o: ../hdrs/mushdb.h + cmds.o: ../hdrs/flags.h + cmds.o: ../hdrs/ptab.h + cmds.o: ../hdrs/chunk.h + cmds.o: ../hdrs/attrib.h cmds.o: ../hdrs/externs.h cmds.o: ../confmagic.h cmds.o: ../hdrs/match.h cmds.o: ../hdrs/game.h cmds.o: ../hdrs/extmail.h cmds.o: ../hdrs/malias.h cmds.o: ../hdrs/getpgsiz.h *************** *** 373,407 **** cmds.o: ../hdrs/function.h cmds.o: ../hdrs/command.h cmds.o: ../hdrs/switches.h - cmds.o: ../hdrs/flags.h cmds.o: ../hdrs/log.h command.o: ../hdrs/copyrite.h command.o: ../config.h command.o: ../hdrs/conf.h command.o: ../options.h command.o: ../hdrs/mushtype.h - command.o: ../hdrs/dbdefs.h command.o: ../hdrs/htab.h command.o: ../hdrs/mushdb.h command.o: ../hdrs/game.h command.o: ../hdrs/externs.h command.o: ../confmagic.h command.o: ../hdrs/match.h - command.o: ../hdrs/attrib.h command.o: ../hdrs/extmail.h command.o: ../hdrs/getpgsiz.h command.o: ../hdrs/parse.h command.o: ../hdrs/access.h command.o: ../hdrs/version.h - command.o: ../hdrs/ptab.h command.o: ../hdrs/function.h command.o: ../hdrs/command.h command.o: ../hdrs/switches.h command.o: ../hdrs/mymalloc.h - command.o: ../hdrs/flags.h command.o: ../hdrs/log.h command.o: ../hdrs/cmds.h - command.o: ../hdrs/memcheck.h command.o: switchinc.c compress.o: ../config.h compress.o: ../options.h --- 413,446 ---- cmds.o: ../hdrs/function.h cmds.o: ../hdrs/command.h cmds.o: ../hdrs/switches.h cmds.o: ../hdrs/log.h command.o: ../hdrs/copyrite.h command.o: ../config.h command.o: ../hdrs/conf.h command.o: ../options.h command.o: ../hdrs/mushtype.h command.o: ../hdrs/htab.h + command.o: ../hdrs/dbdefs.h command.o: ../hdrs/mushdb.h + command.o: ../hdrs/flags.h + command.o: ../hdrs/ptab.h + command.o: ../hdrs/chunk.h + command.o: ../hdrs/attrib.h command.o: ../hdrs/game.h command.o: ../hdrs/externs.h command.o: ../confmagic.h command.o: ../hdrs/match.h command.o: ../hdrs/extmail.h command.o: ../hdrs/getpgsiz.h command.o: ../hdrs/parse.h command.o: ../hdrs/access.h command.o: ../hdrs/version.h command.o: ../hdrs/function.h command.o: ../hdrs/command.h command.o: ../hdrs/switches.h command.o: ../hdrs/mymalloc.h command.o: ../hdrs/log.h command.o: ../hdrs/cmds.h command.o: switchinc.c compress.o: ../config.h compress.o: ../options.h *************** *** 410,437 **** compress.o: ../hdrs/log.h compress.o: comp_h.c compress.o: ../hdrs/conf.h compress.o: ../hdrs/externs.h ! compress.o: ../confmagic.h compress.o: ../hdrs/mushdb.h compress.o: ../hdrs/mymalloc.h conf.o: ../hdrs/copyrite.h conf.o: ../config.h conf.o: ../hdrs/conf.h conf.o: ../options.h conf.o: ../hdrs/mushtype.h conf.o: ../hdrs/externs.h conf.o: ../confmagic.h conf.o: ../hdrs/pueblo.h - conf.o: ../hdrs/mushdb.h conf.o: ../hdrs/parse.h conf.o: ../hdrs/command.h conf.o: ../hdrs/switches.h - conf.o: ../hdrs/flags.h conf.o: ../hdrs/log.h - conf.o: ../hdrs/dbdefs.h - conf.o: ../hdrs/htab.h conf.o: ../hdrs/game.h - conf.o: ../hdrs/attrib.h conf.o: ../hdrs/help.h conf.o: ../hdrs/function.h cque.o: ../hdrs/copyrite.h --- 449,484 ---- compress.o: ../hdrs/log.h compress.o: comp_h.c compress.o: ../hdrs/conf.h + compress.o: ../hdrs/htab.h compress.o: ../hdrs/externs.h ! compress.o: ../hdrs/dbdefs.h compress.o: ../hdrs/mushdb.h + compress.o: ../hdrs/flags.h + compress.o: ../hdrs/ptab.h + compress.o: ../hdrs/chunk.h + compress.o: ../hdrs/attrib.h + compress.o: ../confmagic.h compress.o: ../hdrs/mymalloc.h conf.o: ../hdrs/copyrite.h conf.o: ../config.h conf.o: ../hdrs/conf.h conf.o: ../options.h conf.o: ../hdrs/mushtype.h + conf.o: ../hdrs/htab.h conf.o: ../hdrs/externs.h + conf.o: ../hdrs/dbdefs.h + conf.o: ../hdrs/mushdb.h + conf.o: ../hdrs/flags.h + conf.o: ../hdrs/ptab.h + conf.o: ../hdrs/chunk.h + conf.o: ../hdrs/attrib.h conf.o: ../confmagic.h conf.o: ../hdrs/pueblo.h conf.o: ../hdrs/parse.h conf.o: ../hdrs/command.h conf.o: ../hdrs/switches.h conf.o: ../hdrs/log.h conf.o: ../hdrs/game.h conf.o: ../hdrs/help.h conf.o: ../hdrs/function.h cque.o: ../hdrs/copyrite.h *************** *** 439,477 **** cque.o: ../hdrs/conf.h cque.o: ../options.h cque.o: ../hdrs/mushtype.h cque.o: ../hdrs/command.h cque.o: ../hdrs/switches.h cque.o: ../hdrs/mushdb.h cque.o: ../hdrs/match.h cque.o: ../hdrs/externs.h cque.o: ../confmagic.h - cque.o: ../hdrs/memcheck.h cque.o: ../hdrs/parse.h cque.o: ../hdrs/strtree.h cque.o: ../hdrs/mymalloc.h cque.o: ../hdrs/game.h - cque.o: ../hdrs/attrib.h - cque.o: ../hdrs/flags.h - cque.o: ../hdrs/dbdefs.h - cque.o: ../hdrs/htab.h cque.o: ../hdrs/log.h create.o: ../hdrs/copyrite.h create.o: ../config.h create.o: ../hdrs/conf.h create.o: ../options.h create.o: ../hdrs/mushtype.h create.o: ../hdrs/mushdb.h create.o: ../hdrs/attrib.h create.o: ../hdrs/externs.h create.o: ../confmagic.h create.o: ../hdrs/match.h create.o: ../hdrs/extchat.h create.o: ../hdrs/log.h - create.o: ../hdrs/flags.h - create.o: ../hdrs/dbdefs.h - create.o: ../hdrs/htab.h create.o: ../hdrs/lock.h - create.o: ../hdrs/boolexp.h create.o: ../hdrs/parse.h create.o: ../hdrs/game.h create.o: ../hdrs/command.h --- 486,527 ---- cque.o: ../hdrs/conf.h cque.o: ../options.h cque.o: ../hdrs/mushtype.h + cque.o: ../hdrs/htab.h cque.o: ../hdrs/command.h cque.o: ../hdrs/switches.h cque.o: ../hdrs/mushdb.h + cque.o: ../hdrs/flags.h + cque.o: ../hdrs/ptab.h cque.o: ../hdrs/match.h cque.o: ../hdrs/externs.h + cque.o: ../hdrs/dbdefs.h + cque.o: ../hdrs/chunk.h + cque.o: ../hdrs/attrib.h cque.o: ../confmagic.h cque.o: ../hdrs/parse.h cque.o: ../hdrs/strtree.h cque.o: ../hdrs/mymalloc.h cque.o: ../hdrs/game.h cque.o: ../hdrs/log.h create.o: ../hdrs/copyrite.h create.o: ../config.h create.o: ../hdrs/conf.h create.o: ../options.h create.o: ../hdrs/mushtype.h + create.o: ../hdrs/htab.h create.o: ../hdrs/mushdb.h + create.o: ../hdrs/flags.h + create.o: ../hdrs/ptab.h create.o: ../hdrs/attrib.h + create.o: ../hdrs/chunk.h create.o: ../hdrs/externs.h + create.o: ../hdrs/dbdefs.h create.o: ../confmagic.h create.o: ../hdrs/match.h create.o: ../hdrs/extchat.h + create.o: ../hdrs/boolexp.h create.o: ../hdrs/log.h create.o: ../hdrs/lock.h create.o: ../hdrs/parse.h create.o: ../hdrs/game.h create.o: ../hdrs/command.h *************** *** 481,518 **** db.o: ../hdrs/conf.h db.o: ../options.h db.o: ../hdrs/mushtype.h db.o: ../hdrs/mushdb.h db.o: ../hdrs/attrib.h db.o: ../hdrs/externs.h db.o: ../confmagic.h - db.o: ../hdrs/memcheck.h db.o: ../hdrs/mymalloc.h db.o: ../hdrs/game.h - db.o: ../hdrs/flags.h db.o: ../hdrs/lock.h db.o: ../hdrs/boolexp.h - db.o: ../hdrs/dbdefs.h - db.o: ../hdrs/htab.h db.o: ../hdrs/log.h db.o: ../hdrs/strtree.h db.o: ../hdrs/parse.h destroy.o: ../config.h destroy.o: ../hdrs/copyrite.h destroy.o: ../hdrs/conf.h destroy.o: ../options.h destroy.o: ../hdrs/mushtype.h destroy.o: ../hdrs/mushdb.h destroy.o: ../hdrs/match.h destroy.o: ../hdrs/externs.h destroy.o: ../confmagic.h destroy.o: ../hdrs/log.h destroy.o: ../hdrs/game.h destroy.o: ../hdrs/extmail.h destroy.o: ../hdrs/malias.h - destroy.o: ../hdrs/attrib.h - destroy.o: ../hdrs/dbdefs.h - destroy.o: ../hdrs/htab.h - destroy.o: ../hdrs/flags.h destroy.o: ../hdrs/lock.h destroy.o: ../hdrs/boolexp.h extchat.o: ../hdrs/copyrite.h --- 531,572 ---- db.o: ../hdrs/conf.h db.o: ../options.h db.o: ../hdrs/mushtype.h + db.o: ../hdrs/htab.h db.o: ../hdrs/mushdb.h + db.o: ../hdrs/flags.h + db.o: ../hdrs/ptab.h db.o: ../hdrs/attrib.h + db.o: ../hdrs/chunk.h db.o: ../hdrs/externs.h + db.o: ../hdrs/dbdefs.h db.o: ../confmagic.h db.o: ../hdrs/mymalloc.h db.o: ../hdrs/game.h db.o: ../hdrs/lock.h db.o: ../hdrs/boolexp.h db.o: ../hdrs/log.h db.o: ../hdrs/strtree.h db.o: ../hdrs/parse.h + db.o: ../hdrs/extmail.h destroy.o: ../config.h destroy.o: ../hdrs/copyrite.h destroy.o: ../hdrs/conf.h destroy.o: ../options.h destroy.o: ../hdrs/mushtype.h + destroy.o: ../hdrs/htab.h destroy.o: ../hdrs/mushdb.h + destroy.o: ../hdrs/flags.h + destroy.o: ../hdrs/ptab.h destroy.o: ../hdrs/match.h destroy.o: ../hdrs/externs.h + destroy.o: ../hdrs/dbdefs.h + destroy.o: ../hdrs/chunk.h + destroy.o: ../hdrs/attrib.h destroy.o: ../confmagic.h destroy.o: ../hdrs/log.h destroy.o: ../hdrs/game.h destroy.o: ../hdrs/extmail.h destroy.o: ../hdrs/malias.h destroy.o: ../hdrs/lock.h destroy.o: ../hdrs/boolexp.h extchat.o: ../hdrs/copyrite.h *************** *** 520,542 **** extchat.o: ../hdrs/conf.h extchat.o: ../options.h extchat.o: ../hdrs/mushtype.h extchat.o: ../hdrs/attrib.h extchat.o: ../hdrs/mushdb.h extchat.o: ../hdrs/match.h extchat.o: ../hdrs/externs.h extchat.o: ../confmagic.h extchat.o: ../hdrs/extchat.h extchat.o: ../hdrs/ansi.h extchat.o: ../hdrs/privtab.h extchat.o: ../hdrs/mymalloc.h extchat.o: ../hdrs/pueblo.h extchat.o: ../hdrs/parse.h extchat.o: ../hdrs/lock.h - extchat.o: ../hdrs/boolexp.h extchat.o: ../hdrs/log.h - extchat.o: ../hdrs/flags.h - extchat.o: ../hdrs/dbdefs.h - extchat.o: ../hdrs/htab.h extchat.o: ../hdrs/function.h extchat.o: ../hdrs/command.h extchat.o: ../hdrs/switches.h --- 574,598 ---- extchat.o: ../hdrs/conf.h extchat.o: ../options.h extchat.o: ../hdrs/mushtype.h + extchat.o: ../hdrs/htab.h extchat.o: ../hdrs/attrib.h + extchat.o: ../hdrs/chunk.h extchat.o: ../hdrs/mushdb.h + extchat.o: ../hdrs/flags.h + extchat.o: ../hdrs/ptab.h extchat.o: ../hdrs/match.h extchat.o: ../hdrs/externs.h + extchat.o: ../hdrs/dbdefs.h extchat.o: ../confmagic.h extchat.o: ../hdrs/extchat.h + extchat.o: ../hdrs/boolexp.h extchat.o: ../hdrs/ansi.h extchat.o: ../hdrs/privtab.h extchat.o: ../hdrs/mymalloc.h extchat.o: ../hdrs/pueblo.h extchat.o: ../hdrs/parse.h extchat.o: ../hdrs/lock.h extchat.o: ../hdrs/log.h extchat.o: ../hdrs/function.h extchat.o: ../hdrs/command.h extchat.o: ../hdrs/switches.h *************** *** 545,690 **** extmail.o: ../hdrs/conf.h extmail.o: ../options.h extmail.o: ../hdrs/mushtype.h extmail.o: ../hdrs/mushdb.h extmail.o: ../hdrs/dbdefs.h ! extmail.o: ../hdrs/htab.h extmail.o: ../hdrs/externs.h extmail.o: ../confmagic.h extmail.o: ../hdrs/match.h extmail.o: ../hdrs/extmail.h extmail.o: ../hdrs/malias.h - extmail.o: ../hdrs/attrib.h extmail.o: ../hdrs/parse.h extmail.o: ../hdrs/mymalloc.h extmail.o: ../hdrs/pueblo.h - extmail.o: ../hdrs/flags.h extmail.o: ../hdrs/log.h extmail.o: ../hdrs/lock.h extmail.o: ../hdrs/boolexp.h flags.o: ../config.h flags.o: ../hdrs/conf.h flags.o: ../hdrs/copyrite.h flags.o: ../options.h flags.o: ../hdrs/mushtype.h flags.o: ../hdrs/command.h flags.o: ../hdrs/switches.h flags.o: ../hdrs/attrib.h flags.o: ../hdrs/mushdb.h flags.o: ../hdrs/externs.h flags.o: ../confmagic.h flags.o: ../hdrs/parse.h flags.o: ../hdrs/match.h - flags.o: ../hdrs/ptab.h flags.o: ../hdrs/privtab.h flags.o: ../hdrs/game.h - flags.o: ../hdrs/flags.h - flags.o: ../hdrs/dbdefs.h - flags.o: ../hdrs/htab.h flags.o: ../hdrs/lock.h flags.o: ../hdrs/boolexp.h flags.o: ../hdrs/log.h flags.o: ../hdrs/oldflags.h - flaglocal.o: ../hdrs/copyrite.h - flaglocal.o: ../config.h - flaglocal.o: ../hdrs/externs.h - flaglocal.o: ../hdrs/conf.h - flaglocal.o: ../options.h - flaglocal.o: ../hdrs/mushtype.h - flaglocal.o: ../confmagic.h - flaglocal.o: ../hdrs/flags.h - function.o: ../hdrs/copyrite.h - function.o: ../config.h - function.o: ../hdrs/conf.h - function.o: ../options.h - function.o: ../hdrs/mushtype.h - function.o: ../hdrs/attrib.h - function.o: ../hdrs/dbdefs.h - function.o: ../hdrs/htab.h - function.o: ../hdrs/externs.h - function.o: ../confmagic.h - function.o: ../hdrs/mushdb.h - function.o: ../hdrs/function.h - function.o: ../hdrs/match.h - function.o: ../hdrs/parse.h - function.o: ../hdrs/memcheck.h - function.o: ../hdrs/lock.h - function.o: ../hdrs/boolexp.h - function.o: ../hdrs/flags.h - function.o: ../hdrs/game.h - function.o: ../hdrs/mymalloc.h - function.o: ../hdrs/funs.h funcrypt.o: ../hdrs/copyrite.h funcrypt.o: ../config.h funcrypt.o: ../hdrs/conf.h funcrypt.o: ../options.h funcrypt.o: ../hdrs/mushtype.h funcrypt.o: ../hdrs/case.h funcrypt.o: ../hdrs/externs.h funcrypt.o: ../confmagic.h funcrypt.o: ../hdrs/version.h funcrypt.o: ../hdrs/extchat.h ! funcrypt.o: ../hdrs/htab.h ! funcrypt.o: ../hdrs/flags.h ! funcrypt.o: ../hdrs/dbdefs.h funcrypt.o: ../hdrs/parse.h funcrypt.o: ../hdrs/function.h funcrypt.o: ../hdrs/command.h funcrypt.o: ../hdrs/switches.h funcrypt.o: ../hdrs/game.h - funcrypt.o: ../hdrs/attrib.h funcrypt.o: ../hdrs/ansi.h funcrypt.o: ../hdrs/match.h ! funcrypt.o: ../hdrs/shs.h fundb.o: ../hdrs/copyrite.h fundb.o: ../config.h fundb.o: ../hdrs/conf.h fundb.o: ../options.h fundb.o: ../hdrs/mushtype.h - fundb.o: ../hdrs/dbdefs.h fundb.o: ../hdrs/htab.h fundb.o: ../hdrs/externs.h fundb.o: ../confmagic.h - fundb.o: ../hdrs/flags.h fundb.o: ../hdrs/match.h fundb.o: ../hdrs/parse.h fundb.o: ../hdrs/command.h fundb.o: ../hdrs/switches.h fundb.o: ../hdrs/game.h - fundb.o: ../hdrs/mushdb.h fundb.o: ../hdrs/privtab.h - fundb.o: ../hdrs/memcheck.h fundb.o: ../hdrs/lock.h fundb.o: ../hdrs/boolexp.h fundb.o: ../hdrs/log.h - fundb.o: ../hdrs/attrib.h fundb.o: ../hdrs/function.h funlist.o: ../hdrs/copyrite.h funlist.o: ../config.h funlist.o: ../hdrs/conf.h funlist.o: ../options.h funlist.o: ../hdrs/mushtype.h funlist.o: ../hdrs/case.h funlist.o: ../hdrs/externs.h funlist.o: ../confmagic.h funlist.o: ../hdrs/parse.h funlist.o: ../hdrs/function.h - funlist.o: ../hdrs/memcheck.h funlist.o: ../hdrs/mymalloc.h funlist.o: ../hdrs/pcre.h funlist.o: ../hdrs/match.h - funlist.o: ../hdrs/attrib.h - funlist.o: ../hdrs/dbdefs.h - funlist.o: ../hdrs/htab.h - funlist.o: ../hdrs/flags.h - funlist.o: ../hdrs/mushdb.h funlist.o: ../hdrs/lock.h funlist.o: ../hdrs/boolexp.h funlocal.o: ../hdrs/copyrite.h funlocal.o: ../config.h funlocal.o: ../hdrs/externs.h funlocal.o: ../hdrs/conf.h funlocal.o: ../options.h funlocal.o: ../hdrs/mushtype.h funlocal.o: ../confmagic.h funlocal.o: ../hdrs/parse.h funlocal.o: ../hdrs/function.h --- 601,770 ---- extmail.o: ../hdrs/conf.h extmail.o: ../options.h extmail.o: ../hdrs/mushtype.h + extmail.o: ../hdrs/htab.h extmail.o: ../hdrs/mushdb.h + extmail.o: ../hdrs/flags.h + extmail.o: ../hdrs/ptab.h extmail.o: ../hdrs/dbdefs.h ! extmail.o: ../hdrs/chunk.h ! extmail.o: ../hdrs/attrib.h extmail.o: ../hdrs/externs.h extmail.o: ../confmagic.h extmail.o: ../hdrs/match.h extmail.o: ../hdrs/extmail.h extmail.o: ../hdrs/malias.h extmail.o: ../hdrs/parse.h extmail.o: ../hdrs/mymalloc.h extmail.o: ../hdrs/pueblo.h extmail.o: ../hdrs/log.h extmail.o: ../hdrs/lock.h extmail.o: ../hdrs/boolexp.h + extmail.o: ../hdrs/command.h + extmail.o: ../hdrs/switches.h + flaglocal.o: ../hdrs/copyrite.h + flaglocal.o: ../config.h + flaglocal.o: ../hdrs/externs.h + flaglocal.o: ../hdrs/dbdefs.h + flaglocal.o: ../hdrs/mushdb.h + flaglocal.o: ../hdrs/conf.h + flaglocal.o: ../options.h + flaglocal.o: ../hdrs/mushtype.h + flaglocal.o: ../hdrs/htab.h + flaglocal.o: ../hdrs/flags.h + flaglocal.o: ../hdrs/ptab.h + flaglocal.o: ../hdrs/chunk.h + flaglocal.o: ../hdrs/attrib.h + flaglocal.o: ../confmagic.h flags.o: ../config.h flags.o: ../hdrs/conf.h flags.o: ../hdrs/copyrite.h flags.o: ../options.h flags.o: ../hdrs/mushtype.h + flags.o: ../hdrs/htab.h flags.o: ../hdrs/command.h flags.o: ../hdrs/switches.h flags.o: ../hdrs/attrib.h + flags.o: ../hdrs/chunk.h flags.o: ../hdrs/mushdb.h + flags.o: ../hdrs/flags.h + flags.o: ../hdrs/ptab.h flags.o: ../hdrs/externs.h + flags.o: ../hdrs/dbdefs.h flags.o: ../confmagic.h flags.o: ../hdrs/parse.h flags.o: ../hdrs/match.h flags.o: ../hdrs/privtab.h flags.o: ../hdrs/game.h flags.o: ../hdrs/lock.h flags.o: ../hdrs/boolexp.h flags.o: ../hdrs/log.h flags.o: ../hdrs/oldflags.h funcrypt.o: ../hdrs/copyrite.h funcrypt.o: ../config.h funcrypt.o: ../hdrs/conf.h funcrypt.o: ../options.h funcrypt.o: ../hdrs/mushtype.h + funcrypt.o: ../hdrs/htab.h funcrypt.o: ../hdrs/case.h funcrypt.o: ../hdrs/externs.h + funcrypt.o: ../hdrs/dbdefs.h + funcrypt.o: ../hdrs/mushdb.h + funcrypt.o: ../hdrs/flags.h + funcrypt.o: ../hdrs/ptab.h + funcrypt.o: ../hdrs/chunk.h + funcrypt.o: ../hdrs/attrib.h funcrypt.o: ../confmagic.h funcrypt.o: ../hdrs/version.h funcrypt.o: ../hdrs/extchat.h ! funcrypt.o: ../hdrs/boolexp.h funcrypt.o: ../hdrs/parse.h funcrypt.o: ../hdrs/function.h funcrypt.o: ../hdrs/command.h funcrypt.o: ../hdrs/switches.h funcrypt.o: ../hdrs/game.h funcrypt.o: ../hdrs/ansi.h funcrypt.o: ../hdrs/match.h ! function.o: ../hdrs/copyrite.h ! function.o: ../config.h ! function.o: ../hdrs/conf.h ! function.o: ../options.h ! function.o: ../hdrs/mushtype.h ! function.o: ../hdrs/htab.h ! function.o: ../hdrs/attrib.h ! function.o: ../hdrs/chunk.h ! function.o: ../hdrs/dbdefs.h ! function.o: ../hdrs/mushdb.h ! function.o: ../hdrs/flags.h ! function.o: ../hdrs/ptab.h ! function.o: ../hdrs/externs.h ! function.o: ../confmagic.h ! function.o: ../hdrs/function.h ! function.o: ../hdrs/match.h ! function.o: ../hdrs/parse.h ! function.o: ../hdrs/lock.h ! function.o: ../hdrs/boolexp.h ! function.o: ../hdrs/game.h ! function.o: ../hdrs/mymalloc.h ! function.o: ../hdrs/funs.h fundb.o: ../hdrs/copyrite.h fundb.o: ../config.h fundb.o: ../hdrs/conf.h fundb.o: ../options.h fundb.o: ../hdrs/mushtype.h fundb.o: ../hdrs/htab.h + fundb.o: ../hdrs/dbdefs.h + fundb.o: ../hdrs/mushdb.h + fundb.o: ../hdrs/flags.h + fundb.o: ../hdrs/ptab.h + fundb.o: ../hdrs/chunk.h + fundb.o: ../hdrs/attrib.h fundb.o: ../hdrs/externs.h fundb.o: ../confmagic.h fundb.o: ../hdrs/match.h fundb.o: ../hdrs/parse.h fundb.o: ../hdrs/command.h fundb.o: ../hdrs/switches.h fundb.o: ../hdrs/game.h fundb.o: ../hdrs/privtab.h fundb.o: ../hdrs/lock.h fundb.o: ../hdrs/boolexp.h fundb.o: ../hdrs/log.h fundb.o: ../hdrs/function.h funlist.o: ../hdrs/copyrite.h funlist.o: ../config.h funlist.o: ../hdrs/conf.h funlist.o: ../options.h funlist.o: ../hdrs/mushtype.h + funlist.o: ../hdrs/htab.h funlist.o: ../hdrs/case.h funlist.o: ../hdrs/externs.h + funlist.o: ../hdrs/dbdefs.h + funlist.o: ../hdrs/mushdb.h + funlist.o: ../hdrs/flags.h + funlist.o: ../hdrs/ptab.h + funlist.o: ../hdrs/chunk.h + funlist.o: ../hdrs/attrib.h funlist.o: ../confmagic.h funlist.o: ../hdrs/parse.h funlist.o: ../hdrs/function.h funlist.o: ../hdrs/mymalloc.h funlist.o: ../hdrs/pcre.h funlist.o: ../hdrs/match.h funlist.o: ../hdrs/lock.h funlist.o: ../hdrs/boolexp.h funlocal.o: ../hdrs/copyrite.h funlocal.o: ../config.h funlocal.o: ../hdrs/externs.h + funlocal.o: ../hdrs/dbdefs.h + funlocal.o: ../hdrs/mushdb.h funlocal.o: ../hdrs/conf.h funlocal.o: ../options.h funlocal.o: ../hdrs/mushtype.h + funlocal.o: ../hdrs/htab.h + funlocal.o: ../hdrs/flags.h + funlocal.o: ../hdrs/ptab.h + funlocal.o: ../hdrs/chunk.h + funlocal.o: ../hdrs/attrib.h funlocal.o: ../confmagic.h funlocal.o: ../hdrs/parse.h funlocal.o: ../hdrs/function.h *************** *** 693,739 **** funmath.o: ../hdrs/conf.h funmath.o: ../options.h funmath.o: ../hdrs/mushtype.h funmath.o: ../hdrs/externs.h funmath.o: ../confmagic.h funmath.o: ../hdrs/parse.h - funmath.o: ../hdrs/htab.h funmisc.o: ../hdrs/copyrite.h funmisc.o: ../config.h funmisc.o: ../hdrs/conf.h funmisc.o: ../options.h funmisc.o: ../hdrs/mushtype.h funmisc.o: ../hdrs/case.h funmisc.o: ../hdrs/externs.h funmisc.o: ../confmagic.h funmisc.o: ../hdrs/version.h - funmisc.o: ../hdrs/htab.h - funmisc.o: ../hdrs/flags.h funmisc.o: ../hdrs/match.h - funmisc.o: ../hdrs/mushdb.h - funmisc.o: ../hdrs/dbdefs.h funmisc.o: ../hdrs/parse.h funmisc.o: ../hdrs/function.h funmisc.o: ../hdrs/command.h funmisc.o: ../hdrs/switches.h funmisc.o: ../hdrs/game.h - funmisc.o: ../hdrs/attrib.h funstr.o: ../hdrs/copyrite.h funstr.o: ../config.h funstr.o: ../hdrs/conf.h funstr.o: ../options.h funstr.o: ../hdrs/mushtype.h funstr.o: ../hdrs/ansi.h funstr.o: ../hdrs/externs.h funstr.o: ../confmagic.h funstr.o: ../hdrs/case.h funstr.o: ../hdrs/match.h funstr.o: ../hdrs/parse.h funstr.o: ../hdrs/pueblo.h - funstr.o: ../hdrs/attrib.h - funstr.o: ../hdrs/flags.h - funstr.o: ../hdrs/dbdefs.h - funstr.o: ../hdrs/htab.h - funstr.o: ../hdrs/mushdb.h funstr.o: ../hdrs/lock.h funstr.o: ../hdrs/boolexp.h funtime.o: ../hdrs/copyrite.h --- 773,829 ---- funmath.o: ../hdrs/conf.h funmath.o: ../options.h funmath.o: ../hdrs/mushtype.h + funmath.o: ../hdrs/htab.h funmath.o: ../hdrs/externs.h + funmath.o: ../hdrs/dbdefs.h + funmath.o: ../hdrs/mushdb.h + funmath.o: ../hdrs/flags.h + funmath.o: ../hdrs/ptab.h + funmath.o: ../hdrs/chunk.h + funmath.o: ../hdrs/attrib.h funmath.o: ../confmagic.h funmath.o: ../hdrs/parse.h funmisc.o: ../hdrs/copyrite.h funmisc.o: ../config.h funmisc.o: ../hdrs/conf.h funmisc.o: ../options.h funmisc.o: ../hdrs/mushtype.h + funmisc.o: ../hdrs/htab.h funmisc.o: ../hdrs/case.h funmisc.o: ../hdrs/externs.h + funmisc.o: ../hdrs/dbdefs.h + funmisc.o: ../hdrs/mushdb.h + funmisc.o: ../hdrs/flags.h + funmisc.o: ../hdrs/ptab.h + funmisc.o: ../hdrs/chunk.h + funmisc.o: ../hdrs/attrib.h funmisc.o: ../confmagic.h funmisc.o: ../hdrs/version.h funmisc.o: ../hdrs/match.h funmisc.o: ../hdrs/parse.h funmisc.o: ../hdrs/function.h funmisc.o: ../hdrs/command.h funmisc.o: ../hdrs/switches.h funmisc.o: ../hdrs/game.h funstr.o: ../hdrs/copyrite.h funstr.o: ../config.h funstr.o: ../hdrs/conf.h funstr.o: ../options.h funstr.o: ../hdrs/mushtype.h + funstr.o: ../hdrs/htab.h funstr.o: ../hdrs/ansi.h funstr.o: ../hdrs/externs.h + funstr.o: ../hdrs/dbdefs.h + funstr.o: ../hdrs/mushdb.h + funstr.o: ../hdrs/flags.h + funstr.o: ../hdrs/ptab.h + funstr.o: ../hdrs/chunk.h + funstr.o: ../hdrs/attrib.h funstr.o: ../confmagic.h funstr.o: ../hdrs/case.h funstr.o: ../hdrs/match.h funstr.o: ../hdrs/parse.h funstr.o: ../hdrs/pueblo.h funstr.o: ../hdrs/lock.h funstr.o: ../hdrs/boolexp.h funtime.o: ../hdrs/copyrite.h *************** *** 741,767 **** funtime.o: ../hdrs/conf.h funtime.o: ../options.h funtime.o: ../hdrs/mushtype.h funtime.o: ../hdrs/externs.h funtime.o: ../confmagic.h funtime.o: ../hdrs/parse.h - funtime.o: ../hdrs/dbdefs.h - funtime.o: ../hdrs/htab.h funtime.o: ../hdrs/log.h funufun.o: ../hdrs/copyrite.h funufun.o: ../config.h funufun.o: ../hdrs/conf.h funufun.o: ../options.h funufun.o: ../hdrs/mushtype.h funufun.o: ../hdrs/externs.h funufun.o: ../confmagic.h funufun.o: ../hdrs/match.h funufun.o: ../hdrs/parse.h funufun.o: ../hdrs/mymalloc.h - funufun.o: ../hdrs/attrib.h - funufun.o: ../hdrs/mushdb.h - funufun.o: ../hdrs/dbdefs.h - funufun.o: ../hdrs/htab.h - funufun.o: ../hdrs/flags.h funufun.o: ../hdrs/lock.h funufun.o: ../hdrs/boolexp.h game.o: ../hdrs/copyrite.h --- 831,865 ---- funtime.o: ../hdrs/conf.h funtime.o: ../options.h funtime.o: ../hdrs/mushtype.h + funtime.o: ../hdrs/htab.h funtime.o: ../hdrs/externs.h + funtime.o: ../hdrs/dbdefs.h + funtime.o: ../hdrs/mushdb.h + funtime.o: ../hdrs/flags.h + funtime.o: ../hdrs/ptab.h + funtime.o: ../hdrs/chunk.h + funtime.o: ../hdrs/attrib.h funtime.o: ../confmagic.h funtime.o: ../hdrs/parse.h funtime.o: ../hdrs/log.h + funtime.o: ../hdrs/match.h funufun.o: ../hdrs/copyrite.h funufun.o: ../config.h funufun.o: ../hdrs/conf.h funufun.o: ../options.h funufun.o: ../hdrs/mushtype.h + funufun.o: ../hdrs/htab.h funufun.o: ../hdrs/externs.h + funufun.o: ../hdrs/dbdefs.h + funufun.o: ../hdrs/mushdb.h + funufun.o: ../hdrs/flags.h + funufun.o: ../hdrs/ptab.h + funufun.o: ../hdrs/chunk.h + funufun.o: ../hdrs/attrib.h funufun.o: ../confmagic.h funufun.o: ../hdrs/match.h funufun.o: ../hdrs/parse.h funufun.o: ../hdrs/mymalloc.h funufun.o: ../hdrs/lock.h funufun.o: ../hdrs/boolexp.h game.o: ../hdrs/copyrite.h *************** *** 769,784 **** game.o: ../hdrs/conf.h game.o: ../options.h game.o: ../hdrs/mushtype.h game.o: ../hdrs/mushdb.h game.o: ../hdrs/game.h game.o: ../hdrs/externs.h ! game.o: ../confmagic.h game.o: ../hdrs/attrib.h game.o: ../hdrs/match.h game.o: ../hdrs/case.h game.o: ../hdrs/extmail.h game.o: ../hdrs/extchat.h ! game.o: ../hdrs/memcheck.h game.o: ../hdrs/getpgsiz.h game.o: ../hdrs/parse.h game.o: ../hdrs/access.h --- 867,888 ---- game.o: ../hdrs/conf.h game.o: ../options.h game.o: ../hdrs/mushtype.h + game.o: ../hdrs/htab.h game.o: ../hdrs/mushdb.h + game.o: ../hdrs/flags.h + game.o: ../hdrs/ptab.h game.o: ../hdrs/game.h game.o: ../hdrs/externs.h ! game.o: ../hdrs/dbdefs.h ! game.o: ../hdrs/chunk.h game.o: ../hdrs/attrib.h + game.o: ../confmagic.h game.o: ../hdrs/match.h game.o: ../hdrs/case.h game.o: ../hdrs/extmail.h game.o: ../hdrs/extchat.h ! game.o: ../hdrs/boolexp.h ! game.o: ../hdrs/myssl.h game.o: ../hdrs/getpgsiz.h game.o: ../hdrs/parse.h game.o: ../hdrs/access.h *************** *** 786,850 **** game.o: ../hdrs/strtree.h game.o: ../hdrs/command.h game.o: ../hdrs/switches.h - game.o: ../hdrs/htab.h - game.o: ../hdrs/ptab.h game.o: ../hdrs/log.h game.o: ../hdrs/lock.h - game.o: ../hdrs/boolexp.h - game.o: ../hdrs/dbdefs.h - game.o: ../hdrs/flags.h game.o: ../hdrs/function.h game.o: ../hdrs/help.h help.o: ../config.h help.o: ../hdrs/externs.h ! help.o: ../hdrs/copyrite.h help.o: ../hdrs/conf.h help.o: ../options.h help.o: ../hdrs/mushtype.h help.o: ../confmagic.h help.o: ../hdrs/command.h help.o: ../hdrs/switches.h - help.o: ../hdrs/htab.h help.o: ../hdrs/help.h help.o: ../hdrs/log.h help.o: ../hdrs/ansi.h help.o: ../hdrs/parse.h help.o: ../hdrs/pueblo.h - help.o: ../hdrs/flags.h - help.o: ../hdrs/dbdefs.h help.o: ../hdrs/mymalloc.h - help.o: ../hdrs/memcheck.h htab.o: ../config.h htab.o: ../hdrs/copyrite.h htab.o: ../hdrs/conf.h htab.o: ../options.h htab.o: ../hdrs/mushtype.h htab.o: ../hdrs/externs.h htab.o: ../confmagic.h - htab.o: ../hdrs/htab.h - htab.o: ../hdrs/memcheck.h htab.o: ../hdrs/mymalloc.h ident.o: ../config.h ident.o: ../hdrs/conf.h ident.o: ../hdrs/copyrite.h ident.o: ../options.h ident.o: ../hdrs/mushtype.h ident.o: ../hdrs/attrib.h ident.o: ../hdrs/ident.h ident.o: ../hdrs/mysocket.h ident.o: ../confmagic.h ident.o: ../hdrs/mymalloc.h - ident.o: ../hdrs/memcheck.h ident.o: ../hdrs/externs.h local.o: ../hdrs/copyrite.h local.o: ../config.h local.o: ../hdrs/externs.h local.o: ../hdrs/conf.h local.o: ../options.h local.o: ../hdrs/mushtype.h local.o: ../confmagic.h local.o: ../hdrs/parse.h - local.o: ../hdrs/htab.h local.o: ../hdrs/command.h local.o: ../hdrs/switches.h lock.o: ../hdrs/copyrite.h --- 890,968 ---- game.o: ../hdrs/strtree.h game.o: ../hdrs/command.h game.o: ../hdrs/switches.h game.o: ../hdrs/log.h game.o: ../hdrs/lock.h game.o: ../hdrs/function.h game.o: ../hdrs/help.h help.o: ../config.h help.o: ../hdrs/externs.h ! help.o: ../hdrs/dbdefs.h ! help.o: ../hdrs/mushdb.h help.o: ../hdrs/conf.h + help.o: ../hdrs/copyrite.h help.o: ../options.h help.o: ../hdrs/mushtype.h + help.o: ../hdrs/htab.h + help.o: ../hdrs/flags.h + help.o: ../hdrs/ptab.h + help.o: ../hdrs/chunk.h + help.o: ../hdrs/attrib.h help.o: ../confmagic.h help.o: ../hdrs/command.h help.o: ../hdrs/switches.h help.o: ../hdrs/help.h help.o: ../hdrs/log.h help.o: ../hdrs/ansi.h help.o: ../hdrs/parse.h help.o: ../hdrs/pueblo.h help.o: ../hdrs/mymalloc.h htab.o: ../config.h htab.o: ../hdrs/copyrite.h htab.o: ../hdrs/conf.h htab.o: ../options.h htab.o: ../hdrs/mushtype.h + htab.o: ../hdrs/htab.h htab.o: ../hdrs/externs.h + htab.o: ../hdrs/dbdefs.h + htab.o: ../hdrs/mushdb.h + htab.o: ../hdrs/flags.h + htab.o: ../hdrs/ptab.h + htab.o: ../hdrs/chunk.h + htab.o: ../hdrs/attrib.h htab.o: ../confmagic.h htab.o: ../hdrs/mymalloc.h ident.o: ../config.h ident.o: ../hdrs/conf.h ident.o: ../hdrs/copyrite.h ident.o: ../options.h ident.o: ../hdrs/mushtype.h + ident.o: ../hdrs/htab.h ident.o: ../hdrs/attrib.h + ident.o: ../hdrs/chunk.h ident.o: ../hdrs/ident.h ident.o: ../hdrs/mysocket.h ident.o: ../confmagic.h ident.o: ../hdrs/mymalloc.h ident.o: ../hdrs/externs.h + ident.o: ../hdrs/dbdefs.h + ident.o: ../hdrs/mushdb.h + ident.o: ../hdrs/flags.h + ident.o: ../hdrs/ptab.h local.o: ../hdrs/copyrite.h local.o: ../config.h local.o: ../hdrs/externs.h + local.o: ../hdrs/dbdefs.h + local.o: ../hdrs/mushdb.h local.o: ../hdrs/conf.h local.o: ../options.h local.o: ../hdrs/mushtype.h + local.o: ../hdrs/htab.h + local.o: ../hdrs/flags.h + local.o: ../hdrs/ptab.h + local.o: ../hdrs/chunk.h + local.o: ../hdrs/attrib.h local.o: ../confmagic.h local.o: ../hdrs/parse.h local.o: ../hdrs/command.h local.o: ../hdrs/switches.h lock.o: ../hdrs/copyrite.h *************** *** 852,869 **** lock.o: ../hdrs/conf.h lock.o: ../options.h lock.o: ../hdrs/mushtype.h lock.o: ../hdrs/boolexp.h ! lock.o: ../hdrs/mushdb.h lock.o: ../hdrs/attrib.h lock.o: ../hdrs/externs.h - lock.o: ../confmagic.h lock.o: ../hdrs/dbdefs.h ! lock.o: ../hdrs/htab.h lock.o: ../hdrs/lock.h lock.o: ../hdrs/match.h lock.o: ../hdrs/log.h - lock.o: ../hdrs/flags.h - lock.o: ../hdrs/memcheck.h lock.o: ../hdrs/mymalloc.h lock.o: ../hdrs/strtree.h lock.o: ../hdrs/privtab.h --- 970,988 ---- lock.o: ../hdrs/conf.h lock.o: ../options.h lock.o: ../hdrs/mushtype.h + lock.o: ../hdrs/htab.h lock.o: ../hdrs/boolexp.h ! lock.o: ../hdrs/chunk.h lock.o: ../hdrs/attrib.h + lock.o: ../hdrs/mushdb.h + lock.o: ../hdrs/flags.h + lock.o: ../hdrs/ptab.h lock.o: ../hdrs/externs.h lock.o: ../hdrs/dbdefs.h ! lock.o: ../confmagic.h lock.o: ../hdrs/lock.h lock.o: ../hdrs/match.h lock.o: ../hdrs/log.h lock.o: ../hdrs/mymalloc.h lock.o: ../hdrs/strtree.h lock.o: ../hdrs/privtab.h *************** *** 873,896 **** log.o: ../hdrs/conf.h log.o: ../options.h log.o: ../hdrs/mushtype.h log.o: ../hdrs/externs.h - log.o: ../confmagic.h - log.o: ../hdrs/flags.h log.o: ../hdrs/dbdefs.h ! log.o: ../hdrs/htab.h log.o: ../hdrs/log.h look.o: ../config.h look.o: ../hdrs/copyrite.h look.o: ../hdrs/conf.h look.o: ../options.h look.o: ../hdrs/mushtype.h - look.o: ../hdrs/mushdb.h - look.o: ../hdrs/dbdefs.h look.o: ../hdrs/htab.h look.o: ../hdrs/flags.h look.o: ../hdrs/lock.h look.o: ../hdrs/boolexp.h - look.o: ../hdrs/attrib.h look.o: ../hdrs/match.h look.o: ../hdrs/externs.h look.o: ../confmagic.h --- 992,1021 ---- log.o: ../hdrs/conf.h log.o: ../options.h log.o: ../hdrs/mushtype.h + log.o: ../hdrs/htab.h log.o: ../hdrs/externs.h log.o: ../hdrs/dbdefs.h ! log.o: ../hdrs/mushdb.h ! log.o: ../hdrs/flags.h ! log.o: ../hdrs/ptab.h ! log.o: ../hdrs/chunk.h ! log.o: ../hdrs/attrib.h ! log.o: ../confmagic.h log.o: ../hdrs/log.h look.o: ../config.h look.o: ../hdrs/copyrite.h look.o: ../hdrs/conf.h look.o: ../options.h look.o: ../hdrs/mushtype.h look.o: ../hdrs/htab.h + look.o: ../hdrs/mushdb.h look.o: ../hdrs/flags.h + look.o: ../hdrs/ptab.h + look.o: ../hdrs/dbdefs.h + look.o: ../hdrs/chunk.h + look.o: ../hdrs/attrib.h look.o: ../hdrs/lock.h look.o: ../hdrs/boolexp.h look.o: ../hdrs/match.h look.o: ../hdrs/externs.h look.o: ../confmagic.h *************** *** 903,926 **** look.o: ../hdrs/parse.h look.o: ../hdrs/privtab.h look.o: ../hdrs/log.h - mycrypt.o: ../config.h - mycrypt.o: ../hdrs/conf.h - mycrypt.o: ../hdrs/copyrite.h - mycrypt.o: ../options.h - mycrypt.o: ../hdrs/mushtype.h - mycrypt.o: ../hdrs/shs.h - mycrypt.o: ../confmagic.h - mymalloc.o: ../config.h - mymalloc.o: ../options.h - mymalloc.o: ../confmagic.h malias.o: ../config.h malias.o: ../hdrs/copyrite.h malias.o: ../hdrs/conf.h malias.o: ../options.h malias.o: ../hdrs/mushtype.h malias.o: ../hdrs/mushdb.h malias.o: ../hdrs/dbdefs.h ! malias.o: ../hdrs/htab.h malias.o: ../hdrs/externs.h malias.o: ../confmagic.h malias.o: ../hdrs/match.h --- 1028,1045 ---- look.o: ../hdrs/parse.h look.o: ../hdrs/privtab.h look.o: ../hdrs/log.h malias.o: ../config.h malias.o: ../hdrs/copyrite.h malias.o: ../hdrs/conf.h malias.o: ../options.h malias.o: ../hdrs/mushtype.h + malias.o: ../hdrs/htab.h malias.o: ../hdrs/mushdb.h + malias.o: ../hdrs/flags.h + malias.o: ../hdrs/ptab.h malias.o: ../hdrs/dbdefs.h ! malias.o: ../hdrs/chunk.h ! malias.o: ../hdrs/attrib.h malias.o: ../hdrs/externs.h malias.o: ../confmagic.h malias.o: ../hdrs/match.h *************** *** 928,961 **** malias.o: ../hdrs/malias.h malias.o: ../hdrs/privtab.h malias.o: ../hdrs/mymalloc.h - malias.o: ../hdrs/flags.h malias.o: ../hdrs/pueblo.h malias.o: ../hdrs/log.h - malias.o: ../hdrs/memcheck.h match.o: ../hdrs/copyrite.h match.o: ../config.h match.o: ../hdrs/conf.h match.o: ../options.h match.o: ../hdrs/mushtype.h match.o: ../hdrs/mushdb.h match.o: ../hdrs/externs.h match.o: ../confmagic.h match.o: ../hdrs/case.h match.o: ../hdrs/match.h match.o: ../hdrs/parse.h - match.o: ../hdrs/flags.h - match.o: ../hdrs/dbdefs.h - match.o: ../hdrs/htab.h memcheck.o: ../config.h memcheck.o: ../hdrs/conf.h memcheck.o: ../hdrs/copyrite.h memcheck.o: ../options.h memcheck.o: ../hdrs/mushtype.h memcheck.o: ../hdrs/externs.h - memcheck.o: ../confmagic.h memcheck.o: ../hdrs/dbdefs.h ! memcheck.o: ../hdrs/htab.h ! memcheck.o: ../hdrs/memcheck.h memcheck.o: ../hdrs/mymalloc.h memcheck.o: ../hdrs/log.h move.o: ../hdrs/copyrite.h --- 1047,1085 ---- malias.o: ../hdrs/malias.h malias.o: ../hdrs/privtab.h malias.o: ../hdrs/mymalloc.h malias.o: ../hdrs/pueblo.h malias.o: ../hdrs/log.h match.o: ../hdrs/copyrite.h match.o: ../config.h match.o: ../hdrs/conf.h match.o: ../options.h match.o: ../hdrs/mushtype.h + match.o: ../hdrs/htab.h match.o: ../hdrs/mushdb.h + match.o: ../hdrs/flags.h + match.o: ../hdrs/ptab.h match.o: ../hdrs/externs.h + match.o: ../hdrs/dbdefs.h + match.o: ../hdrs/chunk.h + match.o: ../hdrs/attrib.h match.o: ../confmagic.h match.o: ../hdrs/case.h match.o: ../hdrs/match.h match.o: ../hdrs/parse.h memcheck.o: ../config.h memcheck.o: ../hdrs/conf.h memcheck.o: ../hdrs/copyrite.h memcheck.o: ../options.h memcheck.o: ../hdrs/mushtype.h + memcheck.o: ../hdrs/htab.h memcheck.o: ../hdrs/externs.h memcheck.o: ../hdrs/dbdefs.h ! memcheck.o: ../hdrs/mushdb.h ! memcheck.o: ../hdrs/flags.h ! memcheck.o: ../hdrs/ptab.h ! memcheck.o: ../hdrs/chunk.h ! memcheck.o: ../hdrs/attrib.h ! memcheck.o: ../confmagic.h memcheck.o: ../hdrs/mymalloc.h memcheck.o: ../hdrs/log.h move.o: ../hdrs/copyrite.h *************** *** 963,1014 **** move.o: ../hdrs/conf.h move.o: ../options.h move.o: ../hdrs/mushtype.h move.o: ../hdrs/mushdb.h move.o: ../hdrs/attrib.h move.o: ../hdrs/match.h move.o: ../hdrs/externs.h move.o: ../confmagic.h - move.o: ../hdrs/flags.h move.o: ../hdrs/lock.h move.o: ../hdrs/boolexp.h - move.o: ../hdrs/dbdefs.h - move.o: ../hdrs/htab.h move.o: ../hdrs/parse.h move.o: ../hdrs/log.h move.o: ../hdrs/command.h move.o: ../hdrs/switches.h move.o: ../hdrs/cmds.h move.o: ../hdrs/game.h mysocket.o: ../hdrs/copyrite.h mysocket.o: ../config.h mysocket.o: ../hdrs/conf.h mysocket.o: ../options.h mysocket.o: ../hdrs/mushtype.h mysocket.o: ../hdrs/mymalloc.h mysocket.o: ../hdrs/mysocket.h mysocket.o: ../confmagic.h mysocket.o: ../hdrs/ident.h mysocket.o: ../hdrs/externs.h parse.o: ../hdrs/copyrite.h parse.o: ../config.h parse.o: ../hdrs/conf.h parse.o: ../options.h parse.o: ../hdrs/mushtype.h parse.o: ../hdrs/ansi.h parse.o: ../hdrs/dbdefs.h ! parse.o: ../hdrs/htab.h parse.o: ../hdrs/externs.h parse.o: ../confmagic.h parse.o: ../hdrs/function.h parse.o: ../hdrs/case.h parse.o: ../hdrs/match.h - parse.o: ../hdrs/mushdb.h parse.o: ../hdrs/parse.h - parse.o: ../hdrs/attrib.h parse.o: ../hdrs/pcre.h - parse.o: ../hdrs/flags.h parse.o: ../hdrs/log.h - parse.o: ../hdrs/memcheck.h parse.o: ../hdrs/mymalloc.h pcre.o: ../config.h pcre.o: ../hdrs/pcre.h --- 1087,1201 ---- move.o: ../hdrs/conf.h move.o: ../options.h move.o: ../hdrs/mushtype.h + move.o: ../hdrs/htab.h move.o: ../hdrs/mushdb.h + move.o: ../hdrs/flags.h + move.o: ../hdrs/ptab.h move.o: ../hdrs/attrib.h + move.o: ../hdrs/chunk.h move.o: ../hdrs/match.h move.o: ../hdrs/externs.h + move.o: ../hdrs/dbdefs.h move.o: ../confmagic.h move.o: ../hdrs/lock.h move.o: ../hdrs/boolexp.h move.o: ../hdrs/parse.h move.o: ../hdrs/log.h move.o: ../hdrs/command.h move.o: ../hdrs/switches.h move.o: ../hdrs/cmds.h move.o: ../hdrs/game.h + mycrypt.o: ../config.h + mycrypt.o: ../hdrs/conf.h + mycrypt.o: ../hdrs/copyrite.h + mycrypt.o: ../options.h + mycrypt.o: ../hdrs/mushtype.h + mycrypt.o: ../hdrs/htab.h + mycrypt.o: ../confmagic.h + mymalloc.o: ../config.h + mymalloc.o: ../options.h + mymalloc.o: ../confmagic.h mysocket.o: ../hdrs/copyrite.h mysocket.o: ../config.h mysocket.o: ../hdrs/conf.h mysocket.o: ../options.h mysocket.o: ../hdrs/mushtype.h + mysocket.o: ../hdrs/htab.h mysocket.o: ../hdrs/mymalloc.h mysocket.o: ../hdrs/mysocket.h mysocket.o: ../confmagic.h mysocket.o: ../hdrs/ident.h mysocket.o: ../hdrs/externs.h + mysocket.o: ../hdrs/dbdefs.h + mysocket.o: ../hdrs/mushdb.h + mysocket.o: ../hdrs/flags.h + mysocket.o: ../hdrs/ptab.h + mysocket.o: ../hdrs/chunk.h + mysocket.o: ../hdrs/attrib.h + myssl.o: ../hdrs/copyrite.h + myssl.o: ../config.h + myssl.o: ../hdrs/conf.h + myssl.o: ../options.h + myssl.o: ../hdrs/mushtype.h + myssl.o: ../hdrs/htab.h + myssl.o: ../hdrs/mysocket.h + myssl.o: ../confmagic.h + myssl.o: ../hdrs/myssl.h + myssl.o: ../hdrs/log.h + myssl.o: ../hdrs/parse.h + notify.o: ../hdrs/copyrite.h + notify.o: ../config.h + notify.o: ../hdrs/conf.h + notify.o: ../options.h + notify.o: ../hdrs/mushtype.h + notify.o: ../hdrs/htab.h + notify.o: ../hdrs/mushdb.h + notify.o: ../hdrs/flags.h + notify.o: ../hdrs/ptab.h + notify.o: ../hdrs/externs.h + notify.o: ../hdrs/dbdefs.h + notify.o: ../hdrs/chunk.h + notify.o: ../hdrs/attrib.h + notify.o: ../confmagic.h + notify.o: ../hdrs/lock.h + notify.o: ../hdrs/boolexp.h + notify.o: ../hdrs/help.h + notify.o: ../hdrs/match.h + notify.o: ../hdrs/ansi.h + notify.o: ../hdrs/pueblo.h + notify.o: ../hdrs/parse.h + notify.o: ../hdrs/access.h + notify.o: ../hdrs/version.h + notify.o: ../hdrs/patches.h + notify.o: ../hdrs/mysocket.h + notify.o: ../hdrs/ident.h + notify.o: ../hdrs/strtree.h + notify.o: ../hdrs/log.h + notify.o: ../hdrs/mymalloc.h + notify.o: ../hdrs/extchat.h + notify.o: ../hdrs/extmail.h + notify.o: ../hdrs/game.h parse.o: ../hdrs/copyrite.h parse.o: ../config.h parse.o: ../hdrs/conf.h parse.o: ../options.h parse.o: ../hdrs/mushtype.h + parse.o: ../hdrs/htab.h parse.o: ../hdrs/ansi.h parse.o: ../hdrs/dbdefs.h ! parse.o: ../hdrs/mushdb.h ! parse.o: ../hdrs/flags.h ! parse.o: ../hdrs/ptab.h ! parse.o: ../hdrs/chunk.h ! parse.o: ../hdrs/attrib.h parse.o: ../hdrs/externs.h parse.o: ../confmagic.h parse.o: ../hdrs/function.h parse.o: ../hdrs/case.h parse.o: ../hdrs/match.h parse.o: ../hdrs/parse.h parse.o: ../hdrs/pcre.h parse.o: ../hdrs/log.h parse.o: ../hdrs/mymalloc.h pcre.o: ../config.h pcre.o: ../hdrs/pcre.h *************** *** 1018,1033 **** player.o: ../hdrs/conf.h player.o: ../options.h player.o: ../hdrs/mushtype.h player.o: ../hdrs/mushdb.h player.o: ../hdrs/attrib.h player.o: ../hdrs/externs.h player.o: ../confmagic.h player.o: ../hdrs/access.h player.o: ../hdrs/mymalloc.h player.o: ../hdrs/log.h - player.o: ../hdrs/dbdefs.h - player.o: ../hdrs/htab.h - player.o: ../hdrs/flags.h player.o: ../hdrs/lock.h player.o: ../hdrs/boolexp.h player.o: ../hdrs/extmail.h --- 1205,1222 ---- player.o: ../hdrs/conf.h player.o: ../options.h player.o: ../hdrs/mushtype.h + player.o: ../hdrs/htab.h player.o: ../hdrs/mushdb.h + player.o: ../hdrs/flags.h + player.o: ../hdrs/ptab.h player.o: ../hdrs/attrib.h + player.o: ../hdrs/chunk.h player.o: ../hdrs/externs.h + player.o: ../hdrs/dbdefs.h player.o: ../confmagic.h player.o: ../hdrs/access.h player.o: ../hdrs/mymalloc.h player.o: ../hdrs/log.h player.o: ../hdrs/lock.h player.o: ../hdrs/boolexp.h player.o: ../hdrs/extmail.h *************** *** 1036,1045 **** plyrlist.o: ../hdrs/conf.h plyrlist.o: ../options.h plyrlist.o: ../hdrs/mushtype.h - plyrlist.o: ../hdrs/mushdb.h - plyrlist.o: ../hdrs/dbdefs.h plyrlist.o: ../hdrs/htab.h plyrlist.o: ../hdrs/flags.h plyrlist.o: ../hdrs/externs.h plyrlist.o: ../confmagic.h predicat.o: ../hdrs/copyrite.h --- 1225,1237 ---- plyrlist.o: ../hdrs/conf.h plyrlist.o: ../options.h plyrlist.o: ../hdrs/mushtype.h plyrlist.o: ../hdrs/htab.h + plyrlist.o: ../hdrs/mushdb.h plyrlist.o: ../hdrs/flags.h + plyrlist.o: ../hdrs/ptab.h + plyrlist.o: ../hdrs/dbdefs.h + plyrlist.o: ../hdrs/chunk.h + plyrlist.o: ../hdrs/attrib.h plyrlist.o: ../hdrs/externs.h plyrlist.o: ../confmagic.h predicat.o: ../hdrs/copyrite.h *************** *** 1047,1064 **** predicat.o: ../hdrs/conf.h predicat.o: ../options.h predicat.o: ../hdrs/mushtype.h predicat.o: ../hdrs/externs.h ! predicat.o: ../confmagic.h predicat.o: ../hdrs/mushdb.h predicat.o: ../hdrs/attrib.h predicat.o: ../hdrs/lock.h predicat.o: ../hdrs/boolexp.h - predicat.o: ../hdrs/flags.h predicat.o: ../hdrs/match.h predicat.o: ../hdrs/ansi.h predicat.o: ../hdrs/parse.h - predicat.o: ../hdrs/dbdefs.h - predicat.o: ../hdrs/htab.h predicat.o: ../hdrs/privtab.h predicat.o: ../hdrs/mymalloc.h privtab.o: ../hdrs/copyrite.h --- 1239,1258 ---- predicat.o: ../hdrs/conf.h predicat.o: ../options.h predicat.o: ../hdrs/mushtype.h + predicat.o: ../hdrs/htab.h predicat.o: ../hdrs/externs.h ! predicat.o: ../hdrs/dbdefs.h predicat.o: ../hdrs/mushdb.h + predicat.o: ../hdrs/flags.h + predicat.o: ../hdrs/ptab.h + predicat.o: ../hdrs/chunk.h predicat.o: ../hdrs/attrib.h + predicat.o: ../confmagic.h predicat.o: ../hdrs/lock.h predicat.o: ../hdrs/boolexp.h predicat.o: ../hdrs/match.h predicat.o: ../hdrs/ansi.h predicat.o: ../hdrs/parse.h predicat.o: ../hdrs/privtab.h predicat.o: ../hdrs/mymalloc.h privtab.o: ../hdrs/copyrite.h *************** *** 1066,1165 **** privtab.o: ../hdrs/conf.h privtab.o: ../options.h privtab.o: ../hdrs/mushtype.h privtab.o: ../hdrs/privtab.h privtab.o: ../confmagic.h privtab.o: ../hdrs/externs.h ptab.o: ../config.h ptab.o: ../hdrs/copyrite.h ptab.o: ../hdrs/externs.h ptab.o: ../hdrs/conf.h ptab.o: ../options.h ptab.o: ../hdrs/mushtype.h ! ptab.o: ../confmagic.h ptab.o: ../hdrs/ptab.h ! ptab.o: ../hdrs/memcheck.h rob.o: ../config.h rob.o: ../hdrs/copyrite.h rob.o: ../hdrs/conf.h rob.o: ../options.h rob.o: ../hdrs/mushtype.h rob.o: ../hdrs/mushdb.h rob.o: ../hdrs/attrib.h rob.o: ../hdrs/match.h rob.o: ../hdrs/externs.h rob.o: ../confmagic.h - rob.o: ../hdrs/flags.h rob.o: ../hdrs/log.h rob.o: ../hdrs/lock.h rob.o: ../hdrs/boolexp.h - rob.o: ../hdrs/dbdefs.h - rob.o: ../hdrs/htab.h rob.o: ../hdrs/game.h set.o: ../hdrs/copyrite.h set.o: ../config.h set.o: ../hdrs/conf.h set.o: ../options.h set.o: ../hdrs/mushtype.h set.o: ../hdrs/mushdb.h set.o: ../hdrs/match.h set.o: ../hdrs/attrib.h set.o: ../hdrs/externs.h set.o: ../confmagic.h set.o: ../hdrs/ansi.h set.o: ../hdrs/command.h set.o: ../hdrs/switches.h set.o: ../hdrs/mymalloc.h - set.o: ../hdrs/flags.h - set.o: ../hdrs/dbdefs.h - set.o: ../hdrs/htab.h set.o: ../hdrs/lock.h set.o: ../hdrs/boolexp.h set.o: ../hdrs/log.h shs.o: ../hdrs/copyrite.h shs.o: ../config.h - shs.o: ../hdrs/shs.h - shs.o: ../confmagic.h sig.o: ../config.h sig.o: ../hdrs/externs.h ! sig.o: ../hdrs/copyrite.h sig.o: ../hdrs/conf.h sig.o: ../options.h sig.o: ../hdrs/mushtype.h sig.o: ../confmagic.h speech.o: ../hdrs/copyrite.h speech.o: ../config.h speech.o: ../hdrs/conf.h speech.o: ../options.h speech.o: ../hdrs/mushtype.h speech.o: ../hdrs/ansi.h speech.o: ../hdrs/externs.h - speech.o: ../confmagic.h - speech.o: ../hdrs/mushdb.h speech.o: ../hdrs/dbdefs.h ! speech.o: ../hdrs/htab.h speech.o: ../hdrs/lock.h speech.o: ../hdrs/boolexp.h - speech.o: ../hdrs/flags.h speech.o: ../hdrs/log.h speech.o: ../hdrs/match.h - speech.o: ../hdrs/attrib.h speech.o: ../hdrs/parse.h speech.o: ../hdrs/game.h speech.o: ../hdrs/pcre.h - speech.o: ../hdrs/memcheck.h strdup.o: ../config.h strdup.o: ../hdrs/conf.h strdup.o: ../hdrs/copyrite.h strdup.o: ../options.h strdup.o: ../hdrs/mushtype.h strdup.o: ../hdrs/mymalloc.h strdup.o: ../confmagic.h strtree.o: ../hdrs/copyrite.h strtree.o: ../config.h strtree.o: ../hdrs/externs.h strtree.o: ../hdrs/conf.h strtree.o: ../options.h strtree.o: ../hdrs/mushtype.h strtree.o: ../confmagic.h strtree.o: ../hdrs/strtree.h strutil.o: ../config.h --- 1260,1389 ---- privtab.o: ../hdrs/conf.h privtab.o: ../options.h privtab.o: ../hdrs/mushtype.h + privtab.o: ../hdrs/htab.h privtab.o: ../hdrs/privtab.h privtab.o: ../confmagic.h privtab.o: ../hdrs/externs.h + privtab.o: ../hdrs/dbdefs.h + privtab.o: ../hdrs/mushdb.h + privtab.o: ../hdrs/flags.h + privtab.o: ../hdrs/ptab.h + privtab.o: ../hdrs/chunk.h + privtab.o: ../hdrs/attrib.h ptab.o: ../config.h ptab.o: ../hdrs/copyrite.h ptab.o: ../hdrs/externs.h + ptab.o: ../hdrs/dbdefs.h + ptab.o: ../hdrs/mushdb.h ptab.o: ../hdrs/conf.h ptab.o: ../options.h ptab.o: ../hdrs/mushtype.h ! ptab.o: ../hdrs/htab.h ! ptab.o: ../hdrs/flags.h ptab.o: ../hdrs/ptab.h ! ptab.o: ../hdrs/chunk.h ! ptab.o: ../hdrs/attrib.h ! ptab.o: ../confmagic.h rob.o: ../config.h rob.o: ../hdrs/copyrite.h rob.o: ../hdrs/conf.h rob.o: ../options.h rob.o: ../hdrs/mushtype.h + rob.o: ../hdrs/htab.h rob.o: ../hdrs/mushdb.h + rob.o: ../hdrs/flags.h + rob.o: ../hdrs/ptab.h rob.o: ../hdrs/attrib.h + rob.o: ../hdrs/chunk.h rob.o: ../hdrs/match.h rob.o: ../hdrs/externs.h + rob.o: ../hdrs/dbdefs.h rob.o: ../confmagic.h rob.o: ../hdrs/log.h rob.o: ../hdrs/lock.h rob.o: ../hdrs/boolexp.h rob.o: ../hdrs/game.h set.o: ../hdrs/copyrite.h set.o: ../config.h set.o: ../hdrs/conf.h set.o: ../options.h set.o: ../hdrs/mushtype.h + set.o: ../hdrs/htab.h set.o: ../hdrs/mushdb.h + set.o: ../hdrs/flags.h + set.o: ../hdrs/ptab.h set.o: ../hdrs/match.h set.o: ../hdrs/attrib.h + set.o: ../hdrs/chunk.h set.o: ../hdrs/externs.h + set.o: ../hdrs/dbdefs.h set.o: ../confmagic.h set.o: ../hdrs/ansi.h set.o: ../hdrs/command.h set.o: ../hdrs/switches.h set.o: ../hdrs/mymalloc.h set.o: ../hdrs/lock.h set.o: ../hdrs/boolexp.h set.o: ../hdrs/log.h shs.o: ../hdrs/copyrite.h shs.o: ../config.h sig.o: ../config.h sig.o: ../hdrs/externs.h ! sig.o: ../hdrs/dbdefs.h ! sig.o: ../hdrs/mushdb.h sig.o: ../hdrs/conf.h + sig.o: ../hdrs/copyrite.h sig.o: ../options.h sig.o: ../hdrs/mushtype.h + sig.o: ../hdrs/htab.h + sig.o: ../hdrs/flags.h + sig.o: ../hdrs/ptab.h + sig.o: ../hdrs/chunk.h + sig.o: ../hdrs/attrib.h sig.o: ../confmagic.h speech.o: ../hdrs/copyrite.h speech.o: ../config.h speech.o: ../hdrs/conf.h speech.o: ../options.h speech.o: ../hdrs/mushtype.h + speech.o: ../hdrs/htab.h speech.o: ../hdrs/ansi.h speech.o: ../hdrs/externs.h speech.o: ../hdrs/dbdefs.h ! speech.o: ../hdrs/mushdb.h ! speech.o: ../hdrs/flags.h ! speech.o: ../hdrs/ptab.h ! speech.o: ../hdrs/chunk.h ! speech.o: ../hdrs/attrib.h ! speech.o: ../confmagic.h speech.o: ../hdrs/lock.h speech.o: ../hdrs/boolexp.h speech.o: ../hdrs/log.h speech.o: ../hdrs/match.h speech.o: ../hdrs/parse.h speech.o: ../hdrs/game.h speech.o: ../hdrs/pcre.h strdup.o: ../config.h strdup.o: ../hdrs/conf.h strdup.o: ../hdrs/copyrite.h strdup.o: ../options.h strdup.o: ../hdrs/mushtype.h + strdup.o: ../hdrs/htab.h strdup.o: ../hdrs/mymalloc.h strdup.o: ../confmagic.h strtree.o: ../hdrs/copyrite.h strtree.o: ../config.h strtree.o: ../hdrs/externs.h + strtree.o: ../hdrs/dbdefs.h + strtree.o: ../hdrs/mushdb.h strtree.o: ../hdrs/conf.h strtree.o: ../options.h strtree.o: ../hdrs/mushtype.h + strtree.o: ../hdrs/htab.h + strtree.o: ../hdrs/flags.h + strtree.o: ../hdrs/ptab.h + strtree.o: ../hdrs/chunk.h + strtree.o: ../hdrs/attrib.h strtree.o: ../confmagic.h strtree.o: ../hdrs/strtree.h strutil.o: ../config.h *************** *** 1167,1179 **** strutil.o: ../hdrs/conf.h strutil.o: ../options.h strutil.o: ../hdrs/mushtype.h strutil.o: ../hdrs/case.h strutil.o: ../hdrs/ansi.h strutil.o: ../hdrs/pueblo.h strutil.o: ../hdrs/parse.h strutil.o: ../confmagic.h strutil.o: ../hdrs/externs.h ! strutil.o: ../hdrs/memcheck.h strutil.o: ../hdrs/mymalloc.h strutil.o: ../hdrs/log.h timer.o: ../hdrs/copyrite.h --- 1391,1409 ---- strutil.o: ../hdrs/conf.h strutil.o: ../options.h strutil.o: ../hdrs/mushtype.h + strutil.o: ../hdrs/htab.h strutil.o: ../hdrs/case.h strutil.o: ../hdrs/ansi.h strutil.o: ../hdrs/pueblo.h strutil.o: ../hdrs/parse.h strutil.o: ../confmagic.h strutil.o: ../hdrs/externs.h ! strutil.o: ../hdrs/dbdefs.h ! strutil.o: ../hdrs/mushdb.h ! strutil.o: ../hdrs/flags.h ! strutil.o: ../hdrs/ptab.h ! strutil.o: ../hdrs/chunk.h ! strutil.o: ../hdrs/attrib.h strutil.o: ../hdrs/mymalloc.h strutil.o: ../hdrs/log.h timer.o: ../hdrs/copyrite.h *************** *** 1181,1192 **** timer.o: ../hdrs/conf.h timer.o: ../options.h timer.o: ../hdrs/mushtype.h ! timer.o: ../hdrs/match.h timer.o: ../hdrs/flags.h timer.o: ../hdrs/externs.h timer.o: ../confmagic.h timer.o: ../hdrs/access.h - timer.o: ../hdrs/memcheck.h timer.o: ../hdrs/log.h timer.o: ../hdrs/game.h timer.o: ../hdrs/help.h --- 1411,1430 ---- timer.o: ../hdrs/conf.h timer.o: ../options.h timer.o: ../hdrs/mushtype.h ! timer.o: ../hdrs/htab.h ! timer.o: ../hdrs/dbdefs.h ! timer.o: ../hdrs/mushdb.h timer.o: ../hdrs/flags.h + timer.o: ../hdrs/ptab.h + timer.o: ../hdrs/chunk.h + timer.o: ../hdrs/attrib.h + timer.o: ../hdrs/lock.h + timer.o: ../hdrs/boolexp.h + timer.o: ../hdrs/extmail.h + timer.o: ../hdrs/match.h timer.o: ../hdrs/externs.h timer.o: ../confmagic.h timer.o: ../hdrs/access.h timer.o: ../hdrs/log.h timer.o: ../hdrs/game.h timer.o: ../hdrs/help.h *************** *** 1196,1210 **** unparse.o: ../hdrs/conf.h unparse.o: ../options.h unparse.o: ../hdrs/mushtype.h - unparse.o: ../hdrs/mushdb.h - unparse.o: ../hdrs/dbdefs.h unparse.o: ../hdrs/htab.h unparse.o: ../hdrs/flags.h unparse.o: ../hdrs/lock.h unparse.o: ../hdrs/boolexp.h unparse.o: ../hdrs/externs.h unparse.o: ../confmagic.h - unparse.o: ../hdrs/attrib.h unparse.o: ../hdrs/ansi.h unparse.o: ../hdrs/pueblo.h unparse.o: ../hdrs/parse.h --- 1434,1450 ---- unparse.o: ../hdrs/conf.h unparse.o: ../options.h unparse.o: ../hdrs/mushtype.h unparse.o: ../hdrs/htab.h + unparse.o: ../hdrs/mushdb.h unparse.o: ../hdrs/flags.h + unparse.o: ../hdrs/ptab.h + unparse.o: ../hdrs/dbdefs.h + unparse.o: ../hdrs/chunk.h + unparse.o: ../hdrs/attrib.h unparse.o: ../hdrs/lock.h unparse.o: ../hdrs/boolexp.h unparse.o: ../hdrs/externs.h unparse.o: ../confmagic.h unparse.o: ../hdrs/ansi.h unparse.o: ../hdrs/pueblo.h unparse.o: ../hdrs/parse.h *************** *** 1213,1235 **** utils.o: ../hdrs/conf.h utils.o: ../options.h utils.o: ../hdrs/mushtype.h ! utils.o: ../hdrs/memcheck.h utils.o: ../hdrs/match.h utils.o: ../hdrs/externs.h ! utils.o: ../confmagic.h utils.o: ../hdrs/mushdb.h - utils.o: ../hdrs/mymalloc.h - utils.o: ../hdrs/log.h utils.o: ../hdrs/flags.h ! utils.o: ../hdrs/dbdefs.h ! utils.o: ../hdrs/htab.h utils.o: ../hdrs/attrib.h version.o: ../config.h version.o: ../hdrs/copyrite.h version.o: ../hdrs/conf.h version.o: ../options.h version.o: ../hdrs/mushtype.h version.o: ../hdrs/externs.h version.o: ../confmagic.h version.o: ../hdrs/version.h version.o: ../hdrs/patches.h --- 1453,1485 ---- utils.o: ../hdrs/conf.h utils.o: ../options.h utils.o: ../hdrs/mushtype.h ! utils.o: ../hdrs/htab.h utils.o: ../hdrs/match.h utils.o: ../hdrs/externs.h ! utils.o: ../hdrs/dbdefs.h utils.o: ../hdrs/mushdb.h utils.o: ../hdrs/flags.h ! utils.o: ../hdrs/ptab.h ! utils.o: ../hdrs/chunk.h utils.o: ../hdrs/attrib.h + utils.o: ../confmagic.h + utils.o: ../hdrs/mymalloc.h + utils.o: ../hdrs/log.h + utils.o: ../hdrs/lock.h + utils.o: ../hdrs/boolexp.h version.o: ../config.h version.o: ../hdrs/copyrite.h version.o: ../hdrs/conf.h version.o: ../options.h version.o: ../hdrs/mushtype.h + version.o: ../hdrs/htab.h version.o: ../hdrs/externs.h + version.o: ../hdrs/dbdefs.h + version.o: ../hdrs/mushdb.h + version.o: ../hdrs/flags.h + version.o: ../hdrs/ptab.h + version.o: ../hdrs/chunk.h + version.o: ../hdrs/attrib.h version.o: ../confmagic.h version.o: ../hdrs/version.h version.o: ../hdrs/patches.h *************** *** 1239,1263 **** warnings.o: ../hdrs/conf.h warnings.o: ../options.h warnings.o: ../hdrs/mushtype.h warnings.o: ../hdrs/mushdb.h warnings.o: ../hdrs/lock.h warnings.o: ../hdrs/boolexp.h ! warnings.o: ../hdrs/flags.h warnings.o: ../hdrs/dbdefs.h - warnings.o: ../hdrs/htab.h warnings.o: ../hdrs/externs.h warnings.o: ../confmagic.h warnings.o: ../hdrs/match.h - warnings.o: ../hdrs/attrib.h wild.o: ../config.h wild.o: ../hdrs/copyrite.h wild.o: ../hdrs/conf.h wild.o: ../options.h wild.o: ../hdrs/mushtype.h wild.o: ../hdrs/case.h wild.o: ../hdrs/externs.h wild.o: ../confmagic.h - wild.o: ../hdrs/memcheck.h wild.o: ../hdrs/mymalloc.h wild.o: ../hdrs/parse.h wild.o: ../hdrs/pcre.h --- 1489,1521 ---- warnings.o: ../hdrs/conf.h warnings.o: ../options.h warnings.o: ../hdrs/mushtype.h + warnings.o: ../hdrs/htab.h warnings.o: ../hdrs/mushdb.h + warnings.o: ../hdrs/flags.h + warnings.o: ../hdrs/ptab.h warnings.o: ../hdrs/lock.h warnings.o: ../hdrs/boolexp.h ! warnings.o: ../hdrs/chunk.h ! warnings.o: ../hdrs/attrib.h warnings.o: ../hdrs/dbdefs.h warnings.o: ../hdrs/externs.h warnings.o: ../confmagic.h warnings.o: ../hdrs/match.h wild.o: ../config.h wild.o: ../hdrs/copyrite.h wild.o: ../hdrs/conf.h wild.o: ../options.h wild.o: ../hdrs/mushtype.h + wild.o: ../hdrs/htab.h wild.o: ../hdrs/case.h wild.o: ../hdrs/externs.h + wild.o: ../hdrs/dbdefs.h + wild.o: ../hdrs/mushdb.h + wild.o: ../hdrs/flags.h + wild.o: ../hdrs/ptab.h + wild.o: ../hdrs/chunk.h + wild.o: ../hdrs/attrib.h wild.o: ../confmagic.h wild.o: ../hdrs/mymalloc.h wild.o: ../hdrs/parse.h wild.o: ../hdrs/pcre.h *************** *** 1266,1334 **** wiz.o: ../hdrs/conf.h wiz.o: ../options.h wiz.o: ../hdrs/mushtype.h wiz.o: ../hdrs/mushdb.h wiz.o: ../hdrs/attrib.h wiz.o: ../hdrs/match.h wiz.o: ../hdrs/externs.h wiz.o: ../confmagic.h wiz.o: ../hdrs/access.h wiz.o: ../hdrs/parse.h wiz.o: ../hdrs/mymalloc.h - wiz.o: ../hdrs/flags.h wiz.o: ../hdrs/lock.h wiz.o: ../hdrs/boolexp.h wiz.o: ../hdrs/log.h wiz.o: ../hdrs/game.h wiz.o: ../hdrs/command.h wiz.o: ../hdrs/switches.h - wiz.o: ../hdrs/dbdefs.h - wiz.o: ../hdrs/htab.h wiz.o: ../hdrs/extmail.h ! wiz.o: ../hdrs/memcheck.h ../hdrs/conf.o: ../hdrs/copyrite.h ../hdrs/conf.o: ../options.h ../hdrs/conf.o: ../hdrs/mushtype.h ! ../hdrs/mushdb.o: ../hdrs/copyrite.h ! ../hdrs/flags.o: ../hdrs/conf.h ! ../hdrs/flags.o: ../hdrs/copyrite.h ! ../hdrs/flags.o: ../options.h ! ../hdrs/flags.o: ../hdrs/mushtype.h ! ../hdrs/externs.o: ../config.h ! ../hdrs/externs.o: ../hdrs/copyrite.h ../hdrs/externs.o: ../hdrs/conf.h ../hdrs/externs.o: ../options.h ../hdrs/externs.o: ../hdrs/mushtype.h ../hdrs/externs.o: ../confmagic.h ! ../hdrs/case.o: ../config.h ! ../hdrs/boolexp.o: ../hdrs/copyrite.h ! ../hdrs/match.o: ../hdrs/copyrite.h ../hdrs/lock.o: ../hdrs/copyrite.h ../hdrs/lock.o: ../hdrs/mushtype.h ../hdrs/lock.o: ../options.h ../hdrs/lock.o: ../hdrs/conf.h ../hdrs/lock.o: ../hdrs/boolexp.h ../hdrs/mymalloc.o: ../options.h ! ../hdrs/ident.o: ../config.h ! ../hdrs/ident.o: ../hdrs/mysocket.h ! ../hdrs/ident.o: ../hdrs/copyrite.h ! ../hdrs/ident.o: ../confmagic.h ! ../hdrs/atr_tab.o: ../hdrs/attrib.h ! ../hdrs/dbdefs.o: ../hdrs/htab.h ! ../hdrs/case.o: ../config.h ! ../hdrs/function.o: ../hdrs/copyrite.h ../hdrs/parse.o: ../hdrs/copyrite.h ../hdrs/parse.o: ../config.h ../hdrs/parse.o: ../confmagic.h - ../hdrs/command.o: ../hdrs/switches.h ../hdrs/privtab.o: ../hdrs/copyrite.h ../hdrs/privtab.o: ../config.h ../hdrs/privtab.o: ../confmagic.h - ../hdrs/mysocket.o: ../hdrs/copyrite.h - ../hdrs/mysocket.o: ../config.h - ../hdrs/mysocket.o: ../confmagic.h - ../hdrs/mushtype.o: ../hdrs/copyrite.h - ../hdrs/mushtype.o: ../options.h - ../hdrs/boolexp.o: ../hdrs/copyrite.h - !NO!SUBS! - chmod 755 Makefile - $eunicefix Makefile --- 1524,1632 ---- wiz.o: ../hdrs/conf.h wiz.o: ../options.h wiz.o: ../hdrs/mushtype.h + wiz.o: ../hdrs/htab.h wiz.o: ../hdrs/mushdb.h + wiz.o: ../hdrs/flags.h + wiz.o: ../hdrs/ptab.h wiz.o: ../hdrs/attrib.h + wiz.o: ../hdrs/chunk.h wiz.o: ../hdrs/match.h wiz.o: ../hdrs/externs.h + wiz.o: ../hdrs/dbdefs.h wiz.o: ../confmagic.h wiz.o: ../hdrs/access.h wiz.o: ../hdrs/parse.h wiz.o: ../hdrs/mymalloc.h wiz.o: ../hdrs/lock.h wiz.o: ../hdrs/boolexp.h wiz.o: ../hdrs/log.h wiz.o: ../hdrs/game.h wiz.o: ../hdrs/command.h wiz.o: ../hdrs/switches.h wiz.o: ../hdrs/extmail.h ! ../hdrs/atr_tab.o: ../hdrs/attrib.h ! ../hdrs/atr_tab.o: ../hdrs/chunk.h ! ../hdrs/attrib.o: ../hdrs/chunk.h ! ../hdrs/attrib.o: ../hdrs/attrib.h ! ../hdrs/boolexp.o: ../hdrs/copyrite.h ! ../hdrs/boolexp.o: ../hdrs/chunk.h ! ../hdrs/boolexp.o: ../hdrs/attrib.h ! ../hdrs/boolexp.o: ../hdrs/copyrite.h ! ../hdrs/boolexp.o: ../hdrs/chunk.h ! ../hdrs/boolexp.o: ../hdrs/attrib.h ! ../hdrs/case.o: ../config.h ! ../hdrs/case.o: ../config.h ! ../hdrs/chunk.o: ../hdrs/attrib.h ! ../hdrs/chunk.o: ../hdrs/chunk.h ! ../hdrs/command.o: ../hdrs/switches.h ../hdrs/conf.o: ../hdrs/copyrite.h ../hdrs/conf.o: ../options.h ../hdrs/conf.o: ../hdrs/mushtype.h ! ../hdrs/conf.o: ../hdrs/htab.h ! ../hdrs/dbdefs.o: ../hdrs/mushdb.h ! ../hdrs/dbdefs.o: ../hdrs/conf.h ! ../hdrs/dbdefs.o: ../hdrs/copyrite.h ! ../hdrs/dbdefs.o: ../options.h ! ../hdrs/dbdefs.o: ../hdrs/mushtype.h ! ../hdrs/dbdefs.o: ../hdrs/htab.h ! ../hdrs/dbdefs.o: ../hdrs/flags.h ! ../hdrs/dbdefs.o: ../hdrs/ptab.h ! ../hdrs/dbdefs.o: ../hdrs/chunk.h ! ../hdrs/dbdefs.o: ../hdrs/attrib.h ! ../hdrs/extchat.o: ../hdrs/boolexp.h ! ../hdrs/extchat.o: ../hdrs/copyrite.h ! ../hdrs/extchat.o: ../hdrs/chunk.h ! ../hdrs/extchat.o: ../hdrs/attrib.h ! ../hdrs/externs.o: ../hdrs/dbdefs.h ! ../hdrs/externs.o: ../hdrs/mushdb.h ../hdrs/externs.o: ../hdrs/conf.h + ../hdrs/externs.o: ../hdrs/copyrite.h ../hdrs/externs.o: ../options.h ../hdrs/externs.o: ../hdrs/mushtype.h + ../hdrs/externs.o: ../hdrs/htab.h + ../hdrs/externs.o: ../hdrs/flags.h + ../hdrs/externs.o: ../hdrs/ptab.h + ../hdrs/externs.o: ../hdrs/chunk.h + ../hdrs/externs.o: ../hdrs/attrib.h + ../hdrs/externs.o: ../config.h ../hdrs/externs.o: ../confmagic.h ! ../hdrs/flags.o: ../hdrs/conf.h ! ../hdrs/flags.o: ../hdrs/copyrite.h ! ../hdrs/flags.o: ../options.h ! ../hdrs/flags.o: ../hdrs/mushtype.h ! ../hdrs/flags.o: ../hdrs/htab.h ! ../hdrs/flags.o: ../hdrs/ptab.h ! ../hdrs/function.o: ../hdrs/copyrite.h ! ../hdrs/ident.o: ../config.h ! ../hdrs/ident.o: ../hdrs/mysocket.h ! ../hdrs/ident.o: ../hdrs/copyrite.h ! ../hdrs/ident.o: ../confmagic.h ../hdrs/lock.o: ../hdrs/copyrite.h ../hdrs/lock.o: ../hdrs/mushtype.h ../hdrs/lock.o: ../options.h ../hdrs/lock.o: ../hdrs/conf.h + ../hdrs/lock.o: ../hdrs/htab.h ../hdrs/lock.o: ../hdrs/boolexp.h + ../hdrs/lock.o: ../hdrs/chunk.h + ../hdrs/lock.o: ../hdrs/attrib.h + ../hdrs/match.o: ../hdrs/copyrite.h + ../hdrs/mushdb.o: ../hdrs/conf.h + ../hdrs/mushdb.o: ../hdrs/copyrite.h + ../hdrs/mushdb.o: ../options.h + ../hdrs/mushdb.o: ../hdrs/mushtype.h + ../hdrs/mushdb.o: ../hdrs/htab.h + ../hdrs/mushdb.o: ../hdrs/flags.h + ../hdrs/mushdb.o: ../hdrs/ptab.h + ../hdrs/mushtype.o: ../hdrs/copyrite.h + ../hdrs/mushtype.o: ../options.h ../hdrs/mymalloc.o: ../options.h ! ../hdrs/mysocket.o: ../hdrs/copyrite.h ! ../hdrs/mysocket.o: ../config.h ! ../hdrs/mysocket.o: ../confmagic.h ! ../hdrs/myssl.o: ../hdrs/copyrite.h ../hdrs/parse.o: ../hdrs/copyrite.h ../hdrs/parse.o: ../config.h ../hdrs/parse.o: ../confmagic.h ../hdrs/privtab.o: ../hdrs/copyrite.h ../hdrs/privtab.o: ../config.h ../hdrs/privtab.o: ../confmagic.h *** 1_7_7.920/game/restrictcnf.dst Sat, 20 Mar 2004 12:38:26 -0600 dunemush (pennmush/h/10_restrictcn 1.2 600) --- 1_7_7.964(w)/game/restrictcnf.dst Thu, 06 May 2004 00:30:22 -0500 dunemush (pennmush/h/10_restrictcn 1.4 600) *************** *** 87,89 **** --- 87,92 ---- # Disabled by default for backward compatibility. restrict_command warn_on_missing nobody + # We add a dummy here to make updating easier + restrict_function lstats noguest + *** 1_7_7.920/game/aliascnf.dst Fri, 19 Mar 2004 23:32:45 -0600 dunemush (pennmush/h/11_aliascnf.d 1.1 600) --- 1_7_7.964(w)/game/aliascnf.dst Thu, 06 May 2004 00:30:22 -0500 dunemush (pennmush/h/11_aliascnf.d 1.2 600) *************** *** 16,21 **** --- 16,24 ---- #reserve_alias u #reserve_alias d + # We add a dummy here to make updating easier + reserve_alias dummy_exit_alias + # You can also alias commands to other names. # command_alias EXISTING_COMMAND ALIAS # For example, a french-language game do the following: