Version 5.1 ----------- 2007/09/16 pre9 Fixed bug causing channels with multiple users not to be recognized on startup when using InspIRCd. Reported by Casey 2007/09/13 pre8 Fixed crash in MemoServ INFO. Reported by Casey 2007/09/11 pre7 Fixed various problems with the InspIRCd protocol module. Reported by Casey and Robin Burchell 2007/09/10 pre6 Added NSRegDenyIfSuspended configuration option. Suggested by Aragon Gouveia 2007/09/03 Updated InspIRCd module to work with InspIRCD 1.1.x (tested with 1.1.12). 2007/08/23 pre5 Added NOOP nickname option. Suggested by Casey 2007/08/23 Added MEMO-RESTRICTED channel option. Suggested by Casey 2007/08/23 Turned warning messages for nonexistent nicknames/channels into debug messages. 2007/08/23 Fixed crash introduced in pre4 when a second server is added to the network. Reported by Torbjorn Svensson 2007/08/23 Added a missing unregister_callback() to the NickServ module. 2007/08/06 pre4 Added "set identified" NickServ callback for actions to be taken when a user is marked identified (whether from the IDENTIFY command or automatic identification). Also renamed "cancel_user" callback to "cancel user". 2007/08/05 Updated ratbox protocol module for recent versions of the ircd-ratbox server. Patch provided by ongeboren 2007/08/05 Added -program option to the configure script, allowing the Services executable name (and the names of related files) to be changed. Suggested by Tim Retout 2007/07/30 Fixed potential display bugs in some log messages. Reported by Tim Retout 2007/07/27 Services can now be installed under an alternate root by setting the INSTALL_PREFIX make variable. Suggested by Tim Retout 2007/07/27 Fixed a bug causing some erroneous server messages to not processed properly. 2007/06/11 Dropped some old debugging code. 2007/06/10 pre3 Fixed bug allowing guest nicknames to be linked. Reported by Robin Burchell and DeadNotBuried 2007/05/19 pre2 Updated the Turkish language file, courtesy of Basar U. Sezer 2007/05/17 The database/version4 module now observes the -forceload option when loading the nickname database. 2007/05/17 Replaced RSA's MD5 implementation with one licensed under more lenient terms. Suggested by Tim Retout 2007/05/14 pre1 Fixed a bug in XML import that caused channel mode locks to be lost. Reported by 2007/05/14 Fixed Services being unable to start if both the compatibility strdup() function and memory checking were enabled. 2007/05/14 Fixed a potential crash with corrupt databases. 2007/05/06 pre0 Added CSSkipModeRCheck option to disable kickbanning of unregistered nicks from +R-locked channels. Suggested by 2007/05/06 Changed LISTLINKS for other users from admin-only to oper-only, and documented that LISTEMAIL can be used to the same effect by ordinary users. Suggested by Robin Burchell 2007/04/27 Fixed minor bugs in the built-in [v]snprintf(). 2007/03/31 Moved change logs to docs/ directory. 2007/03/24 a13 Changed ChanServ SET PASSWORD to remove founder privileges from any users who had previously identified for the channel. Reported by ongeboren 2007/02/16 a12 Fixed possibly incorrect handling by convert-db of nonstandard channel fields FREASON and FTIME in HybServ databases. 2007/02/16 Fixed result message for SET TIMEZONE by a Services administrator whose timezone is set to the default. 2007/02/16 Fixed a duplicate WALLOPS for NickServ SET PASSWORD by Services administrators. 2007/02/16 Removed all support for "modeless" channels (+name). 2007/02/16 Fixed httpd/redirect handling of nicknames and channel names containing slashes. (As a side effect, URLs with trailing slashes are no longer accepted.) 2007/02/16 The httpd/top-page module now only responds to requests for the top page, rather than for any URL. 2007/02/16 The built-in HTTP server now reports an error on overlength HTTP request lines rather than silently splitting them. 2007/02/16 Added password obscurity check to ChanServ REGISTER and SET PASSWORD. Suggested by Dionisios K. 2007/02/16 Changed NSRejectEmail configuration directive to RejectEmail, and added rejection checks to NickServ/ChanServ SET EMAIL. 2007/02/16 Changed MD_EXCLUSION constant name to MD_EXCLUDE to match the OperServ command name. 2007/02/16 Add get/put-field wrapper routines to database code to remove unnecessary complexity from database modules. 2007/02/16 Fixed bug causing PID file to not be removed on exit. 2007/01/14 Fixed bug in configure type definitions. Reported by 2006/12/08 a11 Merged section 6 of the user's manual (on adding features to Services) into the technical manual. 2006/12/08 Removed unused read/write macros from modules/database/fileutil.h. 2006/12/08 Fixed bug causing the "shutdown" parameter to modules' cleanup functions to always be nonzero. 2006/12/06 Removed all remaining "press Enter" warning prompts from configure, making it fully automated. 2006/12/06 Clarified that missing system functions (strtok(), etc.) detected by configure do not prevent Services from being compiled and run. Also updated the warning for a missing gethostbyname(). 2006/11/09 The httpd/top-page module now explicitly returns an error if the specified file cannot be read, rather than deferring to a subsequent handler. 2006/11/03 Added workaround for NULL masks in autokick lists. Reported by Gabriel Baez 2006/10/29 Fixed the encryption/unix-crypt module to allow crypt() results longer than 13 characters and to not truncate the final character of a PASSMAX-length password. 2006/10/01 ChanServ OP/VOICE/etc. now check that the target user is on the channel before performing privilege checks; PROTECT is now disallowed on auto-deop users. 2006/09/26 Merged modules/chanserv/autokick.c back into main.c. 2006/08/16 Updated documentation to reflect new domain name. 2006/08/06 a10 Added preliminary support for the solid-ircd IRC server. 2006/06/22 a9 Fixed bug in configuration file handling causing function-processed directives like LoadModule to break. 2006/06/22 Added int64 and uint64 types, and added a check to configure to find appropriate system types for them. 2006/06/22 Added robustness to socket code in out-of-memory conditions. 2006/06/22 Changed select() call to not assume that the timeval struct is valid after the call. 2006/06/22 Changed the socket code to use recv() and send() on sockets instead of read() and write(). 2006/06/22 Fixed potential bug causing accepted sockets' mute status to get out of sync with internal tables. 2006/06/22 Corrected handling of nested socket callbacks. 2006/06/22 Renamed NET_MIN_BUFSIZE constant to SOCK_MIN_BUFSIZE, and moved it from defs.h to sockets.h. 2006/06/19 Fixed a typo in the OperServ AKILL/SLINE CLEAR syntax message. Reported by 2006/06/06 a8 Hungarian language file updated for 5.1. 2006/06/06 Added message source parameter to "channel KICK" callback. Suggested by Jason Farklem 2006/06/03 a7 Fixed handling of language strings added by modules in external language files. 2006/06/02 Fixed a rare case in which a timed event could fail to be executed, and ensure that extremely long timeouts (>25 days) are not called immediately. 2006/06/01 Added robustness to mode character/flag conversion functions. 2006/05/31 Fixed infinite loop in ignore code when a single command takes longer to execute than the time specified in the IgnoreDecay configuration directive. 2006/05/31 Fixed bug that could potentially cause the log file to be rotated in the middle of writing a log message. 2006/05/31 Cleaned up restart handling. 2006/05/31 Fixed bug causing missing parameters in a configuration directive to get zeroed rather than keeping their previous values. 2006/05/31 Fixed cosmetic bug causing "BUG" message to be logged when deprecated configuration directives are used. 2006/04/14 Fixed bug allowing infinite join/kick loops on autokick when Unreal extended bantypes are in use. 2006/04/14 Fixed bug causing Services to split from InspIRCd servers without the m_globops.so module loaded. Reported by 2006/03/22 Logging initialization moved earlier, to catch any unexpected log messages before the log file is opened. 2006/03/22 Fixed a critical error in the supplied [v]snprintf() which allowed the output to exceed the specified maximum length. 2006/03/20 Corrected a design defect in the hash table implementation creating the potential for entries to get lost after irc_lowertable[] modifications. 2006/01/26 a6 Added command aliases for NickServ, ChanServ, and MemoServ via the NSAlias, CSAlias, and MSAlias configuration directives. 2006/01/26 Added support for 2-byte characters in valid_nick() and valid_chan(). 2006/01/26 Added support for the Unreal NICKCHARS protocol setting. 2006/01/26 Fixed nickname and channel name validity checking (which was broken for a few protocols). 2006/01/26 valid_nick() now defaults to the reference ircd's rules for nickname grammar rather than RFC 1459. 2006/01/26 Fixed bug causing databases with load-only fields to be written incorrectly. 2006/01/26 Invalid channel names are now automatically removed from the autojoin list on identify. 2006/01/26 Fixed memory leak on corrupt channel autokick database. 2006/01/26 Fixed bug in Hybrid and Ratbox protocol modules causing forced nickname changing to break. 2006/01/25 Moved the contents of the TODO file into section 11 of the technical reference manual. 2006/01/25 Fixed bug causing nick authentication reason to get lost on XML import and export. 2006/01/25 Eliminated SuspendInfo structure (fields flattened into NickGroupInfo and ChannelInfo). 2006/01/25 Fixed bug causing database/standard load routine to break on out-of-order fields. 2006/01/24 Fixed minor bug in handling of InspIRCd SETNAME. 2006/01/24 a5 Fixed bug causing ChanServ SET MLOCK with extra parameters (like +l NNN) to return a syntax error. 2006/01/23 Added experimental support for the InspIRCd IRC server. Suggested by Craig Edwards 2006/01/23 Removed misc.c's dependencies on other core symbols, and changed convert-db to link misc.o in rather than redefine strscpy(). 2006/01/23 Fixed ChanServ DROP crash. Reported by Vitaliy Ovsyannikov 2006/01/22 a4 Added experimental support for the ircd-ratbox IRC server. 2006/01/22 Fixed crash on NickServ SET/UNSET from unregistered nicks. Reported by Vitaliy Ovsyannikov 2006/01/22 Fixed bug causing Services operators in Sirv databases to be imported with Services administrator privileges. 2006/01/22 Overlong IRCS channel names are now handled more robustly in convert-db. 2006/01/22 Added support to the PTlink database importer for SQline and SXline databases. 2006/01/21 The PTlink database importer now imports temporary (unauthenticated) E-mail addresses. 2006/01/21 Updated HybServ database importer for more recent versions of HybServ. 2006/01/20 Fixed bugs in importing channel greetings and the VOPALL setting from Cygnus databases. 2006/01/20 The Cygnus database importer now imports temporary (unauthenticated) E-mail addresses and channel memo levels. 2006/01/18 Moved the contents of the KnownBugs file into the user's manual as Appendix D. 2006/01/18 Removed the (now meaningless) -no-dir-check option to the configure script. 2006/01/17 Fixed a bug in loading the nickgroup database using the database/standard module. Reported by Vitaliy Ovsyannikov 2006/01/17 a3 Fixed a bug in importing channel data when using the database/standard module. Reported by Vitaliy Ovsyannikov 2006/01/17 The language and data file installation procedure no longer sets the installed files' modes to owner-access-only; the default file mode (as set with umask) is used. 2006/01/15 a2 Fixed a bug in loading the ChanServ database in the database/version4 module. 2006/01/15 The misc/xml-import module now allows news items to be imported via the ImportNews configuration directive. Suggested by Kieron Thwaites 2006/01/15 MemoServ IGNORE now ignores memos from nicknames linked to nickname (but not wildcard) entries on the ignore list. Suggested by Robin Burchell 2006/01/15 Renamed ChannelInfo CI_* flags to CF_* for consistency with other structures' flags. 2006/01/09 Moved the access, autojoin, memo, and ignore databases to their respective modules, and changed the database names to "nick-access", "nick-autojoin", "memo", and "memo-ignore" respectively. 2006/01/09 Changed DBTable.insert() to not return a value. 2006/01/09 a1 Finished implementing the database/standard module, and made it the default in the example configuration file. 2006/01/08 Removed no-longer-needed new_suspendinfo() and free_suspendinfo() functions. 2006/01/08 Moved SuspendInfo structure directly into NickGroupInfo and ChannelInfo structures rather than using pointers. 2006/01/07 Added ACCLEV_MAX and ACCLEV_MIN constants to explicitly define ChanServ access levels, rather than relying on ACCLEV_FOUNDER and ACCLEV_INVALID. 2006/01/04 Fixed a bug in writing generic database tables. 2006/01/04 Fixed a bug in the Unreal protocol module causing user fakehost masks to get set to the user's mode string. 2005/11/23 Added support for writing generic tables (using the new database format) in the database/version4 module. 2005/11/23 a0 Converted tabs to spaces in all source files. 2005/11/22 Added IncludeFile configuration directive to allow configuration directives to be split up into multiple files. Suggested by Yusuf Iskenderoglu 2005/11/22 Logon news items are no longer sent to users who rejoin the network after a netsplit (for protocols which include Services stamps). Suggested by 2005/11/22 Added CSDefModeLock configuration directive to set the default mode lock for newly registered channels. Suggested by 2005/11/22 Moved database name configuration directives (NickServDB, etc.) to database/version4 module section. 2005/11/22 Fixed a bug causing leading newlines in help messages to be stripped. 2005/11/22 Added NSSetEmailDelay configuration directive to limit the frequency with which users can use the NickServ SET EMAIL command (and thus cause mail authentication messages to be sent). 2005/11/22 Added OperServ GETKEY command to retrieve the key of a +k channel (limited to Services operators). Suggested by Dennis Sela 2005/11/22 NickServ INFO now indicates when a nickname's user is using a different (linked) nick, provided the nick's PRIVATE option is not set. Suggested by Craig McLure 2005/11/22 Merged several redundant AKILL/SLINE-related language strings. 2005/11/22 Added CLEAR subcommand to OperServ AKILL and related commands. 2005/11/21 Added NSRejectEmail configuration directive for disallowing certain E-mail addresses or address masks from being used in registration. 2005/11/21 Autokill expiration WALLOPS messages are now rate-limited to prevent floods. 2005/11/21 Added forbidden/suspended/etc. indicators to HTTP server nickname and channel lists. 2005/11/21 Added a new configuration directive, WallAdminPrivs (replacing WallGetpass and WallSetpass), to send out a WALLOPS or GLOBOPS on all Services administrator actions. Suggested by Dionisios K. 2005/11/21 The Services root nickname will no longer expire, and may no longer be dropped by Services admins. Suggested by Dionisios K. 2005/11/21 Added lookup_language(), lookup_string(), setstring(), and addstring() functions to language subsystem, to allow third-party modules to take advantage of multilingual support. 2005/11/21 Renamed setstring() function to mapstring(). 2005/11/20 NickServ IDENTIFY and SET, ChanServ SET, and OperServ SU and SET now give syntax errors if too many parameters are given. 2005/11/20 unload_module() now warns on callbacks added to other modules that are not removed by the module's exit routine. 2005/11/20 Services now uses the include file and its sized integer types where possible. 2005/11/20 Finished initial implementation of new database module design. Data access functions (get_XXX() and the like) are now defined in their respective pseudoclient modules rather than in the database module. 2005/08/17 Removed StatServ SERVERS COPY and RENAME subcommands. 2005/08/17 Redesigned database get/put functions to avoid potential expiration of in-use records. 2005/08/17 ChanServ OP/VOICE/etc. now accept multiple nicknames. Suggested by Anton Wolkov (phan70m@gmail.com) 2005/08/17 Added the ability to load language files on the fly (LoadLanguageText configuration directive). 2005/04/03 Removed support for Unreal 3.1 and earlier. 2005/02/24 SQlines are no longer applied to opers on startup for protocols that send user modes in the NICK message (bahamut, hybrid, monkey, ptlink, trircd, unreal). 2005/02/24 Added initial user modes to the list of parameters for the "user create" callback. 2005/02/23 SIGHUP now saves the databases before rehashing the configuration files. Suggested by Torbjorn Svensson 2005/02/23 Added OperServ debug command MONITOR-IGNORE to monitor the ignore level of a particular user. 2005/02/23 Redesigned ignore system. 2005/02/22 NickServ SET/UNSET for other nicknames (by Services admins) is now done by including a "!" before the nickname. 2005/02/22 Added atolsafe() function for more robust string-to-integer conversion. 2005/02/22 Added ChanServ ACCESS LISTLEVEL subcommand. 2005/01/23 Command-line options can now be specified with two dashes, a la GNU (one dash still works as well). 2005/01/23 Added -encrypt-all command-line option. 2005/01/23 "make install" will now create directories as needed, rather than configure. 2005/01/23 The configure script is now entirely non-interactive; installation directories must be specified on the command line, and configure will not abort if the directories do not exist. 2005/01/07 Added "+N" parameter to ChanServ ACCESS/XOP/AKICK LIST. 2004/12/28 Added Content-Type header with character set information to mail messages. 2004/12/14 Don't apply unauthed expiration time to SETAUTH'd nicks. 2004/12/14 Removed NickServ and ChanServ SENDPASS. 2004/12/14 Added REAUTH command to nickserv/mail-auth module. 2004/12/14 Added encryption/unix-crypt module. 2004/12/14 PTlink database encryption types are now imported correctly. 2004/12/14 Redesigned encryption system. Encryption cipher is now stored with passwords; "cipher" attribute added to XML // tags. 2004/12/13 Added [module_]log[_perror]_debug() functions, and changed module name prefix in log messages ("name:" -> "(name)"). 2004/12/13 Removed workaround for old versions of GCC. 2004/10/25 "Holes" are no longer left in internal channel autokick lists after deleting entries. 2004/10/25 Entry numbering removed from ChanServ ACCESS, XOP, and AKICK commands. 2004/09/03 MemoServ SET NOTIFY now correctly displays the current NickServ nickname instead of always "NickServ". 2004/09/03 Fixed a memory leak in the httpd/auth-ip module. 2004/09/03 Removed deprecated nickserv/oldlink module. 2004/09/03 Added MemoServ RENUMBER command. 2004/09/02 Added "opers only" message to end of NickServ LISTEMAIL help when appropriate. 2004/09/02 Fixed bug resolving symbols when using static modules. 2004/09/02 Added "end of list" messages for OperServ AKILL/etc LIST/VIEW. 2004/09/02 Added "+N" parameter to set list starting point for NickServ/ChanServ LIST and OperServ AKILL/etc LIST/VIEW. Suggested by Michael D. Smith 2004/08/27 Clarified OperServ CLEARMODE response messages. 2004/08/27 Removed reference to ACCESS in ChanServ REGISTER help to avoid confusing users when only the XOP commands are available. 2004/08/27 Changed the compatibility strsignal() to use the more common names for SIGSTOP/SIGTSTP. 2004/08/27 Added strbcpy() function (macro) for improved robustness. 2004/08/27 Revised message-handling code to optimize lookups of frequently-seen messages. 2004/08/27 Removed ChanServ module dependency from XML import module. 2004/08/26 Finished redesign of module system internals. Modules now have a THIS_MODULE macro which automagically points to the module's data structure; THIS_MODULE made implicit in relevant modules.c function calls. 2004/08/13 Channel mode locks are now stored as strings rather than bitmasks in the on-disk database. 2004/08/12 NickServ LIST/LISTEMAIL and ChanServ LIST now display "no matches" instead of "0/0 matches shown" if no matches. 2004/08/12 Fixed failure to abort in-transit mail messages on mail module removal (potentially resulting in crashes). 2004/08/12 Removed MaxSockets (mail/smtp) directive since MaxMessages now performs the same function. 2004/08/12 Added MaxMessages configuration directive to mail/main module. 2004/08/12 Disabled swritemap() in new sockets code to avoid dependence on munmap(). 2004/08/10 MemoServ FORWARD now forwards all selected memos in a single mail message. 2004/08/10 Fixed minor memory leak in sending mail. 2004/08/10 Fixed bug in mail/smtp module causing blank lines to be removed from message bodies. 2004/08/10 Removed MSNotifyAll configuration directive; MemoServ will now always send notices to all online nicks. 2004/08/10 Added MSExpireDelay and removed MSExpireUnread configuration directives. 2004/08/10 Redesigned channel memo system to send memos to individual users instead of storing them separately with the channel. 2004/08/05 DevNull and HelpServ no longer allow their nicknames to be registered or linked. 2004/08/05 Add note about increasing stack size on AmigaOS. Reported by Michael Trebilcock 2004/08/04 Added NickServ RESTOREMAIL command, which allows a user to restore their nickname's last authenticated E-mail address after an (unauthenticated) change. The calling format of the NickServ SET EMAIL callback has also been changed. 2004/08/04 nickserv/mail-auth module no longer changes default nickname flags on registration. 2004/08/04 Added notices for delayed errors on mail authentication message sending. 2004/08/03 Added support for importing VOPALL channel setting in Cygnus. 2004/08/03 Fixed bug in configure script which left its temporary directory sitting around when run with -check. 2004/08/03 Added ACCLEV_DEFAULT constant and use instead of allocating and freeing ci->levels to indicate defaults. Changes to the default level values will now be reflected immediately in channels which have not changed that particular level. 2004/08/03 Added IP address check to match_usermask(), and removed special cases scattered throughout the code. As a result, memo ignore and autokick now also work with IP addresses. 2004/07/29 MODE -o+v from a user on themselves no longer causes ChanServ to remove the +v. Reported by 2004/07/28 NSRequireEmail is now enabled by default. 2004/07/28 Fixed rare bug causing +r (registered) mode to get left on dropped channels. 2004/07/28 ChanServ now requires the channel password in the DROP command; dropping by Services administrators is now done with the DROPCHAN command. 2004/07/28 The configure script now checks that pointers have a sane size. 2004/07/28 Pseudoclients are no longer set +o on servers where they don't need oper privileges. Suggested by Ben Goldstein 2004/07/28 Clarified OperServ CLEARMODES help. 2004/07/28 Changed out-of-date "expires at next database update" message to "expired". 2004/07/28 Added EXCEPTION COUNT command. 2004/07/27 Removed CSAutokickReason configuration directive (obsoleted by "AKICK by " reason prefix). 2004/07/27 Added CHECK subcommand for OperServ AKILL/EXCLUDE/SxLINE/ EXCEPTION. 2004/07/27 Added unsorted hash mode (configure -no-sorted-list). 2004/07/24 Removed support for the "channel owner" mode present in some IRC servers. 2004/07/15 Added SendTimeout configuration directive for mail timeouts. 2004/07/14 RPM/Debian packages now install into /opt/ircservices and /var/opt/ircservices instead of under /usr. 2004/07/13 Memory-checking code (configure -memchecks) now fills memory with arbitrary values to catch misuse of uninitialized or freed memory. 2004/07/13 Added ChanServ NOP (never-op list) command. Suggested by Kieron Thwaites 2004/07/13 Removed Italian and Portuguese language files, which were hopelessly out of date. 2004/07/13 Rewrote socket-handling code. 2004/07/02 Moved channel mode lock data to its own structure. 2004/07/02 Merged NSListMax and CSListMax configuration options into ListMax, and applied ListMax to OperServ as well. 2004/06/30 Code base split off from version 5.0.33. Version 5.0 ----------- 2007/03/30 .61 Fixed crash on x86-64 systems under certain circumstances. Reported by Andrey V. Elsukov 2007/03/24 .60 Changed ChanServ SET PASSWORD to remove founder privileges from any users who had previously identified for the channel (backported from 5.1a13). Reported by ongeboren 2006/10/01 .59 Added support to convert-db for versions of PTlink Services through 2.26-eol.1 2006/08/16 Update documentation to reflect new domain name. 2006/06/22 .58 Added workaround to support the broken MD5 encryption used in Epona/Anope (through at least version 1.7.14), enabled by the EnableAnopeWorkaround option for the encryption/md5 module in modules.conf. Reported by Gabriel Baez 2006/06/22 configure -check (run by the Makefile) no longer leaves a conf-tmp directory lying around. 2006/06/21 Fixed error when compiling with recent versions of GNU make. 2006/06/20 Fixed crash when importing some Anope databases. Reported by Gabriel Baez 2006/01/20 Added support to convert-db for recent versions of Epona. 2006/01/20 .57 Fixed conversion of Anope 1.7 OperServ databases. Reported by Matt Smith 2006/01/20 ChanServ SET SECUREOPS now prevents unprivileged users from gaining channel protect (+a) status as well. Reported by A.S. 2006/01/20 Fixed a bug in the Cygnus database converter causing autokills with invalid expiration data to expire immediately rather than remain with no expiration time. 2006/01/07 Fixed a cosmetic bug in ChanServ LIST causing the no-expire flag "!" to not be shown for suspended channels. 2005/11/20 .56 Fixed a bug in StatServ that could cause a crash if StatServ was unloaded with a rehash while Services was running. 2005/11/07 Changed NickServ and ChanServ SET PASSWORD to prevent the use of spaces in passwords. 2005/11/07 The NickServ commands DROP, RECOVER, RELEASE, and GHOST now report a syntax error rather than "password incorrect" when too many parameters are given. (As a result, passwords containing spaces can no longer be used with these commands. Use IDENTIFY followed by SET PASSWORD to set a new password without spaces.) 2005/10/26 Fixed incorrect end-of-/WHOIS responses for several pseudoclients. Reported by Robin Burchell 2005/09/26 .55 Added documentation on CSSetChannelTime configuration option. 2005/08/25 Fixed rare bug allowing users to gain voice status improperly. Reported by Anton Wolkov 2005/08/23 Added "authed" callback for newly-authorized nicknames. Suggested by Robin Burchell 2005/08/16 .54 The ChanServ check_kick callback now passes the channel name as a string instead of the Channel structure, so the channel name can be known even if the channel is empty. Reported by Olly 2005/08/13 The S-line commands (SGLINE, SQLINE, and SZLINE) now check that "*" or similarly overbroad masks are not used. Suggested by Dionisios K. 2005/08/13 Fixed minor bugs in the code to check whether a new autokill is too broad (such as "*"). 2005/08/13 Fixed a compilation error (and many warnings) when compiling with GCC 4. 2005/08/13 Added UNSET callbacks for NickServ and ChanServ. Suggested by Craig McLure 2005/05/12 .53 Fixed bug causing server connection to fail. 2005/05/12 .52 Fixed occasional corruption of the NickServ REGISTER syntax string upon reconfiguration (OperServ REHASH). Reported by 2005/05/06 Fixed attempts to send PING messages before connecting to the server. Reported by Craig McLure 2005/04/02 .51 convert-db now checks for more potential problems with the imported databases before writing out the XML data. 2005/04/02 Fixed bugs when converting databases from old versions of PTlink Services. 2005/04/01 Fixed handling of links to forbidden nicks when converting Auspice databases. 2005/03/31 ChanServ KICK no longer allows Services opers to be kicked. 2005/03/31 Ensured that usermode +r is cleared from nicks which lose their identification status (e.g. from FORBID/SUSPEND). 2005/03/31 NickServ SUSPEND now forces the user of the suspended nick to change nicknames, as FORBID does. Reported by Dionisios K. 2005/03/31 ChanServ now stops non-identified users from joining channels with mode +R locked on. Suggested by Dionisios K. 2005/03/29 .50 Fixed security hole in NickServ LISTLINKS allowing any user to view a nick's links. Reported by 2005/03/06 .49 Added Russian language file, courtesy of Alexander Zverev 2005/03/05 Services will now accept multiple PROTOCTL messages from the Unreal ircd (as implemented in Unreal CVS). 2005/03/04 Added support for +I/+j channel modes in Unreal 3.2.3. Reported by Kieron Thwaites 2005/02/23 .48 Fix careless bug leading to possible crash on exit or rehash. 2005/02/23 .47 Channels no longer expire while an auto-op user is in the channel; expiration is delayed until the time specified by CSExpire after the last such user leaves the channel. Reported by Anton Wolkov 2005/02/23 Added user IP addresses to the OperServ LISTUSER debug command as well. 2005/02/21 .46 Fixed some warnings during compilation. 2005/02/21 Fixed bug causing modified files to not be recompiled properly when compiling with GNU make 3.79. 2005/02/20 The OperServ debug command LISTUSERS now includes the IP address for each user before the user's mode string. 2005/02/19 Added workaround for GCC bugs on PowerPC systems. 2005/01/27 Fixed careless error in "make distclean". Reported by Stanislav Zahariev 2005/01/21 .45 Added HybServ support to convert-db. Suggested by Stanislav Zahariev 2005/01/21 convert-db is now recompiled properly if the compilation options passed to the configure script are changed. 2005/01/13 IRC operators are now properly shown the operator version of ChanServ HELP LIST. Reported by Kieron Thwaites 2004/12/13 .44 Fixed a careless error in the va_copy workaround. 2004/12/02 .43 Added workaround for va_copy with obsolete compilers. Reported by 2004/12/02 Added support for SGlines on Unreal. Reported by Dionisios K. 2004/12/02 Fixed "unknown message" on Unreal SWHOIS. Reported by Anton Wolkov 2004/11/22 Fixed URLs in the documentation to point to the new website. 2004/11/22 .42 The mail/smtp module now allows multiple RelayHost configuration directives for backup relay servers. Suggested by Torbjorn Svensson 2004/11/22 Fixed extraneous "Unknown message" log messages on Unreal. Reported by Ali Sor 2004/10/29 Clarified "please change your nick" message text. Suggested by Dylan v.d Merwe 2004/10/25 Fixed crash when using the Japanese language file with the OperServ SLINE COUNT command. 2004/10/19 Fixed bug allowing StatServ and global noticer nicknames to be registered/linked. Reported by M. van Cuijk 2004/10/14 Fixed various bugs and warnings when compiling on x86-64. Reported by 2004/10/14 Added workaround for GNU coreutils (>=5.2) brokenness. 2004/10/13 SET MLOCK no longer allows locking +K without +i on Unreal. Reported by 2004/10/13 Fixed cosmetic bug in MemoServ IGNORE. Reported by 2004/10/11 Fixed disconnect on incoming data flood. Reported by 2004/10/03 Updated the README file for the current manual structure. 2004/10/03 .41 Fixed SQUIT of juped servers on Bahamut. Reported by Pasi Hirvonen 2004/10/03 Fixed cosmetic bug in NickServ SUSPEND help. Reported by Craig McLure 2004/10/02 Fixed bug causing endless log messages on full network buffer. Reported by 2004/10/02 OperServ AKILLCHAN now honors the WallOSAkill setting. Reported by Pasi Hirvonen 2004/09/19 Fixed missing object file in Hybrid module compilation. Reported by Jon Christopherson 2004/09/05 .40 Fixed careless bug in autojoin module. 2004/09/05 .39 Fixed bug allowing some NickServ/ChanServ commands to be used even in read-only mode. Reported by Craig McLure 2004/09/02 Fixed minor formatting errors in language files. 2004/09/02 Fixed bugs in SMTP handling. Reported by Gregg Conklin 2004/08/24 Fixed a trivial error in the modules/protocol Makefile. 2004/08/15 .38 Services now checks channel joins against the channel's current modes as well as mode locks, to prevent users from "riding" netsplits into privileged channels. Reported by Craig McLure 2004/07/27 .37 Autokicks now prefix the kick reason with "AKICK by " to avoid misleading kick messages. Suggested by Bergee 2004/07/26 Fixed potential crashes in NickServ UNSUSPEND, DROP, and LINK (from the nickserv/oldlink module only). Reported by Tom McIntyre 2004/07/15 Fixed cosmetic bug in MemoServ INFO display. Reported by Bergee 2004/07/14 Fixed potential crash on exit when freeing language data. 2004/07/14 Fixed bug causing nickname enforcers to not be removed when a nickname was deleted. Reported by Bergee 2004/07/09 .36 Removed log message on socket buffer size misbehavior. 2004/07/09 Fixed potential crash on SQUIT. Reported by Tom McIntyre 2004/07/08 .35 Fixed memory leak in httpd/auth-password module when reconfiguring. 2004/07/08 Fixed bug causing HTTP password authorization to fail. Reported by Martin Pels 2004/07/07 Added support for invite masks to Hybrid protocol. Suggested by Jon Christopherson 2004/07/05 .34 configure now properly detects the GCC version in use when running under Debian Linux. 2004/07/02 Fixed bugs in handling MLOCK +/-j on Bahamut. 2004/07/02 Fixed tiny potential memory leak on failed SET MLOCK. 2004/06/29 .33 Fixed child process handling bug in mail/sendmail module. Reported by Ali Sor 2004/06/29 ChanServ STATUS now displays the SOP/AOP/VOP level when the chanserv/access-xop module is loaded. Suggested by Kieron Thwaites 2004/06/29 For Bahamut, SGLINE/SQLINE commands for masks not in the appropriate list are now reversed by Services (to prevent "revival" of deleted masks by split servers). This applies to operator-issued SGLINE/SQLINEs as well. 2004/06/17 The configure script now checks for two bugs in GCC (fixed in GCC 3.4.0) which cause Services to crash. 2004/06/07 .32 Updated Unreal protocol module for Unreal 3.2.1. 2004/05/24 get_access() (which returns a user's access level on a channel) is now exported by the chanserv/main module. 2004/05/18 -z (insecure) users can no longer enter channels locked to +z on Unreal. Reported by Dionisios K. 2004/05/14 Fixed failure to clear ban exceptions on autokick. Reported by Eric Murphy 2004/05/12 Updated Bahamut protocol module for Bahamut 1.8.0. Support for 1.4.x has been removed. 2004/05/07 Fixed errors in OperServ SESSIONS and EXCEPTIONS help text. Reported by Elijah 2004/05/04 Fixed harmless compilation warning in database/version4 module. Reported by Craig McLure 2004/04/29 .31 Fixed crash with MLOCK +J when using trircd protocol. Reported by 2004/04/28 Added stricter checks on module loading order. 2004/04/09 .30 Added logic to configure script to avoid the use of the -fstack-protector option if doing so would trigger a compiler bug. Reported by Torbjorn Svensson 2004/04/06 ChanServ no longer requires an explicit IDENTIFY to use INFO ALL. Reported by Wolfgang Urban 2004/04/06 NickServ LISTCHANS now properly aborts when a non-servadmin uses the nickname form of the command. Reported by Elijah 2004/04/04 The ChanServ DEPROTECT command now clears channel-owner status on those IRC servers that support such a mode. Suggested by 2004/04/02 Fixed additional bug causing autokill exclusions to not function properly in some cases. 2004/04/02 Fixed bug causing autokill exclusions to not function under Unreal. Reported by Eric Murphy 2004/03/31 Fixed bug allowing users to improperly be identified for newly-registered nicknames awaiting authentication. Reported by 2004/03/30 Added workaround for Unreal SQLINE "bouncing" issue. Reported by Craig Edwards 2004/03/30 ChanServ SET RESTRICTED no longer modifies the internal NOJOIN level. 2004/03/30 Fixed failure to reset internal-use AUTODEOP and NOJOIN channel levels when loading databases from version 4.5 and earlier. Reported by Wolfgang Urban 2004/03/24 .29 Added support for extended ban types, new channel mode +f format, and other feeping creaturism in Unreal 3.2. 2004/03/24 Fixed PTlink channel database reading, and added workaround for PTlink bug causing inconsistent data to be stored. Reported by 2004/03/17 Added experimental support for Hybrid 7 servers. Thanks to Jon Christopherson for assistance. 2004/03/06 Updated tr-ircd protocol module to support version 5.7. Support for versions before 5.5 has been dropped at the tr-ircd author's request. 2004/02/05 .28 The OperServ AKILL/EXCLUDE/EXCEPTION/SLINE LIST and VIEW commands now only display the first 50 entries matching the given mask. Note that no notice is given if the list is cut off; this will be remedied, and the limit (50) made configurable, in a future release. 2004/02/02 Fixed a cosmetic bug in ChanServ SET SECURE help. Reported by Andrew Kempe. 2004/01/22 Fixed a bug causing the ChanServ XOP DEL commands to delete the wrong access entries. Reported by 2004/01/05 + in channel names no longer confuses the httpd/dbaccess module. Reported by 2004/01/05 Channel entry messages are now prefixed with the channel name. Suggested by Medice. 2004/01/05 Fixed a bug in calculating session memory usage for OperServ STATS ALL. Reported by Ali Sor 2003/12/09 Added slightly more verbose logging when a fatal signal is received. 2003/12/03 .27 Fixed a stupid bug in the AKILLCHAN command causing corrupted autokills. Reported by 2003/12/03 Various code cleanups and memory leak fixes. 2003/12/02 Fixed security loophole allowing users to obtain channel privileges with a nickname awaiting authentication after a SET EMAIL command. 2003/12/02 MEMCHECKS/SHOWALLOCS log messages now show the full path of the calling file. 2003/12/02 Implemented "overwrite" option for XML import. 2003/12/01 Services no longer logs errors when receiving SZLINE messages (using the Bahamut protocol). Reported by 2003/11/30 Fixed crash on exit in FreeBSD. Reported by Chris Riley 2003/11/30 Fixed memory corruption when unable to open initial log file. 2003/11/28 Fixed crash on long channel mode commands. Reported by 2003/11/26 .26 Some configuration settings (such as FromAddress in mail/main) which were only checked for validity at startup are now also checked when rehashing the configuration files. 2003/11/26 Fixed failure to recognize changes in the MSAllowForward configuration directive (for the memoserv/forward module). 2003/11/26 Improved internal storage format for nickname authentication codes (the reason for setting the code is now stored separately from the code itself). As a result, Cygnus codes are now imported without any changes. 2003/11/26 Fixed infinite-loop bug in Magick database importer. Reported by 2003/11/25 Fixed potential desynchronization bug with channel MODE -e. 2003/11/25 The registration delay functionality (NSRegDelay and NSInitialRegDelay) now shows the remaining amount of time the user needs to wait rather than the full delay length. 2003/11/25 Added NSInitialRegDelay configuration option. Suggested by Mark Hetherington 2003/11/25 Documented the workings of hash.h. 2003/11/25 Fixed more memory leaks, and did minor code cleanups. 2003/11/20 Fixed a cosmetic bug in OperServ HELP AKILLCHAN. Reported by 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/17 When SHOWALLOCS is enabled, the file and line at which memory was allocated or freed is now logged. 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. As a result, the operserv/akill module now requires a new configuration directive, AkillChanExpiry, to be set in modules.conf. 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) to not be initialized properly. 2003/11/11 Added -tzfile, -no-timezones, and -reset-memo-limits options to the Cygnus database converter in convert-db. 2003/11/05 Databases can now be exported in XML from the command line (-export option). 2003/11/05 GCC versions earlier than 3.2 (except 2.95.3) are now deprecated. Variadic macros workaround added for problem reported by Ali Sor 2003/11/05 Channel last-used time is now updated properly for the first user to enter the channel if the user has auto-op privileges. Reported by 2003/11/01 .23 Fixed bug causing database contents to get lost for small databases on full filesystems. Reported by 2003/10/29 Fixed minor bugs in convert-db, and added checks to the data before it is output. (As a result, convert-db will take somewhat longer to process the same data.) 2003/10/27 Added support to convert-db for converting Cygnus databases. Suggested by Jamie Penman-Smithson 2003/10/27 Modified default channel level definitions to use ACCLEV_* constants from chanserv.h. If you change the constants (not recommended for compatibility reasons), the default channel levels will now change with them. 2003/10/24 Added note to ListenTo directive documentation concerning the usage of low port numbers. 2003/10/18 Added FAQ F.10 regarding the ImmediatelySendAutokill option to help people who have trouble reading documentation. 2003/10/17 Fixed a cosmetic bug when giving forbidden nicknames to the AUTH-related commands. Reported by 2003/10/14 Fixed a typo in the ChanServ SET help text. Reported by playa 2003/09/09 .22 The SHOWALLOCS compilation option can now be set from the configure script instead of editing memory.c directly. 2003/09/09 Fixed bug causing blank lines in help messages to not be sent in rare cases. 2003/09/09 Clarified NickServ AJOIN help with regard to +k and similar channels. 2003/08/31 NickServ now displays the proper LIST help text for IRC operators. Reported by 2003/08/31 Disabling the AUTOPROTECT channel level now disables automatic channel founder (Unreal, etc.) as well. 2003/08/31 ChanServ LEVELS DISABLE AUTOOP (and AUTOVOICE, etc.) now properly affects the founder as well. Reported by Shaun Guth 2003/08/31 Fixed desynch on MODE -b with differing upper/lower case from the actual ban. Reported by Jeffrey Kam 2003/08/31 Fixed potential crash on attempted DROP of a forbidden channel. Reported by Marc-Andre A. Fuentes 2003/08/30 Add syntax reminder for users that get E-mail address and password backwards in NickServ REGISTER. Suggested by Craig McLure 2003/08/30 Fixed desynch occurring with MergeChannelModes when a user joined an empty channel and quickly changed nicknames. 2003/08/30 NickServ SET EMAIL now logs the previous E-mail address as well as the new one. Suggested by . As a result, the log message now has a slightly different format. 2003/08/30 Fixed bug causing some ChanServ mode changes to get lost. Reported by Craig McLure 2003/08/30 ChanServ no longer attempts to restore the topic on a channel if no topic has been recorded. 2003/08/30 Added NickServ DROPEMAIL command. 2003/08/30 ChanServ SET FOUNDER and SET SUCCESSOR now log the previous founder/successor as well as the new one. Suggested by . As a result, the log messages now have a slightly different format. 2003/08/29 Channel mode and topic changes (except for mode changes caused by CSSetChannelTime) now always use a consistent source name: ChanServ, OperServ, or the server name, depending on whether the respective modules are loaded. 2003/07/27 Added FAQ Z.3.5 regarding backtraces. 2003/07/16 Added explanation of reasoning behind choice of license terms. Suggested by Richard Stallman 2003/07/09 .21 Fixed type-related warnings in some environments. 2003/07/09 Fixed errors when compiling in parallel (make -jN). 2003/07/04 Fixed warnings about builtin function name clash with GCC. Reported by Craig McLure 2003/06/28 Fixed crash on abnormal disconnection from server. Reported by Jeffrey A. Kent 2003/06/25 Fixed compilation failure on OpenBSD. Reported by 2003/06/21 .20 Fixed a minor memory leak in the socket handling code. 2003/06/17 Minor tweaks to various Makefiles. 2003/06/16 Fixed bug causing data in socket write buffers to get corrupted. 2003/06/11 Added workaround for GCC bug on SPARC systems. Reported by Kevin Kane 2003/06/09 Fixed compilation problems on Solaris. Reported by Kevin Kane 2003/06/09 NickServ autojoin no longer auto-invites users into +i channels when the user doesn't have INVITE privileges. Reported by Martin Pels 2003/06/05 Fixed bug causing ChanServ to inappropriately remove some users' channel modes. Reported by Yusuf Iskenderoglu 2003/06/05 Changed handling of inappropriate channel user mode changes (e.g. entering a registered channel and setting +v on oneself before Services' -o comes through) to remove only the added modes, not all of them. 2003/06/02 Corrected various errors and inconsistencies in the language files, and brought section 4 of the manual up to date. 2003/06/02 Added FORCE option to OperServ UPDATE command. 2003/06/02 OperServ UPDATE now sends a notice after saving the databases indicating whether the operation succeeded. 2003/06/02 Fixed bug causing some callback functions to not be called if a callback function removed itself from the callback list. (Note that this situation does not occur in any previous versions of Services.) 2003/05/28 Reworded NickServ replies and documentation for the mail-auth module to replace "authorize" by the more accurate "authenticate". 2003/05/28 .19 Fake hostnames are now handled correctly by the PTlink protocol module. 2003/05/28 Services now checks in advance whether a protocol module has been loaded, and aborts with an error message if not. Suggested by Mark Hetherington 2003/05/28 Updated FAQ C.1 and added FAQ C.1.5 regarding errors which can occur when saving the databases to disk. 2003/05/28 The ExpireTimeout configuration directive has been deprecated, as it is no longer used. This directive will be removed entirely in the next version of Services. 2003/05/28 Added documentation to section 6 of the manual on how to process messages received from the IRC network. 2003/05/28 The program name used in the /VERSION reply ("ircservices") is now defined in version.sh for easier changing in derivative programs. 2003/05/06 Clarified reasoning behind transfer-of-rights requirement for submission of code or other changes. 2003/04/30 Fixed bug in OperServ JUPE command causing Services to be disconnected from the network when juping an existing server. Reported by George Stamatiou 2003/04/30 Added CSRegisteredOnly configuration directive. Suggested by Stefan Hudson 2003/04/30 Fixed (lack of) interaction between NickServ autojoin and +i channels causing "cannot join channel" errors on IDENTIFY. Reported by Christopher Wilson 2003/04/28 .18 Fixed bug causing chunks of output to get lost in the middle of HTTP server responses. Reported by several people. 2003/04/28 Fixed cosmetic bug in error message for colliding nicknames. 2003/04/28 Fixed bug preventing forbidden nicknames from being imported. 2003/04/28 Added a workaround to convert-db for an apparent bug in Auspice Services causing CR characters to appear in mode locks. 2003/04/23 Fixed bug causing NickServ LIST to not return matches to Services admins for a pattern matching real hostnames but not fake ones. Reported by Craig Edwards 2003/04/22 Fixed bug processing %hd and missing my_snprintf() in vsnprintf.c. 2003/04/20 .17 Fixed crash when using UNLINK FORCE with non-linked nicks. Reported by Matthew Hodgson 2003/04/15 The configure script now uses "conf-tmp" instead of "tmp" as its temporary directory name, to avoid potential clashes with pre-existing directories. 2003/04/12 Precompiled binaries should now work with Linux kernel 2.2.x. Reported by 2003/04/10 .16 Fixed crash on some systems when giving only spaces to certain commands. Reported by Joao Luis Marques Pinto 2003/04/08 .15 Support for trircd 4.x removed, and for 5.1 added, on recommendation from Yusuf Iskenderoglu 2003/03/06 Fixed typo in English language file. Reported by 2003/03/04 .14 Fixed compilation error on some systems. 2003/03/03 .13 Build number is no longer updated if no files have changed (this avoids "make ; make install" incrementing the value twice). Reported by Craig McLure 2003/03/03 Users are no longer collided if they have identified but need to set an E-mail address. Reported by Andrew Kempe. 2003/03/03 Nicknames awaiting E-mail authorization now always use the regular 60-second timeout regardless of the KILL setting. Suggested by Andrew Kempe. 2003/03/03 Added new section (3-1-2) on netsplit recovery to the manual. 2003/03/03 Added workaround for broken browsers that don't handle backslashes properly. Reported by 2003/02/26 Outgoing mail now includes a Date: header, to avoid some MTAs inserting a date of 1970/1/1. Reported by Mattias Karlsson 2003/02/26 Added support for channel mode +M in Unreal (3.2 beta). 2003/02/26 MemoServ SEND now requires identification for the nickname instead of just an access list match. Reported by Rafael Stuhr 2003/02/25 .12 ChanServ no longer gives +o to random users in channels on startup. Reported by Matthew Hodgson 2003/02/25 Core "channel create" callback modified for above fix to send the user's channel user modes to the called function. 2003/02/25 NickServ now accepts a command-line option, "-clear-nick-email", to clear the E-mail addresses of all registered nicknames. Suggested by Marc-Andre A. Fuentes 2003/02/25 The convert-db program now compiles correctly under Cygwin. Reported by Mark Hetherington 2003/02/25 Pseudoclients are now properly introduced and removed when modules are loaded or unloaded at runtime. Reported by Georges Berscheid 2003/02/24 Fixed CSSetChannelTimes under Bahamut. Reported by JT 2003/02/24 Fixed validity check on nickname language setting. Reported by George Stamatiou 2003/02/24 Fixed dangling data directory lock on uplink server death. Reported by Aragon Gouveia 2003/02/23 If an unsuspend grace period is set for nickname suspensions and the mail-auth module is in use, nicknames not yet authorized will have the delay before expiration of unauthorized nicks reset to the time of unsuspension. 2003/02/23 Fixed problem in langcomp when .l files have CRs in them. 2003/02/20 .11 Fixed 2002/10/24 compilation problem fix (modules/Makefile was missing the fix). 2003/02/20 Fixed bugs in the trircd protocol module. Reported by Yusuf Iskenderoglu 2003/02/19 .10 Fixed bug causing Services to terminate with a fatal error on receiving multiple KILL messages in quick succession. Reported by Andrew Kempe. 2003/02/17 SMTP traffic is now logged at debug level 1 instead of level 2. 2003/02/17 Added more debug log messages to the Unreal protocol module. 2003/02/14 Fixed bug causing Services to hang if disconnected from the remote server. Reported by several people. 2003/02/14 Added checks to avoid "sockprintf() with NULL socket" errors appearing in the logfile. 2003/02/14 Fixed trivial bug in calculating socket read timeout. 2003/02/01 .9 Fixed a bug leading to desynchs. 2003/01/31 .8 Fixed a number of compilation warnings. 2003/01/31 Fixed typo and thinko causing crashes on channel mode changes. 2003/01/30 .7 Fixed crash when opening a corrupt StatServ database. Reported by Rob van Eijk 2003/01/30 Added robustness in clearing mode +r from users after nickname changes. 2003/01/30 Users now properly get mode +r upon successful AUTH after registering a nick. Reported by 2003/01/23 SZlines are now properly added on startup when using Unreal. Reported by Aragon Gouveia 2003/01/23 Save database changes if the uplink server disconnects us. Reported by Aragon Gouveia 2003/01/22 OperServ KILLCLONES no longer adds a new autokill if an existing autokill matches the clones' user@host mask. Reported by Alexander Janssens 2003/01/16 Bahamut protocol support cut off for version 1.4.34+ due to bugs in the Bahamut ircd. 2003/01/07 Experimental PTlink IRC server support added. 2003/01/06 Fixed bug causing -remote command-line option to not be recognized. 2003/01/06 Fixed Unreal support (Unreal does not support dynamic autokill exceptions). Reported by 2003/01/06 The wallops warning for repeated bad passwords on a channel now includes the nickname of the user who sent the last bad password. Suggested by 2003/01/02 Incorporated fixes for Chunky Monkey IRCD support from Chris Plant 2003/01/01 Fixed bug causing "AKILL has expired" messages to be sent multiple times. Reported by 2002/12/13 Clarified that "transfer rights" in section 6-3 of the manual refers only to rights under copyright law. 2002/12/03 Added documentation on mail modules to section 3 of the manual. Reported by Neal Kirby 2002/11/25 .6 Fixed bug causing ChanServ commands to stop working on some channels. Reported by and others. 2002/11/23 Added documentation on how to compile modules into Services (section 6-1-6). 2002/11/21 .5 The XML import module no longer prints strange error messages for unknown command-line options. 2002/11/21 NickServ ACCESS ADD now warns of inappropriate syntax for masks which contain "!". Suggested by Panagiotis Kefalidis 2002/11/19 The configure script now correctly creates parent directories for the data directory if it does not exist. 2002/11/19 Fixed configure check for socklen_t on FreeBSD. Repoted by Sean Kelly 2002/11/18 .4 The Makefile now checks that the results of `configure' are up to date before compiling. This solves a compilation problem reported by several people in version 5.0.3. 2002/11/16 .3 Fixed case-sensitivity bug with channel bans. Reported by Alexander Janssens 2002/11/16 Fixed topic time setting on Unreal. Reported by 2002/11/16 Added support for Intel's Linux/x86 compiler (icc) with optimization disabled. "./configure -cc icc" to use it. 2002/11/16 Fixed missing list terminators in several modules potentially causing crashes on startup or rehash. 2002/11/13 Fixed a bug causing the contents of the cache to not be properly read in when using bash 2.05b. 2002/10/29 Fixed cosmetic bugs when using NickServ IDENTIFY and GETPASS with forbidden nicknames. Reported by 2002/10/25 Autokills, session exceptions, and S-lines are now checked for expiration at each database update. Reported by Ali Sor 2002/10/24 Fixed compilation problem on Solaris reported by Geoff Byers 2002/10/24 Fixed string-constant-related warnings. 2002/10/22 .2 Clarified bug-reporting instructions. 2002/10/21 Fixed bug in recording channel topic setters in nick!user@host format. Reported by Marcin Wolniewicz 2002/10/20 Fixed bug with ChanServ FORBID #. Reported by 2002/10/18 .1 Fixed convert-db bugs with linked nicks (Auspice 2.7) and channel access lists (all programs). Reported by 2002/10/17 NickServ LINK and UNLINK are now disabled in read-only mode. Reported by Dennis Sela 2002/10/11 Fixed several compiler warnings. 2002/10/11 Cosmetic fixes to debug log messages. 2002/10/10 Fixed bug causing ChanServ CLEAR BANS to only clear one ban at a time. Reported by Ali Sor 2002/10/10 Corrected a cosmetic bug in configure script and a compiler error when compiling static modules, both on Solaris. Reported by 2002/10/06 Disabled -dumpcore by default in the configure script (to match help text). 2002/10/06 .0 Version 5.0.0 released. 2002/10/02 p15 Removed AKILL option for OperServ STATS command. 2002/10/02 Fixed bug in checking protocol features from core code. 2002/09/30 ACC-CHANGE channel privilege is now checked properly. Reported by Dylan v.d Merwe 2002/09/29 Added support for Bolivia IRC Services (version 1.2.0) databases to convert-db. Suggested by Peter Samuelsson 2002/09/29 Sirv/Auspice database conversion now properly sets the SECURE option on imported channels. 2002/09/25 p14 Fixed XML import bug causing channel access lists to get discarded. 2002/09/25 Added workaround for GCC 3.x bug (GNATS PR#8028). 2002/09/24 Fixed errors when channels expired during import. 2002/09/23 Added SQlineKill configuration directive (operserv/sline). Suggested by John Edrington 2002/09/23 p13 Fixed false out-of-memory error in socket handling code. Reported by 2002/09/23 Unauthorized E-mail addresses can no longer be used in NickServ REGISTER or SET EMAIL commands for other nicknames, to prevent spamming of arbitrary addresses. 2002/09/22 Fixed bugs in socket buffer memory tracking. 2002/09/22 Added NetBufferLimit configuration directive and OperServ STATS NETWORK command. 2002/09/18 French langauge file added, courtesy of Elijah and Maxime 2002/09/15 -fno-strict-aliasing is now added to the compilation options for GCC to avoid overaggressive optimization. 2002/09/15 configure can now be forced to use GCC 2.96, though this is still not supported. It will also now look for gcc3 as an alternative before giving up. 2002/09/14 p12 "convert-db -h" now lists supported program types in alphabetical order. 2002/09/14 Removed unneded ALL parameter from LISTLINKS in nickserv/oldlink module. 2002/09/14 Fixed bug in NickServ ACCESS ADD. Reported by 2002/09/04 Fixed bug in handling Auspice databases in convert-db, and added support for Auspice 2.7. Reported by 2002/09/04 convert-db now converts nickname notes in Auspice databases to memos. 2002/09/01 Removed stray .o file left around in previous releases. 2002/08/30 configure now detects GCC 2.96 and refuses to use it. 2002/08/28 p11 Fixed bug in importing nickgroups with IDs >2147483647. Reported by Martin Pels 2002/08/27 Users can no longer LINK pseudoclient nicknames, for real this time. Reported by 2002/08/26 p10 Fixed potential bugs when removing modules with REHASH. 2002/08/26 Users can no longer LINK pseudoclient nicknames. Reported by 2002/08/26 Reduced memory usage in number-list processing by 56k. Suggested by Bryce Simonds 2002/08/26 Services now handles TOPIC messages with nick!user@host properly. Reported by Carsten Munk 2002/08/25 Added Hungarian language file, courtesy of Janos Kapitany 2002/08/23 Fixed various bugs in help/error messages, and removed unused messages from language files. 2002/08/23 Memos can no longer be sent while in read-only mode. 2002/08/23 Fixed bug causing desyncs on Bahamut with CSSetChannelTime. Reported by Russ Garrett 2002/08/22 Corrected errors in the language files. Helpful script provided by Jacek Margos 2002/08/15 Disallowed links to suspended nicknames in the nickserv/oldlink module. Suggested by Holger Baust 2002/08/15 pre9 Removed AUTODEOP and NOJOIN channel levels. 2002/08/15 Fixed crash on OperServ SQLINE COUNT. Reported by 2002/08/15 Fixed cosmetic bug when changing the language for another nickname. Reported by 2002/08/15 Fixed a trivial cosmetic error in NickServ IDENTIFY. 2002/08/14 A missing newline at the end of a configuration file no longer causes an error. Reported by Yaniv Gamzo 2002/08/13 pre8 Finished HTML documentation. 2002/08/13 Renamed httpd/redirect NickPrefix directive to NicknamePrefix. 2002/08/12 Fixed bug causing autokill exclusions to not work on Unreal 3.1. Reported by 2002/08/11 Fixed crash on database update with forbidden nicknames. Reported by Craig McLure 2002/08/10 pre7 Brought the example HelpServ help text (data/helpfiles/help) slightly more up to date. 2002/08/10 Added SQlineIgnoreOpers directive. Suggested by Ekim Engin 2002/08/10 Fixed delay in expiring unauthorized nicknames with NSNoAuthExpire set. Reported by David Orman 2002/08/09 Fixed crash on importing nicks with invalid nick groups. Reported by 2002/08/09 Added DefTimeZone configuration directive. Suggested by George Stamatiou 2002/08/09 Added workaround for double-mode (+oqoq, +kk) bug. 2002/08/09 Added SETCMODE debug command to OperServ. 2002/08/09 Updated trircd protocol module from suggestions by Yusuf Iskenderoglu 2002/07/29 Halfops can now set -h and +/-v on themselves. Reported by Dennis Sela 2002/07/28 pre6 Nicknames linked to the Services super-user nickname now get super-user privileges as well. Suggested by Shaun Guth 2002/07/28 Log messages are no longer output for SILENCE messages. Suggested by Marc-Andre A. Fuentes 2002/07/28 Fixed junk data getting output in Sirv database conversion. 2002/07/28 Fixed off-by-one bug in Epona support in convert-db. 2002/07/28 Added support for Sirv 2.9.0 databases to convert-db. Suggested by Gorkem Ogut 2002/07/23 The # character can now be used inside quoted strings in configuration files. 2002/07/22 Fixed crash when sending memos to offline users with MSNotifyAll disabled. Reported by 2002/07/20 Fixed bugs involving passwords with spaces in them. Reported by 2002/07/20 Databases are now properly written to disk after an import. 2002/07/20 Fixed bug causing data importing to fail. Reported by Yusuf Iskenderoglu 2002/07/18 GLINEs not set by Services are no longer cleared. (Unreal) 2002/07/18 Fixed bug causing debugging to always get disabled on startup. 2002/07/17 Corrected ChanServ AKICK documentation. Reported by Aragon Gouveia 2002/07/17 AJOIN and Unreal's MLOCK +L now check validity of channel name parameters. Reported by Aragon Gouveia 2002/07/17 An error message is now sent if modes +b/+e are used with MLOCK. Reported by 2002/06/24 pre5 Applied fix to format-string bug from version 4.5.41. 2002/06/23 pre4 Fixed infinite loop on non-Unreal servers. Reported by George Stamatiou 2002/06/21 pre3 Fixed bug preventing memo notification on IDENTIFY. Reported by and others. 2002/06/21 Modified configure to work on OSF/1. Reported by Yusuf Iskenderoglu 2002/06/19 Added support for autokill exceptions in Unreal. Suggested by 2002/06/19 Fixed bug allowing unidentified users to use INFO ALL on the nickname they are using. 2002/06/19 Unverified E-mail addresses are no longer shown except to the user and Services administrators, and are indicated unverified. Suggested by Ben Goldstein 2002/06/19 Fixed two sneaky logic bugs causing crashes in rare cases. Reported by Sean Kelly 2002/06/19 Fixed a typo in ircservices-chk. 2002/06/19 The initial access list entry for newly-registered nicks can now be disabled in modules.conf (NSFirstAccessEnable). Suggested by 2002/06/19 Fixed bug causing SECUREOPS to not work on servers without halfops support. Reported by George Stamatiou 2002/06/19 Added TMODE and +L (server language) support to trircd protocol module. Suggested by Yusuf Iskenderoglu 2002/06/18 Fixed "invalid nickname" errors on valid nicknames for many IRC daemons. Reported by Romek Krisztian 2002/06/18 Fixed crash in NickServ SENDPASS and AJOIN on unregistered nicks. Reported by 2002/06/17 pre2 XML importing is now done via the -import command-line option. 2002/06/16 Command-line options now take an "=" instead of a space between option name and value. 2002/06/14 The NickServ LINK command no longer accepts invalid nicks. Reported by 2002/06/13 Documentation fixed to conform to HTML 4.01 Transitional. 2002/06/13 Added a HELP COMMANDS topic to StatServ to match the other pseudoclients' help systems. 2002/06/11 Mode lock +L on Unreal now requires +l to be set as well, to match the IRC server's behavior. Reported by Aragon Gouveia 2002/06/11 AJOIN now prevents "channel" names not beginning in "#" from being added. Reported by Aragon Gouveia 2002/06/11 Fixed cosmetic bugs in some NickServ syntax error messages. 2002/06/11 Fixed bugs reported by Romek Krisztian : - Extra spaces no longer cause problems with some commands. - Spaces can now be used in passwords. - Port numbers no longer cause URLs to be rejected. - NickServ SET TIMEZONE parameter is now checked more carefully. - NickServ/ChanServ LIST and NickServ LISTEMAIL now check for bad Services admin parameters. 2002/06/09 In-use nicknames can no longer be linked. Suggested by Dennis Sela 2002/06/08 Fixed improper expiration when -noexpire option given. 2002/06/01 pre1 Fixed crash when using RunGroup configuration directive. Reported by Kieran 2002/06/01 NickServ SENDPASS can now be used on any nick, and no longer shows the E-mail address to avoid spam collection. Reported by Ben Goldstein 2002/06/01 Fixed improper removal of SHUNs in Unreal. 2002/06/01 Fixed cosmetic bug in NickServ SETAUTH. Reported by Ben Goldstein 2002/05/30 Fixed bug in MemoServ SAVE causing crashes. Reported by 2002/05/26 pre0 Fixed bugs in HTTP utility routines. Reported by Romek Krisztian 2002/05/24 a35 Fixed crash on use of unregistered nicks. 2002/05/23 Fixed OperServ SU password not being saved. Reported by 2002/05/23 a34 Fixed crash caused by trying to use forbidden nicks. Reported by 2002/05/23 Fixed spurious log warnings on forbidding in-use nicknames. 2002/05/22 Fixed bug allowing all users to use the ChanServ TOPIC command. Reported by Mark Hetherington 2002/05/17 Users are now no longer auto-joined to channels they are already in when identifying for their nick. 2002/05/15 Fixed bugs in OperServ EXCEPTION MOVE. 2002/05/15 Fixed bug causing NickServ LIST to not return any results. Reported by Romek Krisztian 2002/05/14 Services admins can now modify channel access lists without identifying for the channel. Suggested by Panagiotis Kefalidis 2002/05/14 Rewrote database saving routines to avoid data loss. 2002/05/14 a33 Log filename may now contain %y, %m, or %d (replaced by the current year, month, or day) for automatic log rotation. 2002/05/14 Renamed default log, PID, and MOTD files to "ircservices.*" instead of "services.*". 2002/05/13 Added crontab script (ircservices-chk) to restart Services as needed. Suggested by 2002/05/13 Added NickServ LISTEMAIL command. Suggested by Finny Merrill 2002/05/13 Services admins can now exceed nickname and channel registration limits. 2002/05/13 Added NSRegEmailMax configuration directive for limiting the number of nicknames registered per address. Suggested by Finny Merrill 2002/05/13 Fixed a bug causing failed connections to not be detected when Services is not running in debug mode. 2002/05/13 Failed connections are now logged normally instead of as debug messages. 2002/05/13 Socket connections should now work properly on FreeBSD instead of failing most of the time. Reported by Ben Goldstein 2002/05/13 SMTP mail module now checks for " in From: names to avoid malformed headers. 2002/05/13 a32 ChanServ no longer removes chanops from IRC operators who give themselves or others +o via an ircd feature. Reported by Romek Krisztian 2002/05/13 Added StatServ support to httpd/dbaccess module. 2002/05/12 Changed the default required access level for the ChanServ CLEAR command from founder-only to 100 (SOP). 2002/05/12 The ChanServ LEVELS help no longer mentions the SOP/AOP/etc. commands if the access-xop module is not loaded. 2002/05/12 Fixed a bug causing ChanServ LEVELS DESC help to be displayed for all LEVELS help queries _except_ LEVELS DESC. 2002/05/10 Fixed failure to recognize protocol features when using static modules, and added extra checks to ensure variables are set up correctly. 2002/05/09 Improved dynamic module usability check in configure script to handle OpenBSD correctly. Suggested by Chris Plant 2002/05/08 Changed init.c to avoid a compilation warning under GCC 3. Reported by Craig McLure 2002/05/07 StatServ SERVERS DELETE and other root-only commands now say "permission denied" instead of "syntax error" when used by a non-root IRC operator. 2002/05/07 Fixed cosmetic bug in AJOIN list-full error message. Reported by Romek Krisztian 2002/05/03 a31 Channel user modes are now rechecked when a user identifies for their nickname. 2002/05/02 Added appropriate error messages for temporary sendmail() failures. 2002/05/02 Fixed minor bug causing ChanServ to try to enter the same channel twice on autokicks. 2002/05/01 Fixed a race condition allowing the first user on a channel to give themselves +v before Services deopped them. 2002/05/01 Added httpd/top-page module. 2002/05/01 Added Chunky Monkey IRCD protocol module (protocol/monkey), courtesy of Chris Plant 2002/05/01 Channel mode changes are now sent by the server rather than ChanServ for Bahamut, to avoid a problem with setting +r. 2002/05/01 a30 Renamed nick-authorization checking macros (nickserv.h, nick_* -> user_*). 2002/05/01 Unified %d/%u/%ld/%lu usage in *printf() calls. 2002/04/30 Fixed spurious WALLOPS messages when server socket is closed. 2002/04/30 Merged common code for akills/etc in httpd/dbaccess module. 2002/04/30 Fixed incorrect nick-kill warning messages with forced nick changing. Reported by Panagiotis Kefalidis 2002/04/24 Fixed failure to set user mode +a for Services admins on Bahamut and trircd. Reported by Panagiotis Kefalidis 2002/04/24 Added back missing NetworkDomain directive to modules.conf. Reported by Yusuf Iskenderoglu 2002/04/24 Removed EsperNet protocol module as development on that server has stopped. 2002/04/24 Fixed bug causing crashes on NickServ SET with no parameters. Reported by Panagiotis Kefalidis 2002/04/17 a29 Fixed a warning in modules/nickserv/main.c. 2002/04/17 NickServ AUTH now keeps track of bad authorization codes, and kills users for multiple attempts as with passwords. 2002/04/17 SQlines are now checked after nickname changes. 2002/04/17 Fixed cosmetic bug with EXCEPTION LIST on an empty list. 2002/04/17 Fixed security hole with guest nicks allowing users to evade Services' notice; the guest nick number is now re-randomized if the next nick to be assigned is in use. 2002/04/17 Added autokill exclusion support to xml-import. 2002/04/14 Fixed a cosmetic bug in the configure script. 2002/04/12 Newly-registered nicks no longer have kill protection set when not authorized (when the mail-auth module is in use). Reported by Ben Goldstein 2002/04/12 Fixed bug in NickServ AUTH replies. 2002/04/12 Fixed improper warning when loading channel database. Reported by Mark Hetherington 2002/04/10 Fixed bugs in trircd-services database conversion support. Reported by Yusuf Iskenderoglu 2002/04/09 a28 Added support for autokill exclusions. Suggested by Yusuf Iskenderoglu 2002/04/09 Fixed bug causing NickServ SET INFO to ignore all words given after the first one. Reported by Romek Krisztian 2002/04/09 Fixed bug causing xml-import to ignore all channels. Reported by Adrian Cantrill 2002/04/08 Autokills are now sent after wallops when the ImmediatelySendAkill option is set. 2002/04/08 Improved trircd IRC server support and trircd-services database conversion support, thanks to Yusuf Iskenderoglu 2002/04/08 Reworked memo expiration logic as below. 2002/04/05 a27 Reworked expiration logic to avoid long blocks checking for expired data and missed expirations. 2002/04/05 Fixed improper aborts when reading in corrupted databases. 2002/04/01 Fixed crash when certain commands did not receive enough parameters. Reported by several people. 2002/03/30 a26 Fixed potential buffer overflow in HTTP daemon. 2002/03/27 Fixed bug processing commands with extra spaces in them. 2002/03/26 Fixed bug causing nickname password to be sent for ChanServ SENDPASS. Reported by George Stamatiou 2002/03/26 Fixed compilation warnings in modules/chanserv/check.c. 2002/03/26 Fixes and changes suggested by Mark Hetherington : - Changed "akill" to "autokill" in configuration options. - Fixed bug allowing guest nicks to be registered/linked. 2002/03/19 Fixed "ban not found" message when removing an autokick ban. Reported by Mark Hetherington 2002/03/19 a25 Fixed a bug in socket write buffer handling causing data to be lost. Reported by Mark Hetherington 2002/03/14 Fixed a bug causing crashes with a corrupt database. 2002/03/13 Fixes and changes suggested by Mark Hetherington : - Fixed bug causing nick groups with ID 0 to be created. - Fixed cosmetic bug with NickServ UNLINK FORCE. - Fixed bug in bugfix for linking of guest nicks. - Added support for SVSMODE on Dreamforge/Bahamut/Unreal. 2002/03/11 a24 Fixed bug in LINK allowing guest nicks to be registered. Reported by Mark Hetherington 2002/03/01 Fixed crash with Unreal and +S clients. Reported by Mark Hetherington 2002/02/28 Added AllowRaw configuration directive (disabled by default). 2002/02/28 Optimized processing for MSNotifyAll with MemoServ SEND. 2002/02/28 The main OperServ module can no longer be unloaded via the OperServ REHASH command (doing so would cause a crash). 2002/02/28 Fixed a potential crash if databases got corrupted. 2002/02/28 Fixed CSRestrictDelay option (finally!) to not give free rides to users who would be unprivileged anyway, and enabled it by default (with a timeout of 15 seconds). 2002/02/28 a23 Added SETAUTH command to nickserv/mail-auth module. Suggested by Mark Hetherington 2002/02/28 Fixed security hole allowing users to be considered "identified" for nicks with an authorization code set. 2002/02/27 Added options to NickServ LIST and httpd/dbaccess to filter by and display nickname authorization codes. Suggested by Mark Hetherington 2002/02/27 Added options to nickname/channel lists (httpd/dbaccess) to display only forbidden, suspended, or non-expiring items. 2002/02/27 Added support for GET query strings in HTTP server. 2002/02/26 Fixed bug resulting in "not identified" after nickname registration. Reported by Ben Goldstein 2002/02/26 Prevent use of the NickServ UNLINK command on self. 2002/02/26 Fixed bug causing autokick masks to get corrupted on add. Reported by Mark Hetherington 2002/02/26 Fixed bug causing database load errors on certain types of bad data. Reported by Mark Hetherington 2002/02/22 a22 2002/2/22 22:22:22 commemorative release. 2002/02/16 Fixed bug causing guested nicks to keep getting guested and noexpire/forbidden flags to disappear from nicks. Reported by Mark Hetherington 2002/02/15 a21 Fixes and changes suggested by Mark Hetherington : - The httpd/dbaccess module now displays suspension information for suspended nicks and channels. - NickServ HELP REGISTER now emphasizes that a _valid_ E-mail address is required with mail-auth. - Clients with the Unreal +S (service pseudoclient) mode are no longer affected by channel settings. - Forbidden nicks can now be dropped with DROPNICK. 2002/02/12 Added NSFirstAccessWild configuration directive. 2002/02/12 Fixed bug loading databases with a "#" channel registered. 2002/02/12 Fixed crash in ChanServ INFO for no-expire channels. Reported by Mark Hetherington 2002/02/11 Fixed bug in handling of failed socket connections. Reported by Ben Goldstein 2002/02/09 Fixed help messages relating to channel access levels to reflect the updated levels. Reported by Martin Pels 2002/02/09 Added TOPIC access level for ChanServ TOPIC command. 2002/02/09 Changed AUTODEOP and NOJOIN access levels to -1 and -100. 2002/02/08 a20 Mode changes from a single event are now merged into a single mode message even if MergeChannelModes isn't set. 2002/02/08 Made ChanServ STATUS command available to normal users. 2002/02/08 Rescaled access levels to make better use of the available range (itself reduced to -999..999). 2002/02/08 Fixed bug causing modes for one channel to get sent to a different one in certain cases. 2002/02/08 EnableGetpass, NSEnableRegister, and CSEnableRegister options are now properly handled on reconfigure. 2002/02/07 Marked the mail/sendmail module as DISCOURAGED in example-ircservices.conf. 2002/02/07 Prevent registration of channel names not starting with "#" to avoid problems with ircds with other channel types. 2002/02/07 Fixes and changes suggested by Mark Hetherington : - GETPASS was not actually disabled if !EnableGetpass. - Cosmetic fix to ChanServ HELP COMMANDS for IRCops. - More robust checking on autokick masks. - The channel "#" can no longer be registered or forbidden. - Fixed crash on ChanServ AKICK from unregistered nick. - Services admins no longer duplicated in operator list. 2002/02/06 Fixed crash in SENDPASS command. Reported by SiliconAI 2002/02/06 Fixed bug causing confirmation messages for MemoServ SEND to not be sent. Reported by Mark Hetherington 2002/02/05 a19 Fixed corrupted messages after REHASH. Reported by Mark Hetherington and others. 2002/02/05 Added wallops on OperServ REHASH or SIGHUP. Suggested by Mark Hetherington 2002/02/05 Fixed unregistered nicks getting a STATUS of 1. Reported by Mark Hetherington 2002/02/05 Fixed crash with ChanServ SET RESTRICTED on new channels. Reported by Russ Garrett 2002/02/04 Fixes and changes suggested by Mark Hetherington : - LIST command no longer shown to non-opers if ListOpersOnly enabled. - GETPASS can now be disabled. - HELP messages on Unreal no longer cause errors. - Signals no longer cause select() messages in log. - Fixed bug causing oper.db to grow relentlessly. - Fixed bug in reading/writing exception.db. 2002/02/03 Renamed ChanServ SET TOPIC command to TOPIC. Suggested by Jollino 2002/02/03 Fixed bug causing autovoice to break on servers without halfops. Reported by Russ Garrett 2002/02/03 Updated numerous help messages. 2002/02/03 a18 Fixed bug causing channel levels to get reset on a LEVELS DISABLE. Reported by Russ Garrett 2002/02/02 Fixed bug where founder-only channel levels would show up as "10000" in ChanServ LEVELS LIST. 2002/02/02 Added command reference and configuration file documentation. 2002/02/02 Fixed typos/formatting in language files (no content changes). 2002/02/01 Fixed bugs in news module causing ADD to use bad item numbers and DEL to not work at all. Reported by Kevin 2002/02/01 Fixed minor typos reported by Russ Garrett 2002/01/29 Fixed bug causing access levels for ChanServ commands to be incorrectly checked. Reported by Todd Punderson 2002/01/29 Added URL and E-mail fields to httpd/dbaccess channel information display. 2002/01/29 Fixed cosmetic bugs in NickServ DROPNICK output and httpd/dbaccess nickname information display. Reported by Martin Pels 2002/01/28 Fixed crash in nickserv/oldlink LISTLINKS command. 2002/01/28 a17 Fixed BUG message occurring when a nick with registered channels was dropped. Reported by Martin Pels 2002/01/28 Fixed potential crash when dropping in-use channels. 2002/01/28 Fixed crash when expiring nicks with registered channels. Reported by Martin Pels 2002/01/28 Fixed bug causing oper help for NickServ SET to not be shown. Reported by Martin Pels 2002/01/28 Fixed bug in MemoServ SET LIMIT where DEFAULT was interpreted as 0 and anything else as DEFAULT. Reported by Martin Pels 2002/01/28 Removed IrcIIHelp pseudoclient and ircII help files. 2002/01/24 Fixed bug in configure that caused the data directory to be asked for on the first run even if -defaults was given. 2002/01/24 Added the OperServ SERVERMAP command. 2002/01/24 a16 MemoServ no longer requires ChanServ to load. 2002/01/24 Sessions module (operserv/sessions) no longer requires autokill module in order to load. 2002/01/24 Got OperServ LISTSERVERS debug command working. 2002/01/24 Fixed bug causing time of maximum user count to be set to maximum user count. 2002/01/24 Fixed a cosmetic bug in OperServ STATS uptime display. 2002/01/24 Fixed up OperServ STATS ALL processing. 2002/01/24 Channel last-used time properly set again on auto-op. 2002/01/23 Fixed several bugs in channel auto-mode handling. 2002/01/23 Fixed GLINE (autokill) handling on ircu 2.9.32. 2002/01/23 Main nick now indicated by "*" in NickServ LISTLINKS. 2002/01/23 NickServ UNLINK now sets main nick to current nick when unlinking main nick. 2002/01/23 Fixed bug causing main nick to change on UNLINK. 2002/01/23 Fixed memory leak with -log command-line option. 2002/01/23 Fixed handling of overlong mode parameters in set_cmode(). 2002/01/22 Made pack_ip() syntax check more robust. 2002/01/22 username@[IP-address] E-mail addresses are now permitted. 2002/01/22 Added checks on configuration parameter values for systems with a 64-bit `long' type. 2002/01/22 Users who get changed to guest nicks will no longer be affected by SQlines on guest nicks. 2002/01/22 If a client matches an SQline (and no SGline or SZline) and the IRC server supports forced nick changes, the client will be sent a 432 (invalid nickname) reply and have its nick changed instead of being killed. 2002/01/22 A 433 (nick in use) reply is no longer sent as soon as a client connects with a registered nickname. 2002/01/21 a15 Added preliminary Win32 support via Cygnus. Assistance from Andre Arruda 2002/01/21 Changed hostmask creation code to only mask off the last part of an IP address, even for (former) class A/B addresses. Suggested by Sly. 2002/01/21 Fixed bug parsing incomplete user@host masks. Reported by Sly. 2002/01/21 convert-db is now installed in data directory by make install. 2002/01/21 Renamed executable file from "services" to "ircservices", and main configuration file to "ircservices.conf". 2002/01/21 "make spotless" target may now also be called as "distclean". 2002/01/21 Fixed cosmetic bug in "configuration file not found" error. 2002/01/21 Removed dependency on Perl for static compilation. 2002/01/20 Fixed bug in usage of `tar' program. 2002/01/19 Added NOQUIT support to trircd protocol module. Suggested by Yusuf Iskenderoglu 2002/01/19 Renamed import-db to convert-db. 2002/01/18 Made PTlink database importing more robust. 2002/01/18 Fixed bug causing import-db to fail with trircd databases. Reported by Yusuf Iskenderoglu 2002/01/18 a14 Fixed lots of errors in import-db. 2002/01/17 Added trircd handler to import-db. 2002/01/17 import-db no longer imports channel access levels (LEVELS command settings); all channels are reset to default. 2002/01/16 Changed default access level for ACC-CHANGE to 4 to match behavior for *OP (HOP users allowed to add VOPs). 2002/01/16 Removed unneeded code in ChanServ do_opvoice(). 2002/01/16 Added ChanServ KICK command. Suggested by Yusuf Iskenderoglu 2002/01/16 ChanServ REGISTER now requires identification, not just recognition, for the registering user's nick. Suggested by Hans v Steenbergen 2002/01/16 Fixed bug causing module symbols to not resolve under FreeBSD. Reported by Todd Punderson 2002/01/15 Added quote parsing to allow SGLINEs with spaces in them. Reported by Yusuf Iskenderoglu 2002/01/14 a13 The Services stamp of the last user to identify for a nick is now stored in the permanent database; new user handling modified to distinguish between users with and without Services stamps on supported IRC servers. Suggested by Finny Merrill 2002/01/14 Fixed bug causing crashes when saving databases with expired nicknames. Reported by Todd Punderson 2002/01/14 a12 Services will now try to remove or raise the core dump size limit when configured with -dumpcore. 2002/01/14 Fixed bug causing -log command-line option to not work. 2002/01/14 Moved LogMaxUsers, WallGetpass, and WallSetpass to services.conf (where they belong). 2002/01/14 Made OperServ RESTART work correctly again. 2002/01/14 Fixed crash on REHASH when StatServ is in use. Reported by Martin Pels 2002/01/14 Fixed broken-connection log message to be slightly more useful. 2002/01/14 Fixed crash on remote SQUIT. Reported by Martin Pels 2002/01/13 Ignored data elements no longer cause XML importing to abort immediately. 2002/01/13 Fixed bug in XML import causing crashes when called twice. 2002/01/13 Removed trailing null bytes from passwords in XML export. 2002/01/13 Fixed bug in XML export causing crashes when OperServ SU password is not set. 2002/01/13 Rewrote import-db for 5.0; new database is now output as XML. 2002/01/11 Mode locks are now saved as character strings in XML export. 2002/01/08 a11 Added XML import module (xml-import) and dbaccess link. 2002/01/07 Added automatic parsing of form variables to HTTP server. 2002/01/06 Fixed memory leak (forgetting to free nickgroup ignore list). 2002/01/04 Fixed MemoServ bugs occurring with default memo limits. 2002/01/03 Removed duplicate "flags" line in NickGroupInfo XML output. 2002/01/02 Modified XML export format to make it easier to parse. 2002/01/01 Added AJOIN command to NickServ HELP COMMANDS. Reported by Russ Garrett 2002/01/01 Fixed bugs with MemoServ SET FORWARD and memo forwarding. Reported by Russ Garrett 2001/12/26 a10 Fixed bug causing strange channel user modes to be auto-set. Reported by Russ Garrett 2001/12/26 Added access levels link to ChanServ information page (httpd/dbaccess). Suggested by Russ Garrett 2001/12/26 Fixed bug in auth-password module causing Protect lines to be ignored. Reported by Russ Garrett 2001/12/26 Fixed bug in news database writing causing corruption. 2001/12/26 Fixed missing slash on closing tag in XML export module. Reported by Russ Garrett 2001/12/26 Fixed callback ordering bug causing S-line kills to leave "ghost" users in the session count. Reported by 2001/12/26 Fixed off-by-one bug causing corrupted output in XML export module. Reported by Russ Garrett 2001/12/25 a9 Rewrote move_exception() for modules. 2001/12/24 Fixed off-by-one error in OperServ EXCEPTION MOVE. Reported by 2001/12/22 Fixed crash using LEVELS SET on a newly-registered channel. Reported by 2001/12/22 configure script now checks for presence of hstrerror(). Reported by Michael Trebilcock 2001/12/22 Added news display to httpd/dbaccess module. 2001/12/21 Protocol modules now clean up after themselves on exit. 2001/12/21 Added support for tokens with Unreal. Suggested by Yusuf Iskenderoglu 2001/12/21 ChanServ OP/VOICE/etc. no longer set redundant modes. Suggested by 2001/12/20 Fixed various bugs with clearing channel modes. 2001/12/20 Added support for Unreal UMODE2 message. Suggested by codemastr 2001/12/20 a8 SIGHUP now re-reads the configuration files instead of restarting. 2001/12/20 SIGUSR2 no longer opens log file if it was closed before. 2001/12/20 Added reconfiguration support for modules. 2001/12/20 Renamed AkillReason config directive to AutokillReason. 2001/12/19 Fixed crash when unloading modules on exit. 2001/12/17 Fixed infinite loop on signal. Reported by Georges Berscheid 2001/12/14 Fixed various problems caused by signal timing. 2001/12/14 Fixed compile error on FreeBSD. Reported by Ben Goldstein 2001/12/13 a7 Added ability to re-read configuration files. 2001/12/13 Fixed infinite loop in channel mode checking. 2001/12/13 Fixed bug in mode merging where mode letters and parameters got out of sync with large number of modes at once. 2001/12/13 Cleaned up configuration file handling. 2001/12/11 Converted module documentation to HTML. 2001/12/09 Converted FAQ to HTML. 2001/12/07 Added xml-export module. 2001/12/05 Added "list is empty" replies for NickServ ACCESS LIST. 2001/12/05 Fixed error messages for forbidden nicks when used with NS AJOIN LIST or MS IGNORE LIST . 2001/12/04 Fixed CSEnableRegister directive not being recognized. 2001/12/04 a6 Added ChanServ SET HIDE. Patch provided by Yusuf Iskenderoglu 2001/12/04 Added NickServ autojoin module, provided by Yusuf Iskenderoglu 2001/12/04 Added MemoServ IGNORE module, provided by Yusuf Iskenderoglu 2001/12/04 Fixed bug in httpd/auth-password module causing crashes on malformed HTTP requests. 2001/12/01 Added locking for data directory. 2001/12/01 Changed XYZFile configuration directives to XYZFilename. 2001/12/01 Renamed KillClonesAkillExpire directive (operserv/main) to KillClonesAkill and made it optional. 2001/12/01 Merged SessionLimitAkill and SessionLimitAkillReason configuration directives (operserv/sessions). 2001/11/26 Added NOQUIT support (for Bahamut/Unreal), based on code from Yusuf Iskenderoglu 2001/11/26 Fixed bug allowing old (incompatible) modules to be loaded. 2001/11/26 Fixed stupid bugs in httpd/auth-password and operserv/news modules. Reported by Finny Merrill 2001/11/26 Fixed bug in configure causing -dumpcore etc. to not work. 2001/11/25 a5 Nick and channel expire times may now be set < 1 day. 2001/11/25 Fixed misleading note about autokill reasons "not being displayed to the user" in OperServ AKILL help text. Reported by Elijah 2001/11/25 Removed BadPassSuspend configuration directive. 2001/11/25 A warning is now sent when a user will be disconnected after one more bad password. 2001/11/25 +a is no longer set for Services admins when they are not opered. Suggested by Yusuf Iskenderoglu 2001/11/25 config.h and Makefile.inc are no longer modified if their contents are unchanged, to avoid unneeded recompilation. 2001/11/25 Added -defaults, -bindest, -datdest options to configure. 2001/11/25 Moved CDEFS compilation options from Makefile to configure. 2001/11/25 Added memo expiration capability. Suggested by Mauritz Antunes 2001/11/25 Fixed socket buffering bug causing all sorts of weirdness. 2001/11/25 Version information moved to version.c (instead of .h). 2001/11/25 Fixed infinite loop bug in ChanServ SET MLOCK. 2001/11/25 Added support for Unreal +f/+L channel modes. 2001/11/24 Fixed bug in Japanese EUC->SJIS code conversion. 2001/11/24 Initial access mask is no longer displayed in NickServ REGISTER response when access masks are in use. 2001/11/24 Nickname parameter for ChanServ OP/VOICE/etc. now defaults to the user sending the command if not given. 2001/11/24 Fix really stupid bug making everyone always identified for their nick. 2001/11/24 The build number in version.h is now updated every build instead of just when a main source file changes. 2001/11/24 Added httpd/dbaccess module and removed obsolete listnicks/listchans handling. 2001/11/24 Added httpd/auth-ip module. 2001/11/24 Added SET TIMEZONE to NickServ. 2001/11/24 Fixed stray s_NickServs in ChanServ HELP responses. 2001/11/24 Autokick set and last-used times are now recorded. 2001/11/24 Added NSEnableRegister and CSEnableRegister directives. 2001/11/23 a4 Added support for differing channel owner modes (+q in Unreal, +u in trircd). 2001/11/23 Added httpd/auth-password module. 2001/11/23 Properly abort loading if protocol_nickmax+1 > NICKMAX. 2001/11/23 Added trircd4 protocol module, courtesy of Yusuf Iskenderoglu 2001/11/23 SENDPASS modules now properly check for trapdoor encryption. 2001/11/22 Added SMTP mail sending module. 2001/11/22 Added MemoServ FORWARD module. 2001/11/21 Fixed bug with SENDAUTH command response. Reported by Andrew Kempe. 2001/11/21 Fixed crash when an unregistered nick enters a channel. 2001/11/21 Added OperMaxExpiry directive to autokill module. Suggested by Finny Merrill 2001/11/19 a3 Moved `authstat' field from NickGroupInfo to NickInfo (to stop people from stealing privs off an identified nick). 2001/11/19 Fixed bug in alpha 2 preventing compilation. 2001/11/17 a2 Fixed bug preventing unregistered nicks from getting channel founder privileges with IDENTIFY. 2001/11/17 Reverse mode changes by users who will be deopped after channel mode merging (prevents stealing +v with server ops). Reported by Ali Sor 2001/11/17 Fixed infinite loop (stack overflow) bug with MLOCK -k. 2001/11/14 Fixed bug in data/Makefile causing make install to crash. Last 2 reported by Martin Pels 2001/11/14 Fixed nick getting linked to itself by NickServ LINK. Reported by Finny Merrill 2001/11/14 Fixed bugs loading linked and forbidden nicks. 2001/11/14 Backup database files are no longer overwritten on update. 2001/11/12 OperServ SU can now be used by any IRC operator if NickServ is not loaded. 2001/11/11 Fixed bug causing NickServ submodules to not release main NickServ module on exit. 2001/11/11 Added more error checking to [un]use_module(). 2001/11/11 Fixed failure to unload some modules. 2001/11/11 Fixed bug recording real name for NickServ INFO command. Last 2 reported by Finny Merrill 2001/11/10 a1 Moved README and README-5.0 content to docs/ directory (new HTML manual, incomplete). 2001/11/08 Several outdated command-line options removed. 2001/11/08 Select new data directory when executable directory is changed in configure. 2001/11/08 Fixed potential invalid pointer bug with unloading modules. 2001/11/08 Unload modules on exit. Fixes RESTART bug reported by Finny Merrill 2001/11/07 Added database module support for StatServ. 2001/11/07 Eliminated warnings from malloc(0) and calloc(0). 2001/11/07 Added support for SQLINE on Unreal servers. 2001/11/07 Fixed bug loading nicknames registered in version 5.0 (as opposed to imported). 2001/11/07 Fixed crash when using HELP command with no parameters. 2001/11/07 Fixed failure to start up when databases did not exist. Last 3 reported by Finny Merrill 2001/11/07 Fixed compilation problem on FreeBSD. Reported by Andrew Kempe. 2001/11/07 Changed configure's default data directory selection to be slightly more intelligent, and fixed a bug with spaces in target directory names. 2001/11/05 a0 Redesigned channel access level system. 2001/11/05 Added EsperNet protocol module, courtesy of Bryce Simonds 2001/11/04 Added HTTP nick/channel redirect module (httpd/redirect). 2001/11/04 Added SENDPASS modules for NickServ and ChanServ. 2001/11/03 Added HTTP server module (httpd/main). 2001/11/02 Added checks for pathologically long configuration files. 2001/11/02 SZLINE-equivalent support added for Unreal protocol. 2001/11/02 Autokills and S-lines are now sent on startup if the relevant ImmediatelySend... option (modules.conf) is set. 2001/11/01 NickServ/ChanServ no longer allow suspended nicks/channels to be dropped (which would cancel the suspension). Reported by Michael Haisley 2001/11/01 NickServ DROP now drops all linked nicks at once; DROPNICK command added for Services admins to drop other nicks. DROP now requires a password to avoid accidents. 2001/10/31 NickServ now records nicks which a user has identified for as long as the user remains online (and not split). 2001/10/31 OperServ now writes a log message whenever a non-oper sends a command to it. 2001/10/31 Added NickServ SET MAINNICK command. 2001/10/29 Added DEFAULT option to MemoServ SET LIMIT (admin version). 2001/10/29 Completed initial version of new nick link system. 2001/10/28 OperServ RAW is now limited to the Services superuser. 2001/10/01 The default options for new channels can now be set in the configuration file (CSDef...). 2001/10/01 Make sure server names to JUPE are valid (contain a period). 2001/10/01 OperServ no longer allows the same server to be juped twice. 2001/10/01 Fixed "no such server" error when SQUITting a juped server. Reported by codemastr 2001/09/30 user@host of command sender is now logged as well as nick for FORBID/SUSPEND of both nicks and channels. 2001/09/30 Added CSSetChannelTime configuration directive. Suggested by Finny Merrill 2001/09/30 NS/CS SET PASSWORD now obeys ShowPassword config setting. 2001/09/30 Added ability to compile modules statically; configure will select static/shared depending on the system. 2001/09/29 Added support for S-lines (SGLINE/SQLINE/SZLINE). 2001/09/29 Renamed "StaticAkillReason" configuration directive (operserv/akill module) to "AkillReason"; the reason in the autokill can be inserted with "%s". 2001/09/28 Added support for nickname IP address when using Bahamut. Suggested by Yusuf Iskenderoglu 2001/09/28 KILLCLONES no longer says "AKILL added" when the autokill module is not in use. 2001/08/22 Added SetServerTimes configuration option for Unreal. Suggested by Finny Merrill 2001/08/10 Nickname passwords, URLs, and E-mail addresses are now shared among all linked nicks in a group. 2001/08/10 Services root privilege obtained with SU now remains effective as long as the user is connected. 2001/08/06 Added NickServ AUTH module to allow for verification of E-mail addresses. 2001/08/06 NickServ REGISTER no longer displays the user@host mask in its response if access lists are not in use. 2001/08/06 NickServ RECOVER/RELEASE/GHOST no longer check the access list for the target nickname; the correct password must be given in order to use the command. 2001/08/06 Made nickname access list support optional and moved it to a separate module. 2001/08/03 Added initial mail-sending support. 2001/07/06 Modified configure to accept GNU-style "--option[=value]" options. 2001/07/06 Moved DUMPCORE option from configure script to Makefile. 2001/07/06 Added "-prefix" option to configure script. 2001/07/06 Moved Services log filename from config.h to services.conf. 2001/07/06 Moved group to run as and file umask from configure script to services.conf. 2001/07/05 Configure script now derives default data directory from program directory path. 2001/07/05 Modularized encryption code. 2001/07/05 Added rule to lang/Makefile to create `index' from en_us.l. 2001/06/28 Removed workaround for broken encrypted passwords. 2001/06/28 Moved network domain name setting from configure script to module configuration file. 2001/06/18 NSDefNone configuration directive removed (the default is now no options set). 2001/06/13 OperServ *NEWS LIST now lists in newest-first order. 2001/06/13 The last time of use is now recorded for each autokill and can be seen with the AKILL VIEW command. 2001/06/10 Changes to channel successors are now logged. 2001/06/10 Removed registered nick matching from autokicks. 2001/06/09 Last seen user@host is now shown to nick owner and Services admins in NickServ INFO even if ALL is not given. 2001/06/09 Newly registered nicks now use a "use default language" setting which obeys changes in DEF_LANGUAGE. Suggested by Jacek Margos 2001/06/09 Completed redesign of nick linking system. 2001/06/08 ChanServ INFO ALL will now show the last topic and setter regardless of channel modes. 2001/06/08 Don't show nick E-mail addresses in ChanServ INFO or ACCESS/AKICK LIST. 2001/05/23 Don't allow servadmin ACCESS LIST on forbidden nicks. 2001/05/21 Last seen time is now set when changing nicks. 2001/04/24 Initial Guest nick number (for NSForceNickChange) now random. 2001/04/24 Fixed potential bugs in JOIN/PART handling and +v checks. 2001/04/23 langcomp now removes output file on errors. 2001/03/21 Only set umode +a on identify if the user is opered. 2001/03/18 Services admin/etc. help messages are now visible to all (and only) IRCops. 2001/03/18 Removed old clone checking code (CheckClones). 2001/03/18 Fixed bug setting NSEnforcerUser when it contains an "@". 2001/03/11 Added support for configuration directives for modules. 2001/03/11 Fixed buggy /whois replies. 2001/03/10 Initial module support completed. Idea initially suggested by 2001/03/10 Code base split off from version 4.5.8. *** Change log for version 4.5 and earlier versions is in Changes.old ***