]> code.citadel.org Git - citadel.git/blob - citadel/ChangeLog
netpoll.c: upped default packet size
[citadel.git] / citadel / ChangeLog
1 1999-04-27 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
2         * file_ops.c: fixed NDOP to not crash the server if it has trouble
3           with a download file
4         * netpoll.c: upped default packet size
5
6 Mon Apr 26 22:06:57 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
7         * Repaired IGnorant security hole blunder re. citmail
8
9 Sun Apr 25 12:44:08 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
10         * serv_chat.c: notify user of number of participants upon entering chat
11         * Built the 5.53 distribution
12
13 Wed Apr 21 22:23:13 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
14         * aidepost.c: add -r flag to allow posting to rooms other than Aide>
15         * serv_expire.c: now posts transcripts of all auto-purged rooms/users
16
17 Tue Apr 20 12:45:55 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
18         * messages.c: downloading more than MAX_MSGS messages now truncates
19           (off the beginning of the list) rather than crashing.
20
21 Mon Apr 19 12:11:48 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
22         * whobbs.c: auto-detect when being called from a webserver, and act
23           as a CGI (print HTTP headers and HTML output)
24
25 1999-04-18 Nathan Bryant <bryant@cs.usm.maine.edu>
26         * serv_chat.c: fixed some potential buffer overruns (thanks dme)
27
28 Wed Apr 14 21:32:28 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
29         * Makefile.in: chmod 4755 citmail to prevent citmail from aborting
30           when called from sendmail due to citadel.config security check
31
32 1999-04-13 Nathan Bryant <bryant@cs.usm.maine.edu>
33         * dynloader.c: OpenBSD places underscores in front of symbol names
34         * Makefile.in: fixed a few sillies
35         * aidepost.c, citmail.c, file_ops.c, logging.c, msgbase.c, netmailer.c,
36           netproc.c, rcit.c, routines.c, serv_upgrade.c: fixed time_t handling
37           (have to cast it to long for printf/scanf)
38
39 Mon Apr 12 22:13:26 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
40         * aidepost.c: rewrote to unlink temp file before writing to it so that
41           it will automatically go away if interrupted. Also ran indent -kr -i8
42
43 1999-04-12 Nathan Bryant <bryant@cs.usm.maine.edu>
44         * configure.in, Makefile.in: taught it how to generate OpenBSD shared
45           libraries
46         * config.c, sysdep.c: fix -h option not setting proper modules dir
47         * configure.in, citadel.spec: make --enable-chkpwd the default
48         * setup.c: don't chown chkpwd
49
50 1999-04-11 Nathan Bryant <bryant@cs.usm.maine.edu>
51         * configure.in: another OpenBSD fix, but we're still not quite there yet
52         * serv_chat.c: warning fix
53
54 Thu Apr  8 22:51:28 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
55         * config.c: now requires a setup run for *any* rev level difference
56         * Updated docs & confs for 5.53b1 release
57         * setup.c: sets the 0600 permission bits on citadel.config that
58           is checked for in config.c
59
60 1999-04-08 Nathan Bryant <bryant@cs.usm.maine.edu>
61         * citserver.c: improved is_public_client(), also if a public_client only
62           supplies a numeric address, attempt to resolve it
63         * locate_host.c: verify that the forward DNS matches the reverse
64         * locate_host.c, locate_host.h: more general interface
65         * configure.in, acconfig.h: fixes for Digital UNIX
66
67 Wed Apr  7 21:36:16 EDT 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
68         * Implemented "access level required to create rooms" (client & server)
69
70 1999-04-07 Nathan Bryant <bryant@cs.usm.maine.edu>
71         * configure.in: updated help messages, OpenBSD support
72         * setup.c: if /etc/inittab doesn't exist, don't ask to create an entry
73           in it
74         * server.h, sysdep.c: fix a potential deadlock/data corruption bug
75         * room_ops.c: fixed the 'gdbm error: Illegal data' message when
76           deleting a room which had never been posted to
77         * user_ops.c: include errno.h
78         * dynloader.c: fix for OpenBSD
79
80 1999-04-06 Nathan Bryant <bryant@cs.usm.maine.edu>
81         * Makefile.in, configure.in, getutline.c, sysdep.c:
82           fixes/bug workarounds for FreeBSD
83
84 1999-04-03 Nathan Bryant <bryant@cs.usm.maine.edu>
85         * Makefile.in, configure.in, chkpwd.c, acconfig.h: support for
86           `chkpwd', a setuid helper program for machines which use shadow
87           passwords (configure --enable-chkpwd)
88         * Makefile.in, configure.in, auth.c, citadel.pam, user_ops.c: support
89           for PAM or shadow passwords (configure --with-pam)
90         * Makefile.in: made some messages simpler
91         * citadel.spec: updated for 5.53; correct name of tarball; build with
92           --enable-chkpwd and --with-pam; add defattr tags so rpm's can be
93           built by non-root user
94         * commands.c: cosmetic cleanup
95         * config.c: (security/paranoia) check permissions on citadel.config
96         * configure.in: check for ncurses if we can't find curses
97         * dynloader.c: warning fix
98         * sysdep.c: don't complain if initgroups() fails
99         * citadel.c: fix systems with SYSV-style signal handling (e.g. libc5)
100         * Makefile.in: New! Improved! Cleaner! Shinier!
101
102 Sun Mar 21 14:21:47 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
103         * messages.c: cosmetic cleanups to message reading loop
104
105 Sat Mar 13 21:33:19 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
106         * commands.c: use bright colors by default in color mode
107         * citserver.c: initialize wholist fields with (not logged in) etc.
108
109 1999-03-08 Nathan Bryant <bryant@cs.usm.maine.edu>
110         * sysdep.c: call DLoader_Init() with an absolute path so that gdb can
111           find module symbols
112         * database.c: bail out if opening databases fails
113
114 Sat Mar  6 01:55:55 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
115         * serv_chat.c: use memfmout(), *not* cprintf() to transmit express
116           messages.  Calling cprintf() on strings >256 bytes crashes the server
117         * msgbase.c: minor logging fix in save_message()
118
119 1999-03-05 Nathan Bryant <bryant@cs.usm.maine.edu>
120         * sysdep.c: add undocumented -r flag to citserver to prevent it from
121           dropping root permissions.
122         * sysdep.c: also drop supplementary groups
123
124 1999-03-04 Nathan Bryant <bryant@cs.usm.maine.edu>
125         * config.c: error checking in put_config()
126         * setup.c: chgrp files to the login group associated with BBSUID
127         * sysdep.c: copyright 1987-1999; drop root perms; load modules and call
128           master_startup() after dropping perms
129
130 Wed Mar  3 00:00:55 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
131         * Prevent buffer overruns in lowercase_name in [get|put]user()
132         * client_chat.c: use citedit() for page composition
133
134 Sat Feb 27 07:47:36 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
135         * rooms.c: download_to_local_disk() prompts for a filename if a blank
136           filename was supplied to it (for attachments without names)
137         * mime_parser.c: strip leading whitespace in content_type & disposition
138
139 1999-02-24 Nathan Bryant <bryant@cs.usm.maine.edu>
140         * configure.in: improved check for pthreads
141         * configure.in, routines.c, acconfig.h: check for ut_type in struct utmp
142         * configure.in, Makefile.in: support for building server modules as
143           relocatable objects for BSDI (which still uses a.out *gag* *choke*)
144         * configure.in: compiler choice & flags for BSDI; check for libtermcap
145         * database.c: don't use a critical section in open_databases()
146         * housekeeping.c: use getfloor()/putfloor() instead of
147           lgetfloor()/lputfloor() in check_ref_counts()
148         * mime_parser.c: include <errno.h>
149         * msgbase.c: include <limits.h>
150         * sysdep.c: hacks for BSDI. use signals to fake thread cancellation;
151           don't call master_cleanup() directly from signal handler.
152         * routines.c: prototype getutline() if necessary
153         * getutline.c: stupid bugfix
154         * acconfig.h, configure.in, locate_host.c, server.h: work around
155           nonreentrant gethostbyaddr() on BSDI
156
157 Mon Feb 15 22:59:00 EST 1999 Vaggelis Tsirkas
158         * citadel.c: increased hostname buffer size to handle very big names
159
160 1999-02-15 Nathan Bryant <bryant@cs.usm.maine.edu>
161         * sysdep.c(main): initialize alen before call to accept()
162
163 1999-02-04 Nathan Bryant <bryant@cs.usm.maine.edu>
164         * configure.in: improved check for cygwin
165         * configure.in, routines.c: access utmp directly instead of calling
166           `who' if getutline() is available.
167         * configure.in, Makefile.in, getutline.c: replace getutline() on
168           systems which don't have it
169         * routines.c: now always access utmp directly unless we can't find
170           utmp.h
171
172 1999-02-02 Nathan Bryant <bryant@cs.usm.maine.edu>
173         * Fixes for Cygwin:
174           - ifdef out file download methods that require named pipes (client)
175           - include pthread.h and gdbm.h only if they are present (fixes
176             auto dependency generation)
177           - include snprintf.h where needed
178           - handle .exe suffixes for "make install"
179
180 Tue Feb  2 22:15:08 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
181         * Overhauled the express messaging system (again)
182
183 Mon Feb  1 19:48:04 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
184         * messages.c: implemented client download of MIME attachments
185
186 Sun Jan 31 18:29:18 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
187         * Added qpdecode.c to the distribution (decodes quoted-printable)
188         * Finished the MIME parser
189         * Gave MSG0 a reasonable behaviour for MIME messages
190         * Added the OPNA command for downloading attachments
191
192 Sat Jan 30 18:39:53 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
193         * Look for citadel.rc in current directory if not found elsewhere
194         * More work on the MIME parser
195         * Added base64.c to the distribution
196
197 1999-01-29 Nathan Bryant <bryant@cs.usm.maine.edu>
198         * fixes for IRIX (thanks to wr and family for use of the Indy):
199           - use memset()/memcpy() instead of bzero()/bcopy() in all cases
200           - configure updates
201           - handle `long' pid's
202           - a few other little bits
203
204 Mon Jan 25 21:23:07 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
205         * Fixed bug in save_message() which crashed the server on mail to sysop
206         * Rewrote pop_march() to be smarter about <G>oto heuristics
207
208 Sat Jan 23 14:32:19 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
209         * Changed internal storage of express messages from a linked list to
210           a single, resizable buffer.
211         * Added a "room order" key to the room record, to allow some control
212           over room listing order.
213         * Made the room list commands aware of the room order key.
214         * Overhauled <G>oto heuristics to pay attention to floor & room order
215
216 Wed Jan 20 19:21:51 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
217         * Added some more code to the unfinished MIME parser
218         * Changed module loading path to simply "modules" because after calling
219           get_config(), the cwd is guaranteed to be the correct BBS directory.
220
221 Tue Jan 19 21:28:29 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
222         * Fixed a bug in the user editing command (client side)
223         * Started a rewrite of the MIME parser
224
225 Thu Jan 14 21:21:15 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
226         * Brought over the mime_parser from WebCit and began preliminary work
227           on supporting MIME format messages.
228
229 Tue Jan 12 22:30:00 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
230         * Various changes to begin work on support for MIME messages
231                 - Defined format type 4 for MIME
232                 - msgbase.c: *temporary* hacks in output_message() for Type 4
233                 - citmail.c: added more robust header parsing, and support
234                              for Type 4.  Also eliminated the crappy built-in
235                              SMTP server.
236                 - Updated some of the technical documentation
237
238 Sun Jan 10 13:34:36 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
239         * Fixed access to page log room
240
241 Fri Jan  8 12:35:09 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
242         * control.c: include <limits.h> to fix PATH_MAX undefined
243         * serv_chat.c: made the following changes to cmd_sexp() --
244                 * Send zero-length message to check only, don't send
245                 * Send "-" message on the command line to invoke
246                   the SEND_LISTING transfer mode for a multi-line message
247         * Added facilities to log all pages to a room (site configurable)
248
249 Tue Jan  5 23:24:52 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
250         * Replaced all occurances of malloc(), realloc(), and free() in the
251           server and server-modules with mallok(), reallok(), and phree().
252           Wrote macros and a set of leak-tracking functions.
253
254 Sun Jan  3 20:38:45 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
255         * Documentation changes
256
257 Fri Jan  1 01:01:45 EST 1999 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
258         * Fixed security problem relating to private rooms
259
260 Wed Dec 30 20:10:52 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
261         * sysdep.c: put a bigger string buffer into lprintf() to avoid overruns
262
263 Sat Dec 26 16:56:46 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
264         * internetmail.config: commented this file more clearly
265
266 Wed Dec 23 20:42:49 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
267         * citadel.c: added some experimental code to automatically reconnect
268           to the server if the connection is broken.  For some reason, it only
269           works once.
270
271 Wed Dec 23 18:47:12 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
272         * sysdep.c: ignore SIGPIPE.  This keeps broken connections from
273           crashing the whole server.
274         * Tagged everything for the official 5.50 release.
275
276 Mon Dec 21 07:54:20 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
277         * housekeeping.c: call kill_session() with session_to_kill,
278           not ccptr->cs_pid (was crashing the server)
279
280 Sat Dec 19 13:57:48 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
281         * Added "-i" flag to netproc to make it skip the export phase.
282           Updated other programs to call netproc in this way when appropriate.
283         * Updated network.txt to reflect the usage for netproc (which has
284           been wrong for several releases)
285
286 Thu Dec 17 00:17:04 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
287         * Started removing the word "beta" from the docs and code.
288           Preparing for an actual release.
289         * msgbase.c: generate an 'I' field when requested (i.e. on locally
290           originating messages.  this was breaking parts of the network)
291
292 1998-12-15 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
293         * msgbase.c: remove extra call to alias() which was causing
294           Citadel-to-Citadel mail to fall into the bit bucket.
295         * msgbase.c: fixed tempfile naming problem that could cause a new
296           outgoing netmail message to overwrite another if netproc had not been
297           run in between
298
299 1998-12-14 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
300         * More session table stability nonsense
301
302 Sun Dec 13 17:40:08 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
303         * sysdep.c, citserver.c: (hopefully) fixed a session table concurrency
304           bug which was causing the server to occasionally crash.
305         * removed serv_test.so from the default build
306
307 Fri Dec 11 18:50:00 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
308         * setup.c: default value for maxsessions is now 0 (no limit)
309         * room_ops.c: don't allow users to create a room called "Mail"
310         * serv_expire.c: fixed "number of messages purged" display
311         * commands.c: when using color, default to low-intensity colors
312
313 Tue Dec  8 07:58:16 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
314         * Beta 2
315
316 Sat Dec  5 01:24:03 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
317         * Added a new type of module hook for adding logging functions
318         * Removed whitespace to left and right of '@' in netmail recipients
319         * sysdep.c: read citadel.config _before_ initializing loadable modules
320         * stats.c: fixed segfault resulting from extracting log lines
321         * Ripped most of the "attachments" stuff out of both the client and
322           server.  (Thought of a better way to handle it ... LATER.)
323
324 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
325         * setup.c: create citadel.config with mode 0600
326         * Makefile.in: don't chmod sendcommand
327         * serv_upgrade.c: don't create citadel.config if it doesn't already
328           exist (paranoia)
329         * setup.c: saner defaults for nodename and fqdn
330
331 Wed Dec  2 20:37:05 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
332         * msgbase.c: modified AddMessageToRoom() and all functions that call it
333           to use a more reliable/accurate method to set quickroom.QRhighest
334         * weekly.in: don't sort/purge filedir where filedir doesn't exist
335
336 1998-12-02 Nathan Bryant <bryant@cs.usm.maine.edu>
337         * weekly is now generated by configure
338
339 Mon Nov 30 19:48:52 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
340         * room_ops.c: added sort_msglist() to move and save operations
341         * sendcommand.c: added (also updated utils.txt, weekly, Makefile.in)
342         * BETA 1
343
344 Sun Nov 29 23:57:39 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
345         * Fixed cmd_regi() to not display a second result code after xfer
346         * Makefile.in: Removed "chmod 4755 citmail netmailer"
347
348 1998-11-23 Nathan Bryant <bryant@cs.usm.maine.edu>
349         * citadel.spec: added
350
351 1998-11-22 Nathan Bryant <bryant@cs.usm.maine.edu>
352         * Makefile.in: split install target into install-exec, install-data,
353           and install-doc subtargets
354
355 Sat Nov 21 16:53:30 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
356         * Added a fourth color mode in the client: "user" which turns color
357           on or off according to a per-user flag stored on the server.  Added
358           server-side support for this too, of course.
359         * import.c: removed
360         * serv_expire.c: finished the code to purge stale visits
361         * sysdep.c: strip trailing nonprintables in client_gets()
362         * routines2.c: fixed <.AS> command; all configs now work properly
363         * Moved num_parms() and all the extract() type functions into tools.c
364           and removed them from all other files.  Linked in tools.[o|ro] there.
365         * netproc.c: handled incoming file transfers to correct room directory
366         * room_ops.c: fixed incorrect naming of files in info and images dirs
367
368 Fri Nov 20 20:29:07 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
369         * setup.c: removed all prompts that can be configured from within the
370           client in order to simplify the setup procedure
371
372 Thu Nov 19 23:28:33 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
373         * Fixed serv_upgrade.c and export5.c (found elsewhere) to use a new
374           export format which treats visits as a separate section
375         * serv_expire.c: began writing functions to purge rooms and visits
376           (neither work yet), and added a way to call defrag_databases()
377
378 Wed Nov 18 23:51:17 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
379         * Reimplemented 'visit' structs stored globally instead of as
380           lists-per-user
381
382 Tue Nov 17 22:37:48 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
383         * Started implementing global room numbers.
384
385 Sun Nov 15 20:32:34 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
386         * room_ops.c: mailbox rooms always appear on the main floor
387         * made QR_MAILBOX rooms non-editable
388         * cmd_setr() delete old room record when room name changes
389           (This causes a big mess that exposes a flaw in the whole design.)
390         * room_ops.c: users can delete messages from their mailboxes
391
392 Thu Nov 12 23:59:13 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
393         * Rewrote cmd_rchg() and also increased the size of the "fakename"
394           buffer.  Overruns are probably what was causing the crashes.
395         * Changed the way cmd_ent3() handles mail messages; the previous code
396           rerouted all private mail to the trash.
397
398 Wed Nov 11 17:57:39 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
399         * citserver.c: slight changes to cmd_rchg() and cmd_hchg() [crashes]
400         * citserver.c, msgbase.c, user_ops.c: hide the owner-prefix of mail
401           rooms in a couple more places: set_wtmpsupp() and make_message()
402         * sysdep.c: added an fflush() to lprintf() for "tail -f"-able logs
403         * serv_expire.c: purge ops are now a command instead of a cleanup
404           function.  This is probably temporary as well.
405         * citadel.c: fixed the way <.WL> parses the returned data from a
406           TIME command.
407
408 1998-11-11 Nathan Bryant <bryant@cs.usm.maine.edu>
409         * serv_upgrade.c: fix uninitialized variable
410
411 Wed Nov 11 00:47:32 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
412         * msgbase.c: fixed a bug that was misrouting incoming network msgs
413         * server.h, database.c: wrapped all GDBM calls in critical sections
414           to avoid making those calls re-entrantly (gdbm fatal: lseek error)
415
416 1998-11-10 Nathan Bryant <bryant@cs.usm.maine.edu>
417         * Makefile.in: link in snprintf.o where needed
418
419 1998-11-09 Nathan Bryant <bryant@cs.usm.maine.edu>
420         * client_chat.c: eliminate calls to sprintf()
421         * commands.h, routines.c, routines2.c: warning fix
422         * commands.c, control.c, cux2ascii.c, file_ops.c, import.c,
423           ipc_c_tcp.c: eliminate sprintf() calls
424
425 Mon Nov  9 19:15:31 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
426         * serv_upgrade.c: added all missing fields to export/import
427         * serv_expire.c: support per-user purge time when purging users
428         * user_ops.c: added per-user purge time to AGUP and ASUP commands
429         * routines.c: added more stuff to <.A>ide <E>dit user
430
431 Sun Nov  8 22:56:53 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
432         * serv_expire.c: created; moved message expiry from serv_test.c,
433           moved user purge from userpurge.c
434         * userpurge.c: deleted
435         * routines2.c: finished <.AS> command
436         * room_ops.c: fixed Aide room access (for some reason, the Aide
437           room had the QR_MAILBOX flag set)
438
439 1998-11-08 Nathan Bryant <bryant@cs.usm.maine.edu>
440         * useradmin.c: really removed (cvs remove)
441         * aidepost.c, citadel.c: convert all sprintf() calls to snprintf()
442         * sysdep.c: fix overrun in lprintf() described by dme/Dead Monkey
443         * citmail.c, citserver.c: convert all sprintf() call to snprintf()
444
445 Sun Nov  8 13:19:36 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
446         * useradmin.c: removed
447         * utils.doc: removed references to useradmin and sysoputil
448
449 Fri Nov  6 20:22:20 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
450         * citadel.h (and related files): removed defunct parameters,
451           c_defent and c_msgbase (erase your test bbs)
452         * Implemented CONF server command for site-global configs
453         * Shuffled yesno() and yesno_d() from routines.c to commands.c
454         * commands.c: implemented boolprompt()
455         * routines2.c: started adding CONF questions to <.AS> command
456         * room_ops.c: began a fix for the mysterious disappearing Aide room
457
458 1998-11-05 Nathan Bryant <bryant@cs.usm.maine.edu>
459         * snprintf.c: warning fix propagated over from gcit
460
461 1998-11-04 Nathan Bryant <bryant@cs.usm.maine.edu>
462         * added RCS Id keyword strings to sources
463         * citmail.c: reverted to version 1.10
464
465 Wed Nov  4 10:53:13 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
466         * messages.c: temporarily set screenwidth to a fixed value of 80
467           during <P>rint operations.
468
469 Mon Nov  2 12:59:03 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
470         * setup.c: looks for 'citadel', 'bbs', or 'guest' in /etc/passwd to
471           try to get a default for bbsuid if it's currently set to 0
472         * citmail.c: changed usersupp.eternal to usersupp.usernum (why didn't
473           it complain about this before?)
474         * serv_upgrade.c: began writing an "export" command to do sidegrades
475
476 Sun Nov  1 18:47:42 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
477         * serv_upgrade.c: cosmetic changes
478         * Implemented message expiry by date (this really needs to be moved
479           out of serv_test.c, but where does it belong?)
480
481 1998-11-01 Nathan Bryant <bryant@cs.usm.maine.edu>
482         * serv_upgrade.c: warning fixes
483         * acconfig.h: remove ANSI_COLOR
484         * Configure, Makefile.tmpl: removed
485
486 Sat Oct 31 20:48:44 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
487         * More stoopid ANSI colour additions here and there.
488         * ANSI colour selection is now in citadel.rc instead of an option in
489           the configure script.  "on" "off" and "auto" are available.
490         * added "build.txt" to the techdoc directory, with LS's build notes
491
492 1998-10-31 Nathan Bryant <bryant@cs.usm.maine.edu>
493         * citadel.c, commands.c, commands.h: set background color to black
494           before clearing screen, so that we can actually see text on
495           black-on-white xterms.
496
497 1998-10-29 Nathan Bryant <bryant@cs.usm.maine.edu>
498         * rooms.c: fix color of Mail>
499         * citadel.c: send ANSI detect sequence after attach_to_server() so the
500           terminal doesn't send the answerback sequence to the shell if we
501           can't connect.
502
503 Wed Oct 28 20:20:14 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us
504         * citadel.c: Added a splash of colour to the Wholist
505
506 1998-10-28 Nathan Bryant <bryant@cs.usm.maine.edu>
507         * configure.in: added comments
508         * mkinstalldirs: new file to be used for `make install'
509         * aclocal.m4, missing: new files, also swiped from automake
510         * citadel.c: don't mung the terminal if we can't find citadel.rc
511         * Makefile.in: added `install' target, `clean' removes
512           *.mo, rebuild configure when configure.in changes.
513         * configure.in: check for install and autoconf
514         * configure.in, Makefile.in: only pass -fPIC to gcc
515         * policy.c: warning fix for OSF/1 (use memset() instead of bzero())
516
517 Tue Oct 27 22:25:42 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
518         * Unified the "unpacked database" format for both upgrades and
519           sidegrades (also see export5.c elsewhere)
520         * citserver.c: clear out cmdbuf before reading a command; some server
521           commands were accidentally extracting parameters from previous cmds
522         * rooms.c: removed the warning about the ineffectiveness of kicking
523           users out of public rooms, because the new server can do lockouts
524
525 1998-10-27 Nathan Bryant <bryant@cs.usm.maine.edu>
526         * sysdep.c (client_gets), ipc_c_tcp.c (serv_gets): improved handling
527           of long lines. 
528         * Makefile.in: partial support for VPATH builds, autodependency fix
529
530 Tue Oct 27 00:08:16 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
531         * minor documentation changes
532
533 Sun Oct 25 14:57:40 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
534         * messages.c: fixed an oversight that was allowing attachments even
535           when disabled in citadel.rc
536
537 1998-10-25 Nathan Bryant <bryant@cs.usm.maine.edu>
538         * routines2.c: warning fix
539
540 Sat Oct 24 22:07:56 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
541         * Client: added message expiration policy questions to room edit
542         * Client: added <.A>ide <S>ystem configuration command
543
544 1998-10-24 Nathan Bryant <bryant@cs.usm.maine.edu>
545         * Makefile.in: Auto dependency generation (may require GNU make, but
546           does at least function without this feature on OSF/1 make);
547           Makefile is regenerated when Makefile.in changes (ditto);
548           `realclean' is now known as `distclean';
549           portability fixes for older Unix make utilities
550         * citadel.c, citadel.h, commands.c: make client suspendable
551
552 Fri Oct 23 19:34:38 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
553         * setup.c: default node name is now obtained from uname()
554         * config.c: added put_config()
555         * policy.c: added, moved GetExpirePolicy() from room_ops.c
556         * policy.c: implemented cmd_gpex() and cmd_spex()
557
558 Wed Oct 21 22:24:48 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
559         * Mail rooms now hide their owner-prefix from the client.
560         * proxy.c: added configurability and primitive message expiry
561
562 1998-10-20 Nathan Bryant <bryant@cs.usm.maine.edu>
563         * Makefile.tmpl: fix to build client with old Configure script
564         * configure.in: autologin defaults to enabled if crypt() is available
565         * room_ops.c: fix improper null-termination bug I introduced
566
567 Mon Oct 19 20:52:55 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
568         * Client ability to force display of prompts in Mail rooms, even when
569           the user has prompting turned off (citadel.rc option)
570
571 1998-10-16 Nathan Bryant <bryant@cs.usm.maine.edu>
572         * sysdep.c (cprintf): generate a newline on truncated buffer
573         * room_ops.c: exploitable overrun fixes
574
575 Thu Oct 15 19:27:32 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
576         * msgbase.c: reimplemented cmd_move()
577           room_ops.c: wrote AddMessageToRoom() which is used for both entering
578           and moving messages.
579         * setup.c: system-default message expire policy of "number of
580           messages, 150" is now a default configuration instead of a temp hack
581         * proxy.c: cache dir create now dies on any error except EEXIST
582
583 Wed Oct 14 22:41:16 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
584         * Misc code cleanup
585
586 1998-10-13 Nathan Bryant <bryant@cs.usm.maine.edu>
587         * configure.in: don't check for -lcrypt unless autologin is enabled
588         * file_ops.c: fix another overrun
589
590 Mon Oct 12 15:27:21 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
591         * Killed the "rooms" subdirectory (it isn't used anymore)
592         * dynloader.c: Made dynamically added server commands case-insensitive
593         * import.c is now serv_upgrade.c, a module
594         * Removed most of the "level 9" trace messages no longer needed
595
596 1998-10-12 Nathan Bryant <bryant@cs.usm.maine.edu>
597         * Makefile.in: simplified to use pattern rules; files compiled with
598           -D_REENTRANT go to *.ro to allow the same files to be used with both
599           client and server
600         * tools.c, tools.h: new files; misc routines used by both client and
601           server go here. contains safestrncpy() at the moment.
602         * rooms.c: fix several exploitable buffer overruns
603         * sysdep.c: fix infinite loop when long lines are received from the
604           client; fix exploitable buffer overrun in cprintf()
605         * ipc_c_tcp.c: fix infinite loop on long line from server
606         * serv_upgrade.sh: remove uncnsrd-dependent absolute path
607         * .cvsignore: add *.ro
608
609 Sun Oct 11 23:17:48 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
610         * Built some more of the message expiry infrastructure
611
612 1998-10-11 Nathan Bryant <bryant@cs.usm.maine.edu>
613         * citserver.c: fix two more overruns, one of which was preventing
614           the "From Host" from showing up in the <W>ho listing.
615
616 Sun Oct 11 02:51:55 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
617         * Moved "struct visit" and its associated defs from citadel.h to
618           server.h where they belong
619         * Set up data structures for room policies (expiry, etc.)
620
621 1998-10-10 Nathan Bryant <bryant@cs.usm.maine.edu>
622         * citserver.c: fix overrun which caused segv's on servers with long
623           hostnames.
624
625 Fri Oct  9 18:34:06 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
626         * user_ops.c: added PurgeStaleRelationships() to do processing at
627           session logout time to remove visits for rooms which no longer exist
628         * user_ops.c: implemented NewMailCount()
629
630 1998-10-09 Nathan Bryant <bryant@cs.usm.maine.edu>
631         * serv_chat.c: fix buffer overrun that was resulting in segv's
632         * serv_chat.c: fix another overrun that could cause sessions to hang,
633           and cleaned up some other strncpy()-related stuff. DON'T FORGET TO
634           NULL-TERMINATE DESTINATION BUFFERS AFTER STRNCPY CALLS.
635
636 Fri Oct  9 13:22:37 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
637         * Implemented "lazy mode" traversal - pressing the space bar will do
638           <N>ext messsage, <G>oto next room, or read <N>ew as appropriate.
639         * room_ops.c: modify CtdlRoomAccess() to allow access to mailbox rooms
640           only to their owners.
641
642 Thu Oct  8 17:13:27 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
643         * messages.c, citadel.rc: added the ability to display message numbers
644           in the header when reading messages.  I think this is butt ugly, but
645           some of the DaveCode afficionados seem to like it...
646
647 Thu Oct  8 15:34:45 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
648         * room_ops.c: Added is_noneditable() function to replace all of the
649           duplicated code present in all functions which edit room parameters.
650
651 1998-10-08 Nathan Bryant <bryant@cs.usm.maine.edu>
652         * lots of warning fixes; builds with -std1 on dec unix
653         * aidepost.c, citadel.h, citmail.c, file_ops.c, msgbase.c, netmailer.c,
654           netproc.c, rcit.c, server.h, stats.c, userlist.c: use time_t where
655           needed
656         * control.c, room_ops.c, serv_chat.c, sysdep.c: use memset() instead of
657           bzero()
658         * dynloader.c, dynloader.h, messages.c, server.h, sysdep.c,
659           sysdep_decls.h: function pointer/prototyping fixes
660         * rooms.c: use mkfifo(3) instead of system("mkfifo")
661
662 1998-10-07 Nathan Bryant <bryant@cs.usm.maine.edu>
663         * snprintf.c, snprintf.h: new files
664         * Makefile.in, configure.in, dynloader.c, sysdep.c: support for the
665           above; citserver now builds and runs on Digital Unix 4.0d with the
666           GNU-style configure script. there is a bug with the hostname display
667           in the wholist.
668         * netproc.c: sillyness fix
669         * room_ops.h: prototype delete_room()
670         * client_chat.c, commands.c, serv_chat.c, sysdep.c:
671           use HAVE_SYS_SELECT_H macro
672
673 Mon Oct  5 17:01:32 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
674         * Began fixing the stuff I broke
675
676 Sun Oct  4 23:35:18 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
677         * Did the big migration to the new data structures.  Lots of stuff is
678           now broken.  Basic moving from room to room works, but Mail is
679           broken, and some of the administrative commands are unimplemented.
680
681 1998-10-02 Nathan Bryant <bryant@cs.usm.maine.edu>
682         * configure.in: autologin now defaults to disabled
683
684 Fri Oct  2 00:04:31 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
685         * Finally removed all three usersupp.foo[MAXROOMS] elements, and
686           migrated all the code that used them to use "struct visit" instead.
687
688 Thu Oct  1 23:02:20 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
689         * Rewrote [l][get|put]room() functions to use room names rather than
690           room index numbers.  Temporarily prepended a "n" to these four
691           function names until they are put to use.
692
693 Thu Oct  1 16:27:13 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
694         * Removed a few more references to usersupp.lastseen[]
695
696 1998-10-01 Nathan Bryant <bryant@cs.usm.maine.edu>
697         * .cvsignore: add so_locations (generated by osf1 ld with shared libs)
698         * Makefile.in: restructured variables for greater consistency, use
699           @echo to print out notices during the make process, add so_locations
700           to `cleaner'
701         * configure.in, Makefile.in: configure checks for -rdynamic
702         * ipc_c_tcp.c: fix DEC compiler warning wrt unsigned char
703         * stats.c: add semicolon to placate DREC compiler
704         * user_ops.c: define _POSIX_C_SOURCE, include <limits.h>
705         * configure.in: pass -pthread to DEC compiler, don't check for
706           libpthread[s] on DEC Unix
707
708 1998-09-30 Nathan Bryant <bryant@cs.usm.maine.edu>
709         * Makefile.in: new variable PTHREAD_DEFS for portability
710         * aidepost.c, citadel.c, citmail.c, mailinglist.c, msgform.c,
711           netmailer.c, netpoll.c, netproc.c, rcit.c, readlog.c, setup.c,
712           stats.c, userlist.c, whobbs.c: return type of main() is int
713         * citadel.c, commands.c, messages.c: use time_t properly
714         * citserver.c: include <limits.h>
715         * config.guess, config.sub, install-sh: new files
716         * configure.in: don't use gcc on Digital Unix
717
718 Tue Sep 29 23:17:34 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
719         * room_ops.c: modified usergoto() to look at the new data structures
720           for counting new messages and such.
721
722 1998-09-29 Nathan Bryant <bryant@cs.usm.maine.edu>
723         * user_ops.c: fix compiler warning and potential memory leak,
724           include sysdep.h
725         * configure.in, Makefile.in: only build the server if we find pthreads
726         * Makefile.in: realclean removes config.{cache,log,status}
727
728 Tue Sep 29 13:20:14 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
729         * Removed code from some of the utilities which was still attempting
730           to access the old non-gdbm data store.
731         * housekeeping.c: rewrote check_ref_counts() to do a ForEachRoom()
732           traversal instead of a MAXROOMS loop.
733         * sysdep.c: set up a dummy CitContext record to be used during server
734           startup, during which time there is no real context.
735
736 Mon Sep 28 23:51:51 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
737         * Implemented the function ForEachRoom() to handle all-rooms traversal
738           (this will work with both the old and new paradigms, because both
739           use a GDBM database with one room per record).  Migrated all room
740           list commands to use it.
741
742 Mon Sep 28 22:05:35 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
743         * Implemented the function CtdlRoomAccess() to handle *all* of the
744           user-access-to-rooms functionality.  Migrated all room list commands
745           to use it.  Still need to migrate gotos.
746
747 1998-09-28 Nathan Bryant <bryant@cs.usm.maine.edu>
748         * configure.in, acconfig.h: new files; partially functional GNU
749           autoconf configure script. Run autoheader; autoconf; ./configure
750           --prefix=`pwd` to test.
751         * Makefile.tmpl: new file; this is what Makefile.in used to be. Used by
752           Configure.
753         * Makefile.in: modified to work with autoconf-style configure script
754         * Configure: modified to use Makefile.tmpl and generate autoconf-style
755           macros. Removed procfs detection. Pass -O2 to gcc, -O to other
756           compilers. Removed mknod/mkfifo detection; code should use mkfifo(3).
757         * citmail.c, msgform.c, netproc.c, routines.c, support.c, userlist.c,
758           whobbs.c: use HAVE_STRERROR macro rather than NO_STRERROR
759         * commands.c: use HAVE_TERMIOS_H macro rather than POSIX_TERMIO
760         * netproc.c: remove procfs stuff. simply attempt to kill the target
761           process with signal zero instead; this checks whether the process
762           exists.
763         * setup.c, useradmin.c: use HAVE_CURSES_H macro
764
765 Sun Sep 27 23:41:29 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
766         * BOTH the old and new generation systems are being written to at
767           this point.  Code that reads stuff is still using the old system.
768
769 Sun Sep 27 16:10:49 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
770         * Changed all "generation" variables from char to long, in preparation
771           for removing MAXROOMS.  Generations for new rooms are now timestamps.
772         * Defined "struct visit" to hold user/room relationships.
773         * Removed some #define's from citadel.h that are no longer used.
774
775 Wed Sep 23 13:41:49 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
776         * More changes to support attachments.  They mostly work, but only
777           in fixed-format messages.
778
779 Mon Sep 21 21:19:17 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
780         * msgbase.c: began laying the groundwork to support attachments.
781           Purchased Rogaine(tm) in preparation for expected hair loss.
782
783 1998-09-21 Nathan Bryant <bryant@cs.usm.maine.edu>
784         * msgbase.c: include dynloader.h
785         * citadelapi.h: removed
786         * dynloader.h: prototype CtdlRegisterUserHook()
787
788 Sun Sep 20 18:56:37 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
789         * Added a UserFunctionHook category to implement hooks which perform
790           operations on various users or usernames
791
792 Fri Sep 18 21:14:41 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
793         * citserver.c: removed cmd_extn() and related code
794
795 1998-09-18 Nathan Bryant <bryant@cs.usm.maine.edu>
796         * user_ops.c: include dynloader.h
797         * roomstats.{c,mk}: removed
798         * Configure, Makefile.in: autodependency-related fixes
799
800 Thu Sep 17 22:55:29 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
801         * Various changes to allow "new messages" to work correctly with Mail
802
803 Thu Sep 17 22:21:45 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
804         * server.h, dynloader.c, citserver.c, user_ops.c: reduced the number
805           of hook types by inventing an EventType field to the Session hook.
806         * proxy.c: added pre-fetching
807
808 1998-09-17 Nathan Bryant <bryant@cs.usm.maine.edu>
809         * Makefile.in: add SERV_MODULES and PROXY_TARGETS to `cleaner'
810         * dynloader.[ch], serv_{chat,test}.[ch], sysdep.c: cleaned
811           up the dynamic loader interface as follows:
812           - all the symbol table stuff is gone.
813           - modules are loaded once at server startup and never unloaded.
814           - Added a new function CtdlRegisterProtoHook() to handle the stuff
815             that was being done with the symbol tables.
816           - Dynamic_Module_Init() now returns a pointer to a static struct
817             DLModule_Info; this structure itself has been modified to use char*
818             fields instead of fixed char arrays.
819         * roomstats.c: include <stdarg.h> not <stdargs.h> (is this file still
820           in use?)
821         * Configure, Makefile.in: added autodependency support
822
823 Wed Sep 16 22:25:13 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
824         * Implemented separate structs, lists, and functions for each type
825           of server-side hook available.
826
827 1998-09-16 Nathan Bryant <bryant@cs.usm.maine.edu>
828         * ipc_c_tcp.c: Fixed up some #include/prototyping stuff, call memcpy()
829           instead of bcopy()
830         * hooks.h: removed
831         * sysdep.c, user_ops.c: removed reference to hooks.h
832
833 Wed Sep 16 11:42:42 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
834         * ipc_c_tcp.c: Reversed any changes that have been made to this file,
835           because something was causing abominally slow response time.
836         * proxy.c: added.  This will eventually become a caching, pre-fetching
837           multiuser proxy server for the Citadel protocol.
838
839 1998-09-15 Nathan Bryant <bryant@cs.usm.maine.edu>
840         * Makefile.in: remove support.o from serv_chat.so, add -fPIC to compile
841           flags for serv_chat.o
842         * dynloader.c: include "sysdep_decls.h", use RTLD_NOW not RTLD_LAZY
843         * dynloader.h: prototype CtdlRegisterHook()
844         * .cvsignore: added data
845
846 Mon Sep 14 20:49:08 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
847         * Tried my hand at adding the ability for server extensions to
848           register various types of "hooks" in addition to just adding
849           server commands.  This is probably not final.
850
851 Tue Sep  8 12:11:56 EDT 1998 Brian Costello <btx@calyx.net>
852         * Added support for dynamic server modules.  Reworked serv_chat.c
853           to be such a module.
854
855 Tue Sep  1 23:09:50 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
856         * userpurge.c: rewrote using functions from the server core, rather
857           than the now-defunct external API.  This'll be ready once the module
858           loading code is done.  (I just had to commit _something_ tonight.)
859
860 Mon Aug 31 22:47:58 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
861         * Yanked the citadelapi.c module.  This wasn't working out well.
862         * techdocs/citadelapi.txt - began documenting the new API to be used
863           by modules which will be dynamic linked into the server - most of
864           this API is existing server functions.
865         * Added a ForEachUser() function with callback mechanism, and reworked
866           cmd_list() to use it.
867
868 Sun Aug 30 21:52:43 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
869         * Moved all of the gdbm databases to a separate "data" directory.
870
871 1998-08-26 Nathan Bryant <bryant@cs.usm.maine.edu>
872         * Makefile.in: realclean removes Makefile, fixed `touch citadel.h'
873           problem
874
875 1998-08-25 Nathan Bryant <bryant@cs.usm.maine.edu>
876         * room_ops.c: include time.h
877         * userlist.c, whobbs.c, serv_chat.c, user_ops.c, sysdep.c, stats.c,
878           citadel_decls.h, commands.c, messages.h, routines.h, routines2.h:
879           remove duplicated declarations
880
881 Mon Aug 24 23:45:01 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
882         * setup.c: Removed yesno_s()
883         * citadel.h, room_ops.c: added QRmtime field to struct quickroom,
884           modified whenever a room is modified or posted in.
885         * citadelapi.c: Added CtdlForEachRoom() function
886
887 Mon Aug 24 20:04:04 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
888         * Makefile.in: new target `cleaner' does the same as `realclean' 
889           without removing sysdep.h
890         * proto.h: is bad. eliminate. I've moved the prototypes into several
891           header files, one per .c file
892
893 Mon Aug 24 00:45:55 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
894         * Added a CtdlGotoRoom() function to the CitadelAPI.
895  
896 Sun Aug 23 21:47:00 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
897         * sysoputil is finally dead!  Removed it from the build.
898         * Added userpurge.c server extension (initial implementation)
899
900 Tue Aug 18 00:42:33 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
901         * Makefile.in: `clean' target no longer rm's sysdep.h; new target
902           `realclean' removes everything clean does, plus sysdep.h, plus
903           target binaries.
904         * Configure: add -Wstrict-prototypes to CFLAGS for gcc systems
905         * *.[ch]: protoized. Added several new header files containing
906           prototypes and other external declarations; many duplicated
907           declarations still should be moved to header files. proto.h must die
908           as well, IMHO.
909
910 Mon Aug 17 23:52:13 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
911         * Implemented a bunch of user account related functions in the
912           CitadelAPI library.
913
914 Mon Aug 17 20:01:18 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
915         * Fixed the crash problem.  It wasn't AGUP/ASUP, but rather a buffer
916           overrun in getuser() (thanks, Nathan).  Implemented overrun checks
917           in getuser(), getroom(), and getfloor() to prevent future problems.
918
919 Mon Aug 17 00:06:52 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
920         * Updated citmail.c with the latest stuff from the production system.
921         * Implemented AGUP and ASUP commands, but AGUP crashes the server
922           after its first successful use (user-not-found's don't affect it).
923
924 Thu Aug  6 19:25:01 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
925         * Got the CitadelAPI library to the point where the server can start
926           up an extension, and the extension will connect to the server, do
927           some initialization, call a user-supplied CtdlMain(), and exit.  Also
928           hacked together a _temporary_ form of the new EXTN server command.
929  
930 Wed Aug  5 23:02:22 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
931         * Second attempt at getting the server API started.  Now it runs
932           outside of the server and builds a connection.
933
934 Tue Aug  4 18:33:06 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
935         * Modified the appearance of Internet addresses when they arrive on
936           a Citadel system.
937         * Removed the <E> field from the message format writeup in hack.txt.
938         * Fixed-up citmail.c so that it doesn't try to do database lookups.
939
940 Mon Aug  3 23:01:37 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
941         * Started developing the server-side API.  This is in its very
942           initial stages.  See serverapi.c and techdoc/api.txt
943
944 1998-08-02  Nathan Bryant  <bryant@cs.usm.maine.edu>
945         * Makefile.in: added config_decls.h to dependencies
946
947 Sun Aug  2 21:09:09 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
948         * config_defs.h: renamed to config_decls.h
949         * config.c, sysoputil.c: updated to reflect the above
950
951 Sun Aug  2 18:52:05 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
952         * config_defs.h: new file, contains external declarations from config.c
953         * config.c: moved defs to config_defs.h, use PATH_MAX from <limits.h>
954           for bbs_home_directory
955         * mailinglist.c, support.c: include <string.h>
956         * sysoputil.c: include <string.h>, <limits.h>, "config_defs.h", remove
957           duplicated defs, replace gets() call with fgets()
958         * user_ops.c: define _XOPEN_SOURCE_EXTENDED
959
960 Sat Aug  1 18:32:52 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
961         * ipc_c_tcp.c: fixed order of memcpy parameters after gethostbyname
962
963 Sun Jul 19 17:26:12 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
964         * ChangeLog: reordered; the GNU standard is to add new entries to the
965           top.
966         * .cvsignore: added userlist
967
968 Sun Jul 12 20:58:59 EDT 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
969         * Finished migrating everything to the new data store.
970         * Replaced the binary "calllog" with the ASCII "citadel.log"
971         * Began converting broken utilities that depend on the old data store
972
973 Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
974         * Makefile.in: removed msgstats
975
976 Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
977         * Initial CVS import