diff -uNr ircservices-5.0.24/Changes ircservices-5.0.25/Changes --- ircservices-5.0.24/Changes 2003-11-11 16:06:32 +0900 +++ ircservices-5.0.25/Changes 2003-11-18 21:32:35 +0900 @@ -1,5 +1,19 @@ Version 5.0 ----------- +2003/11/18 .25 Fixed potential crashes when importing or exporting data + via the command line. +2003/11/18 Fixed various memory leaks. +2003/11/15 Fixed bugs in the configure script when using a deprecated + version of GCC. Reported by Matthew Hodgson + +2003/11/13 Added AKILLCHAN command to operserv/akill module. + Suggested by and others. +2003/11/13 OperServ will now issue a warning if EnableExclude is used + with an IRC server type that does not support autokill + exclusions (thus preventing autokills from being sent). +2003/11/13 The program name "anope" can now be used with convert-db + for Anope databases. ("epona" will still work as well.) +2003/11/12 Added support to convert-db for PTlink 2.22.0 and later. 2003/11/11 .24 Fixed a warning in convert-db compilation. 2003/11/11 Fixed bugs in convert-db causing some nickname and channel settings (timezone, language, channel and memo limits) diff -uNr ircservices-5.0.24/actions.c ircservices-5.0.25/actions.c --- ircservices-5.0.24/actions.c 2003-11-11 16:09:42 +0900 +++ ircservices-5.0.25/actions.c 2003-11-18 21:39:58 +0900 @@ -35,6 +35,14 @@ } /*************************************************************************/ + +void actions_cleanup(void) +{ + unregister_callback(NULL, cb_set_topic); + unregister_callback(NULL, cb_clear_channel); +} + +/*************************************************************************/ /*************************************************************************/ /* Note a bad password attempt for the given user from the given service. diff -uNr ircservices-5.0.24/channels.c ircservices-5.0.25/channels.c --- ircservices-5.0.24/channels.c 2003-11-11 16:09:42 +0900 +++ ircservices-5.0.25/channels.c 2003-11-18 21:39:58 +0900 @@ -75,6 +75,24 @@ /*************************************************************************/ +void channel_cleanup() +{ + Channel *c; + + for (c = first_channel(); c; c = next_channel()) + del_channel(c); + unregister_callback(NULL, cb_topic); + unregister_callback(NULL, cb_umode_change); + unregister_callback(NULL, cb_mode_change); + unregister_callback(NULL, cb_mode); + unregister_callback(NULL, cb_join_check); + unregister_callback(NULL, cb_join); + unregister_callback(NULL, cb_delete); + unregister_callback(NULL, cb_create); +} + +/*************************************************************************/ + /* Return statistics. Pointers are assumed to be valid. */ void get_channel_stats(long *nrec, long *memuse) diff -uNr ircservices-5.0.24/conffile.c ircservices-5.0.25/conffile.c --- ircservices-5.0.24/conffile.c 2003-11-11 16:09:42 +0900 +++ ircservices-5.0.25/conffile.c 2003-11-18 21:39:58 +0900 @@ -43,10 +43,12 @@ /* Don't do anything if we're copying new values and this * directive wasn't seen, or if we're restoring saved values - * and this directive hasn't had its values saved */ + * and this directive hasn't had its values saved (except for + * function parameters) */ if (action == ACTION_COPYNEW && !d->was_seen) continue; if (action == ACTION_RESTORESAVED + && d->params[i].type != CD_FUNC && !(d->params[i].flags & CF_SAVED)) continue; diff -uNr ircservices-5.0.24/configure ircservices-5.0.25/configure --- ircservices-5.0.24/configure 2003-11-05 15:46:59 +0900 +++ ircservices-5.0.25/configure 2003-11-15 15:52:32 +0900 @@ -872,10 +872,11 @@ log 'gcc3/kgcc not found, aborting' exit 1 fi - elif test $vmajor -lt 3 -a $version != 2.95.3 || test $vmajor = 3 -a $vminor -lt 2 ; then - cat < [RECOMMENDED] + # Sets the default expiry time for autokills added by an AKILLCHAN + # command. If not defined, such autokills will not expire by + # default. + + AkillChanExpiry 7d + # OperMaxExpiry