From 831dc158b6903f12341b6f18f10313ca29f50cab Mon Sep 17 00:00:00 2001 From: nhmall Date: Mon, 27 Jan 2020 18:05:25 -0500 Subject: [PATCH 01/12] post-release --- include/global.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/global.h b/include/global.h index a2b70d258..5c02491c3 100644 --- a/include/global.h +++ b/include/global.h @@ -19,7 +19,7 @@ /* * Development status of this NetHack version. */ -#define NH_DEVEL_STATUS NH_STATUS_RELEASED +#define NH_DEVEL_STATUS NH_STATUS_POSTRELEASE #ifndef DEBUG /* allow tool chains to define without causing warnings */ #define DEBUG From ee15f67a65326f38be3c5ca1d73677dbcbb4005e Mon Sep 17 00:00:00 2001 From: nhmall Date: Mon, 27 Jan 2020 18:11:43 -0500 Subject: [PATCH 02/12] fixes36.5 update --- doc/fixes36.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/fixes36.5 b/doc/fixes36.5 index 0422a69ff..bf6755322 100644 --- a/doc/fixes36.5 +++ b/doc/fixes36.5 @@ -18,8 +18,8 @@ fix potential buffer overflow in choose_windows() use vsnprintf instead of vsprintf in pline.c where possible -Fixes to Post-3.6.4 Problems that Were Exposed Via git Repository ------------------------------------------------------------------- +Fixes to 3.6.5 Post-release Problems +------------------------------------ Platform- and/or Interface-Specific Fixes or Features From 9cd694740d7e34af081568098baeb407f0280d25 Mon Sep 17 00:00:00 2001 From: nhmall Date: Mon, 27 Jan 2020 18:17:29 -0500 Subject: [PATCH 03/12] travis bit post-release --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 17fa367bc..1f3c01596 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,5 +113,5 @@ deploy: on: tags: true prerelease: true - name: "Release build of NetHack 3.6.5" - body: "This is an auto generated Release build of NetHack 3.6.5" + name: "Post-Release build of NetHack 3.6" + body: "This is an auto generated Post-Release build of NetHack 3.6" From 1e5fd608bf97df0c884d08172631a61bde408d5f Mon Sep 17 00:00:00 2001 From: nhmall Date: Wed, 4 Mar 2020 10:31:48 -0500 Subject: [PATCH 04/12] update to Install.nt --- sys/winnt/Install.nt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/winnt/Install.nt b/sys/winnt/Install.nt index 2c50a4ed2..c9d13d010 100644 --- a/sys/winnt/Install.nt +++ b/sys/winnt/Install.nt @@ -1,4 +1,4 @@ - Copyright (c) NetHack Development Team 1990-2019 + Copyright (c) NetHack Development Team 1990-2020 NetHack may be freely redistributed. See license for details. ============================================================== Instructions for compiling and installing From abdd3254ae06dd1fbcff637c4c631783d5ed9741 Mon Sep 17 00:00:00 2001 From: nhmall Date: Wed, 4 Mar 2020 10:41:57 -0500 Subject: [PATCH 05/12] updates for 3.6 March 2020 --- README | 28 +++++++++------------------- dat/history | 2 ++ doc/Guidebook.mn | 4 +++- doc/Guidebook.tex | 6 +++++- doc/fixes36.6 | 21 +++++++++++++++++++++ include/global.h | 2 +- include/patchlevel.h | 12 ++++++++++-- src/objnam.c | 8 ++++---- src/options.c | 10 ++++++---- sys/amiga/.gitattributes | 2 +- sys/atari/.gitattributes | 2 +- sys/be/.gitattributes | 2 +- sys/os2/.gitattributes | 2 +- sys/share/.gitattributes | 10 +++++----- sys/unix/README.linux | 4 ++-- sys/unix/sysconf | 2 +- sys/vms/Install.vms | 6 +++--- sys/vms/Makefile.src | 2 +- sys/vms/vmsbuild.com | 2 +- sys/wince/.gitattributes | 2 +- sys/wince/ceinc/.gitattributes | 2 +- sys/wince/winhack.rc | 10 +++++----- sys/wince/winhcksp.rc | 10 +++++----- sys/winnt/Install.nt | 6 +++--- sys/winnt/Makefile.gcc | 2 +- sys/winnt/Makefile.msc | 2 +- sys/winnt/nethack.def | 2 +- sys/winnt/sysconf.template | 2 +- util/makedefs.c | 2 +- win/gem/.gitattributes | 2 +- win/gnome/.gitattributes | 2 +- win/win32/NetHackW.rc | 8 ++++---- win/win32/mswproc.c | 2 +- win/win32/nethack.rc | 8 ++++---- 34 files changed, 109 insertions(+), 80 deletions(-) create mode 100644 doc/fixes36.6 diff --git a/README b/README index c73ec0a81..42c406e01 100644 --- a/README +++ b/README @@ -1,15 +1,14 @@ - NetHack 3.6.5 -- General information January 27, 2020 + NetHack 3.6.6 -- General information March 2020 NetHack 3.6 is an enhancement to the dungeon exploration game NetHack, which is a distant descendent of Rogue and Hack, and a direct descendent of NetHack 3.4 as there was no NetHack 3.5 release. -NetHack 3.6.5 is the official release of NetHack that follows NetHack 3.6.4 -and contains bug fixes since 3.6.4, including some fixes for exploitable -security-related vulnerabilities that affected NetHack versions between 3.6.0 -and 3.6.4. +NetHack 3.6.6 is the official release of NetHack that follows NetHack 3.6.5 +and contains bug fixes since 3.6.5, including a security fix that affected +versions 3.6.1, 3.6.2, 3.6.3, 3.6.4 and 3.6.5. -The file doc/fixes36.5 in the source distribution has a full list of fixes. +The file doc/fixes36.6 in the source distribution has a full list of fixes. The text in there was written for the development team's own use and is provided "as is", so please do not ask us to further explain the entries in that file. Some entries might be considered "spoilers", particularly in the @@ -18,19 +17,10 @@ that file. Some entries might be considered "spoilers", particularly in the Below you will find some other general notes that were not considered spoilers: - * fix accessing mons[-1] when trying to gate in a non-valid demon - * fix accessing mons[-1] when monster figures out if a tin cures stoning - * have string_for_opt() return empty_optstr on failure - * ensure existing callers of string_for_opt() check return value - * fix potential buffer overflow in add_menu_coloring() - * fix potential buffer overflow in sym_val() - * fix potential buffer overflow in pline(), raw_printf(), config_error_add() - * fix potential buffer overflow in choose_windows() - * use vsnprintf instead of vsprintf in pline.c where possible - * Windows: includes a fix from a 3.6.4 post-release update where - * OPTIONS=map_mode:fit_to_screen could cause a game start failure - * Windows: users with C-locale unmappable names could get game start failure - + * invalid status highlight color could be maliciously used to corrupt memory + * formatting corpse names used internal buffers differently from formatting + * other objects and could potentially clobber memory + - - - - - - - - - - - Please read items (1), (2) and (3) BEFORE doing anything with your new code. diff --git a/dat/history b/dat/history index 5d1943614..3778872c9 100644 --- a/dat/history +++ b/dat/history @@ -229,6 +229,8 @@ fix and a few bug fixes. NetHack 3.6.5 was released on January 27, 2020 containing some security fixes and a small number of bug fixes. +NetHack 3.6.6 was released in March 2020 containing a security fix. + The official NetHack web site is maintained by Ken Lorber at http://www.nethack.org/. diff --git a/doc/Guidebook.mn b/doc/Guidebook.mn index ef4191439..eea49c105 100644 --- a/doc/Guidebook.mn +++ b/doc/Guidebook.mn @@ -24,7 +24,7 @@ .ds vr "NetHack 3.6 .ds f0 "\*(vr .ds f1 -.ds f2 "January 27, 2020 +.ds f2 "March 4, 2020 . .\" A note on some special characters: .\" \(lq = left double quote @@ -5164,6 +5164,8 @@ and a few bug fixes. NetHack 3.6.5 was released on January 27, 2020 containing some security fixes and a small number of bug fixes. .pg +NetHack 3.6.6 was released in March 2020 containing a security fix. +.pg The official NetHack web site is maintained by \fBKen Lorber\fP at .UR https://www.nethack.org/ . diff --git a/doc/Guidebook.tex b/doc/Guidebook.tex index 3a28fe03d..794ea5a9c 100644 --- a/doc/Guidebook.tex +++ b/doc/Guidebook.tex @@ -45,7 +45,7 @@ %.au \author{Original version - Eric S. Raymond\\ (Edited and expanded for 3.6 by Mike Stephenson and others)} -\date{January 27, 2020} +\date{March 4, 2020} \maketitle @@ -5773,6 +5773,10 @@ a few bug fixes. NetHack 3.6.5 was released on January 27, 2020 containing some security fixes and a small number of bug fixes. +%.pg +\medskip +NetHack 3.6.6 was released in March 2020 containing a security fix. + %.pg \medskip \nd The official {\it NetHack\/} web site is maintained by {\it Ken Lorber} at diff --git a/doc/fixes36.6 b/doc/fixes36.6 new file mode 100644 index 000000000..9c8597d67 --- /dev/null +++ b/doc/fixes36.6 @@ -0,0 +1,21 @@ +$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.0 $ $NHDT-Date: 1583332314 2020/03/04 14:31:54 $ + +fixes36.6 contains a terse summary of changes made to 3.6.5 in order to +produce 3.6.6 as well as any post-release fixes in binaries. + + +General Fixes and Modified Features +----------------------------------- +invalid status highlight color could be maliciously used to corrupt memory +formatting corpse names used internal buffers differently from formatting + other objects and could potentially clobber memory + + +Platform- and/or Interface-Specific Fixes or Features +----------------------------------------------------- + + +General New Features +-------------------- +none + diff --git a/include/global.h b/include/global.h index 5c02491c3..a2b70d258 100644 --- a/include/global.h +++ b/include/global.h @@ -19,7 +19,7 @@ /* * Development status of this NetHack version. */ -#define NH_DEVEL_STATUS NH_STATUS_POSTRELEASE +#define NH_DEVEL_STATUS NH_STATUS_RELEASED #ifndef DEBUG /* allow tool chains to define without causing warnings */ #define DEBUG diff --git a/include/patchlevel.h b/include/patchlevel.h index 913387849..8318fd21a 100644 --- a/include/patchlevel.h +++ b/include/patchlevel.h @@ -1,4 +1,4 @@ -/* NetHack 3.6 patchlevel.h $NHDT-Date: 1557510467 2019/05/10 17:47:47 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.127 $ */ +/* NetHack 3.6 patchlevel.h $NHDT-Date: 1583297273 2020/03/04 04:47:53 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.138 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2012. */ /* NetHack may be freely redistributed. See license for details. */ @@ -9,7 +9,7 @@ /* * PATCHLEVEL is updated for each release. */ -#define PATCHLEVEL 5 +#define PATCHLEVEL 6 /* * Incrementing EDITLEVEL can be used to force invalidation of old bones * and save files. @@ -36,6 +36,14 @@ /****************************************************************************/ /* Version 3.6.x */ +/* Patch 6, March ??, 2020 + * invalid status highlight color could be maliciously used to corrupt memory + * + * invalid status highlight color could be maliciously used to corrupt memory + * formatting corpse names used internal buffers differently from formatting + * other objects and could potentially clobber memory + */ + /* Patch 5, January 27, 2020 * * fix accessing mons[-1] when trying to gate in a non-valid demon diff --git a/src/objnam.c b/src/objnam.c index aa5d7713d..7205bb4c4 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 objnam.c $NHDT-Date: 1576638500 2019/12/18 03:08:20 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.257 $ */ +/* NetHack 3.6 objnam.c $NHDT-Date: 1583315888 2020/03/04 09:58:08 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.293 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2011. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1368,7 +1368,8 @@ struct obj *otmp; const char *adjective; unsigned cxn_flags; /* bitmask of CXN_xxx values */ { - char *nambuf = nextobuf(); + /* some callers [aobjnam()] rely on prefix area that xname() sets aside */ + char *nambuf = nextobuf() + PREFIX; int omndx = otmp->corpsenm; boolean ignore_quan = (cxn_flags & CXN_SINGULAR) != 0, /* suppress "the" from "the unique monster corpse" */ @@ -1519,8 +1520,7 @@ struct obj *obj; /* format the object */ if (obj->otyp == CORPSE) { - buf = nextobuf(); - Strcpy(buf, corpse_xname(obj, (const char *) 0, CXN_NORMAL)); + buf = corpse_xname(obj, (const char *) 0, CXN_NORMAL); } else if (obj->otyp == SLIME_MOLD) { /* concession to "most unique deaths competition" in the annual devnull tournament, suppress player supplied fruit names because diff --git a/src/options.c b/src/options.c index 8b56a87a3..ffb701797 100644 --- a/src/options.c +++ b/src/options.c @@ -1422,11 +1422,13 @@ char *str; c = colornames[i].color; break; } - if (i == SIZE(colornames) && (*str >= '0' && *str <= '9')) + if (i == SIZE(colornames) && digit(*str)) c = atoi(str); - if (c == CLR_MAX) - config_error_add("Unknown color '%s'", str); + if (c < 0 || c >= CLR_MAX) { + config_error_add("Unknown color '%.60s'", str); + c = CLR_MAX; /* "none of the above" */ + } return c; } @@ -1458,7 +1460,7 @@ boolean complain; } if (a == -1 && complain) - config_error_add("Unknown text attribute '%s'", str); + config_error_add("Unknown text attribute '%.50s'", str); return a; } diff --git a/sys/amiga/.gitattributes b/sys/amiga/.gitattributes index 446704d25..b044c3f53 100644 --- a/sys/amiga/.gitattributes +++ b/sys/amiga/.gitattributes @@ -1,2 +1,2 @@ *.p NHSUBST -* NH_filestag=(file%s_for_Amiga_versions_-_untested_for_3.6.5) +* NH_filestag=(file%s_for_Amiga_versions_-_untested_for_3.6.6) diff --git a/sys/atari/.gitattributes b/sys/atari/.gitattributes index 1e69c8203..51c777260 100644 --- a/sys/atari/.gitattributes +++ b/sys/atari/.gitattributes @@ -1 +1 @@ -* NH_filestag=(file%s_for_Atari_version_-_untested_for_3.6.5) +* NH_filestag=(file%s_for_Atari_version_-_untested_for_3.6.6) diff --git a/sys/be/.gitattributes b/sys/be/.gitattributes index cfd3b0752..6812375fd 100644 --- a/sys/be/.gitattributes +++ b/sys/be/.gitattributes @@ -1 +1 @@ -* NH_filestag=(file%s_for_BeOS_version_-_untested_for_3.6.5) +* NH_filestag=(file%s_for_BeOS_version_-_untested_for_3.6.6) diff --git a/sys/os2/.gitattributes b/sys/os2/.gitattributes index 79916bd77..cf4a072a6 100644 --- a/sys/os2/.gitattributes +++ b/sys/os2/.gitattributes @@ -1,2 +1,2 @@ Makefile.* NHSUBST -* NH_filestag=(file%s_for_OS/2_version_-_untested_for_3.6.5) +* NH_filestag=(file%s_for_OS/2_version_-_untested_for_3.6.6) diff --git a/sys/share/.gitattributes b/sys/share/.gitattributes index 6a04d25b3..aada07eee 100644 --- a/sys/share/.gitattributes +++ b/sys/share/.gitattributes @@ -5,16 +5,16 @@ dgn_comp.h NH_header=no lev_comp.h NH_header=no Makefile.lib NH_header=no -Makefile.lib NH_filestag=(file%s_for_MSDOS_and_OS/2_versions_-_untested_for_3.6.5) -#termcap.uu NH_filestag=(file%s_for_MSDOS_and_OS/2_versions_-_untested_for_3.6.5) +Makefile.lib NH_filestag=(file%s_for_MSDOS_and_OS/2_versions_-_untested_for_3.6.6) +#termcap.uu NH_filestag=(file%s_for_MSDOS_and_OS/2_versions_-_untested_for_3.6.6) termcap.uu NH_filestag=>Makefile.lib -pcmain.c NH_filestag=(file_for_MSDOS,_OS/2,_Amiga,_and_Atari_versions_-_untested_for_3.6.5) +pcmain.c NH_filestag=(file_for_MSDOS,_OS/2,_Amiga,_and_Atari_versions_-_untested_for_3.6.6) -pcsys.c NH_filestag=(file%s_for_MSDOS,_OS/2_and_Atari_versions_-_tested_on_MSDOS_for_3.6.5_via_partial_cross-compile_only) +pcsys.c NH_filestag=(file%s_for_MSDOS,_OS/2_and_Atari_versions_-_tested_on_MSDOS_for_3.6.6_via_partial_cross-compile_only) pcunix.c NH_filestag=>pcsys.c -NetHack.cnf NH_filestag=(file_for_MSDOS,_OS/2,_and_Atari_versions_-_untested_for_3.6.5) +NetHack.cnf NH_filestag=(file_for_MSDOS,_OS/2,_and_Atari_versions_-_untested_for_3.6.6) pctty.c NH_filestag=>NetHack.cnf ioctl.c NH_filestag=(file%s_for_UNIX_and_Be_versions) diff --git a/sys/unix/README.linux b/sys/unix/README.linux index 222216ec6..24ab94905 100644 --- a/sys/unix/README.linux +++ b/sys/unix/README.linux @@ -26,8 +26,8 @@ home directory you might perform these steps. If you have old record and logfile entries from a previous NetHack version, you might want to save copies before they get overwritten by the new empty -files; old saved games and bones files from 3.6.0 through to 3.6.4 should -work with 3.6.5 but even older saved games and bones files from 3.4.3 will +files; old saved games and bones files from 3.6.0 through to 3.6.5 should +work with 3.6.6 but even older saved games and bones files from 3.4.3 will not. If you are installing from the RPM, there is no need to save the old record and logfile; they are automatically preserved. diff --git a/sys/unix/sysconf b/sys/unix/sysconf index 9b2075dbc..b5a2572da 100644 --- a/sys/unix/sysconf +++ b/sys/unix/sysconf @@ -95,7 +95,7 @@ MAXPLAYERS=10 # Only available if NetHack was compiled with DUMPLOG # Allows following placeholders: # %% literal '%' -# %v version (eg. "3.6.5-0") +# %v version (eg. "3.6.6-0") # %u game UID # %t game start time, UNIX timestamp format # %T current time, UNIX timestamp format diff --git a/sys/vms/Install.vms b/sys/vms/Install.vms index 719ac7282..4dd9b37c2 100644 --- a/sys/vms/Install.vms +++ b/sys/vms/Install.vms @@ -1,4 +1,4 @@ - Instructions for Building and Installing NetHack 3.6.5 + Instructions for Building and Installing NetHack 3.6 on a VMS (aka OpenVMS) system ========================================= @@ -147,8 +147,8 @@ Notes: 0. Version 3.5.x was never publicly released. 1. Save files and bones files from 3.4.x and earlier versions - will not work with 3.6.5, but save files and bones file from 3.6.0, - through 3.6.4 should work. The scoreboard file (RECORD) from 3.6.x + will not work with 3.6.6, but save files and bones file from 3.6.0, + through 3.6.5 should work. The scoreboard file (RECORD) from 3.6.x or 3.4.x or 3.3.x will work. 2. If pline.c fails to compile, edit vmsconf.h and uncomment diff --git a/sys/vms/Makefile.src b/sys/vms/Makefile.src index 6da9100de..745b21ad3 100644 --- a/sys/vms/Makefile.src +++ b/sys/vms/Makefile.src @@ -133,7 +133,7 @@ RANDOBJ = isaac64.obj,random.obj # Other things that have to be reconfigured are in vmsconf.h, # and config.h -VERSION = 3.6.5 +VERSION = 3.6.6 MAKEDEFS = $(UTL)makedefs.exe; diff --git a/sys/vms/vmsbuild.com b/sys/vms/vmsbuild.com index 25ba46e31..c48364b8b 100755 --- a/sys/vms/vmsbuild.com +++ b/sys/vms/vmsbuild.com @@ -1,5 +1,5 @@ $ ! vms/vmsbuild.com -- compile and link NetHack 3.6.* [pr] -$ version_number = "3.6.5" +$ version_number = "3.6.6" $ ! $NHDT-Date: 1557701518 2019/05/12 22:51:58 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.23 $ $ ! Copyright (c) 2018 by Robert Patrick Rankin $ ! NetHack may be freely redistributed. See license for details. diff --git a/sys/wince/.gitattributes b/sys/wince/.gitattributes index 5939c3e4c..5b2f07891 100644 --- a/sys/wince/.gitattributes +++ b/sys/wince/.gitattributes @@ -1,4 +1,4 @@ *.ce NHSUBST *.mak NHSUBST *.bat NHSUBST -* NH_filestag=(file%s_for_Windows_CE_and_PocketPC_-_untested_for_3.6.5) +* NH_filestag=(file%s_for_Windows_CE_and_PocketPC_-_untested_for_3.6.6) diff --git a/sys/wince/ceinc/.gitattributes b/sys/wince/ceinc/.gitattributes index e22da34ef..92832fbc3 100644 --- a/sys/wince/ceinc/.gitattributes +++ b/sys/wince/ceinc/.gitattributes @@ -1 +1 @@ -* NH_filestag=(header_file%s_for_Windows_CE_and_PocketPC_-_untested_for_3.6.5) +* NH_filestag=(header_file%s_for_Windows_CE_and_PocketPC_-_untested_for_3.6.6) diff --git a/sys/wince/winhack.rc b/sys/wince/winhack.rc index a844d5b2c..9357a89f1 100644 --- a/sys/wince/winhack.rc +++ b/sys/wince/winhack.rc @@ -284,8 +284,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,6,5,0 - PRODUCTVERSION 3,6,5,0 + FILEVERSION 3,6,6,0 + PRODUCTVERSION 3,6,6,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x9L @@ -300,17 +300,17 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "Comments", "NetHack 3.6.5 for Windows CE\0" + VALUE "Comments", "NetHack 3.6.6 for Windows CE\0" VALUE "CompanyName", " \0" VALUE "FileDescription", "nethackm\0" - VALUE "FileVersion", "3, 6, 5, 0\0" + VALUE "FileVersion", "3, 6, 6, 0\0" VALUE "InternalName", "nethackm\0" VALUE "LegalCopyright", "Copyright © 1985-2020\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "nethackm.exe\0" VALUE "PrivateBuild", "090914\0" VALUE "ProductName", "NetHack\0" - VALUE "ProductVersion", "3, 6, 5, 0\0" + VALUE "ProductVersion", "3, 6, 6, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/sys/wince/winhcksp.rc b/sys/wince/winhcksp.rc index 377c8e6da..aec8838a9 100644 --- a/sys/wince/winhcksp.rc +++ b/sys/wince/winhcksp.rc @@ -260,8 +260,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,6,5,0 - PRODUCTVERSION 3,6,5,0 + FILEVERSION 3,6,6,0 + PRODUCTVERSION 3,6,6,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x9L @@ -276,17 +276,17 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "Comments", "NetHack 3.6.5 for Smartphone 2002\0" + VALUE "Comments", "NetHack 3.6.6 for Smartphone 2002\0" VALUE "CompanyName", " \0" VALUE "FileDescription", "nethackm\0" - VALUE "FileVersion", "3, 6, 5, 0\0" + VALUE "FileVersion", "3, 6, 6, 0\0" VALUE "InternalName", "nethackm\0" VALUE "LegalCopyright", "Copyright © 1985-2020\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "nethackm.exe\0" VALUE "PrivateBuild", "090914\0" VALUE "ProductName", "NetHack For Smartphone\0" - VALUE "ProductVersion", "3, 6, 5, 0\0" + VALUE "ProductVersion", "3, 6, 6, 0\0" VALUE "SpecialBuild", "\0" END END diff --git a/sys/winnt/Install.nt b/sys/winnt/Install.nt index c9d13d010..4ba30b475 100644 --- a/sys/winnt/Install.nt +++ b/sys/winnt/Install.nt @@ -1,4 +1,4 @@ - Copyright (c) NetHack Development Team 1990-2020 + Copyright (c) NetHack Development Team 1990-2019 NetHack may be freely redistributed. See license for details. ============================================================== Instructions for compiling and installing @@ -16,7 +16,7 @@ contributed the port. Alex Kompel, Dion Nicolaas, Yitzhak Sapir, Derek S. Ray, Michael Allison, Pasi Kallinen, Bart House, and Janet Walz contributed to the maintainance -of the tty and graphical windows versions of NetHack 3.6.5. +of the tty and graphical windows versions of NetHack 3.6.6. You can build a TTY version of NetHack and a Windows Graphical version. You can use one of the following build environments: @@ -151,7 +151,7 @@ a 32-bit x86 version, or a 64-bit x64 version. The default Makefile is set up for a 32-bit x86 version, but that's only because it will run on the most number of existing Windows environments. -NetHack's save files and bones files in the 3.6.5 release have not yet +NetHack's save files and bones files in the 3.6.6 release have not yet evolved enough to allow them to interchange between the 32-bit version and the 64-bit version (or between different platforms). Hopefully that will change in an upcoming release. diff --git a/sys/winnt/Makefile.gcc b/sys/winnt/Makefile.gcc index 7ba633dc0..f955075b3 100644 --- a/sys/winnt/Makefile.gcc +++ b/sys/winnt/Makefile.gcc @@ -139,7 +139,7 @@ SKIP_NETHACKW=Y #============================================================================== # The version of the game this Makefile was designed for -NETHACK_VERSION="3.6.5" +NETHACK_VERSION="3.6.6" # A brief version for use in macros NHV1=$(subst .,,$(NETHACK_VERSION)) diff --git a/sys/winnt/Makefile.msc b/sys/winnt/Makefile.msc index 6421a708d..8bd50868a 100644 --- a/sys/winnt/Makefile.msc +++ b/sys/winnt/Makefile.msc @@ -93,7 +93,7 @@ DEBUGINFO = Y #============================================================================== # # The version of the game this Makefile was designed for -NETHACK_VERSION="3.6.5" +NETHACK_VERSION="3.6.6" # A brief version for use in macros NHV=$(NETHACK_VERSION:.=) diff --git a/sys/winnt/nethack.def b/sys/winnt/nethack.def index 91adc4ec0..b3f68f2bf 100644 --- a/sys/winnt/nethack.def +++ b/sys/winnt/nethack.def @@ -1,5 +1,5 @@ NAME NETHACK -DESCRIPTION 'NetHack 3.6.5 for Windows' +DESCRIPTION 'NetHack 3.6.6 for Windows' EXETYPE WINDOWS STUB 'WINSTUB.EXE' CODE PRELOAD MOVEABLE DISCARDABLE diff --git a/sys/winnt/sysconf.template b/sys/winnt/sysconf.template index 550cadcc6..bec41ced3 100644 --- a/sys/winnt/sysconf.template +++ b/sys/winnt/sysconf.template @@ -24,7 +24,7 @@ WIZARDS=* # Only available if NetHack was compiled with DUMPLOG # Allows following placeholders: # %% literal '%' -# %v version (eg. "3.6.5-0") +# %v version (eg. "3.6.6-0") # %u game UID # %t game start time, UNIX timestamp format # %T current time, UNIX timestamp format diff --git a/util/makedefs.c b/util/makedefs.c index 31d77128a..6243c5dfa 100644 --- a/util/makedefs.c +++ b/util/makedefs.c @@ -53,7 +53,7 @@ #endif #if defined(UNIX) && !defined(LINT) && !defined(GCC_WARN) -static const char SCCS_Id[] UNUSED = "@(#)makedefs.c\t3.6\t2020/01/18"; +static const char SCCS_Id[] UNUSED = "@(#)makedefs.c\t3.6\t2020/03/04"; #endif /* names of files to be generated */ diff --git a/win/gem/.gitattributes b/win/gem/.gitattributes index f39d64117..6833fbaf2 100644 --- a/win/gem/.gitattributes +++ b/win/gem/.gitattributes @@ -1 +1 @@ -* NH_filestag=(file%s_for_GEM_versions_-_untested_for_3.6.5) +* NH_filestag=(file%s_for_GEM_versions_-_untested_for_3.6.6) diff --git a/win/gnome/.gitattributes b/win/gnome/.gitattributes index 11c09ee8a..a1f2b4604 100644 --- a/win/gnome/.gitattributes +++ b/win/gnome/.gitattributes @@ -1 +1 @@ -* NH_filestag=(file%s_for_GNOME_versions_-_untested_for_3.6.5) +* NH_filestag=(file%s_for_GNOME_versions_-_untested_for_3.6.6) diff --git a/win/win32/NetHackW.rc b/win/win32/NetHackW.rc index 95473331f..7d6a88abe 100644 --- a/win/win32/NetHackW.rc +++ b/win/win32/NetHackW.rc @@ -320,8 +320,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,6,5,0 - PRODUCTVERSION 3,6,5,0 + FILEVERSION 3,6,6,0 + PRODUCTVERSION 3,6,6,0 FILEFLAGSMASK 0x1fL #ifdef _DEBUG FILEFLAGS 0x9L @@ -337,13 +337,13 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "NetHack for Windows - Graphical Interface" - VALUE "FileVersion", "3.6.5" + VALUE "FileVersion", "3.6.6" VALUE "InternalName", "NetHackW" VALUE "LegalCopyright", "Copyright (C) 1985 - 2020. By Stichting Mathematisch Centrum and M. Stephenson. See license for details." VALUE "OriginalFilename", "NetHackW.exe" VALUE "PrivateBuild", "140606" VALUE "ProductName", "NetHack" - VALUE "ProductVersion", "3.6.5" + VALUE "ProductVersion", "3.6.6" END END BLOCK "VarFileInfo" diff --git a/win/win32/mswproc.c b/win/win32/mswproc.c index d97000389..a7e4fd887 100644 --- a/win/win32/mswproc.c +++ b/win/win32/mswproc.c @@ -2316,7 +2316,7 @@ logDebug(const char *fmt, ...) /* Reading and writing settings from the registry. */ #define CATEGORYKEY "Software" #define COMPANYKEY "NetHack" -#define PRODUCTKEY "NetHack 3.6.5" +#define PRODUCTKEY "NetHack 3.6.6" #define SETTINGSKEY "Settings" #define MAINSHOWSTATEKEY "MainShowState" #define MAINMINXKEY "MainMinX" diff --git a/win/win32/nethack.rc b/win/win32/nethack.rc index d961f3295..cea237a21 100644 --- a/win/win32/nethack.rc +++ b/win/win32/nethack.rc @@ -60,8 +60,8 @@ IDI_ICON1 ICON "nethack.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,6,5,0 - PRODUCTVERSION 3,6,5,0 + FILEVERSION 3,6,6,0 + PRODUCTVERSION 3,6,6,0 FILEFLAGSMASK 0x1fL #ifdef _DEBUG FILEFLAGS 0x9L @@ -77,12 +77,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "NetHack for Windows - TTY Interface" - VALUE "FileVersion", "3.6.5" + VALUE "FileVersion", "3.6.6" VALUE "InternalName", "NetHack" VALUE "LegalCopyright", "Copyright (C) 1985 - 2020. By Stichting Mathematisch Centrum and M. Stephenson. See license for details." VALUE "OriginalFilename", "NetHack.exe" VALUE "ProductName", "NetHack" - VALUE "ProductVersion", "3.6.5" + VALUE "ProductVersion", "3.6.6" END END BLOCK "VarFileInfo" From b709869f1346187123a9af8509c25bc6fbfbc27d Mon Sep 17 00:00:00 2001 From: nhw_cron Date: Wed, 4 Mar 2020 11:24:05 -0500 Subject: [PATCH 06/12] This is cron-daily v1-Jan-20-2020. guidebook updated: doc/Guidebook.txt --- doc/Guidebook.txt | 212 +++++++++++++++++++++++----------------------- 1 file changed, 106 insertions(+), 106 deletions(-) diff --git a/doc/Guidebook.txt b/doc/Guidebook.txt index 716efd833..7a9234dbe 100644 --- a/doc/Guidebook.txt +++ b/doc/Guidebook.txt @@ -15,7 +15,7 @@ Original version - Eric S. Raymond (Edited and expanded for 3.6 by Mike Stephenson and others) - January 27, 2020 + March 4, 2020 @@ -126,7 +126,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -192,7 +192,7 @@ you have seen on the current dungeon level; as you explore more - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -258,7 +258,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -324,7 +324,7 @@ Intelligence affects your ability to cast spells and read - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -390,7 +390,7 @@ ical attacks. Many dungeons show only your experience level - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -456,7 +456,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -522,7 +522,7 @@ nasty and vicious. Sometimes, however, they can be helpful. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -588,7 +588,7 @@ symbol at the chosen location, conditionally check for "More - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -654,7 +654,7 @@ if you remember a monster there). - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -720,7 +720,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -786,7 +786,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -852,7 +852,7 @@ once you've closed this menu. The available options are - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -918,7 +918,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -984,7 +984,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1050,7 +1050,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1116,7 +1116,7 @@ (R)UNIX is a registered trademark of The Open Group. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1182,7 +1182,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1248,7 +1248,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1314,7 +1314,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1380,7 +1380,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1446,7 +1446,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1512,7 +1512,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1578,7 +1578,7 @@ When picking a target with cursor and the autodescribe - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1644,7 +1644,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1710,7 +1710,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1776,7 +1776,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1842,7 +1842,7 @@ the `^D' (kick) command. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1908,7 +1908,7 @@ on the corresponding staircase at your destination. However, - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -1974,7 +1974,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2040,7 +2040,7 @@ member a monster but want to try fighting anyway, you can use the - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2106,7 +2106,7 @@ ers (or even former incarnations of yourself!) and their personal - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2172,7 +2172,7 @@ ter. Many commands that operate on objects must ask you to find - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2238,7 +2238,7 @@ In some cases "uncursed" will be omitted as being redundant when - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2304,7 +2304,7 @@ to taking off other worn items. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2370,7 +2370,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2436,7 +2436,7 @@ ondary is just an item in your inventory that's been designated - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2502,7 +2502,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2568,7 +2568,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2634,7 +2634,7 @@ the wall, you might decide to go for broke and break your wand. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2700,7 +2700,7 @@ cation rather than just specify a particular direction. Other - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2766,7 +2766,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2832,7 +2832,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2898,7 +2898,7 @@ brains while polymorphed into a mind flayer, is considered eating - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -2964,7 +2964,7 @@ type ("polypiling") or the form of your own body into another - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3030,7 +3030,7 @@ tion, and are ignored unless a CHOOSE statement was used to - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3096,7 +3096,7 @@ pletion has no effect for the X11 windowport. You can specify - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3162,7 +3162,7 @@ "Configuring User Sounds" section. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3228,7 +3228,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3294,7 +3294,7 @@ tion controls whether the description includes map coordinates. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3360,7 +3360,7 @@ was defined during compilation. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3426,7 +3426,7 @@ display for end-of-game disclosure follows a set sequence. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3492,7 +3492,7 @@ "no", you will exclude that gender from being picked randomly. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3558,7 +3558,7 @@ sistent. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3624,7 +3624,7 @@ fault `\'. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3690,7 +3690,7 @@ Prompt for new form whenever any monster changes shape (default - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3756,7 +3756,7 @@ Valid settings are: - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3822,7 +3822,7 @@ item. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3888,7 +3888,7 @@ (Default `S'). Persistent. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -3954,7 +3954,7 @@ be set with the `O' command. Persistent. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4020,7 +4020,7 @@ off). Persistent. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4086,7 +4086,7 @@ only; "X11" interface always uses a timer based delay. The - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4152,7 +4152,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4218,7 +4218,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4284,7 +4284,7 @@ If NetHack can, it should use this size font for text windows. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4350,7 +4350,7 @@ Number of lines for traditional below-the-map status display. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4416,7 +4416,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4482,7 +4482,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4548,7 +4548,7 @@ pressions. It is possible to compile NetHack without regular - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4614,7 +4614,7 @@ key can be a single character ("x"), a control key ("^X", "C-x"), - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4680,7 +4680,7 @@ When asked for a location, the key to toggle autodescribe. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4746,7 +4746,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4812,7 +4812,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4878,7 +4878,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -4944,7 +4944,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5010,7 +5010,7 @@ cyan, gray, orange, light-green, yellow, light-blue, light- - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5076,7 +5076,7 @@ value changes upwards or downwards. This attribute times - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5142,7 +5142,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5208,7 +5208,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5274,7 +5274,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5340,7 +5340,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5406,7 +5406,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5472,7 +5472,7 @@ may want to alter settings via SYMBOLS= and ROGUESYMBOLS= in your - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5538,7 +5538,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5604,7 +5604,7 @@ spectively, to identify unique people for the score file. - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5670,7 +5670,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5736,7 +5736,7 @@ a very different game, and published (at least) three versions - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5802,7 +5802,7 @@ 3.1 for the Macintosh, porting it for MPW. Building on their - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5868,7 +5868,7 @@ ber, Dean Luick, Pat Rankin, Eric Smith, Mike Stephenson, Janet - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -5934,7 +5934,7 @@ ginning of a long release hiatus. 3.4.3 proved to be a remarkably - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -6000,7 +6000,7 @@ - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -6044,29 +6044,29 @@ NetHack 3.6.5 was released on January 27, 2020 containing some security fixes and a small number of bug fixes. + NetHack 3.6.6 was released in March 2020 containing a secu- + rity fix. + The official NetHack web site is maintained by Ken Lorber at https://www.nethack.org/. 12.1. SPECIAL THANKS On behalf of the NetHack community, thank you very much once - again to M. Drew Streib and Pasi Kallinen for providing a public - NetHack server at nethack.alt.org. Thanks to Keith Simpson and + again to M. Drew Streib and Pasi Kallinen for providing a public + NetHack server at nethack.alt.org. Thanks to Keith Simpson and Andy Thomson for hardfought.org. Thanks to all those unnamed dun- - geoneers who invest their time and effort into annual NetHack - tournaments such as Junethack, The November NetHack Tournament + geoneers who invest their time and effort into annual NetHack + tournaments such as Junethack, The November NetHack Tournament and in days past, devnull.net (gone for now, but not forgotten). - - - - - - - - - - - From time to time, some depraved individual out there in - netland sends a particularly intriguing modification to help out - with the game. The NetHack Development Team sometimes makes note - of the names of the worst of these miscreants in this, the list - of Dungeoneers: + From time to time, some depraved individual out there in + netland sends a particularly intriguing modification to help out - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 @@ -6076,6 +6076,9 @@ + with the game. The NetHack Development Team sometimes makes note + of the names of the worst of these miscreants in this, the list + of Dungeoneers: Adam Aronow J. Ali Harlow Mikko Juola Alex Kompel Janet Walz Nathan Eady Alex Smith Janne Salmijarvi Norm Meluch @@ -6119,7 +6122,7 @@ Irina Rempt-Drijfhout Mike Passaretti Izchak Miller Mike Stephenson - Brand and product names are trademarks or registered trade- + Brand and product names are trademarks or registered trade- marks of their respective holders. @@ -6129,10 +6132,7 @@ - - - - NetHack 3.6 January 27, 2020 + NetHack 3.6 March 4, 2020 From 0016132ab3b5aaa8d45270e20efbd24311297ef1 Mon Sep 17 00:00:00 2001 From: nhw_cron Date: Wed, 4 Mar 2020 11:24:08 -0500 Subject: [PATCH 07/12] This is cron-daily v1-Jan-20-2020. files updated: Files --- Files | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Files b/Files index 9d409319b..6208fb475 100644 --- a/Files +++ b/Files @@ -50,10 +50,10 @@ fixes30.pl08 fixes30.pl09 fixes30.pl10 fixes31.1 fixes31.2 fixes31.3 fixes32.0 fixes32.1 fixes32.2 fixes32.3 fixes33.0 fixes33.1 fixes34.0 fixes34.1 fixes34.2 fixes34.3 fixes35.0 fixes36.0 fixes36.1 fixes36.2 -fixes36.3 fixes36.4 fixes36.5 lev_comp.6 lev_comp.txt -makedefs.6 makedefs.txt mn.7 mn.txt mnh.7 -mnh.txt nethack.6 nethack.txt recover.6 recover.txt -tmac.n tmac.nh window.doc +fixes36.3 fixes36.4 fixes36.5 fixes36.6 lev_comp.6 +lev_comp.txt makedefs.6 makedefs.txt mn.7 mn.txt +mnh.7 mnh.txt nethack.6 nethack.txt recover.6 +recover.txt tmac.n tmac.nh window.doc include: (files for GEM versions) @@ -114,7 +114,7 @@ vault.c version.c vision.c weapon.c were.c wield.c windows.c wizard.c worm.c worn.c write.c zap.c sys/amiga: -(files for Amiga versions - untested for 3.6.5) +(files for Amiga versions - untested for 3.6.6) Build.ami Install.ami Makefile.agc Makefile.ami NetHack.cnf amidos.c amidos.p amifont.uu amifont8.uu amigst.c amii.hlp amimenu.c amirip.c amisnd.c amistack.c @@ -125,12 +125,12 @@ winfuncs.c winkey.c winmenu.c winproto.h winreq.c winstr.c xpm2iff.c sys/atari: -(files for Atari version - untested for 3.6.5) +(files for Atari version - untested for 3.6.6) Install.tos atarifnt.uue nethack.mnu setup.g tos.c unx2atar.sed sys/be: -(files for BeOS version - untested for 3.6.5) +(files for BeOS version - untested for 3.6.6) README bemain.c sys/mac: @@ -156,7 +156,7 @@ vidtxt.c vidvesa.c vidvga.c nhico.uu nhpif.uu sys/os2: -(files for OS/2 version - untested for 3.6.5) +(files for OS/2 version - untested for 3.6.6) Install.os2 Makefile.os2 nhpmico.uu os2.c sys/share: @@ -166,10 +166,10 @@ random.c (Berkeley uudecode file, which may be used in build process of any version) uudecode.c -(file for MSDOS, OS/2, Amiga, and Atari versions - untested for 3.6.5) +(file for MSDOS, OS/2, Amiga, and Atari versions - untested for 3.6.6) pcmain.c -(file for MSDOS, OS/2, and Atari versions - untested for 3.6.5) +(file for MSDOS, OS/2, and Atari versions - untested for 3.6.6) NetHack.cnf pctty.c (file for MSDOS, OS/2, and VMS versions) @@ -181,10 +181,10 @@ nhlan.c (file for VMS version) tclib.c -(files for MSDOS and OS/2 versions - untested for 3.6.5) +(files for MSDOS and OS/2 versions - untested for 3.6.6) Makefile.lib termcap.uu -(files for MSDOS, OS/2 and Atari versions - tested on MSDOS for 3.6.5 via partial cross-compile only) +(files for MSDOS, OS/2 and Atari versions - tested on MSDOS for 3.6.6 via partial cross-compile only) pcsys.c pcunix.c (files for UNIX and Be versions) @@ -254,7 +254,7 @@ spec_lev.com sysconf vmsbuild.com vmsfiles.c vmsmail.c vmsmain.c vmsmisc.c vmstty.c vmsunix.c sys/wince: -(files for Windows CE and PocketPC - untested for 3.6.5) +(files for Windows CE and PocketPC - untested for 3.6.6) Install.ce bootstrp.mak celib.c cesetup.bat cesound.c defaults.nh keypad.uu menubar.uu mhaskyn.c mhaskyn.h mhcmd.c mhcmd.h mhcolor.c mhcolor.h mhdlg.c @@ -267,7 +267,7 @@ resource.h winMS.h winhack.c winhack.rc winhcksp.rc winmain.c sys/wince/ceinc: -(header files for Windows CE and PocketPC - untested for 3.6.5) +(header files for Windows CE and PocketPC - untested for 3.6.6) assert.h errno.h fcntl.h sys/wince/ceinc/sys: @@ -333,12 +333,12 @@ cursinit.h cursinvt.c cursinvt.h cursmain.c cursmesg.c cursmesg.h cursmisc.c cursmisc.h cursstat.c cursstat.h curswins.c curswins.h win/gem: -(files for GEM versions - untested for 3.6.5) +(files for GEM versions - untested for 3.6.6) Install.gem bitmfile.c gem_rsc.uu gem_rso.uu gr_rect.c gr_rect.h load_img.c tile2img.c title.uu wingem.c wingem1.c xpm2img.c win/gnome: -(files for GNOME versions - untested for 3.6.5) +(files for GNOME versions - untested for 3.6.6) README gn_xpms.h gnaskstr.c gnaskstr.h gnbind.c gnbind.h gnglyph.c gnglyph.h gnmain.c gnmain.h gnmap.c gnmap.h gnmenu.c gnmenu.h gnmesg.c gnmesg.h gnomeprv.h gnopts.c From 7220c9d2d2353ed9c9625bbb7f86df1d0af5ed37 Mon Sep 17 00:00:00 2001 From: PatR Date: Sat, 22 Feb 2020 12:32:00 -0800 Subject: [PATCH 08/12] more #302 - empty {bogusmon,engrave,epitaph}.txt Have makedefs add a real data line to the output for the files that caused trouble when empty. --- util/makedefs.c | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/util/makedefs.c b/util/makedefs.c index 6243c5dfa..cd971bcc0 100644 --- a/util/makedefs.c +++ b/util/makedefs.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 makedefs.c $NHDT-Date: 1562180226 2019/07/03 18:57:06 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.149 $ */ +/* NetHack 3.6 makedefs.c $NHDT-Date: 1582403492 2020/02/22 20:31:32 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.177 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Kenneth Lorber, Kensington, Maryland, 2015. */ /* Copyright (c) M. Stephenson, 1990, 1991. */ @@ -182,7 +182,7 @@ static char *FDECL(xcrypt, (const char *)); static unsigned long FDECL(read_rumors_file, (const char *, int *, long *, unsigned long)); static boolean FDECL(get_gitinfo, (char *, char *)); -static void FDECL(do_rnd_access_file, (const char *)); +static void FDECL(do_rnd_access_file, (const char *, const char *)); static boolean FDECL(d_filter, (char *)); static boolean FDECL(h_filter, (char *)); static void NDECL(build_savebones_compat_string); @@ -362,9 +362,22 @@ char *options; break; case 's': case 'S': - do_rnd_access_file(EPITAPHFILE); - do_rnd_access_file(ENGRAVEFILE); - do_rnd_access_file(BOGUSMONFILE); + /* + * post-3.6.5: + * File must not be empty to avoid divide by 0 + * in core's rn2(), so provide a default entry. + */ + do_rnd_access_file(EPITAPHFILE, + /* default epitaph: parody of the default engraving */ + "No matter where I went, here I am."); + do_rnd_access_file(ENGRAVEFILE, + /* default engraving: popularized by "The Adventures of + Buckaroo Bonzai Across the 8th Dimenstion" but predates + that 1984 movie; some attribute it to Confucius */ + "No matter where you go, there you are."); + do_rnd_access_file(BOGUSMONFILE, + /* default bogusmon: iconic monster that isn't in nethack */ + "grue"); break; case 'h': case 'H': @@ -952,8 +965,9 @@ unsigned long old_rumor_offset; } static void -do_rnd_access_file(fname) +do_rnd_access_file(fname, deflt_content) const char *fname; +const char *deflt_content; { char *line; @@ -973,6 +987,11 @@ const char *fname; exit(EXIT_FAILURE); } Fprintf(ofp, "%s", Dont_Edit_Data); + /* write out the default content entry unconditionally instead of + waiting to see whether there are no regular output lines; if it + matches a regular entry (bogusmon "grue"), that entry will become + more likely to be picked than normal but it's nothing to worry about */ + (void) fputs(xcrypt(deflt_content), ofp); tfp = getfp(DATA_TEMPLATE, "grep.tmp", WRTMODE); grep0(ifp, tfp); @@ -981,7 +1000,7 @@ const char *fname; while ((line = fgetline(ifp)) != 0) { if (line[0] != '#' && line[0] != '\n') (void) fputs(xcrypt(line), ofp); - free(line); + free((genericptr_t) line); } Fclose(ifp); Fclose(ofp); From 60bc28154ab63c294bab3bc8ec0c603eb5cfca3f Mon Sep 17 00:00:00 2001 From: PatR Date: Sat, 22 Feb 2020 01:41:04 -0800 Subject: [PATCH 09/12] fix github issue #302 - divide by 0 crash The traceback points directly to the problem: divide by 0 happens if the 'bogusmon' file only contains the "do not edit" line, which would happen if 'bogusmon.txt' is empty. makedefs probably ought to complain about that. There is now one hardcoded bogus monster to fall back to: 'bogon'. Random tombstone epitaphs report divide by 0 if their text source is empty, but it is done by rn2() rather than rn2_for_display_rng() so is just a warning for pre-release code. It would crash for release version though. I tried placing an empty engravings file and expected similar results but didn't see any response. Not sure what that means. After the fix, empty epitaph file yields blank result so graves that want a random epitaph won't have any epitaph. Fixes #302 --- src/do_name.c | 13 +++++++------ src/rumors.c | 24 ++++++++++++++---------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/do_name.c b/src/do_name.c index ed0eea5a1..f1d8d5bb9 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 do_name.c $NHDT-Date: 1574419578 2019/11/22 10:46:18 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.152 $ */ +/* NetHack 3.6 do_name.c $NHDT-Date: 1582364431 2020/02/22 09:40:31 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.174 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Pasi Kallinen, 2018. */ /* NetHack may be freely redistributed. See license for details. */ @@ -2023,15 +2023,16 @@ char *buf, *code; static const char bogon_codes[] = "-_+|="; /* see dat/bonusmon.txt */ char *mname = buf; + if (code) + *code = '\0'; + /* might fail (return empty buf[]) if the file isn't available */ get_rnd_text(BOGUSMONFILE, buf, rn2_on_display_rng); - /* strip prefix if present */ - if (index(bogon_codes, *mname)) { + if (!*mname) { + Strcpy(buf, "bogon"); + } else if (index(bogon_codes, *mname)) { /* strip prefix if present */ if (code) *code = *mname; ++mname; - } else { - if (code) - *code = '\0'; } return mname; } diff --git a/src/rumors.c b/src/rumors.c index 870f19342..7e5df7062 100644 --- a/src/rumors.c +++ b/src/rumors.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 rumors.c $NHDT-Date: 1545132266 2018/12/18 11:24:26 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.34 $ */ +/* NetHack 3.6 rumors.c $NHDT-Date: 1582364450 2020/02/22 09:40:50 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.51 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2012. */ /* NetHack may be freely redistributed. See license for details. */ @@ -291,23 +291,26 @@ int FDECL((*rng), (int)); dlb *fh; buf[0] = '\0'; - fh = dlb_fopen(fname, "r"); - if (fh) { - /* TODO: cache sizetxt, starttxt, endtxt. maybe cache file contents? - */ - long sizetxt = 0, starttxt = 0, endtxt = 0, tidbit = 0; + /* TODO: cache sizetxt, starttxt, endtxt. maybe cache file contents? */ + long sizetxt = 0L, starttxt = 0L, endtxt = 0L, tidbit = 0L; char *endp, line[BUFSZ], xbuf[BUFSZ]; - (void) dlb_fgets(line, sizeof line, - fh); /* skip "don't edit" comment */ + + /* skip "don't edit" comment */ + (void) dlb_fgets(line, sizeof line, fh); (void) dlb_fseek(fh, 0L, SEEK_CUR); starttxt = dlb_ftell(fh); (void) dlb_fseek(fh, 0L, SEEK_END); endtxt = dlb_ftell(fh); sizetxt = endtxt - starttxt; - tidbit = rng(sizetxt); + /* might be zero (only if file is empty); should complain in that + case but if could happen over and over, also the suggestion + that save and restore might fix the problem wouldn't be useful */ + if (sizetxt < 1L) + return buf; + tidbit = (*rng)(sizetxt); (void) dlb_fseek(fh, starttxt + tidbit, SEEK_SET); (void) dlb_fgets(line, sizeof line, fh); @@ -400,7 +403,8 @@ int fd, mode; if (perform_bwrite(mode)) { bwrite(fd, (genericptr_t) &oracle_cnt, sizeof oracle_cnt); if (oracle_cnt) - bwrite(fd, (genericptr_t) oracle_loc, oracle_cnt * sizeof(long)); + bwrite(fd, (genericptr_t) oracle_loc, + oracle_cnt * sizeof(long)); } if (release_data(mode)) { if (oracle_cnt) { From 998893ac32c1ffd37337ed7afe2b325fb95b499b Mon Sep 17 00:00:00 2001 From: nhmall Date: Wed, 4 Mar 2020 16:01:50 -0500 Subject: [PATCH 10/12] fixes update --- doc/fixes36.6 | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/fixes36.6 b/doc/fixes36.6 index 9c8597d67..7aff3e59a 100644 --- a/doc/fixes36.6 +++ b/doc/fixes36.6 @@ -9,6 +9,7 @@ General Fixes and Modified Features invalid status highlight color could be maliciously used to corrupt memory formatting corpse names used internal buffers differently from formatting other objects and could potentially clobber memory +avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty Platform- and/or Interface-Specific Fixes or Features From 32b69f5c33ffef1ded5232741f4445ea5da751fb Mon Sep 17 00:00:00 2001 From: PatR Date: Thu, 5 Mar 2020 13:55:45 -0800 Subject: [PATCH 11/12] avoid #wizrumorcheck crash on bad rumor input If either rumors.tru or rumors.fal was empty when makedefs made 'rumors', init_rumors() will set true_rumor_size to -1 to indicate that rumors aren't available. It also closes the input file, and then #wizrumorcheck closed that again, triggering a crash in the dlb code. Fortune cookies and oracles work ok (just not very interesting) when rumors aren't available. Only the check command had trouble with that. --- doc/fixes36.6 | 4 +++- src/rumors.c | 41 +++++++++++++++++++---------------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/doc/fixes36.6 b/doc/fixes36.6 index 7aff3e59a..388e271ff 100644 --- a/doc/fixes36.6 +++ b/doc/fixes36.6 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.0 $ $NHDT-Date: 1583332314 2020/03/04 14:31:54 $ +$NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.1 $ $NHDT-Date: 1583445339 2020/03/05 21:55:39 $ fixes36.6 contains a terse summary of changes made to 3.6.5 in order to produce 3.6.6 as well as any post-release fixes in binaries. @@ -10,6 +10,8 @@ invalid status highlight color could be maliciously used to corrupt memory formatting corpse names used internal buffers differently from formatting other objects and could potentially clobber memory avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty +avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both + were empty when makedefs built 'rumors' Platform- and/or Interface-Specific Fixes or Features diff --git a/src/rumors.c b/src/rumors.c index 7e5df7062..ac82b44fe 100644 --- a/src/rumors.c +++ b/src/rumors.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 rumors.c $NHDT-Date: 1582364450 2020/02/22 09:40:50 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.51 $ */ +/* NetHack 3.6 rumors.c $NHDT-Date: 1583445339 2020/03/05 21:55:39 $ $NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.38 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2012. */ /* NetHack may be freely redistributed. See license for details. */ @@ -159,9 +159,10 @@ boolean exclude_cookie; couldnt_open_file(RUMORFILE); true_rumor_size = -1; /* don't try to open it again */ } -/* this is safe either way, so do it always since we can't get the definition - * out of makedefs.c - */ + + /* this is safe either way, so do it always since we can't get the + * definition out of makedefs.c + */ #define PAD_RUMORS_TO #ifdef PAD_RUMORS_TO /* remove padding */ @@ -188,10 +189,8 @@ rumor_check() char *endp, line[BUFSZ], xbuf[BUFSZ], rumor_buf[BUFSZ]; if (true_rumor_size < 0L) { /* we couldn't open RUMORFILE */ - no_rumors: + no_rumors: pline("rumors not accessible."); - if (rumors) - (void) dlb_fclose(rumors); return; } @@ -203,29 +202,27 @@ rumor_check() rumor_buf[0] = '\0'; if (true_rumor_size == 0L) { /* if this is 1st outrumor() */ init_rumors(rumors); - if (true_rumor_size < 0L) + if (true_rumor_size < 0L) { + rumors = (dlb *) 0; /* init_rumors() closes it upon failure */ goto no_rumors; /* init failed */ + } } tmpwin = create_nhwindow(NHW_TEXT); /* * reveal the values. */ - - Sprintf( - rumor_buf, - "T start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)", - (long) true_rumor_start, true_rumor_start, true_rumor_end, - (unsigned long) true_rumor_end, true_rumor_size, - (unsigned long) true_rumor_size); + Sprintf(rumor_buf, + "T start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)", + (long) true_rumor_start, true_rumor_start, + true_rumor_end, (unsigned long) true_rumor_end, + true_rumor_size, (unsigned long) true_rumor_size); putstr(tmpwin, 0, rumor_buf); - - Sprintf( - rumor_buf, - "F start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)", - (long) false_rumor_start, false_rumor_start, false_rumor_end, - (unsigned long) false_rumor_end, false_rumor_size, - (unsigned long) false_rumor_size); + Sprintf(rumor_buf, + "F start=%06ld (%06lx), end=%06ld (%06lx), size=%06ld (%06lx)", + (long) false_rumor_start, false_rumor_start, + false_rumor_end, (unsigned long) false_rumor_end, + false_rumor_size, (unsigned long) false_rumor_size); putstr(tmpwin, 0, rumor_buf); /* From e20024e42bfe83958efc1360eb771d485b57f18b Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 6 Mar 2020 10:31:51 -0500 Subject: [PATCH 12/12] March 2020 updates --- README | 7 +++++-- dat/history | 3 ++- doc/Guidebook.mn | 7 ++++--- doc/Guidebook.tex | 5 +++-- include/patchlevel.h | 9 +++++---- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/README b/README index 42c406e01..3b4ebacb7 100644 --- a/README +++ b/README @@ -19,7 +19,10 @@ spoilers: * invalid status highlight color could be maliciously used to corrupt memory * formatting corpse names used internal buffers differently from formatting - * other objects and could potentially clobber memory + * other objects and could potentially clobber memory + * avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty + * avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both + * were empty when makedefs built 'rumors' - - - - - - - - - - - @@ -167,6 +170,6 @@ In our own patches, we will assume that your code is synchronized with ours. -- Good luck, and happy Hacking -- -# $NHDT-Date: 1575587888 2019/12/05 23:18:08 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.64 $ +# $NHDT-Date: 1583508658 2020/03/06 15:30:58 $ $NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.80 $ # Copyright (c) 2012 by Michael Allison # NetHack may be freely redistributed. See license for details. diff --git a/dat/history b/dat/history index 3778872c9..2d76fc5ce 100644 --- a/dat/history +++ b/dat/history @@ -229,7 +229,8 @@ fix and a few bug fixes. NetHack 3.6.5 was released on January 27, 2020 containing some security fixes and a small number of bug fixes. -NetHack 3.6.6 was released in March 2020 containing a security fix. +NetHack 3.6.6 was released on March 8, 2020 containing a security fix and +some bug fixes. The official NetHack web site is maintained by Ken Lorber at http://www.nethack.org/. diff --git a/doc/Guidebook.mn b/doc/Guidebook.mn index eea49c105..bad63a86a 100644 --- a/doc/Guidebook.mn +++ b/doc/Guidebook.mn @@ -1,4 +1,4 @@ -.\" $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.337 $ $NHDT-Date: 1576431522 2019/12/15 17:38:42 $ +.\" $NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.347 $ $NHDT-Date: 1583508684 2020/03/06 15:31:24 $ .\" .\" This is an excerpt from the 'roff' man page from the 'groff' package. .\" NetHack's Guidebook.mn currently does *not* adhere to these guidelines. @@ -24,7 +24,7 @@ .ds vr "NetHack 3.6 .ds f0 "\*(vr .ds f1 -.ds f2 "March 4, 2020 +.ds f2 "March 8, 2020 . .\" A note on some special characters: .\" \(lq = left double quote @@ -5164,7 +5164,8 @@ and a few bug fixes. NetHack 3.6.5 was released on January 27, 2020 containing some security fixes and a small number of bug fixes. .pg -NetHack 3.6.6 was released in March 2020 containing a security fix. +NetHack 3.6.6 was released on March 8, 2020 containing a security fix and +some bug fixes. .pg The official NetHack web site is maintained by \fBKen Lorber\fP at diff --git a/doc/Guidebook.tex b/doc/Guidebook.tex index 794ea5a9c..c34f6fa80 100644 --- a/doc/Guidebook.tex +++ b/doc/Guidebook.tex @@ -45,7 +45,7 @@ %.au \author{Original version - Eric S. Raymond\\ (Edited and expanded for 3.6 by Mike Stephenson and others)} -\date{March 4, 2020} +\date{March 8, 2020} \maketitle @@ -5775,7 +5775,8 @@ and a small number of bug fixes. %.pg \medskip -NetHack 3.6.6 was released in March 2020 containing a security fix. +NetHack 3.6.6 was released on March 8, 2020 containing a security fix and +some bug fixes. %.pg \medskip diff --git a/include/patchlevel.h b/include/patchlevel.h index 8318fd21a..36bc437c6 100644 --- a/include/patchlevel.h +++ b/include/patchlevel.h @@ -1,4 +1,4 @@ -/* NetHack 3.6 patchlevel.h $NHDT-Date: 1583297273 2020/03/04 04:47:53 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.138 $ */ +/* NetHack 3.6 patchlevel.h $NHDT-Date: 1583508697 2020/03/06 15:31:37 $ $NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.139 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2012. */ /* NetHack may be freely redistributed. See license for details. */ @@ -36,12 +36,13 @@ /****************************************************************************/ /* Version 3.6.x */ -/* Patch 6, March ??, 2020 - * invalid status highlight color could be maliciously used to corrupt memory - * +/* Patch 6, March 8, 2020 * invalid status highlight color could be maliciously used to corrupt memory * formatting corpse names used internal buffers differently from formatting * other objects and could potentially clobber memory + * avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty + * avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both + * were empty when makedefs built 'rumors' */ /* Patch 5, January 27, 2020