1.0 Beta 1 * Enough optimizations to shake a very big stick at * Added asyncronous DNS * Changed /MODULES to allow simplified output for non-opers * Added module flags to /MODULES for opers * Added /UNLOADMODULE * Added /LOADMODULE * Added resource tracking for modules * Added extra log output for oper success and failure * Added hostname checking for opers (someone left it out *looks around nonchalantly*) * Added module API OnUserPostNick method * Added E:Lines and /ELINE (ban exceptions) * Security fixes to /MODE and /TOPIC * Fixed a cosmetic bug in /WHO * Fixed random crashes when user connecting * Fixed 'unlikely' crash if nick was changed before dns lookup completed * Fixed to actually check the password of linking servers (someone left this out too!) * Added error checking to make sure opertypes exist before opering a user! * Added 005 handling for modules * Added onKill event for modules * Added OnModuleLoad event for modules (notified of all module loading) * Added tag * Added ability to disable any command for non-opers * Added customizable ping frequency to * Added optional module path to the configuration file * Added support for Rehashing to allow adding and removal of modules * Added module VersionFlags support * Fixed a resolver issue (weird segfault on gentoo?) in server linking * Changed the loglevel of some startup failure messages to DEFAULT (were DEBUG) * Optimized connects - motd is sent faster * InspIRCd now logs value of to the logfile on failure * Added new tags, allows dynamic banlist sizes on a per channel basis rather than hard coded or network wide * Fix for bug #39, m_redirect returning invalid/random value for OnUserPreJoin method of the module class * Added code to shutdown listening sockets on exit * Added pid file support, and documentation for it * Fixed string format vunerability, thanks again to the #ratbox people for helping find it * Fixed 005 numeric to only output 13 tokens per line (thanks anfl) * Replaced some 005 constants with their configured values * Fixed "error in free()" and other bugs going to open sockets * Config files read by the ircd are now chmod'ed 0600 * Fixed parsing error with comments that have tabs before them * Added implementation of strlcpy and strlcat for systems that dont have it * Fixes to crash when setting the key of a channel youre not a member of * Fixed issue where failing modules would bail by calling exit (deprecated) -- modules should now just disable their functionality if they are missing data * Added GetVersion() to m_showwhois.cpp * m_chanprotect.so fixed to take away +q and +a when the user parts the channel (double DOH) * Added 005 numeric handling to most of the modules * Added m_hostchange module, our own homebrew implementation of the unreal pay module! * Added m_nicklock module, a module which allows opers to lock a user to a nickname until they quit * Added m_operlevels, prevents opers designated as above other opers from being killed * Fixed Crash bug cause by multiple declarations of 'Srv' in m_randquote.so (Bug #35) * Added m_remove by om, uses a force part to replace a kick to thwart auto rejoin * Added module to restrict channel creation to opers only (requested by [ed]) * Added a module at request of [ed] which stops anyone messaging all but opers * Added m_silence.so - implementation of /SILENCE command * Added ./inspircd (start|stop|restart|rehash|status|cron|Cheese-Sandwich) (Happy luigiman?) * Made a slightly nicer method for .Makefile.inc * Updated ./configure to reflect the above changes. * Removed reference to depricated ./makeconf and updated command to exec to build the daemon. * Added dynamic src/modules/Makefile generation, during ./configure the script will search modules for /* $CompileFlags: */ and append any given flags to its g++ line. * Startup script modified to kill -9 if a kill -TERM fails. * Makefile will ignore if cp fails to copy the binaries. * Added to the example config (commented out by default!) * Documented /LOADMODULE and /UNLOADMODULE plus new /MODULES behaviour * New docs to match extra module Version class stuff, etc * Added new documentation for ELine class and OnUserPostNick method * Added DNS class to documentation 1.0 alpha 12 * Updated ./configure to detect GCC 3.4.x * Added m_showwhois.so - lets opers see when theyre WHOISed * Added m_opermotd.so - Gives opers an opermotd on oper-up * Added m_operjoin.so - Forces opers to join a given channel when they oper * Security audit resulting in more secure and stable code * Added lots of error checking to the configuration parser * InspIRCd now works with BOPM, please see the tutorial on our forums * UMODE issues with SVSMODE finally addressed, working fine again * Services issues addressed and fixed * Added generic error output to the ConfigReader class (ConfigReader::DumpErrors()) * Fixed sys/socket.h error on earlier versions of GCC (2.95.x) * Redone documentation * Fixed mode changes (they actually work now!) * Module passes service names to its uplink now * ChanServ actually sets channel modes rather than the server! * NickServ actually sets umodes rather than the server! * Double-mode-changes no longer occur * User nickname registration tracking with +r works properly again 1.0 Alpha 11 * Added lots of bugfixes * Optimised, works faster, and smoother * Added support for non-mesh servers * Added services support * Implemented example ircservices module (working with ircservices 5) * Added m_services module * Added m_antibottler module * Added m_alias module * Added glines (local and global) * Added klines * Added qlines (local and global) * Added zlines (local and global) 1.0 Alpha 10 * Added server linking support (tcp based mesh link) * Lots of stability fixes * Speed improvements * Optimisations, no longer eats cpu so much * GCC3 and GCC2 support * Even bigger module API * More documentation * m_antibottler, labels bottler bots * m_chghost, gives you a /chghost command * m_cloaking, gives you hostname cloaking and mode +x * m_filter, filters glob patterns on channels and private * m_globops, provides /GLOBOPS and mode +g support * m_helpop, gives /HELPOP and mode +h support * m_sajoin, force-join a user to a channel * m_sapart, force-part a user from a channel * m_samode, force a mode change on a user or channel * m_saquit, force a quit of a client without /kill * m_sethost, allows opers to change their hostmasks * m_setname, allows users to change their name * HELPOP documentation accessible with the helpop module loaded * Split the ircd into many smaller files for faster compiling * Improved configure and makefile phase * Added all oper commands (CONNECT, SQUIT etc) * Added remaining server->server commands such as /MAP * Connection pooling, uses less CPU for the same tasks as before * High-powered server to server link protocol unlike any other ircd 1.0 alpha 9.5 * Added support for /connect (no sync yet!) * Added extra module support and improved api * Improved developer docs, see http://www.inspircd.org/docs/ * FINALLY fixed crash-on-disconnect bug * Fixed many stability bugs * Fixed length and buffer overrun issues that caused user records to become corrupted without crashes (!) 1.0 alpha 9 * Added /WHOWAS * Made ircd cache message of the day in a vector (faster!) * Added support for multiple lines of /NAMES on large channels * Added hostname/ip caching to speed up connects * Added '/stats z' * Added Server class * Added more code to example module demonstrating use of Server class * Added Admin class (holds /admin info for modules) * Added methods to Server class * Added m_cloaking.so module, provides host masking * Added /AWAY * added /ISON command (for mIRC etc basic notify) * Added /USERS stub * Added /SUMMON stub * attemted to fix weird crash on /kill * added pause= value to /die and /restart in config * Attempted to fix closed client sessions not being detected * Added wildcard support * Added channel bans * Changed user and channel structs to classes (finally) * Fixed parameter error in QUIT code (was showing junk chars on BSD) * fixed some ugly pointer bugs (thanks dblack and a|KK|y!) * Added /INVITE command and relevent structures * Added CONNECT ALLOW and CONNECT DENY config tags * Added PASS command * Fixed: /LUSERS cant count :P * added /TRACE command * Implemented channel mode +m * Added channel modes, +k, +l, +i, +m etc * Added user and channel modes +i, +p, +s * Implemented usermode +s * Fixed dodgy mode glitches (the ones Craig loves to play with, awww) * Added code to tidy up bans (e.g. max nick length) - i blame mIRC! * fixed multiple /MODE +l bugs (thanks to akky and BOFH bugging meh!) * Fixed ident max length to 10 * fixed random crash on kill_link (AGAIN) - was /stats * improved speed 10x (because i can...) * optimisations galore! * Added FileReader file-caching class * Changed m_randquote to use FileReader class * Neater source tree (binaries in bin, source in src, headers in include, etc) * Added /WHOWAS * Tidied up makefiles * Much nicer configure program * makeconf program (very nice config maker by Craig) 1.0 alpha 8 * Added Admin class (holds /admin info for modules) * Added methods to Server class * Added m_cloaking.so module, provides host masking * Added Server class * Added more code to example module demonstrating use of Server class * ./configure improved by Craig (better prompts, dir creation) * /stats z added detail * Added '/stats z' * Added hostname/ip caching to speed up connects * Made ircd cache message of the day in a vector (faster!) * Added support for multiple lines of /NAMES on large channels 1.0 alpha 7 * Added /USERHOST command * Added '/STATS O' * removed random debug output * Fixed random crash on nickchange * Fine tuned ability to handle >300 users * added '/stats L' (connect-info) * '/stats u' support added (server uptime) * added '/stats M' command * Added extra dynamic module support, new methods to Module class 1.0 alpha 6 * Changed command table to a vector of command_t types * Dynamix module support, preliminary release * Fixes random crash on nickchange * Fixed wallops and command parameter counting bugs * fixed "user lingering" problem in kill_link * updated example config * developed a simple sample module (m_foobar.so) 1.0 alpha 5 * Changed channel array to a hash_map similar to the one used for users, faster and more efficient * Changed ./configure, no longer asks for hard channel limit (depreciated) * Added support for users to be disconnected once MAXUSERS is reached * Changed code a lot, major overhauls for C++ and STL use for added stability and speed * Changed entire user system to use the hash_map container type instead of an array * Added /TIME command * Added /INFO command * Added restart and die passwords * Partially implemented /RESTART command * Fixed amusing bug which allowed partially connected clients to issue commands under the context of other users! *gulp!* (reported again by Craig) * Fixed SegFault caused when doing a /who 0 or /who * whilst not in channels (Reported by Craig, Fixed by Craig :p) * Added /who 0 o to display online Opers (Craigs First Scratch of Code :p) * Fixed Typo in LUSERS (Reported by MrBOFH and CC) * Fixed Joining Channels withough a # bug. (Reported by MrBOFH) 1.0 alpha 4 * Fixed parameters bug discovered by Allan * Fixed /NICK repeating bug found by piggles. * Added /REHASH command * Added /LUSERS command * Added ability to kill -HUP to rehash * Fixed lock up after ping timeout * Added system to /VERSION * Added DNS lookups on connect (*FIXME* this needs to be asyncronous!) * Fixed IRCop status shown on wrong users * Fixed socket linger option via setsockopt (can restart faster as sockets arent in use after shutdown!) * Added operators can now see real userhost in WHOIS * Added oper-up failed msg to online opers * Changed layout of /motd command start numeric * Fixed empty channels are now purged upon user quit * Changed: support for WHO * as well as WHO 0 (do the same thing) * Fixed ability to kick users when you arent on the channel :) * Fixed grammatical error when halfop tries to kick an op, "You must be at least a half-operator" 1.0 alpha 3 * Fixed problem where nicks containing control codes were allowed * Added support so that ircd honours channel mode +n * Added support so that ircd honours channel mode +t * Fixed linefeeds in middle of line bug (reported by Craig) * Fixed buffer overflow in channel names (reported by Allan) * Fixed close() on nonblocking sockets problem * Added /KILL command >:) * Added /KICK command 1.0 alpha 2 * addition of /oper and several Channel Modes. * new config file format