This is patch11 to PennMUSH 1.7.7. After applying this patch, you will have version 1.7.7p11 To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p1 < 1.7.7-patch11 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. Then @shutdown and restart your MUSH. - Alan/Javelin In this patch: Commands: * New IDLE command (socket-level) does nothing, and does not update the socket's last_time (so it doesn't change idle times). Useful for people behind lame NAT firewalls that timeout their connections if nothing is sent for 5 minutes. Suggested by Bolt and BladedThoth@M*U*S*H. Fixes: * Win32 (and other OS) portability fixes. [EEH] * Fixed the openssl Configure thing again. The right way, this time. Prereq: 1.7.7p10 *** 1_7_7.224/Patchlevel Sat, 22 Feb 2003 12:13:17 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.12 600) --- 1_7_7.230(w)/Patchlevel Sat, 22 Feb 2003 14:59:04 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.12 600) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.7p10 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.7.7p11 *** 1_7_7.224/CHANGES Sat, 22 Feb 2003 12:13:17 -0600 dunemush (pennmush/g/23_CHANGES 1.48.1.19 600) --- 1_7_7.230(w)/CHANGES Sat, 22 Feb 2003 15:16:14 -0600 dunemush (pennmush/g/23_CHANGES 1.48.1.22 600) *************** *** 18,23 **** --- 18,34 ---- ========================================================================== + Version 1.7.7 patchlevel 11 February 22, 2003 + + Commands: + * New IDLE command (socket-level) does nothing, and does not update + the socket's last_time (so it doesn't change idle times). Useful + for people behind lame NAT firewalls that timeout their connections if + nothing is sent for 5 minutes. Suggested by Bolt and BladedThoth@M*U*S*H. + Fixes: + * Win32 (and other OS) portability fixes. [EEH] + * Fixed the openssl Configure thing again. The right way, this time. + Version 1.7.7 patchlevel 10 February 22, 2003 Fixes: *** 1_7_7.224/game/txt/hlp/pennvers.hlp Sat, 22 Feb 2003 12:13:17 -0600 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.1.1.5.1.4.1.1.1.1.1.1.1.1.1.5.1.1.1.3.1.1.1.3.1.1.1.54.1.10.1.2.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.7.1.1.1.1.1.2.1.1.1.4.1.2.1.1.1.1.1.1.1.2.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.4 600) --- 1_7_7.230(w)/game/txt/hlp/pennvers.hlp Sat, 22 Feb 2003 15:18:54 -0600 dunemush (pennmush/12_pennvers.h 1.169.1.42.1.3.1.2.2.2.1.1.1.3.1.1.1.5.1.4.1.1.1.1.1.1.1.1.1.5.1.1.1.3.1.1.1.3.1.1.1.54.1.10.1.2.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.7.1.1.1.1.1.2.1.1.1.4.1.2.1.1.1.1.1.1.1.2.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.5 600) *************** *** 1,5 **** & changes ! & 1.7.7p10 This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions can probably be gotten via 'help '. 'help credits' --- 1,5 ---- & changes ! & 1.7.7p11 This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions can probably be gotten via 'help '. 'help credits' *************** *** 11,16 **** --- 11,28 ---- A list of the patchlevels associated with each release can be read in 'help patchlevels'. + Version 1.7.7 patchlevel 11 February 22, 2003 + + Commands: + * New IDLE command (socket-level) does nothing, and does not update + the socket's last_time (so it doesn't change idle times). Useful + for people behind lame NAT firewalls that timeout their connections if + nothing is sent for 5 minutes. Suggested by Bolt and BladedThoth@M*U*S*H. + Fixes: + * Win32 (and other OS) portability fixes. [EEH] + * Fixed the openssl Configure thing again. The right way, this time. + + & 1.7.7p10 Version 1.7.7 patchlevel 10 February 22, 2003 Fixes: *************** *** 1460,1467 **** * Indentation fixes [SW] * Fixes up to 1.7.4p12 merged in. & 1.7.6p7 ! Version 1.7.6 patchlevel 7 January 23, 2003 Fixes: * Some sloppy coding in src/access.c could generate runtime --- 1472,1485 ---- * Indentation fixes [SW] * Fixes up to 1.7.4p12 merged in. + & 1.7.6p8 + Version 1.7.6 patchlevel 8 February 20, 2003 + + Fixes: + * Some redundant code cleanup in look_exits suggested by Vadiv@M*U*S*H. + & 1.7.6p7 ! Version 1.7.6 patchlevel 7 February 20, 2003 Fixes: * Some sloppy coding in src/access.c could generate runtime *************** *** 6107,6114 **** For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ! 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7 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, 19, 20 --- 6125,6132 ---- For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ! 1.7.6: 0, 1, 2, 3, 4, 5, 6, 7, 8 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, 19, 20 *** 1_7_7.224/game/txt/hlp/penncmd.hlp Sun, 09 Feb 2003 21:34:34 -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.4.1.5 600) --- 1_7_7.230(w)/game/txt/hlp/penncmd.hlp Sat, 22 Feb 2003 14:01: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.4.1.6 600) *************** *** 3336,3341 **** --- 3336,3360 ---- but not location or host. See also: WHO, @poll, @doing + & OUTPUTPREFIX + & OUTPUTSUFFIX + OUTPUTPREFIX + OUTPUTSUFFIX + + Sets your output prefix or suffix. These strings will be shown + before and after the output of any command that you initiate, + respectively. They are primarily useful for bots and the like. + + & IDLE + IDLE + + This command does nothing. It does not reset a connection's + idle time. It is useful for people who are connecting from behind + a NAT gateway with a short fixed timeout; if you're in this situation, + have your client send the IDLE command every minute or so, and the + NAT connection won't time out (but you won't appear, to other players, + to be active). + & SESSION SESSION *** 1_7_7.224/src/look.c Sun, 09 Feb 2003 21:34:34 -0600 dunemush (pennmush/c/4_look.c 1.21.1.2.1.9.1.1.1.5 660) --- 1_7_7.230(w)/src/look.c Sat, 22 Feb 2003 15:18:56 -0600 dunemush (pennmush/c/4_look.c 1.21.1.2.1.9.1.1.1.1.1.2 660) *************** *** 121,177 **** mush_free((Malloc_t) buff, "string"); return; } ! if (COMMA_EXIT_LIST) { ! if (Dark(loc)) { ! for (thing = Exits(loc); thing != NOTHING; thing = Next(thing)) { ! if (!(DarkLegal(thing)) && Light(thing)) { ! total_count++; ! if (!Transparented(loc) || Opaque(thing)) ! exit_count++; ! } } - } else { - for (thing = Exits(loc); thing != NOTHING; thing = Next(thing)) { - if (!(DarkLegal(thing))) { - total_count++; - if (!Transparented(loc) || Opaque(thing)) - exit_count++; - } - } - } - if (total_count == 0) { - mush_free((Malloc_t) tbuf1, "string"); - mush_free((Malloc_t) tbuf2, "string"); - mush_free((Malloc_t) nbuf, "string"); - return; } - thing = Exits(loc); - } else { ! ! /* Scan the room and see if there are any visible exits */ ! if (Dark(loc)) ! for (thing = Exits(loc); ! (thing != NOTHING) && (DarkLegal(thing) || !Light(thing)); ! thing = Next(thing)) ; ! else ! for (thing = Exits(loc); ! (thing != NOTHING) && DarkLegal(thing); thing = Next(thing)) ; ! if (thing == NOTHING) { ! mush_free((Malloc_t) tbuf1, "string"); ! mush_free((Malloc_t) tbuf2, "string"); ! mush_free((Malloc_t) nbuf, "string"); ! return; } } PUSE; tag_wrap("FONT", "SIZE=+1", exit_name); PEND; notify_by(loc, player, pbuff); ! for (; thing != NOTHING; thing = Next(thing)) { ! if (Name(thing) && !DarkLegal(thing) && (!Dark(loc) || Light(thing))) { strcpy(pbuff, Name(thing)); if ((p = strchr(pbuff, ';'))) *p = '\0'; --- 121,159 ---- mush_free((Malloc_t) buff, "string"); return; } ! /* Scan the room and see if there are any visible exits */ ! if (Dark(loc)) { ! for (thing = Exits(loc); thing != NOTHING; thing = Next(thing)) { ! if (!(DarkLegal(thing)) && Light(thing)) { ! total_count++; ! if (!Transparented(loc) || Opaque(thing)) ! exit_count++; } } } else { ! for (thing = Exits(loc); thing != NOTHING; thing = Next(thing)) { ! if (!(DarkLegal(thing))) { ! total_count++; ! if (!Transparented(loc) || Opaque(thing)) ! exit_count++; ! } } } + if (total_count == 0) { + /* No visible exits. We are outta here */ + mush_free((Malloc_t) tbuf1, "string"); + mush_free((Malloc_t) tbuf2, "string"); + mush_free((Malloc_t) nbuf, "string"); + return; + } PUSE; tag_wrap("FONT", "SIZE=+1", exit_name); PEND; notify_by(loc, player, pbuff); ! for (thing = Exits(loc); thing != NOTHING; thing = Next(thing)) { ! if (!DarkLegal(thing) && (!Dark(loc) || Light(thing))) { strcpy(pbuff, Name(thing)); if ((p = strchr(pbuff, ';'))) *p = '\0'; *** 1_7_7.224/src/bsd.c Sun, 16 Feb 2003 22:15:00 -0600 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.5 660) --- 1_7_7.230(w)/src/bsd.c Sat, 22 Feb 2003 15:18:55 -0600 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.6 660) *************** *** 2137,2143 **** for (d = descriptor_list; d; d = dnext) { dnext = d->next; if (FD_ISSET(d->descriptor, &input_set)) { - d->last_time = now; if (!process_input(d)) { shutdownsock(d); continue; --- 2137,2142 ---- *************** *** 3672,3677 **** --- 3671,3679 ---- depth = 0; (d->cmds)++; + if (!strcmp(command, IDLE_COMMAND)) + return 1; + d->last_time = mudtime; if (!strcmp(command, QUIT_COMMAND)) { return 0; } else if (!strcmp(command, LOGOUT_COMMAND)) { *** 1_7_7.224/hdrs/version.h Sat, 22 Feb 2003 12:13:17 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.14 660) --- 1_7_7.230(w)/hdrs/version.h Sat, 22 Feb 2003 15:18:58 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.14 660) *************** *** 1,3 **** ! #define VERSION "PennMUSH version 1.7.7 patchlevel 10 [02/22/2003]" ! #define SHORTVN "PennMUSH 1.7.7p10" ! #define NUMVERSION 001007007010 --- 1,3 ---- ! #define VERSION "PennMUSH version 1.7.7 patchlevel 11 [02/22/2003]" ! #define SHORTVN "PennMUSH 1.7.7p11" ! #define NUMVERSION 001007007011 *** 1_7_7.224/hdrs/conf.h Sun, 16 Feb 2003 21:57:00 -0600 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.9 660) --- 1_7_7.230(w)/hdrs/conf.h Sat, 22 Feb 2003 15:18:58 -0600 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.11 660) *************** *** 1,9 **** /* conf.h */ ! #ifndef __CONFIG_H ! #define __CONFIG_H #include "copyrite.h" #include "options.h" #include "mushtype.h" --- 1,14 ---- /* conf.h */ ! #ifndef __CONF_H ! #define __CONF_H #include "copyrite.h" + #ifdef I_SYS_TIME + #include + #else + #include + #endif #include "options.h" #include "mushtype.h" *************** *** 39,44 **** --- 44,50 ---- #define INFO_VERSION "1.1" #define DOING_COMMAND "DOING" #define SESSION_COMMAND "SESSION" + #define IDLE_COMMAND "IDLE" #define PREFIX_COMMAND "OUTPUTPREFIX" #define SUFFIX_COMMAND "OUTPUTSUFFIX" *************** *** 404,407 **** #endif /* WIN32 */ ! #endif /* __CONFIG_H */ --- 410,413 ---- #endif /* WIN32 */ ! #endif /* __CONF_H */ *** 1_7_7.224/Configure Sat, 22 Feb 2003 12:13:17 -0600 dunemush (pennmush/d/32_Configure 1.21.1.4.1.1.1.1.1.1.1.10 710) --- 1_7_7.230(w)/Configure Sat, 22 Feb 2003 15:16:30 -0600 dunemush (pennmush/d/32_Configure 1.21.1.4.1.1.1.1.1.1.1.10 710) *************** *** 4713,4718 **** --- 4713,4719 ---- esac fi + d_openssl="$undef" case "x$libssl$libcrypto" in x) ;; *************** *** 4727,4733 **** } EOM - d_openssl="$undef" if $cc $ccflags $ldflags -o test_openssl test_openssl.c $libs $libssl $libcrypto >/dev/null 2>&1 ; then echo 'You have openssl...' >&4 --- 4728,4733 ---- Index: 1_7_7.224/Makefile.SH *** 1_7_7.224/Makefile.SH Wed, 25 Dec 2002 16:14:24 -0600 dunemush (pennmush/d/30_Makefile.S 1.14.1.1.1.8 700) --- 1_7_7.230(w)/Makefile.SH Sat, 22 Feb 2003 12:25:40 -0600 dunemush (pennmush/d/30_Makefile.S 1.14.1.1.1.9 700) *************** *** 200,206 **** game/access.README \ game/txt/* game/txt/nws/* game/txt/evt/* game/txt/hlp/* ) ! diffs: @make indent > /dev/null 2>&1 @(cd utils; sh mkcmds.sh) > /dev/null 2>&1 @(prcs diff -r$(VS) -N pennmush `cat MANIFEST` | grep -v 'Index:') --- 200,206 ---- game/access.README \ game/txt/* game/txt/nws/* game/txt/evt/* game/txt/hlp/* ) ! diffs: versions @make indent > /dev/null 2>&1 @(cd utils; sh mkcmds.sh) > /dev/null 2>&1 @(prcs diff -r$(VS) -N pennmush `cat MANIFEST` | grep -v 'Index:')