* 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 [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 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 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.
* 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 [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 [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
* 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 [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.
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 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 [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: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.
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 :)
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
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 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 [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: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.
Art Cancro [Tue, 4 Aug 1998 02:55:25 +0000 (02:55 +0000)]
Oof. Here it is: the beginning of our server-side API. This commit is just
a couple of basic functions to get information about user records. The initial
plan is to get enough functionality in place to write a new version of the
auto-purger (the code that automatically deletes users who haven't called in
a while) using the API.
Nathan Bryant [Mon, 3 Aug 1998 01:11:13 +0000 (01:11 +0000)]
Sun Aug 2 21:09:09 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
* config_defs.h: renamed to config_decls.h
* config.c, sysoputil.c: updated to reflect the above