Sat Jul 10 17:51:39 EDT 1999 Art Cancro * 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 * 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 * 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 * 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 * context_loop.c: rearranged some code to try to eliminate deadlocks Fri Jun 18 11:55:58 EDT 1999 Art Cancro * Unknown URL's now display the main menu instead of diagnostics * Diagnostics are now at /diagnostics Mon Jun 7 21:59:45 EDT 1999 Art Cancro * 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 * 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 * Changed static/menubar.html so the text is readable Wed Jun 2 23:47:58 EDT 1999 Art Cancro * 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 * 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 * Minor code cleanups * New mail notification Mon May 17 20:59:36 EDT 1999 Art Cancro * Top-aligned all the cells in the fake frames in non-frames mode Fri May 14 23:37:02 EDT 1999 Art Cancro * 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 * 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 * webserver.c: added "-t" option to send traces somewhere else Tue Apr 27 23:36:35 EDT 1999 Art Cancro * 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 * 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 Changed some output formatting (mainly 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 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 * Implemented "access level required to create rooms" Thu Mar 18 00:23:05 EST 1999 Art Cancro * 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 * 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 * 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 * Resolve the name of the connecting host and pass it on to Citadel Fri Jan 29 14:49:49 EST 1999 Art Cancro * wDumpContent() is now responsible for 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 * 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 * Brought over the new room listing code and oto heuristics from the main Citadel tree, to pay attention to floor/room ordering Thu Jan 14 17:14:11 EST 1999 Art Cancro * 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 * Fixed the bugs in "Site-wide configuration" * Added a "generic server commands" screen Fri Jan 8 22:20:54 EST 1999 Art Cancro * Reduced the multiple cookies down to one cookie combining all data. Mon Jan 4 23:04:36 EST 1999 Art Cancro * 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 * 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 * Final cvs commit for 1998 (an awful year, I'm glad to see it over). * "Finished" the MIME parser. * Got image uploads working. * Added "add/edit user photo" screens. * Added "add/edit room graphic" screens. * Added "add/edit floor graphic" screens. * Fixed display of floor graphic in known rooms list. Wed Dec 30 20:36:13 EST 1998 Art Cancro * Wrote mime_parser.c for handling of image uploads. This will also be used in future Citadel MIME projects. Tue Dec 29 23:25:50 EST 1998 Art Cancro * Fixed a bug in the room banner display code * Added "delete room" * Added "validate users" Mon Dec 28 00:26:01 EST 1998 Art Cancro * Added "edit room info file" * Added "edit bio" Sat Dec 26 23:12:47 EST 1998 Art Cancro * Changed the "auto read new" functionality from a meta refresh tag to an "onload" directive (the former was causing graphics problems) * Added "create room" * Added "edit room" Tue Dec 22 22:35:50 EST 1998 Art Cancro * Got the Zap and List-Zapped commands working * Added a convenience function to display a page with an error string * Automatically do a read-new-msgs whenever a new room banner is loaded Thu Dec 17 20:38:00 EST 1998 Art Cancro * Added the screens to send pages * Changed message headers to display in bigger font, non-boldface * Added the chat system * Added goto private rooms Wed Dec 16 16:23:58 EST 1998 Art Cancro * Replace "Citadel/UX" in menu bar with the Citadel/UX logo 1998-12-14 Nathan Bryant * automatically regenerate Makefile when Makefile.in changes Sun Dec 13 13:35:12 EST 1998 Art Cancro * context_loop.c: Moved "remove session" into its own function. Check for dead webcit child process before each transaction. * Ignore SIGPIPE; this seems to magically make the program bulletproof against broken HTTP connections. * Added a housekeeping thread to periodically remove dead sessions and kill idle sessions. * messages.c: added "delete message" functionality * messages.c: added "move message" functionality * userlist.c: added. This adds "userlist" and "show user" functions. * roomops.c: fixed buggy implementation of ungoto * Set up an option in output_headers() to optionally print the most often used opening HTML as well as the HTTP headers. * Display express messages in cute little JavaScript popup window. Fri Dec 11 21:14:36 EST 1998 Art Cancro * Brought over message reading and entry functions from old WebCit 1998-12-10 Nathan Bryant * context_loop.c: really fix the SO_LINGER stuff * webserver.c: remove commented-out references to SO_LINGER Wed Dec 9 18:50:46 EST 1998 Art Cancro * context_loop.c: After fork(), child process closes the HTTP socket so when the parent process closes it, it actually _does_ close. Otherwise, aIEeeee and possibly other browsers will hang. * Added support for graphics images retrieved from the Citadel server. * Set up login banner graphic and background image graphic 1998-12-09 Nathan Bryant * context_loop.c, webserver.c, webserver.h: SO_LINGER and locking fix Wed Dec 9 11:13:48 EST 1998 Art Cancro * Smoothed out some of the login/logout code. Failed authentication now works the way it should. * Added support for new user login (still need to handle registration). Tue Dec 8 15:45:42 EST 1998 Art Cancro * Discovered that the HTTP socket problem is related to a socket that isn't properly lingering on close. Temporarily hacked a sleep(10) into context_loop.c until it is figured out. Mon Dec 7 17:03:18 EST 1998 Art Cancro * Did a little debugging, still trying to figure out why logging in displays "Connection reset by peer" error. It used to work... 1998-12-07 Nathan Bryant * Makefile.in: updated dependencies Sun Dec 6 19:50:55 EST 1998 Art Cancro * Fixed broken interpretation of variables specified in the URL * added new "action" variable to make main loop simpler 1998-12-06 Nathan Bryant * webserver.c: prototype vsnprintf * context_loop.c: warning fix 1998-12-05 Nathan Bryant * tcp_sockets.c: removed some dead code * context_loop.c: oops, I made a memory leak. fix fix fix. also close unused ends of pipes, fix a file descriptor leak and a race condition * portability enhancements 1998-12-04 Nathan Bryant * webserver.c, context_loop.c, webcit.c: add commandline args for host and port * converted to autoconf and began port to Digital UNIX * warning fixes * context_loop.c: moved the monster 64k buffer array off the stack * tcp_sockets.c: getservbyname() doesn't set errno. 1998-12-03 Nathan Bryant * webserver.c: warning fix