0.0.94b ({communications,database}/structure) Sat Jul 24 21:58:14 EDT 1999, * [0.0.94] alarms around receive_msg() error checking to message decode functions (eg, "did we get all the data we were expecting" kinds of checks) added a little blurb about version info to startup fixed path inclusion on gcc lines for Berkeley DB added configurable logging level... 6 (default with --with-debugging) for most verbose, 1 for least verbose (3 is default without debugging) fixed the configure script so that it pays attention to --prefix, --exec-prefix, et cetera... added an event log grokker fixed an obscure bug with double fclose()s. added extended help to dbtool added schema command to dbtool removed script file references in dbtool cleaned up compile to get rid of ACCESS_MAP warnings added multi-word text to dbtool datums added basic information response (REQ_INFO) minor bug fix in event.h severity reporting done before sprintf()'ing for speed rewrote the event system to be faster, cleaner, better, cooler added syslog handling to event system rewrote the database system to be able to use independent types rather than one type for all databases small bug fix in new event macros reworked granularity for debugging to be more uniform added ACK list processing another small bug fix in event macros wrt filtering added command line logging level to gicqd (-l, --level) tidied up libevent.c reordered a few calls so that misleading EVENTs aren't displayed added a silencing feature to EVENTs so library calls don't flood the EVENT logs fixed memory leaks in libbdb.c added a compact logging flag to the command line level flag will accept messages of any version; handler will check vers. in addition to msg type ----------------------------------------------------------------- cleaned up configure to grok multiple dbs rather than just one minor bug fix in gicqd.c/dbtool.c wrt DB type ordering memory leak fixes in dbtool.c setup dependencies so changes in libs will incorporate in make of program Berkeley DB added (test) added everyone's name to the email list minor correction dbtool help text added flat-file support (test) minor fix wrt DB order in dbtool.c added locking to flat-file support added gicqd/dbtool man pages added current function names to EVENTs for GCC compilers * [0.0.93] looks like login_x1 is send offline msg request (0x044C); support datetime type added datetime manip funcs added to libutils.c message sending back works bug fix in gicqd.c... forgot a break stmt clnp/expansion/bug fix in chld reaper hack to get going offline not to kill main server... * [0.0.92] generic status change broadcast function major additions of sanity checks into libnet.c revamp clnt upd status pkt handling configuration clnp wrt network stuff clnp/stdize libnet.c, TODO notes at top for IPv6 clnt->clnt messaging works send msg to offline user works added type to message database update to how idx for SocketGetOverflow calls was done * [0.0.91] rework of BYTE/WORD/LWORD mess to make it cleaner (unions rule) naming consistency printf()s done to match correct type (eg, long int, short int) (ie printfs() in debug/events to match uin/port/seqnum/msg/etc) complete restructuring of the message flow path separated methodologies for client/server packets; client uses aligned structures, server uses unaligned added support for B_MESSAGE_ACK in handle_clnt_snd_text bug in DB_Delete(); data pointer was being modified mvd expect table to contact table created a data inspecific stringifier (phat!) dbtool listing revisited with stringifier (v 0.1.3) clnp 'make createbase' to not cause diffs cos of debug output renamed my db to bdb to avoid BerkeleyDB clash heavy, heavy cleanup in libnet.c and networking in gnrl prelim fix to status change propogation Tue May 4 04:39:34 EDT 1999, * [0.0.90] beefed up the message handling functions various libdb bug fixes various message bug fixes added a bunch of message handlers clnp wrt sizeof() printf'ing [incomplete] major bug fix in send_message(); it was hardcoded to just send back server login reply pkts *shrug* ----------------------------------------------------------------- bug fix in libdb: getnext ptr should be on per db basis loads of stuff... bodies flying everywhere.... ----------------------------------------------------------------- portabililty issues strerror(), atexit() on SunOS sys/termios.h vs. termios.h on AIX 4.2 moved createbase to ksh=>sh (should've bitten the bullet before) getopt() on pre-ANSI machines =============================================================================== 0.0.85d (database) Tue Apr 27 20:58:49 EDT 1999, * [0.0.85] added client table major restructuring of gicqd_db for generic use dbname=>path map instead of specific prvt variables first stab at overhaul of db stuff ----------------------------------------------------------------- able to specify errno/errstr to event subsys completely migrated DB into libdb; gicqd_db now just specifies the gicqd specific database stuff. ----------------------------------------------------------------- expansion of db stuff for table independence dbtool table independence (v0.1.2) change to libdb so that multiple tables can be open simultaneously generic comparison function minor changes to libdb Solaris core dump problem fixed.... ----------------------------------------------------------------- bug fixes in libdb (minor/semantic) major bug fix with DB_Get() [it wasn't working at all...] added client table management bug fix for DEBUG events coming through EVENT() interface several bug fixes in libdb (nasty one wrt DB_Delete) bug fix in DBRecCompare when copying past end of buffer * [0.0.84] added DBM support changed vsnprintf to meet the C9X specs NULL pointers in events cause core dumps on StupidOS... *sigh* event clnp rmv XXX_AddIt() func; rplcd by dbtool fix bug in dbtool.c:cmd_destroy() expanded DB_Destroy() for DBM ----------------------------------------------------------------- dbtool version 0.1.1; added create function upd createbase.sh for create function dbtool serious semantic clnp clnp gicqd_db.c wrt return values DBM working under Linux ----------------------------------------------------------------- Solaris DBM package apparently limits you to 1024 of data max for your content fields; as a result, the UserInfo struct shrunk slight modification to DB_GetNext algorithm to make it work on Solaris. As near as I can tell, the dbm package has some serious memory problems on Solaris updated createbase ref for create function small bug in DB_GetNext algorithm * [0.0.83] added latest version of dbtool to project ----------------------------------------------------------------- fixed compilation prob. on SunOS cleaned up parseRec() in dbtool.c ----------------------------------------------------------------- revamped dbtool; stdize/clnp brought dbtool up to version 0.0.1 ----------------------------------------------------------------- createbase tool for creating baseline database w/ testing data ----------------------------------------------------------------- fixed small bug in gicqd_db.c cmd_list in dbtool.c needed special print for longs ----------------------------------------------------------------- clnp library functions clnp gicqd_db.c more sane return values for gicqd_db.c when functions aren't supported (eg, Berekely DB) don't print empty values of db records Userinfo_Compare wasn't comparing status field fixed small bug in libutils.c new reference file for createbase fixed small bug in createbase.sh expanded error checking in createbase.sh * [0.0.82] added latest version of dbtool to project jump table for functions minor cleanup for libutil functions (sanity checks) RedHat has errno #defined so any use of "errno" even in structures causes compliation errors; fixed RedHat zeros out vsnprintf()/snprintf() buffers before putting into them, so buffers can't overlap Don't show errno zero {bishop, mike} * [0.0.81] fixed bug with EVENT_STOP(); only process that EVENT_START(). can EVENT_STOP() fixed problem of repeating errno in EVENT daemonize() doesn't close inherited fds anymore * [0.0.8] dbtool skeleton added fixed bug with long arguments; cleaned up too =============================================================================== 0.0.73 (true daemonization + configuration) Sun Apr 4 18:38:06 EDT 1999, bishop * [0.0.73] daemonization stuff done needed sys/ioctl.h for non-debug compile * [0.0.72] general cleanup, error checking server instance mutual exclusion through pid file setting of server umask (through conf file) detaching from controlling terminal setting process group can set user/group through conf file smooth cleanup through SIGINT reaping children after death version information tracks along with configure.in * [0.0.71] server correctly handles arbitrary order of -f and -d on command line * [0.0.7] added signal handlers =============================================================================== 0.0.67 (protocol + cleanup) Fri Apr 2 00:57:57 EST 1999, bishop * [0.0.67] talk about consistency * [0.0.66] even more event enhancements! All kinds of file locking and id tracking working now. yeah. * [0.0.65] fixed compilation problem on RedHat clnp in gicqd_db.c more event enhancements * [0.0.64] event cleanup, enhancements database enhancements now quell databases for friends on contact list * [0.0.63] general consistency/cleanup comments added UserDB directive expanded on login proceedure to check password more error checking done on calls * [0.0.62] been a while, fixed home-grown vsnprintf() to rely on tmpnam() and not mkstemp() as the former is POSIX-compliant and the later is not. tmpnam() sets errno to 2 after each call; reset errno to zero. * [0.0.61] enhanced the login stuff clnp, consistency * [0.0.6] took a small break; clients now sucessfully regard themselves as "connected" when they try and connect to the server. In other words, preliminary login handshaking has been established. =============================================================================== 0.0.53 (network) Tue Jan 26 05:41:37 EST 1999, bishop * [0.0.53] fix for robust checking/compilation on Sparc for -> socket, gethostbyname, inet_aton, etc. added conf/* to distribution clnp, consistency * [0.0.52] small fix for sys/time.h and time.h * [0.0.51] inetd/standalone * [0.0.5] structure necessary to support incoming connections generic message handling added port directive =============================================================================== 0.0.4 (configuration) Mon Jan 25 04:31:17 EST 1999, bishop * configuration file processing in-place =============================================================================== 0.0.32 (db) Wed Jan 20 06:35:48 EST 1999, bishop * [0.0.32] clnp, dbm/ndbm support * [0.0.31] added GNU argument processing + library function for old -> school machines without getopt * [0.0.3] added GDBM support for user information table with -> infrastructure in place to handle Berkeley DB and DBM =============================================================================== 0.0.2 (db start) Sun Jan 17 21:40:12 EST 1999, bishop * [0.0.22] db niceness in configure.in * [0.0.21] more portability in configure.in * [0.0.20] general cleanup, consistency, standards =============================================================================== 0.0.1 (structure) Sat Jan 16 00:57:32 EST 1999, bishop * added EVENTs and a whole event subsystem * general cleanup =============================================================================== 0.0.0 (base) Wed Jan 13 17:35:51 EST 1999, bishop * created development tree