This is patch03 to PennMUSH 1.8.1. After applying this patch, you will have version 1.8.1p3 To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p1 < 1.8.1-patch03 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: Fixes * Bugfixes from 1.8.0p8 applied. Prereq: 1.8.1p2 *** 1_8_1.147/Patchlevel Sun, 11 Sep 2005 10:23:54 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.46 600) --- 1_8_1.150(w)/Patchlevel Thu, 15 Sep 2005 18:16:56 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.46 600) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.8.1p2 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.8.1p3 *** 1_8_1.147/config_h.SH Sun, 11 Sep 2005 09:00:02 -0500 dunemush (pennmush/b/17_config_h.S 1.17.1.2.1.1.1.12 660) --- 1_8_1.150(w)/config_h.SH Thu, 15 Sep 2005 18:16:37 -0500 dunemush (pennmush/b/17_config_h.S 1.17.1.2.1.1.1.14 660) *************** *** 398,409 **** */ #define Size_t $sizetype /* length paramater for string functions */ - /* CAN_KEEPALIVE: - * This symbol if defined indicates to the C program that the SO_KEEPALIVE - * option of setsockopt() will work as advertised in the manual. - */ - #$d_keepalive CAN_KEEPALIVE /**/ - /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: --- 398,403 ---- *************** *** 806,811 **** --- 800,811 ---- */ #$i_netdb I_NETDB /**/ + /* I_NETINET_TCP: + * This symbol, if defined, indicates to the C program that it should + * include . + */ + #$i_nitcp I_NETINET_TCP /**/ + /* I_SETJMP: * This symbol, if defined, indicates to the C program that it can * include and have things work right. *************** *** 844,853 **** --- 844,870 ---- */ #$i_stdarg I_STDARG /**/ + /* HAS_MYSQL: + * Defined if mysql client libraries are available. + */ + #$d_mysql HAS_MYSQL /**/ + /* HAS_OPENSSL: * Defined if openssl 0.9.6+ is available. */ #$d_openssl HAS_OPENSSL /**/ + /* CAN_KEEPALIVE: + * This symbol if defined indicates to the C program that the SO_KEEPALIVE + * option of setsockopt() will work as advertised in the manual. + */ + /* CAN_KEEPIDLE: + * This symbol if defined indicates to the C program that the TCP_KEEPIDLE + * option of setsockopt() will work as advertised in the manual. + */ + #$d_keepalive CAN_KEEPALIVE /**/ + + #$d_keepidle CAN_KEEPIDLE /**/ + #endif !GROK!THIS! *** 1_8_1.147/hdrs/version.h Sun, 11 Sep 2005 10:23:54 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.52 660) --- 1_8_1.150(w)/hdrs/version.h Thu, 15 Sep 2005 18:23:09 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.52 660) *************** *** 1,4 **** #define VERSION "1.8.1" ! #define PATCHLEVEL "2" ! #define PATCHDATE "[09/05/2005]" ! #define NUMVERSION 1008001002 --- 1,4 ---- #define VERSION "1.8.1" ! #define PATCHLEVEL "3" ! #define PATCHDATE "[09/15/2005]" ! #define NUMVERSION 1008001003 *** 1_8_1.147/Configure Sun, 11 Sep 2005 10:23:54 -0500 dunemush (pennmush/d/32_Configure 1.21.1.4.1.1.1.1.1.1.1.7.1.16 710) --- 1_8_1.150(w)/Configure Thu, 15 Sep 2005 18:16:37 -0500 dunemush (pennmush/d/32_Configure 1.21.1.4.1.1.1.1.1.1.1.7.1.15.1.1.1.3 710) *************** *** 263,268 **** --- 263,269 ---- warnings='' cdecl='' cf_email='' + cf_name='' cf_by='' cf_time='' contains='' *************** *** 379,384 **** --- 380,386 ---- i_netdb='' i_niin='' i_sysin='' + i_nitcp='' i_setjmp='' i_stddef='' i_stdint='' *************** *** 416,421 **** --- 418,425 ---- install='' installdir='' libc='' + d_mysql='' + libmysqlclient='' glibpth='' libpth='' loclibpth='' *************** *** 453,458 **** --- 457,463 ---- sizetype='' so='' d_keepalive='' + d_keepidle='' sharpbang='' shsharp='' spitshell='' *************** *** 4617,4643 **** set socketpair d_sockpair eval $inlibc : see if setsockopt with SO_KEEPALIVE works as advertised echo " " case "$d_oldsock" in "$undef") - if $contains SO_KEEPALIVE `./findhdr sys/socket.h` \ - /dev/null >/dev/null 2>&1 - then echo "OK, let's see if SO_KEEPALIVE works as advertised..." >&4 $cat > socket.c < #include #include #include main() { int s = socket(AF_INET, SOCK_STREAM, 0); if (s == -1) exit(1); ! if (-1 == setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, 0, 0)) exit(2); exit(0); } EOP --- 4622,4663 ---- set socketpair d_sockpair eval $inlibc + : see if this is a netinet/tcp.h system + set netinet/tcp.h i_nitcp + eval $inhdr + : see if setsockopt with SO_KEEPALIVE works as advertised echo " " case "$d_oldsock" in "$undef") echo "OK, let's see if SO_KEEPALIVE works as advertised..." >&4 $cat > socket.c < #include #include + #$i_nitcp I_NETINET_TCP + #ifdef I_NETINET_TCP + #include + #endif #include main() { int s = socket(AF_INET, SOCK_STREAM, 0); + int val = 1; if (s == -1) exit(1); ! if (-1 == setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val))) exit(2); + #ifdef I_NETINET_TCP + #ifdef TCP_KEEPIDLE + val = 1; + if (-1 == setsockopt(s, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val))) + exit(3); + #else + exit(3); + #endif + #endif exit(0); } EOP *************** *** 4646,4676 **** ./socket >/dev/null 2>&1 case $? in 0) echo "Yes, it does!" ! val="$define";; 1) $cat </dev/null 2>&1 case $? in 0) echo "Yes, it does!" ! val="$define" ! val2="$i_nitcp" ! ;; 1) $cat < test_mysql.c < + #include + #include + #include + + int main(int argc, char **argv) { + printf("Your mysql is version %s\n",mysql_get_client_info()); + exit(0); + } + EOM + + if $cc $ccflags $ldflags -o test_mysql test_mysql.c $libs $libmysqlclient >/dev/null 2>&1 ; + then + echo 'You have mysql...' >&4 + version=`./test_mysql` + if $test $? -eq 0; then + echo "$version" >&4 + d_mysql="$define" + else + echo "...but my test program didn't run correctly." >&4 + libmysqlclient='' + fi + else + echo "You don't seem to have mysql." >&4 + libmysqlclient='' + fi + $rm -f test_mysql* core + + else + + echo "Skipping mysql tests." >&4 + libmysqlclient='' + + fi + : check for a new-style definitions echo " " $cat >test_newstyle.c <<'EOCP' *************** *** 6605,6610 **** --- 6682,6689 ---- dflt=y elif ./xenix; then dflt=y + elif $test "x$osname" = "xlinux"; then + dflt=y else dflt=n fi *************** *** 6861,6866 **** --- 6940,6946 ---- cdecl='$cdecl' cf_by='$cf_by' cf_email='$cf_email' + cf_name='$cf_name' cf_time='$cf_time' chgrp='$chgrp' chmod='$chmod' *************** *** 6914,6919 **** --- 6994,7000 ---- d_ipv6='$d_ipv6' d_itimer='$d_itimer' d_keepalive='$d_keepalive' + d_keepidle='$d_keepidle' d_keepsig='$d_keepsig' d_lrand48='$d_lrand48' d_maxdouble='$d_maxdouble' *************** *** 6922,6927 **** --- 7003,7009 ---- d_memmove='$d_memmove' d_memset='$d_memset' d_mymalloc='$d_mymalloc' + d_mysql='$d_mysql' d_newstyle='$d_newstyle' d_oldsock='$d_oldsock' d_open3='$d_open3' *************** *** 7007,7012 **** --- 7089,7095 ---- i_memory='$i_memory' i_netdb='$i_netdb' i_niin='$i_niin' + i_nitcp='$i_nitcp' i_setjmp='$i_setjmp' i_sgtty='$i_sgtty' i_stdarg='$i_stdarg' *************** *** 7048,7053 **** --- 7131,7137 ---- ldflags='$ldflags' less='$less' libc='$libc' + libmysqlclient='$libmysqlclient' libpth='$libpth' libs='$libs' libssl='$libssl' *** 1_8_1.147/game/txt/hlp/pennvOLD.hlp Sun, 11 Sep 2005 10:23:54 -0500 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.2.1.5.1.1.1.1.1.1.1.1.1.1.1.1.1.2 660) --- 1_8_1.150(w)/game/txt/hlp/pennvOLD.hlp Thu, 15 Sep 2005 18:23:09 -0500 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.2.1.5.1.1.1.1.1.1.1.1.1.1.1.1.1.2 660) *************** *** 4417,4423 **** For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.8.1: 0, 1, 2 1.8.0: 0, 1, 2, 3, 4, 5, 6, 7, 8 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, 31, 32, 33, 34, 35, --- 4417,4423 ---- For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.8.1: 0, 1, 2, 3 1.8.0: 0, 1, 2, 3, 4, 5, 6, 7, 8 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, 31, 32, 33, 34, 35, *** 1_8_1.147/CHANGES.180 Sun, 11 Sep 2005 09:00:02 -0500 dunemush (pennmush/h/21_CHANGES.18 1.49 600) --- 1_8_1.150(w)/CHANGES.180 Thu, 15 Sep 2005 18:16:30 -0500 dunemush (pennmush/h/21_CHANGES.18 1.51 600) *************** *** 12,24 **** ========================================================================== ! Version 1.8.0 patchlevel 8 August 29, 2005 Fixes: * /noflagcopy switch to @cpattr/@mvattr works now. Report by Kimiko Muffin. * SHS encryption now works on 64-bit architectures that define uint32_t. Report by Licenser@M*U*S*H. Version 1.8.0 patchlevel 7 August 29, 2005 --- 12,27 ---- ========================================================================== ! Version 1.8.0 patchlevel 8 September 15, 2005 Fixes: * /noflagcopy switch to @cpattr/@mvattr works now. Report by Kimiko Muffin. * SHS encryption now works on 64-bit architectures that define uint32_t. Report by Licenser@M*U*S*H. + * MySQL detection by Configure was accidentally removed + in 1.8.0p7/1.8.1p2. It's back. Report by Walker@M*U*S*H. + Same applies to SO_KEEPIDLE and some other Configure units. Version 1.8.0 patchlevel 7 August 29, 2005 *** 1_8_1.147/game/txt/hlp/pennv180.hlp Sun, 11 Sep 2005 10:23:54 -0500 dunemush (pennmush/h/28_pennv180.h 1.1.1.2.1.1.1.2.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.3 660) --- 1_8_1.150(w)/game/txt/hlp/pennv180.hlp Thu, 15 Sep 2005 18:23:09 -0500 dunemush (pennmush/h/28_pennv180.h 1.1.1.2.1.1.1.2.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.2.1.3 660) *************** *** 1,11 **** & 1.8.0p8 ! Version 1.8.0 patchlevel 8 August 29, 2005 Fixes: * /noflagcopy switch to @cpattr/@mvattr works now. Report by Kimiko Muffin. * SHS encryption now works on 64-bit architectures that define uint32_t. Report by Licenser@M*U*S*H. & 1.8.0p7 --- 1,14 ---- & 1.8.0p8 ! Version 1.8.0 patchlevel 8 September 15, 2005 Fixes: * /noflagcopy switch to @cpattr/@mvattr works now. Report by Kimiko Muffin. * SHS encryption now works on 64-bit architectures that define uint32_t. Report by Licenser@M*U*S*H. + * MySQL detection by Configure was accidentally removed + in 1.8.0p7/1.8.1p2. It's back. Report by Walker@M*U*S*H. + Same applies to SO_KEEPIDLE and some other Configure units. & 1.8.0p7 *** 1_8_1.147/game/txt/hlp/pennv181.hlp Tue, 13 Sep 2005 09:41:38 -0500 dunemush (pennmush/h/29_pennv181.h 1.53 660) --- 1_8_1.150(w)/game/txt/hlp/pennv181.hlp Thu, 15 Sep 2005 18:23:09 -0500 dunemush (pennmush/h/29_pennv181.h 1.54 660) *************** *** 1,4 **** ! & 1.8.1p2 & 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.8.1p3 & 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,23 ---- A list of the patchlevels associated with each release can be read in 'help patchlevels'. + Version 1.8.1 patchlevel 3 September 15, 2005 + + Fixes + * Bugfixes from 1.8.0p8 applied. + + + & 1.8.1p2 Version 1.8.1 patchlevel 2 September 5, 2005 Commands: *** 1_8_1.147/CHANGES.181 Tue, 13 Sep 2005 09:41:38 -0500 dunemush (pennmush/h/30_CHANGES.18 1.48 600) --- 1_8_1.150(w)/CHANGES.181 Thu, 15 Sep 2005 18:17:26 -0500 dunemush (pennmush/h/30_CHANGES.18 1.49 600) *************** *** 13,18 **** --- 13,24 ---- ========================================================================== + Version 1.8.1 patchlevel 3 September 15, 2005 + + Fixes + * Bugfixes from 1.8.0p8 applied. + + Version 1.8.1 patchlevel 2 September 5, 2005 Commands: