dgamelaunch/Changelog

247 lines
10 KiB
Plaintext

1.5.2 (2010/xx/xx)
* Output some identifying information into the ttyrecs.
1.5.1 (2010/05/02)
* Allow sorting the watching-menu by any column.
* Show number of people watching each game.
* Allow dgl to kill processes that are idle for too long.
* Allow setting resource limits on core dump size and memory usage.
* Improve configure-script.
1.5.0 (2009/10/18)
* Merge the dgl-wall functionality into dgamelaunch itself.
* Allow any number of games per dgl installation without recompile.
* Allow admin to define the menu structure in config file.
* Return to dgamelaunch when the game ends.
* Better handling of tty loss.
* Allow admin to define different actions taken when something happens.
* Allow using SQLite3 for the user login database instead of flat text.
* Allow sorting the watchlist, by username or idletime.
* Handle terminal size changes without quitting dgl.
1.4.7 (2007/12/22)
* Allow more than one game per dgl installation. (by default, up to 3)
* Make the watching code more efficient (particularly on FreeBSD) and
clean it up a bit.
* Fix bug where old cruft was left under the watch list after 'm'
had been used.
* Allow ^L and ^R to fully refresh the watch list.
* Use kqueue() if available (FreeBSD) to improve watching.
* Update svn link.
* Use $(DESTDIR) intelligently in installation procedure.
* Fix dgl-create-chroot to do a more intelligent $termdata check,
and to not choke on finding linux-gate.so.1 in ldd output (the file
does not actually exist. Also make the copy a dereferencing one, since
Debian now has a weird symlinking deal that makes it hard to accumulate
all the directories together.
1.4.6 (2004/07/03)
* Fix some signed/unsigned warnings.
* Fix make install check for PREFIX -> $(PREFIX).
* Bind with Satan / start using autoconf.
* Fix a bug in automatic authorization that revealed the username
and password in ps output, by munging argv using setproctitle()
if possible.
* Fix dgl-create-chroot's copying of terminfo by choosing a sane
default.
* Now compiles with Tiny C Compiler.
1.4.5 (2004/06/14)
* Reset offset if necessary to show at least one game to avoid things
like "(15-14 of 14)".
* Provide several examples for dgl-create-chroot.conf.
* Backup the savefile before starting nethack to help prevent more
lost games. Note this must be explicitly configured in the
configuration file.
* Added ^W for delete word in mygetnstr().
* Begun generalization of code so that someone can get it to work
with stuff like Slash'EM etc. more easily.
* Allow automatic authorization using the USER environment variable
that one can auto-set in .telnetrc. Idea by Jeremy Chadwick
<jdc@parodius.com>.
* Enable NHEXT and NHAUTH support for Slash'EM, contributed by
J. Ali Harlow <ali@juiblex.co.uk>.
1.4.4 (2004/03/07)
* Show total number of games in progress below the list, useful if
there are more than fits on the screen.
* Use client-supplied window size again; try to detect broken
clients and force them to 80x24.
* Pass window size to watchers via inprogress file; show it on the
list.
* Selecting a game to watch with an uppercase letter attempts to
change the window size to the game's via the \033[8;<r>;<c>t
sequence.
* Stricter check on entered email addresses; the same check is now
used for new accounts as well as changes in existing accounts.
1.4.3 (2004/02/28)
* Make ttyplay use the 'strip' value it remembered from last view.
* Don't fail if client-supplied window size seems incorrect.
* Added a simple man page.
1.4.2 (2004/02/22)
* Add a compile-time option to define a static location to look
for a configuration file. Will ALWAYS override defconfig values
if it is present, so beware.
* Fixed some eerie race conditions that prevented writefile() from
writing a full file all the time. (jilles)
* Don't write rcfiles if they already exist. (i.e., lost account
holders recreating their accounts.
* Allow administrator to hardcode a dgamelaunch.conf path.
* Ignore client-supplied window size again.
* Include dgl-wall, which notifies all logged in users with
a mail message.
* Split common functions into dgl-common.c.
1.4.1 (2004/02/13)
* Don't explicitly unlock the lock file before fclosing it;
this creates a race condition where we might not have finished
writing to /dgl-login before we tell people that they can write
to it again.
* Make sure writefile does not get called when using it as a
password prompt for new-users
* Allow user to change his or her email address in the console.
* Remove some useless cruft in ttywait() [ttyplay.c]
1.4 (2004/02/03)
* Major cleanups - remove most uses of strcpy() and strcat()
* A number of virus bugs have been fixed regarding getopt() and
other minor issues.
* Add support for mailing users while they are playing.
[nh343-simple_mail.diff is needed]
* Add a confirmation to the change password screen so people like me
don't change their passwords by accident all the time.
* Remove many unused variables and make some functions void because
they don't return anything.
* Add some function prototypes in dgamelaunch.c to quell warnings.
* Make some vars unsigned to quell warnings.
* 'capital letter. experimental' section made irrelevant by use of
tolower(3) around getch()
* Change big conditional block to use a switch.
* Replace a global with a static variable within the function.
* Replace the giant size 64000 static buffers with dynamically
allocated structs
* Checking for colons in user fields is made simpler using strstr(3)
* Allow page up and page down on the watch games menu
* Merge BSD compatibility patches
* All licenses in source code mentioned in COPYING
* Use fcntl for all file locking; flock(3) is not portable
* Fix some troublesome uses of strncpy() with strlcpy
* ditto for strncat->strlcat
* Make sure only one session can be played at once at all and
SIGHUP the rest, ensuring the death of "Destroy old game? [yn]"
* Replace two colossal conditionals with calls to isalnum(3).
* Shift from static #defines to a configuration file system
powered by lex/yacc.
* Include a little stub program to test dgamelaunch's functionality
without actually going through the hassle of setting up Nethack.
* Always use -lcurses and #include <curses.h>
* Port to FreeBSD 5 and Solaris (as of yet, untested)
* Switched to own version of getnstr() that always accepts both
^H and ^?
* Now use 'ee' as the default rcfile editor. virus is still a compile
time option - see README for details.
* A giant code cleanup that centralizes necessary globals, removes
unnecessary variables and #defines...
* Improved stripgfx feature to allow in-session graphic strip
toggling. Still a bit unreliable though, but works better than
before.
1.3.10 (2003/10/22)
* Added a mode flag to the open call for inprogress lock files.
(jilles)
1.3.9 (2003/09/06)
* Fixed the bug where editing options file wouldn't work on same
session as registration.
* Changed ttyplay timeout to 20 minutes with a better error msg.
* Made a zero length response on registration just dump you
back to the main menu.
1.3.7 (2003/09/06)
* Fixed the infamous hlen bug! I was rewinding to the beginning
of payload, not header.
1.3.5 (2003/09/05)
* Returned SIGWINCH to defaults after exiting virus. This was
probably the screen resize crash bug. (maybe?)
1.3.1 (2003/08/30)
* First shot at an engine to strip out graphics sets. It is a lot
harder than I would have thought, but doable at a 99% or so
success rate, I think, which should at least allow people to
view games in other graphics sets somewhat.
1.2.22 (2003/08/29)
* Expanded README
* Hope to have caught the error in a partial read of the error.
1.2.21 (2003/08/28)
* Added a README since I noticed people were downloading this.
1.2.20 (2003/08/24)
* Added additional check on payload length. Just a sanity thing.
1.2.19 (2003/08/24)
* Fixed (hopefully) that nasty bug that occurs when a partial read
after header read returned, and caused the next header read to
basically read random data (and thus a random length).
1.2.18 (2003/08/14)
* After determining select() on files sucks ass, I've just reduced
the polling interval on the ttyplay engine to 100ms, and given
up on an otherwise proper select call. Humans shouldn't notice
the latency, but I always will... grrr...
1.2.17 (2003/08/14)
* Put in the 50ms delay from header read until payload read during
preads in order to hopefully hack/wait around the race condition
99% of the time.
* Added a sleep(10) after receiving SIGHUP until sending one
to the child process in the mild hopes that this gets around
whatever condition is causing it not to receive and handle
the SIGHUP now.
1.2.16 (2003/08/14)
* All code is now run through indent(1) for cleanliness
* Game playback in progress now finds the last term reset and plays
forward from the last header before that reset.
* Some effort has been made to trap SIGHUP better and pass that
along to child processes as well. This still needs work for
nethack itself, but dgamelaunch is clean so far.
1.2.6 (2003/08/08)
* Viewing games in progress now works pretty well.
1.2.0beta2 (2003/08/07)
* Added initial ttyrec integration, although everything is very
broken at this point. Once I learn more about tty libraries than
I ever want to know, maybe everything will work again.
1.1.6 (2003/08/06)
* The last few revs included minor bugfixes found in production use,
changed some text in the program, and 1.1.6 is some minor packaging
changes for the purposes of a release to the public of the source
code.
1.1.1 (2003/08/02)
* Introduced virus (vi editor) code, and provided a new option to edit
personal nethack rc files.
1.0.0 (2003/08/01)
* Since 0.2.3 has been in production for over a year and a half, it
is hereby dubbed 1.0.0.
0.2.2 (2001/11/11)
* added change password feature. also is the way to get password crypt()ed
0.2.1 (2001/11/11)
* moved more of the crucial config into defines
* removed the echo of password on login
0.2.0 (2001/11/11)
* added crypt() support for the password file. Now the program first
checks for the crypt() password, then the plaintext one for legacy
and for ease of admins changing passwords.