nhmall [Wed, 4 Mar 2020 21:01:50 +0000 (16:01 -0500)]
fixes update
PatR [Sat, 22 Feb 2020 09:41:04 +0000 (01:41 -0800)]
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
PatR [Sat, 22 Feb 2020 20:32:00 +0000 (12:32 -0800)]
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.
nhw_cron [Wed, 4 Mar 2020 16:24:08 +0000 (11:24 -0500)]
This is cron-daily v1-Jan-20-2020. files updated: Files
nhw_cron [Wed, 4 Mar 2020 16:24:05 +0000 (11:24 -0500)]
This is cron-daily v1-Jan-20-2020. guidebook updated: doc/Guidebook.txt
nhmall [Wed, 4 Mar 2020 15:41:57 +0000 (10:41 -0500)]
updates for 3.6 March 2020
nhmall [Wed, 4 Mar 2020 15:31:48 +0000 (10:31 -0500)]
update to Install.nt
nhmall [Mon, 27 Jan 2020 23:17:29 +0000 (18:17 -0500)]
travis bit post-release
nhmall [Mon, 27 Jan 2020 23:11:43 +0000 (18:11 -0500)]
fixes36.5 update
nhmall [Mon, 27 Jan 2020 23:05:25 +0000 (18:05 -0500)]
post-release
PatR [Mon, 27 Jan 2020 20:14:19 +0000 (12:14 -0800)]
Another VMS tweak
One of the new paragraphs inadvertently duplicated an existing one.
nhmall [Mon, 27 Jan 2020 20:05:45 +0000 (15:05 -0500)]
one more missed inconsistency and README updates
PatR [Mon, 27 Jan 2020 19:53:18 +0000 (11:53 -0800)]
Readme tweaks
Replace a few tabs, remove a few trailing spaces, and shorten a few
long lines.
Readme still needs another fix: if falsely claims to contain all bug
fixes since 3.6.4. I wasn't sure how to reword that so didn't try.
Also, fix a couple of old typos in Install.vms.
nhmall [Mon, 27 Jan 2020 17:56:34 +0000 (12:56 -0500)]
more typo propagation
nhmall [Mon, 27 Jan 2020 17:27:41 +0000 (12:27 -0500)]
another typo
nhmall [Mon, 27 Jan 2020 16:50:19 +0000 (11:50 -0500)]
typo
nhmall [Mon, 27 Jan 2020 16:28:21 +0000 (11:28 -0500)]
travis updates
nhw_cron [Mon, 27 Jan 2020 15:17:10 +0000 (10:17 -0500)]
This is cron-daily v1-Jan-20-2020. guidebook updated: doc/Guidebook.txt
nhmall [Mon, 27 Jan 2020 14:27:03 +0000 (09:27 -0500)]
Guidebook date-stamp
nhmall [Mon, 27 Jan 2020 13:23:56 +0000 (08:23 -0500)]
avoid link error with gcc 10 which enables -fno-common by default
PatR [Mon, 27 Jan 2020 10:20:47 +0000 (02:20 -0800)]
Install.vms update
nhmall [Sun, 26 Jan 2020 15:03:15 +0000 (10:03 -0500)]
doc/Guidebook.txt update from daily cron
nhmall [Sun, 26 Jan 2020 04:42:36 +0000 (23:42 -0500)]
release prep bits
Bart House [Sun, 26 Jan 2020 01:07:59 +0000 (17:07 -0800)]
Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6
Bart House [Sun, 26 Jan 2020 01:07:45 +0000 (17:07 -0800)]
Fall back to executable path if we have trouble converting known path.
PatR [Sat, 25 Jan 2020 20:08:28 +0000 (12:08 -0800)]
unix 'make clean' update
Remove dat/gitinfo.txt which has been getting overlooked.
Hardly urgent, but useful if this is the last 3.5.x release.
nhmall [Sat, 25 Jan 2020 17:34:06 +0000 (12:34 -0500)]
Xcode build fixes
nhmall [Sat, 25 Jan 2020 17:23:54 +0000 (12:23 -0500)]
exec commands in MSBUILD *.proj files didn't handle spaces in directory names
nhmall [Tue, 21 Jan 2020 01:58:40 +0000 (20:58 -0500)]
windows vsprintf bit
nhmall [Tue, 21 Jan 2020 00:22:18 +0000 (19:22 -0500)]
more vsnprintf
nhmall [Mon, 20 Jan 2020 23:14:19 +0000 (18:14 -0500)]
more vsnprintf
nhmall [Mon, 20 Jan 2020 21:58:12 +0000 (16:58 -0500)]
update README and patchlevel.h
nhmall [Mon, 20 Jan 2020 21:08:11 +0000 (16:08 -0500)]
use vsnprintf instead of vsprintf in pline.c
PatR [Thu, 16 Jan 2020 13:22:18 +0000 (05:22 -0800)]
command line triggered buffer overruns
Prevent extremely long command line arguments from overflowing local
buffers in raw_printf or config_error_add. The increased buffer
sizes they recently got to deal with long configuration file values
aren't sufficient to handle command line induced overflows.
choose_windows(core): copy and truncate the window_type argument in
case it gets passed to config_error_add().
process_options(unix): report bad values with "%.60s" so that vsprintf
will implicitly truncate when formatted by raw_printf().
nhmall [Thu, 16 Jan 2020 15:18:37 +0000 (10:18 -0500)]
fixes update
Pasi Kallinen [Fri, 20 Dec 2019 13:16:12 +0000 (15:16 +0200)]
Prevent accessing outside the mons array
Fix another out-of-bounds error
Monster trying to decide if a tin could cure stoning looking at
a special or empty tin would do acidic(&mons[-1])
nhw_cron [Wed, 15 Jan 2020 03:17:28 +0000 (22:17 -0500)]
This is cron-daily v1-Jan-14-2020. guidebook updated: doc/Guidebook.txt
nhw_cron [Wed, 15 Jan 2020 03:17:28 +0000 (22:17 -0500)]
This is cron-daily v1-Jan-14-2020. files updated: Files
nhmall [Wed, 15 Jan 2020 02:58:55 +0000 (21:58 -0500)]
Merge branch 'NetHack-3.6-housekeeping-for-3.6.5' into NetHack-3.6
PatR [Tue, 14 Jan 2020 22:34:03 +0000 (14:34 -0800)]
fix sym_val() buffer overrun fix
Fix a mistake in commit
74de7d31e0a6b3e2ebd852e333fe66d212fd6a90.
Copy+paste error resulted in 'strval + 1' when 'strval' is required.
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: mnh.txt
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: mn.txt
nhw_cron [Tue, 14 Jan 2020 16:17:37 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. files updated: Files
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: recover.txt
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: nethack.txt
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: makedefs.txt
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: lev_comp.txt
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: dlb.txt
nhw_cron [Tue, 14 Jan 2020 16:17:34 +0000 (11:17 -0500)]
This is cron-daily v1-Jan-14-2020. manpages updated: dgn_comp.txt
nhmall [Tue, 14 Jan 2020 16:44:02 +0000 (11:44 -0500)]
documentation updates
nhmall [Tue, 14 Jan 2020 16:35:06 +0000 (11:35 -0500)]
housekeeping items for 3.6.5 - first pass
PatR [Tue, 14 Jan 2020 10:52:34 +0000 (02:52 -0800)]
fix pline.c potential buffer overruns
Fix 'Bugs 4, 5, and 6' which all use a similar fix but would have
conflicts over '#define BIGBUFSZ' if committed separately.
Format ("short explanation %s", string_argument), where the
explanation always has modest length but the string is potentially
up to 4*BUFSZ in length, into a 5*BUFSZ buffer. Then truncate the
result to at most BUFSZ-1 characters so that it can be safely passed
to interface-specific putstr() or raw_print().
Applies to pline(), raw_printf(), and config_error_add(). Also done
for impossible() although there's no evidence that its buffer could
be overflowed in a controlled manner.
PatR [Tue, 14 Jan 2020 10:05:14 +0000 (02:05 -0800)]
fix sym_val() buffer overrun
Fix 'Bug 3' where too long SYMBOL=string in run-time config file could
overflow a local buffer and clobber the stack.
Valid value is only one character long after processing an 'escaped'
encoded character which can be at most 6 characters (plus terminator):
backslash M backslash and up three digits. If/when UTF8 gets added
the number of digits will increase. Use a truncated copy of the input
(substantially bigger than 6+1); ignore any excess.
PatR [Tue, 14 Jan 2020 03:26:53 +0000 (19:26 -0800)]
fix add_menu_coloring() buffer overrun
Fix 'Bug 2' where too long MENUCOLOR=string in run-time config file
could overflow a local buffer and clobber the stack.
Theoretically a menu coloring regular expression could require a
bigger buffer but I don't think we need to try to support that.
255 characters minus the amount needed to specify color and/or
attributes should be ample.
PatR [Tue, 14 Jan 2020 03:17:35 +0000 (19:17 -0800)]
fixes36.5
PatR [Tue, 14 Jan 2020 03:09:57 +0000 (19:09 -0800)]
groundwork
Fix one warning and reformat some of the recently added code.
nhmall [Mon, 13 Jan 2020 20:30:23 +0000 (15:30 -0500)]
fixes update
nhmall [Mon, 13 Jan 2020 20:23:42 +0000 (15:23 -0500)]
windows intermediate file into .gitignore
nhmall [Mon, 13 Jan 2020 20:03:03 +0000 (15:03 -0500)]
remove unintended src file
nhmall [Mon, 13 Jan 2020 19:54:48 +0000 (14:54 -0500)]
fix bug1
have string_for_opt() return the value string or empty_optstr to
provide some level of crash protection if some future added option
processing misbehaves. Callers of string_for_opt() and
string_for_env_opt() should always check for a match to empty_optstr.
nhmall [Mon, 13 Jan 2020 16:25:38 +0000 (11:25 -0500)]
ignore lib folder
Bart House [Sun, 22 Dec 2019 01:04:49 +0000 (17:04 -0800)]
Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6
nhmall [Sun, 22 Dec 2019 01:02:37 +0000 (20:02 -0500)]
post-release windows binary fix
Bart House [Sat, 21 Dec 2019 21:14:14 +0000 (13:14 -0800)]
Ensure front tile size is non-zero to avoid divide by zero exceptions.
Bart House [Sat, 21 Dec 2019 21:13:43 +0000 (13:13 -0800)]
Bump in manifest to reflect latest store release.
nhw_cron [Thu, 19 Dec 2019 22:17:40 +0000 (17:17 -0500)]
This is cron-daily v1-Dec-12-2019. files updated: Files
nhmall [Wed, 18 Dec 2019 22:23:17 +0000 (17:23 -0500)]
.travis.yml update post-3.6.4
nhmall [Wed, 18 Dec 2019 21:49:55 +0000 (16:49 -0500)]
landing spot for post-3.6.4 patches if needed
This is a landing spot.
nhmall [Wed, 18 Dec 2019 21:46:30 +0000 (16:46 -0500)]
post-release
nhmall [Wed, 18 Dec 2019 20:29:40 +0000 (15:29 -0500)]
update version
nhmall [Wed, 18 Dec 2019 15:01:54 +0000 (10:01 -0500)]
README bit
nhw_cron [Wed, 18 Dec 2019 09:17:25 +0000 (04:17 -0500)]
This is cron-daily v1-Dec-12-2019. guidebook updated: doc/Guidebook.txt
nhmall [Wed, 18 Dec 2019 04:38:06 +0000 (23:38 -0500)]
housekeeping updates
nhmall [Wed, 18 Dec 2019 04:18:06 +0000 (23:18 -0500)]
Merge branch 'NetHack-3.6' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6
nhmall [Wed, 18 Dec 2019 04:16:44 +0000 (23:16 -0500)]
update and simplify the windows portable_device_paths sysconf option
Requires a sysconf file in the windows executable directory in order to work
PatR [Wed, 18 Dec 2019 03:08:26 +0000 (19:08 -0800)]
ceiling hiders vs '>'
Poly'd hero hiding on the ceiling was told "you can't go down here"
if using '>' at a spot that didn't have down stairs, trap door, hole,
or pit. Let '>' bring a ceiling hider out of hiding; lurker above
resumes flying, piercer falls to floor or whatever is underneath it.
PatR [Wed, 18 Dec 2019 02:14:08 +0000 (18:14 -0800)]
wizard mode wishing for terrain
Fix some issues noticed when experimenting with ceiling hiders.
They're all blind (at least without the monks' Eyes) and some of
the behavior while blind seemed to be incorrect (though some that
I thought was wrong turned out to be ok; feel_newsym() won't update
the map if the hero can't reach the floor). Fixing that made me
notice that some terrain side-effects (being underwater or stuck in
lava) weren't getting disabled when the underlying terrain wasn't
the corresponding type anymore.
PatR [Tue, 17 Dec 2019 23:48:37 +0000 (15:48 -0800)]
ceiling_hider()
Just groundwork so far; no change in game play.
PatR [Tue, 17 Dec 2019 23:41:58 +0000 (15:41 -0800)]
parse_conf_file fix fix
nhmall [Tue, 17 Dec 2019 20:32:10 +0000 (15:32 -0500)]
Windows portable_device support: skip the "illegal folder" check for now
nhw_cron [Tue, 17 Dec 2019 19:49:36 +0000 (14:49 -0500)]
This is cron-daily v1-Dec-12-2019. guidebook updated: doc/Guidebook.txt
nhw_cron [Tue, 17 Dec 2019 19:49:35 +0000 (14:49 -0500)]
This is cron-daily v1-Dec-12-2019. files updated: Files
nhmall [Tue, 17 Dec 2019 19:19:20 +0000 (14:19 -0500)]
Merge branch 'housekeeping-to-merge-at-3.6.4-release' into NetHack-3.6
nhmall [Tue, 17 Dec 2019 19:18:44 +0000 (14:18 -0500)]
Merge branch 'config-overflow-fix' of https://rodney.nethack.org:20040/git/NHsource into config-overflow-fix
PatR [Fri, 13 Dec 2019 21:36:38 +0000 (13:36 -0800)]
fix potential buffer overflow loading config file
nhmall [Tue, 17 Dec 2019 19:13:16 +0000 (14:13 -0500)]
Merge branch 'housekeeping-to-merge-at-3.6.4-release' of https://rodney.nethack.org:20040/git/NHsource into housekeeping-to-merge-at-3.6.4-release
nhmall [Fri, 13 Dec 2019 23:37:36 +0000 (18:37 -0500)]
housekeeping updates for 3.6.4
typos
README update
nhmall [Tue, 17 Dec 2019 19:00:28 +0000 (14:00 -0500)]
README update
nhmall [Tue, 17 Dec 2019 17:17:46 +0000 (12:17 -0500)]
put original 3.7 fixes entry into 3.6 fixes file
nhmall [Tue, 17 Dec 2019 16:47:25 +0000 (11:47 -0500)]
clinger messaging
nhmall [Mon, 16 Dec 2019 05:25:20 +0000 (00:25 -0500)]
flying hero should be able to pass through a hole using '>'
nhmall [Tue, 17 Dec 2019 06:17:49 +0000 (01:17 -0500)]
buffer bit
nhmall [Tue, 17 Dec 2019 06:07:53 +0000 (01:07 -0500)]
correct revision of one file on the commit
nhmall [Tue, 17 Dec 2019 05:41:55 +0000 (00:41 -0500)]
allow run-from-removable-device configuration on Windows
Allow a way to configure NetHack to run entirely from a USB stick
or other removable device in a way that allows everything to
reside entirely on the USB stick, and nothing on the computer's
hard drive. That could be done in versions prior to 3.6.3.
Sample:
i: is a USB stick
i:\nhdist contains the NetHack Windows distribution and a sysconf
file dropped into that distribution with the following entry in it:
portable_device_top = nethack
No device is included in the portable_device_top entry, the device
is always the device that the nethack exe resides on. If you try
to specify a device in the portable_device_top path, the device
portion will be ignored.
portable_device_top specifies the folder on the device that is writable
by NetHack and as such it cannot be the same folder that the executable
resides in.
i:\nhdist\nethack --showpaths
Variable playground locations:
[hackdir ]="i:\nethack\"
[leveldir ]="i:\nethack\"
[savedir ]="i:\nethack\"
[bonesdir ]="i:\nethack\"
[datadir ]="i:\nhdist\"
[scoredir ]="i:\nethack\"
[lockdir ]="i:\nethack\"
[sysconfdir]="i:\nhdist\"
[configdir ]="i:\nethack\"
[troubledir]="i:\nethack\"
NetHack's system configuration file (in sysconfdir):
"i:\nhdist\sysconf"
The loadable symbols file (in sysconfdir):
"i:\nhdist\symbols"
Basic data files (in datadir) are collected inside:
"i:\nhdist\nhdat363"
No end-of-game disclosure file (disabled).
Writable folder for portable device config (sysconf portable_device_top):
"i:\nethack\"
Your personal configuration file (in configdir):
"i:\nethack\.nethackrc"
Without that sysconf file in the NetHack distribution folder on the
USB stick with the 'portable_device_top = ' entry, the paths
return to the default locations for 3.6.3 on Windows:
i:\nhdist\nethack --showpaths
Variable playground locations:
[hackdir ]="C:\Users\JaneDoe\NetHack\3.6\"
[leveldir ]="C:\Users\JaneDoe\AppData\Local\NetHack\3.6\"
[savedir ]="C:\Users\JaneDoe\AppData\Local\NetHack\3.6\"
[bonesdir ]="C:\ProgramData\NetHack\3.6\"
[datadir ]="i:\nhdist\"
[scoredir ]="C:\ProgramData\NetHack\3.6\"
[lockdir ]="C:\ProgramData\NetHack\3.6\"
[sysconfdir]="C:\ProgramData\NetHack\3.6\"
[configdir ]="C:\Users\JaneDoe\NetHack\"
[troubledir]="C:\Users\JaneDoe\NetHack\3.6\"
NetHack's system configuration file (in sysconfdir):
"C:\ProgramData\NetHack\3.6\sysconf"
The loadable symbols file (in sysconfdir):
"C:\ProgramData\NetHack\3.6\symbols"
Basic data files (in datadir) are collected inside:
"i:\nhdist\nhdat363"
No end-of-game disclosure file (disabled).
Your personal configuration file (in configdir):
"C:\Users\JaneDoe\NetHack\.nethackrc"
nhmall [Sun, 15 Dec 2019 22:59:48 +0000 (17:59 -0500)]
mistake file
nhmall [Sun, 15 Dec 2019 22:41:27 +0000 (17:41 -0500)]
more makedefs
nhmall [Sun, 15 Dec 2019 22:22:11 +0000 (17:22 -0500)]
report post-release in makedefs if someone happens to build post-release code
Patric Mueller [Sun, 15 Dec 2019 19:38:44 +0000 (20:38 +0100)]
Fix compilation on platforms that split the ncurses and tinfo libraries
Some platforms compile ncurses in such a way that the tinfo library needs to
be separately linked in (e.g. Gentoo).
The tinfo library is a low-level library being used by and bundled with
ncurses.
Adding '-ltinfo' to WINTTYLIB in the hint files was considered the most robust
solution to this problem. This still works on systems with ncurses 5.9.
Using pkg-config was ruled out as the default build of ncurses doesn't install
the necessary files.
nhw_cron [Sun, 15 Dec 2019 18:16:00 +0000 (13:16 -0500)]
This is cron-daily v1-Dec-12-2019. guidebook updated: doc/Guidebook.txt
nhmall [Sun, 15 Dec 2019 17:44:53 +0000 (12:44 -0500)]
Merge branch 'NetHack-3.6' into housekeeping-to-merge-at-3.6.4-release