+Fri May 21 20:05:00 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Added function CtdlGetDynamicSymbol() for dynamic symbol allocation
+ * server.h: Changed discrete #define's to enum's where appropriate
+ * sysdep.c: Changed the startup message to give credit to the whole
+ development team :) Also made the message more GNU-ish.
+
+Thu May 20 20:01:30 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * database.c: print log messages for file defragmentations
+ * citserver.c: implemented CtdlAllocUserData() and CtdlGetUserData()
+ for arbitrary per-session data storage (by modules etc.) without
+ having to add fields to struct CitContext
+ * msgbase.c: removed "desired_section" from struct CitContext and
+ implemented it using CtdlGetUserData() as a test.
+
+Wed May 19 19:30:28 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * commands.c, commands.h, routines.c: began color scheme changes
+
+1999-05-15 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * configure.in: Added untested support for BSDI 4.x.
+
+1999-05-13 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * acconfig.h, configure.in, routines.c: fix for certain SYSV variants
+ which lack utmp.ut_host
+ * citadel.h, file_ops.c, msgbase.c, netproc.c, serv_chat.c: fix
+ namespace collision with <sys/stream.h> on aforementioned SYSV
+ variant
+ * configure.in, getutline.c: check for paths.h
+ * configure.in, Makefile.in: check for -lsocket and -lnsl
+
+1999-05-11 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * chkpwd.c: fixed excessive paranoia; it used to refuse to run when
+ invoked by root and BBSUID != 0
+ * Makefile.in: ignore errors while installing /etc/pam.d/citadel
+
+1999-04-27 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * file_ops.c: fixed NDOP to not crash the server if it has trouble
+ with a download file
+ * netpoll.c: upped default packet size
+
+Mon Apr 26 22:06:57 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Repaired IGnorant security hole blunder re. citmail
+
+Sun Apr 25 12:44:08 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * serv_chat.c: notify user of number of participants upon entering chat
+ * Built the 5.53 distribution
+
+Wed Apr 21 22:23:13 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * aidepost.c: add -r flag to allow posting to rooms other than Aide>
+ * serv_expire.c: now posts transcripts of all auto-purged rooms/users
+
+Tue Apr 20 12:45:55 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * messages.c: downloading more than MAX_MSGS messages now truncates
+ (off the beginning of the list) rather than crashing.
+
+Mon Apr 19 12:11:48 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * whobbs.c: auto-detect when being called from a webserver, and act
+ as a CGI (print HTTP headers and HTML output)
+
+1999-04-18 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * serv_chat.c: fixed some potential buffer overruns (thanks dme)
+
+Wed Apr 14 21:32:28 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Makefile.in: chmod 4755 citmail to prevent citmail from aborting
+ when called from sendmail due to citadel.config security check
+
+1999-04-13 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * dynloader.c: OpenBSD places underscores in front of symbol names
+ * Makefile.in: fixed a few sillies
+ * aidepost.c, citmail.c, file_ops.c, logging.c, msgbase.c, netmailer.c,
+ netproc.c, rcit.c, routines.c, serv_upgrade.c: fixed time_t handling
+ (have to cast it to long for printf/scanf)
+
+Mon Apr 12 22:13:26 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * aidepost.c: rewrote to unlink temp file before writing to it so that
+ it will automatically go away if interrupted. Also ran indent -kr -i8
+
+1999-04-12 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * configure.in, Makefile.in: taught it how to generate OpenBSD shared
+ libraries
+ * config.c, sysdep.c: fix -h option not setting proper modules dir
+ * configure.in, citadel.spec: make --enable-chkpwd the default
+ * setup.c: don't chown chkpwd
+
+1999-04-11 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * configure.in: another OpenBSD fix, but we're still not quite there yet
+ * serv_chat.c: warning fix
+
+Thu Apr 8 22:51:28 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * config.c: now requires a setup run for *any* rev level difference
+ * Updated docs & confs for 5.53b1 release
+ * setup.c: sets the 0600 permission bits on citadel.config that
+ is checked for in config.c
+
+1999-04-08 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * citserver.c: improved is_public_client(), also if a public_client
+ only supplies a numeric address, attempt to resolve it
+ * locate_host.c: verify that the forward DNS matches the reverse
+ * locate_host.c, locate_host.h: more general interface
+ * configure.in, acconfig.h: fixes for Digital UNIX
+
+Wed Apr 7 21:36:16 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Implemented "access level required to create rooms" (client & server)
+
+1999-04-07 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * configure.in: updated help messages, OpenBSD support
+ * setup.c: if /etc/inittab doesn't exist, don't ask to create an
+ entry in it
+ * server.h, sysdep.c: fix a potential deadlock/data corruption bug
+ * room_ops.c: fixed the 'gdbm error: Illegal data' message when
+ deleting a room which had never been posted to
+ * user_ops.c: include errno.h
+ * dynloader.c: fix for OpenBSD
+
+1999-04-06 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * Makefile.in, configure.in, getutline.c, sysdep.c:
+ fixes/bug workarounds for FreeBSD
+
+1999-04-03 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * Makefile.in, configure.in, chkpwd.c, acconfig.h: support for
+ `chkpwd', a setuid helper program for machines which use shadow
+ passwords (configure --enable-chkpwd)
+ * Makefile.in, configure.in, auth.c, citadel.pam, user_ops.c: support
+ for PAM or shadow passwords (configure --with-pam)
+ * Makefile.in: made some messages simpler
+ * citadel.spec: updated for 5.53; correct name of tarball; build with
+ --enable-chkpwd and --with-pam; add defattr tags so rpm's can be
+ built by non-root user
+ * commands.c: cosmetic cleanup
+ * config.c: (security/paranoia) check permissions on citadel.config
+ * configure.in: check for ncurses if we can't find curses
+ * dynloader.c: warning fix
+ * sysdep.c: don't complain if initgroups() fails
+ * citadel.c: fix systems with SYSV-style signal handling (e.g. libc5)
+ * Makefile.in: New! Improved! Cleaner! Shinier!
+
+Sun Mar 21 14:21:47 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * messages.c: cosmetic cleanups to message reading loop
+
+Sat Mar 13 21:33:19 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * commands.c: use bright colors by default in color mode
+ * citserver.c: initialize wholist fields with (not logged in) etc.
+
+1999-03-08 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * sysdep.c: call DLoader_Init() with an absolute path so that gdb can
+ find module symbols
+ * database.c: bail out if opening databases fails
+
+Sat Mar 6 01:55:55 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * serv_chat.c: use memfmout(), *not* cprintf() to transmit express
+ messages. Calling cprintf() on strings >256 bytes crashes the server
+ * msgbase.c: minor logging fix in save_message()
+
+1999-03-05 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * sysdep.c: add undocumented -r flag to citserver to prevent it from
+ dropping root permissions.
+ * sysdep.c: also drop supplementary groups
+
+1999-03-04 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * config.c: error checking in put_config()
+ * setup.c: chgrp files to the login group associated with BBSUID
+ * sysdep.c: copyright 1987-1999; drop root perms; load modules and call
+ master_startup() after dropping perms
+
+Wed Mar 3 00:00:55 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Prevent buffer overruns in lowercase_name in [get|put]user()
+ * client_chat.c: use citedit() for page composition
+
+Sat Feb 27 07:47:36 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * rooms.c: download_to_local_disk() prompts for a filename if a blank
+ filename was supplied to it (for attachments without names)
+ * mime_parser.c: strip leading whitespace in content_type & disposition
+
+1999-02-24 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * configure.in: improved check for pthreads
+ * configure.in, routines.c, acconfig.h: check for ut_type in struct utmp
+ * configure.in, Makefile.in: support for building server modules as
+ relocatable objects for BSDI (which still uses a.out *gag* *choke*)
+ * configure.in: compiler choice & flags for BSDI; check for libtermcap
+ * database.c: don't use a critical section in open_databases()
+ * housekeeping.c: use getfloor()/putfloor() instead of
+ lgetfloor()/lputfloor() in check_ref_counts()
+ * mime_parser.c: include <errno.h>
+ * msgbase.c: include <limits.h>
+ * sysdep.c: hacks for BSDI. use signals to fake thread cancellation;
+ don't call master_cleanup() directly from signal handler.
+ * routines.c: prototype getutline() if necessary
+ * getutline.c: stupid bugfix
+ * acconfig.h, configure.in, locate_host.c, server.h: work around
+ nonreentrant gethostbyaddr() on BSDI
+
+Mon Feb 15 22:59:00 EST 1999 Vaggelis Tsirkas
+ * citadel.c: increased hostname buffer size to handle very big names
+
+1999-02-15 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * sysdep.c(main): initialize alen before call to accept()
+
+1999-02-04 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * configure.in: improved check for cygwin
+ * configure.in, routines.c: access utmp directly instead of calling
+ `who' if getutline() is available.
+ * configure.in, Makefile.in, getutline.c: replace getutline() on
+ systems which don't have it
+ * routines.c: now always access utmp directly unless we can't find
+ utmp.h
+
+1999-02-02 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * Fixes for Cygwin:
+ - ifdef out file download methods that require named pipes (client)
+ - include pthread.h and gdbm.h only if they are present (fixes
+ auto dependency generation)
+ - include snprintf.h where needed
+ - handle .exe suffixes for "make install"
+
+Tue Feb 2 22:15:08 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Overhauled the express messaging system (again)
+
+Mon Feb 1 19:48:04 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * messages.c: implemented client download of MIME attachments
+
+Sun Jan 31 18:29:18 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Added qpdecode.c to the distribution (decodes quoted-printable)
+ * Finished the MIME parser
+ * Gave MSG0 a reasonable behaviour for MIME messages
+ * Added the OPNA command for downloading attachments
+
+Sat Jan 30 18:39:53 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Look for citadel.rc in current directory if not found elsewhere
+ * More work on the MIME parser
+ * Added base64.c to the distribution
+
+1999-01-29 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * fixes for IRIX (thanks to wr and family for use of the Indy):
+ - use memset()/memcpy() instead of bzero()/bcopy() in all cases
+ - configure updates
+ - handle `long' pid's
+ - a few other little bits
+
+Mon Jan 25 21:23:07 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Fixed bug in save_message() which crashed the server on mail to sysop
+ * Rewrote pop_march() to be smarter about <G>oto heuristics
+
+Sat Jan 23 14:32:19 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Changed internal storage of express messages from a linked list to
+ a single, resizable buffer.
+ * Added a "room order" key to the room record, to allow some control
+ over room listing order.
+ * Made the room list commands aware of the room order key.
+ * Overhauled <G>oto heuristics to pay attention to floor & room order
+
+Wed Jan 20 19:21:51 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Added some more code to the unfinished MIME parser
+ * Changed module loading path to simply "modules" because after calling
+ get_config(), the cwd is guaranteed to be the correct BBS directory.
+
+Tue Jan 19 21:28:29 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Fixed a bug in the user editing command (client side)
+ * Started a rewrite of the MIME parser
+
+Thu Jan 14 21:21:15 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Brought over the mime_parser from WebCit and began preliminary work
+ on supporting MIME format messages.
+
+Tue Jan 12 22:30:00 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Various changes to begin work on support for MIME messages
+ - Defined format type 4 for MIME
+ - msgbase.c: *temporary* hacks in output_message() for Type 4
+ - citmail.c: added more robust header parsing, and support
+ for Type 4. Also eliminated the crappy built-in
+ SMTP server.
+ - Updated some of the technical documentation
+
+Sun Jan 10 13:34:36 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Fixed access to page log room
+
+Fri Jan 8 12:35:09 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * control.c: include <limits.h> to fix PATH_MAX undefined
+ * serv_chat.c: made the following changes to cmd_sexp() --
+ * Send zero-length message to check only, don't send
+ * Send "-" message on the command line to invoke
+ the SEND_LISTING transfer mode for a multi-line message
+ * Added facilities to log all pages to a room (site configurable)
+
+Tue Jan 5 23:24:52 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Replaced all occurances of malloc(), realloc(), and free() in the
+ server and server-modules with mallok(), reallok(), and phree().
+ Wrote macros and a set of leak-tracking functions.
+
+Sun Jan 3 20:38:45 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Documentation changes
+
+Fri Jan 1 01:01:45 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Fixed security problem relating to private rooms
+
+Wed Dec 30 20:10:52 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * sysdep.c: put a bigger string buffer into lprintf() to avoid overruns
+
+Sat Dec 26 16:56:46 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * internetmail.config: commented this file more clearly
+
+Wed Dec 23 20:42:49 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * citadel.c: added some experimental code to automatically reconnect
+ to the server if the connection is broken. For some reason, it only
+ works once.
+
+Wed Dec 23 18:47:12 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * sysdep.c: ignore SIGPIPE. This keeps broken connections from
+ crashing the whole server.
+ * Tagged everything for the official 5.50 release.
+
+Mon Dec 21 07:54:20 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * housekeeping.c: call kill_session() with session_to_kill,
+ not ccptr->cs_pid (was crashing the server)
+
+Sat Dec 19 13:57:48 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Added "-i" flag to netproc to make it skip the export phase.
+ Updated other programs to call netproc in this way when appropriate.
+ * Updated network.txt to reflect the usage for netproc (which has
+ been wrong for several releases)
+
+Thu Dec 17 00:17:04 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Started removing the word "beta" from the docs and code.
+ Preparing for an actual release.
+ * msgbase.c: generate an 'I' field when requested (i.e. on locally
+ originating messages. this was breaking parts of the network)
+
1998-12-15 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
* msgbase.c: remove extra call to alias() which was causing
Citadel-to-Citadel mail to fall into the bit bucket.