+$Log$
+Revision 1.113 1999/12/04 22:16:05 ajc
+* Moved all diagnostic output to stderr
+* Moved "HTTP/1.0 200 OK" output to output_headers()
+
+Revision 1.112 1999/12/04 21:56:59 ajc
+* Finished the overhaul. Now to tune...
+
+Revision 1.111 1999/12/03 17:59:53 ajc
+* BROKEN BUILD. Wrote most of the session removal code, but some of it is
+ pseudocode so the build is currently broken.
+
+Revision 1.110 1999/12/03 16:37:46 ajc
+* Repaired HTTP output for image transfers and static content
+
+Revision 1.109 1999/12/03 05:09:54 ajc
+* Rewrote the HTTP engine and application coupling to run in a worker thread
+ model and to run as a single multithreaded program (eliminated helper
+ processes and pipes). It currently runs but has many large bugs.
+
+Revision 1.108 1999/12/03 00:18:20 ajc
+* Added ".c.o" rule to Makefile
+
+Revision 1.107 1999/11/26 03:32:59 ajc
+* Started moving all of the global variables into a struct, to facilitate
+ multithreaded server.
+
+Revision 1.106 1999/11/26 01:28:10 ajc
+* 2.01 release
+
+Revision 1.105 1999/11/04 02:05:02 ajc
+* Added 'number of worker threads' to site config screen
+
+Revision 1.104 1999/10/25 02:25:09 ajc
+* Shuffled around the room editing commands
+
+Revision 1.103 1999/10/14 04:07:18 ajc
+* Cleaned up the bottom-of-page icons
+
+Revision 1.102 1999/10/08 23:58:11 ajc
+* Minor bug fix in registration screen
+
+Revision 1.101 1999/10/06 02:44:02 ajc
+* Per Nick's request, removed the key bindings stuff. He knows how to fit
+ it back in when it's fixed. Also added more attempts at cache disabling,
+ but it still doesn't work in the StarOffice browser. I don't know why.
+
+Revision 1.100 1999/10/02 03:26:14 ajc
+* Merged in Nick's bit of JavaScript to handle key commands.
+ BROKEN BUILD ALERT!! This runs all the time, even when the cursor is
+ in a text field. Right now you can't even log in.
+
+Revision 1.99 1999/09/01 01:06:11 ajc
+* Added "max message length" field in global config screen
+
+Revision 1.98 1999/08/14 18:16:10 ajc
+* Fixed escputs() and its friends to properly handle ' (single quote) chars
+
+
+Sun Jul 18 20:17:58 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Did neat stuff to the bottom of the page
+
+Mon Jul 12 23:30:24 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * webcit.c: exit Webcit sessions semi-gracefully when the connection
+ to a Citadel server fails.
+ * messages.c: don't auto-link URL's in messages if it would cause
+ a buffer overrun.
+
+Sat Jul 10 17:51:39 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Recompiled the Java chat applet using a genuine JDK 1.0.2
+ compiler. This should make more browsers happy.
+
+Wed Jun 30 19:19:59 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Added support for "robots.txt" telling spiders to go away.
+ * Do a slrp_highest() when logging off.
+
+Sat Jun 26 22:52:13 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Rearranged the code in "Site-wide configuration" and "Generic
+ server command" to avoid nested server operations
+
+Wed Jun 23 21:43:30 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * webcit.c: added "back, top, next" buttons to bottom of each page
+ * menubar.html: replaced "User list" with "Page another user"
+
+Tue Jun 22 14:53:05 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * context_loop.c: rearranged some code to try to eliminate deadlocks
+
+Fri Jun 18 11:55:58 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Unknown URL's now display the main menu instead of diagnostics
+ * Diagnostics are now at <baseurl>/diagnostics
+
+Mon Jun 7 21:59:45 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Session no longer locks up when an express message is cancelled
+ * The default Citadel server is now "localhost" instead of uncnsrd
+ * Added some documentation
+
+Thu Jun 3 12:18:49 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * roomops.c: made room banner graphics more reliable
+ * messages.c: added code to prevent accidental "double-posting"
+ * who.c: fixed the "Change room/host/user" submit logic
+
+Thu Jun 2 09:48:00 EDT 1999 Nick Grossman <nick@ulster.net>
+ * Changed static/menubar.html so the text is readable
+
+Wed Jun 2 23:47:58 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Ditched the frames mode completely. It wasn't working properly in,
+ among other places, IE 5. Die, Bill, Die.
+
+Sat May 29 00:25:47 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Fixed the behavior of the "forget room" routine, to properly handle
+ the transition back to the Lobby after it's all done.
+ * Added ExpressMessageCat() to allow code to send the user messages
+ along with incoming express messages
+ * WebCit now sends the name of the end user's browser as the client
+ name in a Citadel IDEN command rather than its own name.
+
+Fri May 21 23:35:17 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Minor code cleanups
+ * New mail notification
+
+Mon May 17 20:59:36 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Top-aligned all the cells in the fake frames in non-frames mode
+
+Fri May 14 23:37:02 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Initial entry to _BASEROOM_ at login now done as a Skip instead
+ of a Goto, in order to prevent it from first marking all msgs old.
+
+Mon May 10 23:09:34 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Replaced _most_ gotoroom() calls with smart_goto(), a version
+ which can differentiate the needs of frames and noframes modes
+
+Sat May 8 01:07:06 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * webserver.c: added "-t" option to send traces somewhere else
+
+Tue Apr 27 23:36:35 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * context_loop.c: display an error page if the client browser
+ requests a non-root page and there is no cookie set
+ * webserver.c: took my name off the copyright notice (it's a group
+ effort, after all)
+
+Sun Apr 18 23:42:54 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Reworked a lot of the structure, made more HTML "embeddable"
+ * Changed the noframes mode to display "fake" frames using tables
+
+Thu Apr 16 12:00:00 EDT 1999 Nick Grossman <nicl@ulster.net>
+ Changed some output formatting (mainly <FONT> tags).
+ Changed who.c to use urlescputs() rather than escputs()
+ in urls so GOTOs and User Profiles work when the string has a
+ space in it.
+
+Wed Apr 14 17:56:18 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ http://www.webreference.com/dhtml/column18/menuFrLoad.html
+ How to cause "onLoad=" to cause a sibling frame to refresh without
+ having to use the nonportable HTTP "Window-Target:" directive. Began
+ implementation of this; it should allow portable NS/IE compatibility.
+
+Wed Apr 7 21:51:33 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Implemented "access level required to create rooms"
+
+Thu Mar 18 00:23:05 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * webcit.c: modified getz() to *exit* the program when fgets()
+ returns an error. This is actually the desired behavior; it would
+ otherwise busy-loop forever on a broken pipe.
+
+Sat Mar 6 19:56:07 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * webcit.c: added to getz() the ability to return an error code;
+ implemented this in the main loop, hopefully fixing problems
+ * Added "braindamage" file (frames/JS browser compatibility list)
+ * Added HTTP "User-agent:" detection
+ * wildmat.c, braindamage.c: added
+ * Initial value of 'noframes' is now set by the braindamage check
+ * Ran everything through "indent -kr -i8"
+ * roomops.c: in room list, print a in otherwise empty cells
+
+1999-02-24 Nathan Bryant <bryant@cs.usm.maine.edu>
+ * context_loop.c: warning fix
+ * webcit.c: off_t is a 64-bit `long long' on BSDI (eek!)
+
+Sat Jan 30 19:00:58 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Resolve the name of the connecting host and pass it on to Citadel
+
+Fri Jan 29 14:49:49 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * wDumpContent() is now responsible for </BODY></HTML> most of the
+ time (parameter settable) so that the main menu can easily be
+ embedded in every page when running in noframes mode
+ * noframes mode selection is now carried in the cookie
+
+Thu Jan 28 20:30:08 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Made the frames stuff less dependent on the HTML TARGET= directive
+ and more dependent on the HTTP Window-target: directive.
+ * Made the system semi-navigable in noframes mode.
+
+Sat Jan 23 19:36:10 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Brought over the new room listing code and <G>oto heuristics
+ from the main Citadel tree, to pay attention to floor/room ordering
+
+Thu Jan 14 17:14:11 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Modified the back end of mime_parser to use callbacks instead of
+ doing something specific. Now we can use it elsewhere.
+
+Mon Jan 11 21:53:16 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Fixed the bugs in "Site-wide configuration"
+ * Added a "generic server commands" screen
+
+Fri Jan 8 22:20:54 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Reduced the multiple cookies down to one cookie combining all data.
+
+Mon Jan 4 23:04:36 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
+ * Removed wc_host and wc_port cookies.
+ * Added an "edit your session" screen to change your wholisting.
+
Sun Jan 3 20:05:31 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
* Added "enter registration"
* Set up automatic trigger of Enter Registration when the server
says it's needed
* Established that a one-to-one WebCit/Citadel correspondence will
be required. No big deal due to shared code segments.
+ * Added "change password"
+ * Added networking configuration screens. These still need testing.
+ * Added a "kill session" link to each line of the wholist when
+ logged in as an aide, and the screens to perform this operation.
Thu Dec 31 21:53:20 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
* Final cvs commit for 1998 (an awful year, I'm glad to see it over).
1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
* webserver.c: warning fix
+