Art Cancro [Mon, 5 Oct 1998 15:35:21 +0000 (15:35 +0000)]
Changeover to new room structure. See ChangeLog for details.
Art Cancro [Mon, 5 Oct 1998 00:22:49 +0000 (00:22 +0000)]
Don't automatically defrag databases on shutdown
Nathan Bryant [Fri, 2 Oct 1998 13:12:39 +0000 (13:12 +0000)]
* configure.in: autologin now defaults to disabled
Art Cancro [Fri, 2 Oct 1998 04:06:25 +0000 (04:06 +0000)]
* Finally removed all three usersupp.foo[MAXROOMS] elements, and
migrated all the code that used them to use "struct visit" instead.
Art Cancro [Fri, 2 Oct 1998 03:03:38 +0000 (03:03 +0000)]
* Rewrote [l][get|put]room() functions to use room names rather than
room index numbers. Temporarily prepended a "n" to these four
function names until they are put to use.
Art Cancro [Thu, 1 Oct 1998 20:28:58 +0000 (20:28 +0000)]
Removed a few more references to usersupp.lastseen[]
Nathan Bryant [Thu, 1 Oct 1998 14:55:43 +0000 (14:55 +0000)]
* configure.in: pass -pthread to DEC compiler, don't check for
libpthread[s] on DEC Unix
Nathan Bryant [Thu, 1 Oct 1998 14:17:27 +0000 (14:17 +0000)]
* .cvsignore: add so_locations (generated by osf1 ld with shared libs)
* Makefile.in: restructured variables for greater consistency, use
@echo to print out notices during the make process, add so_locations
to `cleaner'
* configure.in, Makefile.in: configure checks for -rdynamic
* ipc_c_tcp.c: fix DEC compiler warning wrt unsigned char
* stats.c: add semicolon to placate DREC compiler
* user_ops.c: define _POSIX_C_SOURCE, include <limits.h>
Nathan Bryant [Wed, 30 Sep 1998 22:18:04 +0000 (22:18 +0000)]
* configure.in: don't use gcc on Digital Unix
Nathan Bryant [Wed, 30 Sep 1998 22:02:12 +0000 (22:02 +0000)]
install-sh: new file
Nathan Bryant [Wed, 30 Sep 1998 21:48:40 +0000 (21:48 +0000)]
* config.guess, config.sub: new files
Nathan Bryant [Wed, 30 Sep 1998 20:38:21 +0000 (20:38 +0000)]
* Makefile.in: new variable PTHREAD_DEFS for portability
* aidepost.c, citadel.c, citmail.c, mailinglist.c, msgform.c,
netmailer.c, netpoll.c, netproc.c, rcit.c, readlog.c, setup.c,
stats.c, userlist.c, whobbs.c: return type of main() is int
* citadel.c, commands.c, messages.c: use time_t properly
* citserver.c: include <limits.h>
Art Cancro [Wed, 30 Sep 1998 03:18:16 +0000 (03:18 +0000)]
* room_ops.c: modified usergoto() to look at the new data structures
for counting new messages and such.
Nathan Bryant [Tue, 29 Sep 1998 22:44:48 +0000 (22:44 +0000)]
* Makefile.in: realclean removes config.{cache,log,status}
Nathan Bryant [Tue, 29 Sep 1998 22:40:41 +0000 (22:40 +0000)]
* configure.in, Makefile.in: only build the server if we find pthreads
* user_ops.c: include sysdep.h
Nathan Bryant [Tue, 29 Sep 1998 22:22:42 +0000 (22:22 +0000)]
* user_ops.c: fix compiler warning and potential memory leak
Art Cancro [Tue, 29 Sep 1998 17:25:52 +0000 (17:25 +0000)]
* Removed code from some of the utilities which was still attempting
to access the old non-gdbm data store.
* housekeeping.c: rewrote check_ref_counts() to do a ForEachRoom()
traversal instead of a MAXROOMS loop.
* sysdep.c: set up a dummy CitContext record to be used during server
startup, during which time there is no real context.
Art Cancro [Tue, 29 Sep 1998 14:24:24 +0000 (14:24 +0000)]
Commented some of the code that will need to be changed.
Art Cancro [Tue, 29 Sep 1998 03:54:42 +0000 (03:54 +0000)]
* 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.
Art Cancro [Tue, 29 Sep 1998 03:25:05 +0000 (03:25 +0000)]
Added ForEachRoom()
Art Cancro [Tue, 29 Sep 1998 02:07:27 +0000 (02:07 +0000)]
* 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.
Nathan Bryant [Mon, 28 Sep 1998 23:57:37 +0000 (23:57 +0000)]
* 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
Art Cancro [Mon, 28 Sep 1998 19:59:30 +0000 (19:59 +0000)]
Added V_ACCESS
Art Cancro [Mon, 28 Sep 1998 03:42:48 +0000 (03:42 +0000)]
* BOTH the old and new generation systems are being written to at
this point. Code that reads stuff is still using the old system.
Art Cancro [Mon, 28 Sep 1998 01:48:04 +0000 (01:48 +0000)]
Defined user/room relationships
Art Cancro [Mon, 28 Sep 1998 01:32:21 +0000 (01:32 +0000)]
Just a quick update to .cvsignore
Art Cancro [Sun, 27 Sep 1998 20:38:27 +0000 (20:38 +0000)]
* 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.
Art Cancro [Wed, 23 Sep 1998 17:43:54 +0000 (17:43 +0000)]
* More changes to support attachments. They mostly work, but only
in fixed-format messages.
Art Cancro [Wed, 23 Sep 1998 02:55:08 +0000 (02:55 +0000)]
Multipart attachments stuff. arrgh
Art Cancro [Wed, 23 Sep 1998 01:21:10 +0000 (01:21 +0000)]
Cosmetic changes
Art Cancro [Tue, 22 Sep 1998 20:29:11 +0000 (20:29 +0000)]
Attachments continued...
Art Cancro [Tue, 22 Sep 1998 02:35:03 +0000 (02:35 +0000)]
More changes to get attachments working.
Art Cancro [Tue, 22 Sep 1998 01:20:32 +0000 (01:20 +0000)]
* msgbase.c: began laying the groundwork to support attachments.
Purchased Rogaine(tm) in preparation for expected hair loss.
Nathan Bryant [Mon, 21 Sep 1998 17:36:39 +0000 (17:36 +0000)]
* dynloader.h: prototype CtdlRegisterUserHook()
Nathan Bryant [Mon, 21 Sep 1998 17:17:42 +0000 (17:17 +0000)]
* msgbase.c: include dynloader.h
* citadelapi.h: removed
Art Cancro [Sun, 20 Sep 1998 22:57:38 +0000 (22:57 +0000)]
* Added a UserFunctionHook category to implement hooks which perform
operations on various users or usernames
Art Cancro [Sat, 19 Sep 1998 03:56:21 +0000 (03:56 +0000)]
Minor client change to keep stale temp files off the disk.
Art Cancro [Sat, 19 Sep 1998 01:15:58 +0000 (01:15 +0000)]
citserver.c: removed cmd_extn() and related code
Nathan Bryant [Fri, 18 Sep 1998 19:18:08 +0000 (19:18 +0000)]
* Configure, Makefile.in: autodependency-related fixes
Nathan Bryant [Fri, 18 Sep 1998 19:07:32 +0000 (19:07 +0000)]
* Makefile.in: autodependency-related fixes
Nathan Bryant [Fri, 18 Sep 1998 15:39:03 +0000 (15:39 +0000)]
* roomstats.{c,mk}: removed
Nathan Bryant [Fri, 18 Sep 1998 15:33:45 +0000 (15:33 +0000)]
* user_ops.c: include dynloader.h
Art Cancro [Fri, 18 Sep 1998 02:56:19 +0000 (02:56 +0000)]
* Various changes to allow "new messages" to work correctly with Mail
Nathan Bryant [Fri, 18 Sep 1998 02:47:24 +0000 (02:47 +0000)]
* roomstats.c: include <stdarg.h> not <stdargs.h> (is this file still
in use?)
* Configure, Makefile.in: added autodependency support
Art Cancro [Fri, 18 Sep 1998 02:23:09 +0000 (02:23 +0000)]
* 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
Nathan Bryant [Thu, 17 Sep 1998 22:02:12 +0000 (22:02 +0000)]
* 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.
Art Cancro [Thu, 17 Sep 1998 17:28:49 +0000 (17:28 +0000)]
Pre-caching proxy.
Nathan Bryant [Thu, 17 Sep 1998 03:39:31 +0000 (03:39 +0000)]
* hooks.h: removed
* sysdep.c, user_ops.c: removed reference to hooks.h
Art Cancro [Thu, 17 Sep 1998 02:27:21 +0000 (02:27 +0000)]
*** empty log message ***
Art Cancro [Thu, 17 Sep 1998 02:26:17 +0000 (02:26 +0000)]
* Implemented separate structs, lists, and functions for each type
of server-side hook available.
Nathan Bryant [Wed, 16 Sep 1998 17:38:38 +0000 (17:38 +0000)]
* ipc_c_tcp.c: Fixed up some #include/prototyping stuff, call memcpy()
instead of bcopy()
Art Cancro [Wed, 16 Sep 1998 16:16:36 +0000 (16:16 +0000)]
*** empty log message ***
Art Cancro [Wed, 16 Sep 1998 16:14:56 +0000 (16:14 +0000)]
Donut spark?
Art Cancro [Wed, 16 Sep 1998 15:44:43 +0000 (15:44 +0000)]
* 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.
Nathan Bryant [Tue, 15 Sep 1998 21:16:59 +0000 (21:16 +0000)]
1998-09-15 Nathan Bryant <bryant@cs.usm.maine.edu>
* 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
Art Cancro [Tue, 15 Sep 1998 19:59:52 +0000 (19:59 +0000)]
Added proxy.c
Art Cancro [Tue, 15 Sep 1998 00:50:14 +0000 (00:50 +0000)]
* 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.
Art Cancro [Tue, 8 Sep 1998 16:12:45 +0000 (16:12 +0000)]
* Added support for dynamic server modules. Reworked serv_chat.c
to be such a module.
Brian Costello [Tue, 8 Sep 1998 16:09:11 +0000 (16:09 +0000)]
Damn CVS. This should have the unlimited extra commands thing in here.
I'll get CVS working someday.
Brian Costello [Tue, 8 Sep 1998 03:16:52 +0000 (03:16 +0000)]
A module which conforms to the initial module spec.
Brian Costello [Tue, 8 Sep 1998 03:16:02 +0000 (03:16 +0000)]
Dynloader initialization added
Brian Costello [Tue, 8 Sep 1998 03:13:39 +0000 (03:13 +0000)]
The dynloader.c header
Brian Costello [Tue, 8 Sep 1998 03:13:21 +0000 (03:13 +0000)]
The dynamic loader module which should have already been there (?)
Brian Costello [Sun, 6 Sep 1998 01:46:35 +0000 (01:46 +0000)]
Added module stuff.
Art Cancro [Thu, 3 Sep 1998 15:58:35 +0000 (15:58 +0000)]
Minor changes to some of the documentation.
Art Cancro [Thu, 3 Sep 1998 15:01:41 +0000 (15:01 +0000)]
readlog.c: small patch to prevent core dumps when reading certain records
Art Cancro [Wed, 2 Sep 1998 03:12:10 +0000 (03:12 +0000)]
* 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.)
Art Cancro [Tue, 1 Sep 1998 02:52:23 +0000 (02:52 +0000)]
more of the same
Art Cancro [Tue, 1 Sep 1998 02:50:53 +0000 (02:50 +0000)]
* 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.
Art Cancro [Mon, 31 Aug 1998 01:54:21 +0000 (01:54 +0000)]
Moved all of the gdbm databases to a separate "data" directory.
Nathan Bryant [Thu, 27 Aug 1998 01:08:40 +0000 (01:08 +0000)]
*** empty log message ***
Nathan Bryant [Thu, 27 Aug 1998 01:06:07 +0000 (01:06 +0000)]
realclean removes Makefile, fixed `touch citadel.h' problem
Nathan Bryant [Wed, 26 Aug 1998 21:38:38 +0000 (21:38 +0000)]
*** empty log message ***
Brian Costello [Wed, 26 Aug 1998 19:50:39 +0000 (19:50 +0000)]
*** empty log message ***
Brian Costello [Wed, 26 Aug 1998 05:26:46 +0000 (05:26 +0000)]
[aug 25 btx]
o Added code to dynamically spawn the three commands in serv_chat.
o This is only a basic framework - I just wanted to commit it quickly before
someone else screwed me over :)
Brian Costello [Wed, 26 Aug 1998 05:24:54 +0000 (05:24 +0000)]
[aug 25 btx]
o Made small change to allow for modularization
Nathan Bryant [Wed, 26 Aug 1998 00:38:52 +0000 (00:38 +0000)]
removed duplicated declarations
Nathan Bryant [Tue, 25 Aug 1998 23:52:30 +0000 (23:52 +0000)]
remove duplicated declarations
Nathan Bryant [Tue, 25 Aug 1998 23:38:02 +0000 (23:38 +0000)]
remove duplicated declarations
Nathan Bryant [Tue, 25 Aug 1998 23:28:50 +0000 (23:28 +0000)]
remove duplicated declarations
Nathan Bryant [Tue, 25 Aug 1998 23:23:44 +0000 (23:23 +0000)]
remove duplicated declarations
Nathan Bryant [Tue, 25 Aug 1998 23:15:05 +0000 (23:15 +0000)]
*** empty log message ***
Nathan Bryant [Tue, 25 Aug 1998 23:13:54 +0000 (23:13 +0000)]
include time.h
Art Cancro [Tue, 25 Aug 1998 03:51:09 +0000 (03:51 +0000)]
* 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
Nathan Bryant [Tue, 25 Aug 1998 00:34:03 +0000 (00:34 +0000)]
Mon Aug 24 20:04:04 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
* 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
Art Cancro [Mon, 24 Aug 1998 04:46:53 +0000 (04:46 +0000)]
* Added a CtdlGotoRoom() function to the CitadelAPI.
Art Cancro [Mon, 24 Aug 1998 01:48:31 +0000 (01:48 +0000)]
* sysoputil is finally dead! Removed it from the build.
* Added userpurge.c server extension (initial implementation)
Art Cancro [Tue, 18 Aug 1998 15:49:08 +0000 (15:49 +0000)]
Small changes to the code to delete a user.
Nathan Bryant [Tue, 18 Aug 1998 13:43:13 +0000 (13:43 +0000)]
DR19980818
Nathan Bryant [Tue, 18 Aug 1998 04:53:01 +0000 (04:53 +0000)]
forgot Configure
Nathan Bryant [Tue, 18 Aug 1998 04:50:10 +0000 (04:50 +0000)]
Tue Aug 18 00:42:33 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
* Makefile.in: `clean' target no longer rm's sysdep.h; new target
`realclean' removes everything clean does, plus sysdep.h, plus
target binaries.
* *.[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.
Art Cancro [Tue, 18 Aug 1998 03:53:02 +0000 (03:53 +0000)]
* Implemented a bunch of user account related functions in the
CitadelAPI library.
Art Cancro [Tue, 18 Aug 1998 00:03:11 +0000 (00:03 +0000)]
* 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.
Art Cancro [Mon, 17 Aug 1998 04:08:48 +0000 (04:08 +0000)]
* 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).
Haven't figured this one out yet...
Art Cancro [Wed, 12 Aug 1998 02:58:45 +0000 (02:58 +0000)]
Added the EXTN command in a temporary form to run server extensions, but
there's a bug in it for some reason, that after you successfully run an
extension, the next server command crashes the server. This needs to be
fixed...
Art Cancro [Thu, 6 Aug 1998 23:27:02 +0000 (23:27 +0000)]
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.
Art Cancro [Thu, 6 Aug 1998 03:03:45 +0000 (03:03 +0000)]
Second attempt at getting the server API started. Now it runs
outside of the server and builds a connection.
Art Cancro [Wed, 5 Aug 1998 02:47:04 +0000 (02:47 +0000)]
Eliminated the logged_time and time_limit stuff. Since the code which handles
the db records is written to pad "short" records with nulls, we can add these
at any time later on.
Art Cancro [Wed, 5 Aug 1998 02:40:27 +0000 (02:40 +0000)]
*** empty log message ***
Art Cancro [Wed, 5 Aug 1998 02:39:39 +0000 (02:39 +0000)]
Changes required in order to handle the new translation paradigm for Internet
addresses being converted into Citadel addresses. Also cleaned up citmail.c
to not look at any local databases, but instead feed blindly into netproc.