InspIRCd v2.0.7 is now available, containing a large number of fixes, including some crash issues. Upgrading is strongly recommended.
Thanks to @attilamolnar for his mammoth effort going into this release - thanks to his ongoing efforts, a followup 2.0 release will likely not be too far behind with some less crucial fixes and cleanups.
A 1.2 release will follow shortly with the crucial fixes, but again: it is reminded that 1.2 is essentially on “life support” at this stage. It is recieving minimal maintenence, and we do not expect this to last all that long. I have heard that some of the remaining 1.2 users have issues (whatever they are) with upgrading to 2.0 - we would very much like to hear these problems in the bug tracker, so they can be addressed.
A shortlog since the last release (2.0.6rc1) is attached for the curious.
- Removed old VC90 project files, renamed the VC 2010 project files to not have VC90 in them
- Remove some unused files
- Fixed linking m_sqlite3 on Windows
- Fixed m_mlock
Chin Lee (2):
- Fix issue #120 reported by @swilde
- Check whether it is empty parameter before checking its value
Christoph Egger (1):
- fix build on kfreebsd
Garrett Holmstrom (1):
- [2.0] md5: zero the whole MD5Context, not only part
Guillaume Delacour (1):
- Fix compilation with GCC 4.7.
Justin Crawford (5):
- Fixes for bug #12
- Fix some of the include guard names (requested by SaberUK)
- Added C/C++ style escape codes for color codes in the MOTD along with @SaberUK’s \x, \u, \b, \c aliases
- Fixed using a function on every call for /motd, causing lag on large networks (requested by w00t)
- Rewrote the color codes parser to be one function, not two
Peter Powell (14):
- Remove references to old configure commands.
- Minor style tweaks.
- Fix unused variables reported by the clang static analyzer.
- Update Doxyfile.
- Install example configuration files into their own directory.
- Update ‘make install’ to inform the user about the example config files.
- Fix compile error caused by unistd.h not existing on Windows.
- Debian typo fixes.
- A few more typo fixes.
- Move all example configuration files to their own directory.
- Install example alias and module configuration files as well.
- README changes.
- InviteBase needs to be a CoreExport on Windows.
- Fix typo in log message.
Pierre Carrier (1):
- extras/m_ldapauth: CIDR-based whitelisting
- Backported Shawn’s NoSnoticeStack code from insp21
- /STATS: updates
- Add conf/ to include paths and fix some typos
- Revert 05e6330fbd6e9a427c09cf90e2cada10656c48f7 and reference HELPOP instead (afterall, the module is called helpop and references itself as that in the code/output too, and most clients override /help), also make the alias work the other way around
- Replace copyright headers with headers granting specific authors copyright
- Headers: update remaining scripts too
- resource.rc: update copyright to 2012
- Add more documentation about logging, aswell as make text, tab and space corrections to the configs
- Module description updates
- m_check: Include IP and gecos in host/IP-mask lookup results
- Snomask qQ: Swap quit message and IP for easier parsing by bots or scripts
Robin Burchell (13):
- FileWriter hasn’t been non-blocking for a very, very long time.
- remove trailing whitespace
- Be more helpful when processing commands from a linked server.
- Match the logging in the rest of this module.
- Fix typo.
- Log mode errors when processing FJOIN.
- No need to check elines twice..
- Revert “m_dnsbl: switch to OnSetClientIP hook which may be refired.”
- Revert “users: introduce OnSetClientIP hook.”
- Revert “users: LocalUser constructor should call SetClientIP() on itself”
- Revert “users: add SetClientIP function for irc::sockets::sockaddrs type.”
- Don’t throw an exception if passed bad parameters to stringjoiner.
- Release 2.0.7 (we’re so cool that we’re skipping 2.0.6)
- Show class in connectmsg
Shawn Smith (2):
- This fixes issue #39 reported by @attilamolnar. Thanks to @attilamolnar for supplying the code.
- Fixes the j snomask not working properly
Sir Poggles (2):
- fgets(): refer to the buffer size (no literals)
- Be consistent with Robby’s qQ snomask changes
William Pitcock (11):
- Explicitly shut down stdio’s stdin/stdout/stderr.
- modules/m_mlock: new module implementing server-side MLOCK.
- docs/modules.conf: document availability of MLOCK module.
- mlock: handle case where no mlock has been set on a channel yet
- mlock: we should only enforce against modes set by our own clients
- mlock: fix style nitpicks
- epoll: make sure EPOLLET flag does not get clobbered
- users: add SetClientIP function for irc::sockets::sockaddrs type.
- users: LocalUser constructor should call SetClientIP() on itself
- users: introduce OnSetClientIP hook.
- m_dnsbl: switch to OnSetClientIP hook which may be refired.
- Forward port 1d703dcf7858a322c823bbd80f9507b627c5738c.
- Fix issue #18 reported by @int- (remote restriction on /stats)
- Avoid sending empty channel list numeric on whois if the target is not in any channels.
- Fix issue #95 reported by @Joah
- Count the actual number of sent/received bytes in SocketEngine instead of the buffer size passed to the send/receive functions
- Fix generating invalid UIDs after current_uid is 000Z99999 (next UID became 000[AAAAA)
- While at it, use a constant parameter for calling IncrementUID in GetUID Get rid of curindex, use a bool to determine if we need to initialize
- Add testsuite tests for UID generation
- m_showwhois Fix potential crash in WHOISNOTICE handler
- Use socketengine functions for sending and receiving data instead of plain send() and recv() so /STATS z displays correct bandwidth usage
- Silence the MODE too if a join was silenced by a module not just the JOIN This leaked information when a module gave privs to the joining user in OnUserPreJoin Fix CycleHostsFromUser having the opposite effect
- Fix printf-style WriteAllExcept not obeying serversource parameter
- Fix last character being chopped off in included (exec)files (e.g. motd and rules)
- m_autoop Fix desync issue #37 reported by @Joah - part 1
- m_spanningtree Fix desync issue #37 reported by @Joah - part 2
- m_ssl_gnutls Fix crash caused by calling gnutls_dh_params_deinit() when dh_params wasn’t inited Fixes #181 reported by @BlacklightShining
- m_ssl_gnutls Only generate DH params when dh_params is inited
- Cut the ending \n from all lines in included (exec)files
- m_spanningtree Notify opers upon ecountering a configuration error when rehashing
- m_spanningtree Disallow server passwords which contain a space char and those which begin with a colon Update links.conf.example
- m_spanningtree Move SecurityIPResolver code to resolvers.cpp from resolvers.h
- m_spanningtree Only add a resolved server IP as valid if it still exists when the lookup completes
- m_namesx Add support for altering /WHO replies to be compliant with the specification
- Fix build on Debian GNU/Hurd platforms, thanks to Jonathan Wiltshire <firstname.lastname@example.org> for the patch Fixes issue #98 reported by @guikcd
- Fix 2 clang warnings reported by @SaberUK
- m_spanningtree Burst to a new server before introducing it to the rest of the network Fixes issue #103 reported by @nenolod
- m_services_account Send an AccountEvent with an empty accountname when a user logs out of an account
- New module to support IRCv3 extras, namely account-notify, away-notify and extended-join CAPs
- Make m_cap.h a bit cleverer
- m_geoip Add support for /stats G
- m_cban Fix a couple of things, namely - remove call to XLineManager::ApplyLines() as it iterates the local userlist and made no sense - return CMD_SUCCESS when /CBAN succeeded, CMD_FAILURE otherwise - remove unused exception handler - don’t route CBAN commands at all, spanningtree adds and removes the lines automatically
- m_svshold Fix a couple of things, namely - don’t ask the XLine manager to apply SVSHOLD lines to the userlist, as we do nothing on match - remove call to XLineManager::ApplyLines() as it iterates the local userlist and made no sense - return CMD_SUCCESS when SVSHOLD succeeded, CMD_FAILURE otherwise - remove unused exception handler - don’t route SVSHOLD commands at all, spanningtree adds and removes the lines automatically
- m_rline Fix memory leak when zlineonmatch was true and the zline existed, simplify zline adding logic
- m_shun Fix a couple of things, namely - remove OnUserConnect hook as it was completly a no-op - remove call to XLineManager::ApplyLines() as it iterates the local userlist and made no sense - return CMD_SUCCESS when /SHUN succeeded, CMD_FAILURE otherwise - remove unused exception handler - don’t route SHUN commands at all, spanningtree adds and removes the lines automatically
- m_shun Fix out of bounds vector access leading to crashes when hiding part reason for a shunned user
- m_chanhistory Add config setting to show/hide the informational notice before playing back history, don’t playback to remote users
- m_chanhistory Don’t allow durations that contain an invalid char or too long
- m_chanhistory Keep history when changing parameters
- Fix pending invites not being removed when a channel was deleted or had its TS lowered
- m_cap Use an enum to specify cap event type instead of a string, assign CapEvent data in the constructor
- m_cap Fix crash when a user issued a CAP CLEAR request and the CapEvent had an empty list of removed CAPs
- m_cap Allow clients to disable specific capabilities by prefixing them with a dash (-) to be compliant with the specification
- Remove unused channelmanager
- m_alltime Add a missing space to the notice
- m_operlevels Remove unused hook
- m_nonicks Use SimpleChannelModeHandler
- m_delaymsg Don’t allow mode to be unset when it’s not set
- m_opermodes Remove unused OnRehash hook, don’t touch remote opers, send mode changes with SendMode
- m_noctcp Use SimpleChannelModeHandler, reorder checks
- m_xline_db Get the xlines from the core, don’t maintain a seperate list
- m_dccallow Fix unsafe iteration
- m_callerid Remove redundant includes
- m_callerid Use std::find() where possible
- m_callerid Remove unused parameter
- m_callerid, m_dccallow Fix crash caused by allowing unregistered users and SIDs to be on callerid/dccallow lists
- m_callerid, m_dccallow Use OnUserPostNick hook instead of OnUserPreNick
- Fix maxbans not being enforced
- m_xline_db Fix memory leak when adding a loaded xline fails
- Fix crash in ADDLINE handler when the command had no parameters
- m_spanningtree Return when ecountering an invalid command coming from a remote server
- m_spanningtree Call the collision handler with the proper parameter (client ip instead of modestring) when a nick collides at burst