2 Revision 1.100 1999/10/02 03:26:14 ajc
3 * Merged in Nick's bit of JavaScript to handle key commands.
4 BROKEN BUILD ALERT!! This runs all the time, even when the cursor is
5 in a text field. Right now you can't even log in.
7 Revision 1.99 1999/09/01 01:06:11 ajc
8 * Added "max message length" field in global config screen
10 Revision 1.98 1999/08/14 18:16:10 ajc
11 * Fixed escputs() and its friends to properly handle ' (single quote) chars
14 Sun Jul 18 20:17:58 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
15 * Did neat stuff to the bottom of the page
17 Mon Jul 12 23:30:24 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
18 * webcit.c: exit Webcit sessions semi-gracefully when the connection
19 to a Citadel server fails.
20 * messages.c: don't auto-link URL's in messages if it would cause
23 Sat Jul 10 17:51:39 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
24 * Recompiled the Java chat applet using a genuine JDK 1.0.2
25 compiler. This should make more browsers happy.
27 Wed Jun 30 19:19:59 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
28 * Added support for "robots.txt" telling spiders to go away.
29 * Do a slrp_highest() when logging off.
31 Sat Jun 26 22:52:13 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
32 * Rearranged the code in "Site-wide configuration" and "Generic
33 server command" to avoid nested server operations
35 Wed Jun 23 21:43:30 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
36 * webcit.c: added "back, top, next" buttons to bottom of each page
37 * menubar.html: replaced "User list" with "Page another user"
39 Tue Jun 22 14:53:05 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
40 * context_loop.c: rearranged some code to try to eliminate deadlocks
42 Fri Jun 18 11:55:58 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
43 * Unknown URL's now display the main menu instead of diagnostics
44 * Diagnostics are now at <baseurl>/diagnostics
46 Mon Jun 7 21:59:45 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
47 * Session no longer locks up when an express message is cancelled
48 * The default Citadel server is now "localhost" instead of uncnsrd
49 * Added some documentation
51 Thu Jun 3 12:18:49 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
52 * roomops.c: made room banner graphics more reliable
53 * messages.c: added code to prevent accidental "double-posting"
54 * who.c: fixed the "Change room/host/user" submit logic
56 Thu Jun 2 09:48:00 EDT 1999 Nick Grossman <nick@ulster.net>
57 * Changed static/menubar.html so the text is readable
59 Wed Jun 2 23:47:58 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
60 * Ditched the frames mode completely. It wasn't working properly in,
61 among other places, IE 5. Die, Bill, Die.
63 Sat May 29 00:25:47 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
64 * Fixed the behavior of the "forget room" routine, to properly handle
65 the transition back to the Lobby after it's all done.
66 * Added ExpressMessageCat() to allow code to send the user messages
67 along with incoming express messages
68 * WebCit now sends the name of the end user's browser as the client
69 name in a Citadel IDEN command rather than its own name.
71 Fri May 21 23:35:17 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
73 * New mail notification
75 Mon May 17 20:59:36 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
76 * Top-aligned all the cells in the fake frames in non-frames mode
78 Fri May 14 23:37:02 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
79 * Initial entry to _BASEROOM_ at login now done as a Skip instead
80 of a Goto, in order to prevent it from first marking all msgs old.
82 Mon May 10 23:09:34 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
83 * Replaced _most_ gotoroom() calls with smart_goto(), a version
84 which can differentiate the needs of frames and noframes modes
86 Sat May 8 01:07:06 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
87 * webserver.c: added "-t" option to send traces somewhere else
89 Tue Apr 27 23:36:35 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
90 * context_loop.c: display an error page if the client browser
91 requests a non-root page and there is no cookie set
92 * webserver.c: took my name off the copyright notice (it's a group
95 Sun Apr 18 23:42:54 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
96 * Reworked a lot of the structure, made more HTML "embeddable"
97 * Changed the noframes mode to display "fake" frames using tables
99 Thu Apr 16 12:00:00 EDT 1999 Nick Grossman <nicl@ulster.net>
100 Changed some output formatting (mainly <FONT> tags).
101 Changed who.c to use urlescputs() rather than escputs()
102 in urls so GOTOs and User Profiles work when the string has a
105 Wed Apr 14 17:56:18 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
106 http://www.webreference.com/dhtml/column18/menuFrLoad.html
107 How to cause "onLoad=" to cause a sibling frame to refresh without
108 having to use the nonportable HTTP "Window-Target:" directive. Began
109 implementation of this; it should allow portable NS/IE compatibility.
111 Wed Apr 7 21:51:33 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
112 * Implemented "access level required to create rooms"
114 Thu Mar 18 00:23:05 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
115 * webcit.c: modified getz() to *exit* the program when fgets()
116 returns an error. This is actually the desired behavior; it would
117 otherwise busy-loop forever on a broken pipe.
119 Sat Mar 6 19:56:07 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
120 * webcit.c: added to getz() the ability to return an error code;
121 implemented this in the main loop, hopefully fixing problems
122 * Added "braindamage" file (frames/JS browser compatibility list)
123 * Added HTTP "User-agent:" detection
124 * wildmat.c, braindamage.c: added
125 * Initial value of 'noframes' is now set by the braindamage check
126 * Ran everything through "indent -kr -i8"
127 * roomops.c: in room list, print a in otherwise empty cells
129 1999-02-24 Nathan Bryant <bryant@cs.usm.maine.edu>
130 * context_loop.c: warning fix
131 * webcit.c: off_t is a 64-bit `long long' on BSDI (eek!)
133 Sat Jan 30 19:00:58 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
134 * Resolve the name of the connecting host and pass it on to Citadel
136 Fri Jan 29 14:49:49 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
137 * wDumpContent() is now responsible for </BODY></HTML> most of the
138 time (parameter settable) so that the main menu can easily be
139 embedded in every page when running in noframes mode
140 * noframes mode selection is now carried in the cookie
142 Thu Jan 28 20:30:08 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
143 * Made the frames stuff less dependent on the HTML TARGET= directive
144 and more dependent on the HTTP Window-target: directive.
145 * Made the system semi-navigable in noframes mode.
147 Sat Jan 23 19:36:10 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
148 * Brought over the new room listing code and <G>oto heuristics
149 from the main Citadel tree, to pay attention to floor/room ordering
151 Thu Jan 14 17:14:11 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
152 * Modified the back end of mime_parser to use callbacks instead of
153 doing something specific. Now we can use it elsewhere.
155 Mon Jan 11 21:53:16 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
156 * Fixed the bugs in "Site-wide configuration"
157 * Added a "generic server commands" screen
159 Fri Jan 8 22:20:54 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
160 * Reduced the multiple cookies down to one cookie combining all data.
162 Mon Jan 4 23:04:36 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
163 * Removed wc_host and wc_port cookies.
164 * Added an "edit your session" screen to change your wholisting.
166 Sun Jan 3 20:05:31 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
167 * Added "enter registration"
168 * Set up automatic trigger of Enter Registration when the server
170 * Established that a one-to-one WebCit/Citadel correspondence will
171 be required. No big deal due to shared code segments.
172 * Added "change password"
173 * Added networking configuration screens. These still need testing.
174 * Added a "kill session" link to each line of the wholist when
175 logged in as an aide, and the screens to perform this operation.
177 Thu Dec 31 21:53:20 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
178 * Final cvs commit for 1998 (an awful year, I'm glad to see it over).
179 * "Finished" the MIME parser.
180 * Got image uploads working.
181 * Added "add/edit user photo" screens.
182 * Added "add/edit room graphic" screens.
183 * Added "add/edit floor graphic" screens.
184 * Fixed display of floor graphic in known rooms list.
186 Wed Dec 30 20:36:13 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
187 * Wrote mime_parser.c for handling of image uploads. This will also
188 be used in future Citadel MIME projects.
190 Tue Dec 29 23:25:50 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
191 * Fixed a bug in the room banner display code
192 * Added "delete room"
193 * Added "validate users"
195 Mon Dec 28 00:26:01 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
196 * Added "edit room info file"
199 Sat Dec 26 23:12:47 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
200 * Changed the "auto read new" functionality from a meta refresh tag
201 to an "onload" directive (the former was causing graphics problems)
202 * Added "create room"
205 Tue Dec 22 22:35:50 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
206 * Got the Zap and List-Zapped commands working
207 * Added a convenience function to display a page with an error string
208 * Automatically do a read-new-msgs whenever a new room banner is loaded
210 Thu Dec 17 20:38:00 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
211 * Added the screens to send pages
212 * Changed message headers to display in bigger font, non-boldface
213 * Added the chat system
214 * Added goto private rooms
216 Wed Dec 16 16:23:58 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
217 * Replace "Citadel/UX" in menu bar with the Citadel/UX logo
219 1998-12-14 Nathan Bryant <bryant@cs.usm.maine.edu>
220 * automatically regenerate Makefile when Makefile.in changes
222 Sun Dec 13 13:35:12 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
223 * context_loop.c: Moved "remove session" into its own function.
224 Check for dead webcit child process before each transaction.
225 * Ignore SIGPIPE; this seems to magically make the program bulletproof
226 against broken HTTP connections.
227 * Added a housekeeping thread to periodically remove dead sessions
228 and kill idle sessions.
229 * messages.c: added "delete message" functionality
230 * messages.c: added "move message" functionality
231 * userlist.c: added. This adds "userlist" and "show user" functions.
232 * roomops.c: fixed buggy implementation of ungoto
233 * Set up an option in output_headers() to optionally print the most
234 often used opening HTML as well as the HTTP headers.
235 * Display express messages in cute little JavaScript popup window.
237 Fri Dec 11 21:14:36 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
238 * Brought over message reading and entry functions from old WebCit
240 1998-12-10 Nathan Bryant <bryant@cs.usm.maine.edu>
241 * context_loop.c: really fix the SO_LINGER stuff
242 * webserver.c: remove commented-out references to SO_LINGER
244 Wed Dec 9 18:50:46 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
245 * context_loop.c: After fork(), child process closes the HTTP socket
246 so when the parent process closes it, it actually _does_ close.
247 Otherwise, aIEeeee and possibly other browsers will hang.
248 * Added support for graphics images retrieved from the Citadel server.
249 * Set up login banner graphic and background image graphic
251 1998-12-09 Nathan Bryant <bryant@cs.usm.maine.edu>
252 * context_loop.c, webserver.c, webserver.h: SO_LINGER and locking fix
254 Wed Dec 9 11:13:48 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
255 * Smoothed out some of the login/logout code. Failed authentication
256 now works the way it should.
257 * Added support for new user login (still need to handle registration).
259 Tue Dec 8 15:45:42 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
260 * Discovered that the HTTP socket problem is related to a socket that
261 isn't properly lingering on close. Temporarily hacked a sleep(10)
262 into context_loop.c until it is figured out.
264 Mon Dec 7 17:03:18 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
265 * Did a little debugging, still trying to figure out why logging in
266 displays "Connection reset by peer" error. It used to work...
268 1998-12-07 Nathan Bryant <bryant@cs.usm.maine.edu>
269 * Makefile.in: updated dependencies
271 Sun Dec 6 19:50:55 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
272 * Fixed broken interpretation of variables specified in the URL
273 * added new "action" variable to make main loop simpler
275 1998-12-06 Nathan Bryant <bryant@cs.usm.maine.edu>
276 * webserver.c: prototype vsnprintf
277 * context_loop.c: warning fix
279 1998-12-05 Nathan Bryant <bryant@cs.usm.maine.edu>
280 * tcp_sockets.c: removed some dead code
281 * context_loop.c: oops, I made a memory leak. fix fix fix. also close
282 unused ends of pipes, fix a file descriptor leak and a race condition
283 * portability enhancements
285 1998-12-04 Nathan Bryant <bryant@cs.usm.maine.edu>
286 * webserver.c, context_loop.c, webcit.c: add commandline args for host
288 * converted to autoconf and began port to Digital UNIX
290 * context_loop.c: moved the monster 64k buffer array off the stack
291 * tcp_sockets.c: getservbyname() doesn't set errno.
293 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
294 * webserver.c: warning fix