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