Mon Sep 28 23:51:51 EDT 1998 Art Cancro * Implemented the function ForEachRoom() to handle all-rooms traversal (this will work with both the old and new paradigms, because both use a GDBM database with one room per record). Migrated all room list commands to use it. Mon Sep 28 22:05:35 EDT 1998 Art Cancro * Implemented the function CtdlRoomAccess() to handle *all* of the user-access-to-rooms functionality. Migrated all room list commands to use it. Still need to migrate gotos. 1998-09-28 Nathan Bryant * configure.in, acconfig.h: new files; partially functional GNU autoconf configure script. Run autoheader; autoconf; ./configure --prefix=`pwd` to test. * Makefile.tmpl: new file; this is what Makefile.in used to be. Used by Configure. * Makefile.in: modified to work with autoconf-style configure script * Configure: modified to use Makefile.tmpl and generate autoconf-style macros. Removed procfs detection. Pass -O2 to gcc, -O to other compilers. Removed mknod/mkfifo detection; code should use mkfifo(3). * citmail.c, msgform.c, netproc.c, routines.c, support.c, userlist.c, whobbs.c: use HAVE_STRERROR macro rather than NO_STRERROR * commands.c: use HAVE_TERMIOS_H macro rather than POSIX_TERMIO * netproc.c: remove procfs stuff. simply attempt to kill the target process with signal zero instead; this checks whether the process exists. * setup.c, useradmin.c: use HAVE_CURSES_H macro Sun Sep 27 23:41:29 EDT 1998 Art Cancro * BOTH the old and new generation systems are being written to at this point. Code that reads stuff is still using the old system. Sun Sep 27 16:10:49 EDT 1998 Art Cancro * Changed all "generation" variables from char to long, in preparation for removing MAXROOMS. Generations for new rooms are now timestamps. * Defined "struct visit" to hold user/room relationships. * Removed some #define's from citadel.h that are no longer used. Wed Sep 23 13:41:49 EDT 1998 Art Cancro * More changes to support attachments. They mostly work, but only in fixed-format messages. Mon Sep 21 21:19:17 EDT 1998 Art Cancro * msgbase.c: began laying the groundwork to support attachments. Purchased Rogaine(tm) in preparation for expected hair loss. 1998-09-21 Nathan Bryant * msgbase.c: include dynloader.h * citadelapi.h: removed * dynloader.h: prototype CtdlRegisterUserHook() Sun Sep 20 18:56:37 EDT 1998 Art Cancro * Added a UserFunctionHook category to implement hooks which perform operations on various users or usernames Fri Sep 18 21:14:41 EDT 1998 Art Cancro * citserver.c: removed cmd_extn() and related code 1998-09-18 Nathan Bryant * user_ops.c: include dynloader.h * roomstats.{c,mk}: removed * Configure, Makefile.in: autodependency-related fixes Thu Sep 17 22:55:29 EDT 1998 Art Cancro * Various changes to allow "new messages" to work correctly with Mail Thu Sep 17 22:21:45 EDT 1998 Art Cancro * server.h, dynloader.c, citserver.c, user_ops.c: reduced the number of hook types by inventing an EventType field to the Session hook. * proxy.c: added pre-fetching 1998-09-17 Nathan Bryant * Makefile.in: add SERV_MODULES and PROXY_TARGETS to `cleaner' * dynloader.[ch], serv_{chat,test}.[ch], sysdep.c: cleaned up the dynamic loader interface as follows: - all the symbol table stuff is gone. - modules are loaded once at server startup and never unloaded. - Added a new function CtdlRegisterProtoHook() to handle the stuff that was being done with the symbol tables. - Dynamic_Module_Init() now returns a pointer to a static struct DLModule_Info; this structure itself has been modified to use char* fields instead of fixed char arrays. * roomstats.c: include not (is this file still in use?) * Configure, Makefile.in: added autodependency support Wed Sep 16 22:25:13 EDT 1998 Art Cancro * Implemented separate structs, lists, and functions for each type of server-side hook available. 1998-09-16 Nathan Bryant * ipc_c_tcp.c: Fixed up some #include/prototyping stuff, call memcpy() instead of bcopy() * hooks.h: removed * sysdep.c, user_ops.c: removed reference to hooks.h Wed Sep 16 11:42:42 EDT 1998 Art Cancro * ipc_c_tcp.c: Reversed any changes that have been made to this file, because something was causing abominally slow response time. * proxy.c: added. This will eventually become a caching, pre-fetching multiuser proxy server for the Citadel protocol. 1998-09-15 Nathan Bryant * Makefile.in: remove support.o from serv_chat.so, add -fPIC to compile flags for serv_chat.o * dynloader.c: include "sysdep_decls.h", use RTLD_NOW not RTLD_LAZY * dynloader.h: prototype CtdlRegisterHook() * .cvsignore: added data Mon Sep 14 20:49:08 EDT 1998 Art Cancro * Tried my hand at adding the ability for server extensions to register various types of "hooks" in addition to just adding server commands. This is probably not final. Tue Sep 8 12:11:56 EDT 1998 Brian Costello * Added support for dynamic server modules. Reworked serv_chat.c to be such a module. Tue Sep 1 23:09:50 EDT 1998 Art Cancro * userpurge.c: rewrote using functions from the server core, rather than the now-defunct external API. This'll be ready once the module loading code is done. (I just had to commit _something_ tonight.) Mon Aug 31 22:47:58 EDT 1998 Art Cancro * Yanked the citadelapi.c module. This wasn't working out well. * techdocs/citadelapi.txt - began documenting the new API to be used by modules which will be dynamic linked into the server - most of this API is existing server functions. * Added a ForEachUser() function with callback mechanism, and reworked cmd_list() to use it. Sun Aug 30 21:52:43 EDT 1998 Art Cancro * Moved all of the gdbm databases to a separate "data" directory. 1998-08-26 Nathan Bryant * Makefile.in: realclean removes Makefile, fixed `touch citadel.h' problem 1998-08-25 Nathan Bryant * room_ops.c: include time.h * userlist.c, whobbs.c, serv_chat.c, user_ops.c, sysdep.c, stats.c, citadel_decls.h, commands.c, messages.h, routines.h, routines2.h: remove duplicated declarations Mon Aug 24 23:45:01 EDT 1998 Art Cancro * setup.c: Removed yesno_s() * citadel.h, room_ops.c: added QRmtime field to struct quickroom, modified whenever a room is modified or posted in. * citadelapi.c: Added CtdlForEachRoom() function Mon Aug 24 20:04:04 EDT 1998 Nathan Bryant * Makefile.in: new target `cleaner' does the same as `realclean' without removing sysdep.h * proto.h: is bad. eliminate. I've moved the prototypes into several header files, one per .c file Mon Aug 24 00:45:55 EDT 1998 Art Cancro * Added a CtdlGotoRoom() function to the CitadelAPI. Sun Aug 23 21:47:00 EDT 1998 Art Cancro * sysoputil is finally dead! Removed it from the build. * Added userpurge.c server extension (initial implementation) Tue Aug 18 00:42:33 EDT 1998 Nathan Bryant * Makefile.in: `clean' target no longer rm's sysdep.h; new target `realclean' removes everything clean does, plus sysdep.h, plus target binaries. * Configure: add -Wstrict-prototypes to CFLAGS for gcc systems * *.[ch]: protoized. Added several new header files containing prototypes and other external declarations; many duplicated declarations still should be moved to header files. proto.h must die as well, IMHO. Mon Aug 17 23:52:13 EDT 1998 Art Cancro * Implemented a bunch of user account related functions in the CitadelAPI library. Mon Aug 17 20:01:18 EDT 1998 Art Cancro * Fixed the crash problem. It wasn't AGUP/ASUP, but rather a buffer overrun in getuser() (thanks, Nathan). Implemented overrun checks in getuser(), getroom(), and getfloor() to prevent future problems. Mon Aug 17 00:06:52 EDT 1998 Art Cancro * Updated citmail.c with the latest stuff from the production system. * Implemented AGUP and ASUP commands, but AGUP crashes the server after its first successful use (user-not-found's don't affect it). Thu Aug 6 19:25:01 EDT 1998 Art Cancro * Got the CitadelAPI library to the point where the server can start up an extension, and the extension will connect to the server, do some initialization, call a user-supplied CtdlMain(), and exit. Also hacked together a _temporary_ form of the new EXTN server command. Wed Aug 5 23:02:22 EDT 1998 Art Cancro * Second attempt at getting the server API started. Now it runs outside of the server and builds a connection. Tue Aug 4 18:33:06 EDT 1998 Art Cancro * Modified the appearance of Internet addresses when they arrive on a Citadel system. * Removed the field from the message format writeup in hack.txt. * Fixed-up citmail.c so that it doesn't try to do database lookups. Mon Aug 3 23:01:37 EDT 1998 Art Cancro * Started developing the server-side API. This is in its very initial stages. See serverapi.c and techdoc/api.txt 1998-08-02 Nathan Bryant * Makefile.in: added config_decls.h to dependencies Sun Aug 2 21:09:09 EDT 1998 Nathan Bryant * config_defs.h: renamed to config_decls.h * config.c, sysoputil.c: updated to reflect the above Sun Aug 2 18:52:05 EDT 1998 Nathan Bryant * config_defs.h: new file, contains external declarations from config.c * config.c: moved defs to config_defs.h, use PATH_MAX from for bbs_home_directory * mailinglist.c, support.c: include * sysoputil.c: include , , "config_defs.h", remove duplicated defs, replace gets() call with fgets() * user_ops.c: define _XOPEN_SOURCE_EXTENDED Sat Aug 1 18:32:52 EDT 1998 Nathan Bryant * ipc_c_tcp.c: fixed order of memcpy parameters after gethostbyname Sun Jul 19 17:26:12 EDT 1998 Nathan Bryant * ChangeLog: reordered; the GNU standard is to add new entries to the top. * .cvsignore: added userlist Sun Jul 12 20:58:59 EDT 1998 Art Cancro * Finished migrating everything to the new data store. * Replaced the binary "calllog" with the ASCII "citadel.log" * Began converting broken utilities that depend on the old data store Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant * Makefile.in: removed msgstats Fri Jul 10 1998 Art Cancro * Initial CVS import