951b9cce0e14b08a5013966b2290effa3e398857
[citadel.git] / citadel / ChangeLog
1 Sun Nov 15 20:32:34 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
2         * room_ops.c: mailbox rooms always appear on the main floor
3         * made QR_MAILBOX rooms non-editable
4         * cmd_setr() delete old room record when room name changes
5           (This causes a big mess that exposes a flaw in the whole design.)
6         * room_ops.c: users can delete messages from their mailboxes
7
8 Thu Nov 12 23:59:13 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
9         * Rewrote cmd_rchg() and also increased the size of the "fakename"
10           buffer.  Overruns are probably what was causing the crashes.
11         * Changed the way cmd_ent3() handles mail messages; the previous code
12           rerouted all private mail to the trash.
13
14 Wed Nov 11 17:57:39 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
15         * citserver.c: slight changes to cmd_rchg() and cmd_hchg() [crashes]
16         * citserver.c, msgbase.c, user_ops.c: hide the owner-prefix of mail
17           rooms in a couple more places: set_wtmpsupp() and make_message()
18         * sysdep.c: added an fflush() to lprintf() for "tail -f"-able logs
19         * serv_expire.c: purge ops are now a command instead of a cleanup
20           function.  This is probably temporary as well.
21         * citadel.c: fixed the way <.WL> parses the returned data from a
22           TIME command.
23
24 1998-11-11 Nathan Bryant <bryant@cs.usm.maine.edu>
25         * serv_upgrade.c: fix uninitialized variable
26
27 Wed Nov 11 00:47:32 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
28         * msgbase.c: fixed a bug that was misrouting incoming network msgs
29         * server.h, database.c: wrapped all GDBM calls in critical sections
30           to avoid making those calls re-entrantly (gdbm fatal: lseek error)
31
32 1998-11-10 Nathan Bryant <bryant@cs.usm.maine.edu>
33         * Makefile.in: link in snprintf.o where needed
34
35 1998-11-09 Nathan Bryant <bryant@cs.usm.maine.edu>
36         * client_chat.c: eliminate calls to sprintf()
37         * commands.h, routines.c, routines2.c: warning fix
38         * commands.c, control.c, cux2ascii.c, file_ops.c, import.c,
39           ipc_c_tcp.c: eliminate sprintf() calls
40
41 Mon Nov  9 19:15:31 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
42         * serv_upgrade.c: added all missing fields to export/import
43         * serv_expire.c: support per-user purge time when purging users
44         * user_ops.c: added per-user purge time to AGUP and ASUP commands
45         * routines.c: added more stuff to <.A>ide <E>dit user
46
47 Sun Nov  8 22:56:53 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
48         * serv_expire.c: created; moved message expiry from serv_test.c,
49           moved user purge from userpurge.c
50         * userpurge.c: deleted
51         * routines2.c: finished <.AS> command
52         * room_ops.c: fixed Aide room access (for some reason, the Aide
53           room had the QR_MAILBOX flag set)
54
55 1998-11-08 Nathan Bryant <bryant@cs.usm.maine.edu>
56         * useradmin.c: really removed (cvs remove)
57         * aidepost.c, citadel.c: convert all sprintf() calls to snprintf()
58         * sysdep.c: fix overrun in lprintf() described by dme/Dead Monkey
59         * citmail.c, citserver.c: convert all sprintf() call to snprintf()
60
61 Sun Nov  8 13:19:36 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
62         * useradmin.c: removed
63         * utils.doc: removed references to useradmin and sysoputil
64
65 Fri Nov  6 20:22:20 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
66         * citadel.h (and related files): removed defunct parameters,
67           c_defent and c_msgbase (erase your test bbs)
68         * Implemented CONF server command for site-global configs
69         * Shuffled yesno() and yesno_d() from routines.c to commands.c
70         * commands.c: implemented boolprompt()
71         * routines2.c: started adding CONF questions to <.AS> command
72         * room_ops.c: began a fix for the mysterious disappearing Aide room
73
74 1998-11-05 Nathan Bryant <bryant@cs.usm.maine.edu>
75         * snprintf.c: warning fix propagated over from gcit
76
77 1998-11-04 Nathan Bryant <bryant@cs.usm.maine.edu>
78         * added RCS Id keyword strings to sources
79         * citmail.c: reverted to version 1.10
80
81 Wed Nov  4 10:53:13 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
82         * messages.c: temporarily set screenwidth to a fixed value of 80
83           during <P>rint operations.
84
85 Mon Nov  2 12:59:03 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
86         * setup.c: looks for 'citadel', 'bbs', or 'guest' in /etc/passwd to
87           try to get a default for bbsuid if it's currently set to 0
88         * citmail.c: changed usersupp.eternal to usersupp.usernum (why didn't
89           it complain about this before?)
90         * serv_upgrade.c: began writing an "export" command to do sidegrades
91
92 Sun Nov  1 18:47:42 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
93         * serv_upgrade.c: cosmetic changes
94         * Implemented message expiry by date (this really needs to be moved
95           out of serv_test.c, but where does it belong?)
96
97 1998-11-01 Nathan Bryant <bryant@cs.usm.maine.edu>
98         * serv_upgrade.c: warning fixes
99         * acconfig.h: remove ANSI_COLOR
100         * Configure, Makefile.tmpl: removed
101
102 Sat Oct 31 20:48:44 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
103         * More stoopid ANSI colour additions here and there.
104         * ANSI colour selection is now in citadel.rc instead of an option in
105           the configure script.  "on" "off" and "auto" are available.
106         * added "build.txt" to the techdoc directory, with LS's build notes
107
108 1998-10-31 Nathan Bryant <bryant@cs.usm.maine.edu>
109         * citadel.c, commands.c, commands.h: set background color to black
110           before clearing screen, so that we can actually see text on
111           black-on-white xterms.
112
113 1998-10-29 Nathan Bryant <bryant@cs.usm.maine.edu>
114         * rooms.c: fix color of Mail>
115         * citadel.c: send ANSI detect sequence after attach_to_server() so the
116           terminal doesn't send the answerback sequence to the shell if we
117           can't connect.
118
119 Wed Oct 28 20:20:14 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us
120         * citadel.c: Added a splash of colour to the Wholist
121
122 1998-10-28 Nathan Bryant <bryant@cs.usm.maine.edu>
123         * configure.in: added comments
124         * mkinstalldirs: new file to be used for `make install'
125         * aclocal.m4, missing: new files, also swiped from automake
126         * citadel.c: don't mung the terminal if we can't find citadel.rc
127         * Makefile.in: added `install' target, `clean' removes
128           *.mo, rebuild configure when configure.in changes.
129         * configure.in: check for install and autoconf
130         * configure.in, Makefile.in: only pass -fPIC to gcc
131         * policy.c: warning fix for OSF/1 (use memset() instead of bzero())
132
133 Tue Oct 27 22:25:42 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
134         * Unified the "unpacked database" format for both upgrades and
135           sidegrades (also see export5.c elsewhere)
136         * citserver.c: clear out cmdbuf before reading a command; some server
137           commands were accidentally extracting parameters from previous cmds
138         * rooms.c: removed the warning about the ineffectiveness of kicking
139           users out of public rooms, because the new server can do lockouts
140
141 1998-10-27 Nathan Bryant <bryant@cs.usm.maine.edu>
142         * sysdep.c (client_gets), ipc_c_tcp.c (serv_gets): improved handling
143           of long lines. 
144         * Makefile.in: partial support for VPATH builds, autodependency fix
145
146 Tue Oct 27 00:08:16 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
147         * minor documentation changes
148
149 Sun Oct 25 14:57:40 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
150         * messages.c: fixed an oversight that was allowing attachments even
151           when disabled in citadel.rc
152
153 1998-10-25 Nathan Bryant <bryant@cs.usm.maine.edu>
154         * routines2.c: warning fix
155
156 Sat Oct 24 22:07:56 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
157         * Client: added message expiration policy questions to room edit
158         * Client: added <.A>ide <S>ystem configuration command
159
160 1998-10-24 Nathan Bryant <bryant@cs.usm.maine.edu>
161         * Makefile.in: Auto dependency generation (may require GNU make, but
162           does at least function without this feature on OSF/1 make);
163           Makefile is regenerated when Makefile.in changes (ditto);
164           `realclean' is now known as `distclean';
165           portability fixes for older Unix make utilities
166         * citadel.c, citadel.h, commands.c: make client suspendable
167
168 Fri Oct 23 19:34:38 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
169         * setup.c: default node name is now obtained from uname()
170         * config.c: added put_config()
171         * policy.c: added, moved GetExpirePolicy() from room_ops.c
172         * policy.c: implemented cmd_gpex() and cmd_spex()
173
174 Wed Oct 21 22:24:48 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
175         * Mail rooms now hide their owner-prefix from the client.
176         * proxy.c: added configurability and primitive message expiry
177
178 1998-10-20 Nathan Bryant <bryant@cs.usm.maine.edu>
179         * Makefile.tmpl: fix to build client with old Configure script
180         * configure.in: autologin defaults to enabled if crypt() is available
181         * room_ops.c: fix improper null-termination bug I introduced
182
183 Mon Oct 19 20:52:55 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
184         * Client ability to force display of prompts in Mail rooms, even when
185           the user has prompting turned off (citadel.rc option)
186
187 1998-10-16 Nathan Bryant <bryant@cs.usm.maine.edu>
188         * sysdep.c (cprintf): generate a newline on truncated buffer
189         * room_ops.c: exploitable overrun fixes
190
191 Thu Oct 15 19:27:32 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
192         * msgbase.c: reimplemented cmd_move()
193           room_ops.c: wrote AddMessageToRoom() which is used for both entering
194           and moving messages.
195         * setup.c: system-default message expire policy of "number of
196           messages, 150" is now a default configuration instead of a temp hack
197         * proxy.c: cache dir create now dies on any error except EEXIST
198
199 Wed Oct 14 22:41:16 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
200         * Misc code cleanup
201
202 1998-10-13 Nathan Bryant <bryant@cs.usm.maine.edu>
203         * configure.in: don't check for -lcrypt unless autologin is enabled
204         * file_ops.c: fix another overrun
205
206 Mon Oct 12 15:27:21 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
207         * Killed the "rooms" subdirectory (it isn't used anymore)
208         * dynloader.c: Made dynamically added server commands case-insensitive
209         * import.c is now serv_upgrade.c, a module
210         * Removed most of the "level 9" trace messages no longer needed
211
212 1998-10-12 Nathan Bryant <bryant@cs.usm.maine.edu>
213         * Makefile.in: simplified to use pattern rules; files compiled with
214           -D_REENTRANT go to *.ro to allow the same files to be used with both
215           client and server
216         * tools.c, tools.h: new files; misc routines used by both client and
217           server go here. contains safestrncpy() at the moment.
218         * rooms.c: fix several exploitable buffer overruns
219         * sysdep.c: fix infinite loop when long lines are received from the
220           client; fix exploitable buffer overrun in cprintf()
221         * ipc_c_tcp.c: fix infinite loop on long line from server
222         * serv_upgrade.sh: remove uncnsrd-dependent absolute path
223         * .cvsignore: add *.ro
224
225 Sun Oct 11 23:17:48 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
226         * Built some more of the message expiry infrastructure
227
228 1998-10-11 Nathan Bryant <bryant@cs.usm.maine.edu>
229         * citserver.c: fix two more overruns, one of which was preventing
230           the "From Host" from showing up in the <W>ho listing.
231
232 Sun Oct 11 02:51:55 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
233         * Moved "struct visit" and its associated defs from citadel.h to
234           server.h where they belong
235         * Set up data structures for room policies (expiry, etc.)
236
237 1998-10-10 Nathan Bryant <bryant@cs.usm.maine.edu>
238         * citserver.c: fix overrun which caused segv's on servers with long
239           hostnames.
240
241 Fri Oct  9 18:34:06 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
242         * user_ops.c: added PurgeStaleRelationships() to do processing at
243           session logout time to remove visits for rooms which no longer exist
244         * user_ops.c: implemented NewMailCount()
245
246 1998-10-09 Nathan Bryant <bryant@cs.usm.maine.edu>
247         * serv_chat.c: fix buffer overrun that was resulting in segv's
248         * serv_chat.c: fix another overrun that could cause sessions to hang,
249           and cleaned up some other strncpy()-related stuff. DON'T FORGET TO
250           NULL-TERMINATE DESTINATION BUFFERS AFTER STRNCPY CALLS.
251
252 Fri Oct  9 13:22:37 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
253         * Implemented "lazy mode" traversal - pressing the space bar will do
254           <N>ext messsage, <G>oto next room, or read <N>ew as appropriate.
255         * room_ops.c: modify CtdlRoomAccess() to allow access to mailbox rooms
256           only to their owners.
257
258 Thu Oct  8 17:13:27 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
259         * messages.c, citadel.rc: added the ability to display message numbers
260           in the header when reading messages.  I think this is butt ugly, but
261           some of the DaveCode afficionados seem to like it...
262
263 Thu Oct  8 15:34:45 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
264         * room_ops.c: Added is_noneditable() function to replace all of the
265           duplicated code present in all functions which edit room parameters.
266
267 1998-10-08 Nathan Bryant <bryant@cs.usm.maine.edu>
268         * lots of warning fixes; builds with -std1 on dec unix
269         * aidepost.c, citadel.h, citmail.c, file_ops.c, msgbase.c, netmailer.c,
270           netproc.c, rcit.c, server.h, stats.c, userlist.c: use time_t where
271           needed
272         * control.c, room_ops.c, serv_chat.c, sysdep.c: use memset() instead of
273           bzero()
274         * dynloader.c, dynloader.h, messages.c, server.h, sysdep.c,
275           sysdep_decls.h: function pointer/prototyping fixes
276         * rooms.c: use mkfifo(3) instead of system("mkfifo")
277
278 1998-10-07 Nathan Bryant <bryant@cs.usm.maine.edu>
279         * snprintf.c, snprintf.h: new files
280         * Makefile.in, configure.in, dynloader.c, sysdep.c: support for the
281           above; citserver now builds and runs on Digital Unix 4.0d with the
282           GNU-style configure script. there is a bug with the hostname display
283           in the wholist.
284         * netproc.c: sillyness fix
285         * room_ops.h: prototype delete_room()
286         * client_chat.c, commands.c, serv_chat.c, sysdep.c:
287           use HAVE_SYS_SELECT_H macro
288
289 Mon Oct  5 17:01:32 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
290         * Began fixing the stuff I broke
291
292 Sun Oct  4 23:35:18 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
293         * Did the big migration to the new data structures.  Lots of stuff is
294           now broken.  Basic moving from room to room works, but Mail is
295           broken, and some of the administrative commands are unimplemented.
296
297 1998-10-02 Nathan Bryant <bryant@cs.usm.maine.edu>
298         * configure.in: autologin now defaults to disabled
299
300 Fri Oct  2 00:04:31 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
301         * Finally removed all three usersupp.foo[MAXROOMS] elements, and
302           migrated all the code that used them to use "struct visit" instead.
303
304 Thu Oct  1 23:02:20 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
305         * Rewrote [l][get|put]room() functions to use room names rather than
306           room index numbers.  Temporarily prepended a "n" to these four
307           function names until they are put to use.
308
309 Thu Oct  1 16:27:13 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
310         * Removed a few more references to usersupp.lastseen[]
311
312 1998-10-01 Nathan Bryant <bryant@cs.usm.maine.edu>
313         * .cvsignore: add so_locations (generated by osf1 ld with shared libs)
314         * Makefile.in: restructured variables for greater consistency, use
315           @echo to print out notices during the make process, add so_locations
316           to `cleaner'
317         * configure.in, Makefile.in: configure checks for -rdynamic
318         * ipc_c_tcp.c: fix DEC compiler warning wrt unsigned char
319         * stats.c: add semicolon to placate DREC compiler
320         * user_ops.c: define _POSIX_C_SOURCE, include <limits.h>
321         * configure.in: pass -pthread to DEC compiler, don't check for
322           libpthread[s] on DEC Unix
323
324 1998-09-30 Nathan Bryant <bryant@cs.usm.maine.edu>
325         * Makefile.in: new variable PTHREAD_DEFS for portability
326         * aidepost.c, citadel.c, citmail.c, mailinglist.c, msgform.c,
327           netmailer.c, netpoll.c, netproc.c, rcit.c, readlog.c, setup.c,
328           stats.c, userlist.c, whobbs.c: return type of main() is int
329         * citadel.c, commands.c, messages.c: use time_t properly
330         * citserver.c: include <limits.h>
331         * config.guess, config.sub, install-sh: new files
332         * configure.in: don't use gcc on Digital Unix
333
334 Tue Sep 29 23:17:34 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
335         * room_ops.c: modified usergoto() to look at the new data structures
336           for counting new messages and such.
337
338 1998-09-29 Nathan Bryant <bryant@cs.usm.maine.edu>
339         * user_ops.c: fix compiler warning and potential memory leak,
340           include sysdep.h
341         * configure.in, Makefile.in: only build the server if we find pthreads
342         * Makefile.in: realclean removes config.{cache,log,status}
343
344 Tue Sep 29 13:20:14 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
345         * Removed code from some of the utilities which was still attempting
346           to access the old non-gdbm data store.
347         * housekeeping.c: rewrote check_ref_counts() to do a ForEachRoom()
348           traversal instead of a MAXROOMS loop.
349         * sysdep.c: set up a dummy CitContext record to be used during server
350           startup, during which time there is no real context.
351
352 Mon Sep 28 23:51:51 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
353         * Implemented the function ForEachRoom() to handle all-rooms traversal
354           (this will work with both the old and new paradigms, because both
355           use a GDBM database with one room per record).  Migrated all room
356           list commands to use it.
357
358 Mon Sep 28 22:05:35 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
359         * Implemented the function CtdlRoomAccess() to handle *all* of the
360           user-access-to-rooms functionality.  Migrated all room list commands
361           to use it.  Still need to migrate gotos.
362
363 1998-09-28 Nathan Bryant <bryant@cs.usm.maine.edu>
364         * configure.in, acconfig.h: new files; partially functional GNU
365           autoconf configure script. Run autoheader; autoconf; ./configure
366           --prefix=`pwd` to test.
367         * Makefile.tmpl: new file; this is what Makefile.in used to be. Used by
368           Configure.
369         * Makefile.in: modified to work with autoconf-style configure script
370         * Configure: modified to use Makefile.tmpl and generate autoconf-style
371           macros. Removed procfs detection. Pass -O2 to gcc, -O to other
372           compilers. Removed mknod/mkfifo detection; code should use mkfifo(3).
373         * citmail.c, msgform.c, netproc.c, routines.c, support.c, userlist.c,
374           whobbs.c: use HAVE_STRERROR macro rather than NO_STRERROR
375         * commands.c: use HAVE_TERMIOS_H macro rather than POSIX_TERMIO
376         * netproc.c: remove procfs stuff. simply attempt to kill the target
377           process with signal zero instead; this checks whether the process
378           exists.
379         * setup.c, useradmin.c: use HAVE_CURSES_H macro
380
381 Sun Sep 27 23:41:29 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
382         * BOTH the old and new generation systems are being written to at
383           this point.  Code that reads stuff is still using the old system.
384
385 Sun Sep 27 16:10:49 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
386         * Changed all "generation" variables from char to long, in preparation
387           for removing MAXROOMS.  Generations for new rooms are now timestamps.
388         * Defined "struct visit" to hold user/room relationships.
389         * Removed some #define's from citadel.h that are no longer used.
390
391 Wed Sep 23 13:41:49 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
392         * More changes to support attachments.  They mostly work, but only
393           in fixed-format messages.
394
395 Mon Sep 21 21:19:17 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
396         * msgbase.c: began laying the groundwork to support attachments.
397           Purchased Rogaine(tm) in preparation for expected hair loss.
398
399 1998-09-21 Nathan Bryant <bryant@cs.usm.maine.edu>
400         * msgbase.c: include dynloader.h
401         * citadelapi.h: removed
402         * dynloader.h: prototype CtdlRegisterUserHook()
403
404 Sun Sep 20 18:56:37 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
405         * Added a UserFunctionHook category to implement hooks which perform
406           operations on various users or usernames
407
408 Fri Sep 18 21:14:41 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
409         * citserver.c: removed cmd_extn() and related code
410
411 1998-09-18 Nathan Bryant <bryant@cs.usm.maine.edu>
412         * user_ops.c: include dynloader.h
413         * roomstats.{c,mk}: removed
414         * Configure, Makefile.in: autodependency-related fixes
415
416 Thu Sep 17 22:55:29 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
417         * Various changes to allow "new messages" to work correctly with Mail
418
419 Thu Sep 17 22:21:45 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
420         * server.h, dynloader.c, citserver.c, user_ops.c: reduced the number
421           of hook types by inventing an EventType field to the Session hook.
422         * proxy.c: added pre-fetching
423
424 1998-09-17 Nathan Bryant <bryant@cs.usm.maine.edu>
425         * Makefile.in: add SERV_MODULES and PROXY_TARGETS to `cleaner'
426         * dynloader.[ch], serv_{chat,test}.[ch], sysdep.c: cleaned
427           up the dynamic loader interface as follows:
428           - all the symbol table stuff is gone.
429           - modules are loaded once at server startup and never unloaded.
430           - Added a new function CtdlRegisterProtoHook() to handle the stuff
431             that was being done with the symbol tables.
432           - Dynamic_Module_Init() now returns a pointer to a static struct
433             DLModule_Info; this structure itself has been modified to use char*
434             fields instead of fixed char arrays.
435         * roomstats.c: include <stdarg.h> not <stdargs.h> (is this file still
436           in use?)
437         * Configure, Makefile.in: added autodependency support
438
439 Wed Sep 16 22:25:13 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
440         * Implemented separate structs, lists, and functions for each type
441           of server-side hook available.
442
443 1998-09-16 Nathan Bryant <bryant@cs.usm.maine.edu>
444         * ipc_c_tcp.c: Fixed up some #include/prototyping stuff, call memcpy()
445           instead of bcopy()
446         * hooks.h: removed
447         * sysdep.c, user_ops.c: removed reference to hooks.h
448
449 Wed Sep 16 11:42:42 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
450         * ipc_c_tcp.c: Reversed any changes that have been made to this file,
451           because something was causing abominally slow response time.
452         * proxy.c: added.  This will eventually become a caching, pre-fetching
453           multiuser proxy server for the Citadel protocol.
454
455 1998-09-15 Nathan Bryant <bryant@cs.usm.maine.edu>
456         * Makefile.in: remove support.o from serv_chat.so, add -fPIC to compile
457           flags for serv_chat.o
458         * dynloader.c: include "sysdep_decls.h", use RTLD_NOW not RTLD_LAZY
459         * dynloader.h: prototype CtdlRegisterHook()
460         * .cvsignore: added data
461
462 Mon Sep 14 20:49:08 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
463         * Tried my hand at adding the ability for server extensions to
464           register various types of "hooks" in addition to just adding
465           server commands.  This is probably not final.
466
467 Tue Sep  8 12:11:56 EDT 1998 Brian Costello <btx@calyx.net>
468         * Added support for dynamic server modules.  Reworked serv_chat.c
469           to be such a module.
470
471 Tue Sep  1 23:09:50 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
472         * userpurge.c: rewrote using functions from the server core, rather
473           than the now-defunct external API.  This'll be ready once the module
474           loading code is done.  (I just had to commit _something_ tonight.)
475
476 Mon Aug 31 22:47:58 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
477         * Yanked the citadelapi.c module.  This wasn't working out well.
478         * techdocs/citadelapi.txt - began documenting the new API to be used
479           by modules which will be dynamic linked into the server - most of
480           this API is existing server functions.
481         * Added a ForEachUser() function with callback mechanism, and reworked
482           cmd_list() to use it.
483
484 Sun Aug 30 21:52:43 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
485         * Moved all of the gdbm databases to a separate "data" directory.
486
487 1998-08-26 Nathan Bryant <bryant@cs.usm.maine.edu>
488         * Makefile.in: realclean removes Makefile, fixed `touch citadel.h'
489           problem
490
491 1998-08-25 Nathan Bryant <bryant@cs.usm.maine.edu>
492         * room_ops.c: include time.h
493         * userlist.c, whobbs.c, serv_chat.c, user_ops.c, sysdep.c, stats.c,
494           citadel_decls.h, commands.c, messages.h, routines.h, routines2.h:
495           remove duplicated declarations
496
497 Mon Aug 24 23:45:01 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
498         * setup.c: Removed yesno_s()
499         * citadel.h, room_ops.c: added QRmtime field to struct quickroom,
500           modified whenever a room is modified or posted in.
501         * citadelapi.c: Added CtdlForEachRoom() function
502
503 Mon Aug 24 20:04:04 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
504         * Makefile.in: new target `cleaner' does the same as `realclean' 
505           without removing sysdep.h
506         * proto.h: is bad. eliminate. I've moved the prototypes into several
507           header files, one per .c file
508
509 Mon Aug 24 00:45:55 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
510         * Added a CtdlGotoRoom() function to the CitadelAPI.
511  
512 Sun Aug 23 21:47:00 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
513         * sysoputil is finally dead!  Removed it from the build.
514         * Added userpurge.c server extension (initial implementation)
515
516 Tue Aug 18 00:42:33 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
517         * Makefile.in: `clean' target no longer rm's sysdep.h; new target
518           `realclean' removes everything clean does, plus sysdep.h, plus
519           target binaries.
520         * Configure: add -Wstrict-prototypes to CFLAGS for gcc systems
521         * *.[ch]: protoized. Added several new header files containing
522           prototypes and other external declarations; many duplicated
523           declarations still should be moved to header files. proto.h must die
524           as well, IMHO.
525
526 Mon Aug 17 23:52:13 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
527         * Implemented a bunch of user account related functions in the
528           CitadelAPI library.
529
530 Mon Aug 17 20:01:18 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
531         * Fixed the crash problem.  It wasn't AGUP/ASUP, but rather a buffer
532           overrun in getuser() (thanks, Nathan).  Implemented overrun checks
533           in getuser(), getroom(), and getfloor() to prevent future problems.
534
535 Mon Aug 17 00:06:52 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
536         * Updated citmail.c with the latest stuff from the production system.
537         * Implemented AGUP and ASUP commands, but AGUP crashes the server
538           after its first successful use (user-not-found's don't affect it).
539
540 Thu Aug  6 19:25:01 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
541         * Got the CitadelAPI library to the point where the server can start
542           up an extension, and the extension will connect to the server, do
543           some initialization, call a user-supplied CtdlMain(), and exit.  Also
544           hacked together a _temporary_ form of the new EXTN server command.
545  
546 Wed Aug  5 23:02:22 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
547         * Second attempt at getting the server API started.  Now it runs
548           outside of the server and builds a connection.
549
550 Tue Aug  4 18:33:06 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
551         * Modified the appearance of Internet addresses when they arrive on
552           a Citadel system.
553         * Removed the <E> field from the message format writeup in hack.txt.
554         * Fixed-up citmail.c so that it doesn't try to do database lookups.
555
556 Mon Aug  3 23:01:37 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
557         * Started developing the server-side API.  This is in its very
558           initial stages.  See serverapi.c and techdoc/api.txt
559
560 1998-08-02  Nathan Bryant  <bryant@cs.usm.maine.edu>
561         * Makefile.in: added config_decls.h to dependencies
562
563 Sun Aug  2 21:09:09 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
564         * config_defs.h: renamed to config_decls.h
565         * config.c, sysoputil.c: updated to reflect the above
566
567 Sun Aug  2 18:52:05 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
568         * config_defs.h: new file, contains external declarations from config.c
569         * config.c: moved defs to config_defs.h, use PATH_MAX from <limits.h>
570           for bbs_home_directory
571         * mailinglist.c, support.c: include <string.h>
572         * sysoputil.c: include <string.h>, <limits.h>, "config_defs.h", remove
573           duplicated defs, replace gets() call with fgets()
574         * user_ops.c: define _XOPEN_SOURCE_EXTENDED
575
576 Sat Aug  1 18:32:52 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
577         * ipc_c_tcp.c: fixed order of memcpy parameters after gethostbyname
578
579 Sun Jul 19 17:26:12 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
580         * ChangeLog: reordered; the GNU standard is to add new entries to the
581           top.
582         * .cvsignore: added userlist
583
584 Sun Jul 12 20:58:59 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
585         * Finished migrating everything to the new data store.
586         * Replaced the binary "calllog" with the ASCII "citadel.log"
587         * Began converting broken utilities that depend on the old data store
588
589 Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
590         * Makefile.in: removed msgstats
591
592 Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
593         * Initial CVS import