2006-10-13 attila * ClientConn.c (ClientConn_cmd_MODE): Fix long-standing bug in MODE command with special case for MODE #foo b, which is used by e.g. irssi. Our lack of a proper response for this idiom of the MODE command was the cause of the "channel synchronized in 230 seconds" silliness with that particular client. 2006-10-09 attila * LineBuffer.c (LineBuffer_new), etc.: Got rid of CRLF nonsense everywhere. 2006-10-08 attila * util.c (isTrueString): Added isTrueString * Service.c (Service_boolOption): Added Service_boolOption * Plumber.c (plumber_ev_registered): Add default_channel_deop bool option. 2006-10-07 attila * Butler.c (Service_svc_BUTLER): Fix same bug as in Plumber. Not as critical because Butler should never be turned on yet. * ClientConn.c (ClientConn_cmd_JOIN): Fix JOIN issues. * Channel.c (Channel_addMember): Fix JOIN issues. * Plumber.c (Service_svc_PLUMBER): Really, truly fix this crappy crash. * Makefile.in (dist.gz.all): Add dist.gz.* targets * ClientConn.c (ClientConn_cmd_SQUERY): Fix a potential problem with the SQUERY command 2006-10-02 attila * Plumber.c (plumber_ev_registered): A better default_channel implementation. You can now set default_channel, default_channel_topic and default_channel_modes to the obvious things. The commands are all executed on behalf of the first joiner, who is de-op'ed at the end so that e.g. setting default_channel_modes to +t has the desired effect. * 1.0.15: added default_channel_topic Plumber option, make the plumber set command work 2006-09-28 attila * Skipped a bunch...: 1.0.14 released, has plumber 2003-12-13 attila * ClientConn.c (ClientConn_dispatch): Change the way that last_active is updated to reflect reality more closely, e.g. not in response to PING commands. 2003-09-03 attila * CommandLineArgs.c (CommandLineArgs_new): Make sockahsh the default, and change the option to --no-sockhash instead 2003-09-02 attila * ClientConn.c (ClientConn_cmd_PING): Fixed PONG to be more in line with what other irc servers send back, sorta. Kinda. (ClientConn_longNickName): fixed the long/short nickname fu, I think. * Channel.c (Channel_setTopic, et. al.): Added members to sChannel to store time created, time topic set, and nick of topic setter. Changed addMember's spew to the client to be more in line with what e.g. hybrid spews. I didn't know about 329 or 333. D'oh! * ClientConn.c (ClientConn_vsay): OpenBSD uber alles. * Channel.c (Channel_genNames): Check m->client->flags for CLIENT_FLAG_DISSED before trying to do anything with the client; should probably come up with a more systematic way of doing this (abstraction boundary fu improvements) 2003-08-25 attila * Channel.c (Channel_delMember): Lots of fixes, mainly having to do with handling death... we all need a lot of work when it comes to dealing with mortality. Sniff. *Sob* FLUFFY! WHY DID YOU LEAVE ME? 2003-08-18 attila * Service.c: Added new file. Started service infra. 2003-08-16 attila * claka.c (main): added back KILL; don't know how this one got lost... * aclocal.m4: Added, and split some stuff from configure.in * Client.c (Client_cmd_SANITY): Op-only command that is only turned on when debugging is compiled in. * Server.c (Server_sanityCheck): hook to invoke the Channel consistency checker, right now. * Channel.c: Added channel consistency checker and better error return code handling in general for channel hashes. * claka.h (Debug_Msg): Added Debug_Msg, which is defined conditionally depending on the value of CLAKA_DEBUGLEVEL at compile time; non-zero values force a PANIC. * hash.c (hash_strcmp): Added HASH_F_NCASEKEY flag, for use with uinfo->channels hash (stupid, I should've had this a long time ago). 2003-08-15 attila * Channel.c (Channel_delMember): Fixed major core leak. * claka-control.sh.in: A little tidier. Added bounce command. Added help command. * Channel.c (Channel_nMembers): Put in more sensible abstraction boundaries between all of the various objects; also changed Client.c, Server.c and Member.c. Added memhash hash table to get rid of all those vector traversals. * Client.c (Client_findMembership): switched to hash tables for uinfo->channels. 2003-08-14 attila * Client.c (Client_dispatch): Switched to hash tables for command dispatcher; pulled in hash from eLL for this, and other applications in crackalaka. 2003-08-13 attila * Client.c (Client_shortNickName): Add shortNickName and fix some other cosmetic oddities in our output. * Channel.c (Channel_delMember): m->uidx madness still 2003-08-12 attila * README: Lots of cleanup, along with the whole nickName disaster for ChatZilla. This is 1.0.1 2003-08-11 attila * That of which we cannot speak we must pass over in silence. * Server.c (Server_forgetClient): pay attention to the CLIENT_FLAG_FORGOTTEN flag so that we stop panicing when clients are /KILL'ed * claka.h: s/malloc/ualloc_alloc/ etc. everywhere; added CLIENT_FLAG_FORGOTTEN * Everything...: Got rid of all traces of dependence on my old grease library; pulled in the buf module from eLL instead, along with ualloc and netutils. s///'ed the code appropriately. Fixed at least one uninitialized pointer bug. This is the start of 1.4.x 2003-05-17 attila * util.c (join): Added join() to util routines bag of trix 2003-05-15 attila * CommandLineArgs.c (CommandLineArgs_new): Fixed typo in parsing of --descr option. * Client.c (Client_cmd_NICK): Fix subtle bug in the way I order checks so that nick dups cannot slip through depending on what order the client issues the USER and NICK commands. (Client_vsay): Added an all important reset_buf() call to the end of Client_vsay(), which solves a bunch of different issues all at once. 2003-05-13 attila * Client.c (Client_handleInput): Obey maxbuf. This will keep some badly behaved or malicious client from DoSing us simply by spewing garbage, because we'll cut them off. * LineBuffer.c (LineBuffer_addBytes): Obey maxbuf * Client.c (Client_cmd_WHOIS): Made the NOTICE sent to OPERs more informative when someone does a WHOIS or USERS * Makefile.in: Made installation of data files dependent on their not being there already (and thus being overwritten after having been customized, which would suck). * Client.c (Client_cmd_JOIN): JOIN can now take lists of things; need to do this elswhere as well. (Client_cmd_MOTD): Added MOTD protocol command 2003-05-12 attila * claka.h, et al.: Handle SIGPIPE 2003-05-10 attila * Client.c (Client_cmd_WHOIS): Added last_active to Client structure and support for WHOIS and USERS to report idle times. (Client_cmd_WALLOPS): Implemented WALLOPS sorta. 2003-05-09 attila * LICENSE: Still managed to miss a few words that didn't make sense (e.g. "Univeristy"). * claka-control.sh (args): Commented out the systrace fu for now; needs a bit of work. * CommandLineArgs.c (CommandLineArgs_usage): changed the usage message a bit, reworked some stuff, starting on 1.3.4, added release codename because it's just too silly to not do something like that: thus, 1.3 is the FoghornLeghorn release. * claka.c: added setproctitle() call if we have it, since there are bad things in the command-line args (oppass) 2003-05-08 attila * Debug.c (Debug_carp_v): Quell output to stderr unless --stderr is specified. * Server.c: Too many to mention. Cleaned up a lot of 481's. Fixed a bunch of stupid core leaks. Implemented Server_free() and CommandLineArgs_free(). Shuts down cleanly now. Made the initialization of quit_when_empty do the right thing. This is 1.3.3 (Server_new): strdup(NULL)'s fixed 2003-05-03 attila * Client.c (Client_dispatch): Added support for WHO and KICK (Client_dispatch): Implemented USERS, fixed more bugs 2003-05-02 attila * Debug.c (check_log): Check for logfile rotation, so we can sleaze out of dealing with SIGHUP * Server.c (Server_go): Moved pid file creation to after fork; don't bomb out from poll if EINTR 2001-11-07 attila * Makefile.in (VPATH): added @srcdir@ and VPATH, with attendant -I options in CFLAGS to make that mode of compilation possible. * Channel.c (Channel_delMember): trying to fix core dump because removeEntry can return NULL. 2001-10-19 attila * Debug.c (Debug_carp_v): Added --stderr logic like for Debug_out() * Server.c (Server_sendChannelCmd_ap): Added #ifdef'ed AWAY handling for channels, which the RFC doesn't talk about, but which obviously is not TRT. (Server_new): Added pid_file nonsense. (Server_sendUser): Added AWAY handling. 2001-10-19 attila * Client.c (Client_dispatch): Fixed core dump in PART. 2001-10-06 attila * Client.c (Client_handleInput): Added more return codes so that DIE can kill us gracefully. * Server.c (Server_findClientByNick): Fixed NULL dereference. * Client.c (Client_changeNick): Changed to use sendRelatedUsers to notify everyone of NICK change. I think this is what was confusing some clients. * Server.c (Server_sendRelatedUsers): Added sendRelatedUsers and sendRelatedUsers_ap to fix NICK problems and related stuff. 2001-10-05 attila * Client.c (Client_dispatch): Added NAMES command, fixed LIST and WHOIS to do what clients expect, but not what the RFC says. * Server.c (Server_listChannels): "Fixed" LIST command to IGNORE all of the RFCs but do what clients expect. (Server_listNames): Added LIST command 2001-10-04 attila * configure.in: Fixed damned typo * (ChangeLog): Added a GNU-style ChangeLog