InspIRCd v2.0.19 is now available, download it from the releases page.
This release fixes the issues discovered since 2.0.18, containing multiple important stability and correctness related improvements, including a fix for a bug which allowed malformed DNS records to cause netsplits on a network. Triggering this issue is non-trivial and it may not occur in all circumstances, but all users are advised to upgrade. If that’s not possible, disabling DNS lookups for connecting users (nouserdns setting) mitigates the problem.
See the issue tracker for a list of reported bugs that got fixed in this version and for the pull requests that were merged.
View the complete changelog here.
Thanks to the following people for their work on this release:
- Rebuild clone counts on rehash
Attila Molnar (35):
- Allow setting a limit of less than 64 entries for non-ban listmodes via
- Remove formatting from the IRC link in README.md
- Fix a couple of helpop issues
- Validate module reload callback before use in PURE_STATIC builds
- Don’t submit a reload worker if the module doing the reload is scheduled for unload
- Reject empty mode parameters in ModeParser::Process() instead of relying on ModeHandlers to do it
- m_httpd On module unload close all connections hooked by the module being unloaded
- m_check Fix non-standard format specifier %s passed to strftime() causing problems on systems not supporting it (Windows)
- Fix User::age being incorrectly used in some places instead of signon
- Fix signon time of clients being off by dns_timeout seconds
- Fix harmless uninitialized variable usage on startup if the config is incorrect
- Increase penalty for some core commands
- Always penalize clients executing a command which fails before running the handler, even if the command has 0 penalty
- Fix elines not matching elined users when rechecking elined status
- m_hideoper Fix wrong /WHO output for hidden opers if the channel name contains ‘*’
- Update year in resource file for Windows
- Don’t bind ports after an unsuccessful rehash
- m_operprefix Fix force joined opers not being given the operprefix mode
- Fix numeric ERR_NOTREGISTERED not containing the user’s nick
- m_abbreviation Fix typo in numeric text
- threadengine_pthread Throw CoreExceptions instead of CoreException pointers
- m_spanningtree Fix TreeRoot UserCount being possibly wrong if loaded after startup
- cmd_userhost List 5 users in the reply even if the query (incorrectly) contains more than 5 nicks
- Remove outdated ircservices and neostats config examples
- m_timedbans Store Channel pointer in struct TimedBan
- m_timedbans On channel destruction remove all timed bans belonging to the channel from internal bookkeeping
- m_timedbans Extract IsBanSet() to a function
- m_timedbans Notice user when trying to set a ban that’s already set
- Reject replies to DNS PTR requests that contain invalid characters
- m_sasl Add missing validation for server-to-server SASL message
- Revert c8b344ea748d62d9f37cacd4dd785f15b186725c to fix regression
- cmd_userhost Fix +H hidden opers being shown as opers
- m_dccallow Validate tokens before use
- m_sasl Update description, SASL is no longer exclusive to Atheme
- Release v2.0.19
Dan Parsons (1):
- Updated inspircd init script template to make it chkconfig compatible.
Daniel Vassdal (1):
- cmd_list: Give +s precedence to +p
JD Horelick (2):
- Add missing oper-only commands to oper class blocks
- Make some config strings a bit more professional and use RFC reserved TLD’s everywhere
Sadie Powell (11):
- Fix modulemanager not being able to download modules (again!).
- Fix a snotice in m_spanningtree incorrectly using an unsigned long.
- Don’t load Data::Dumper in the configure script.
- Fix a blank error message when trying to load a module with a path.
- Fix modules not being versioned on Windows.
- Fix erroneous error messages in configure.
- Fix a minor crash when a user has no class after OnCheckReady.
- Fix various Clang warnings.
- Upgrade Doxyfile from 18.104.22.168 to 22.214.171.124.
- Fix various Doxygen warnings.
- Fix building when VERBOSE is already set in the environment.
- Remove non-existant extban M: from docs
Thanks to B00mX0r, Christoph Kern (Sheogorath) and Filippo Cortigiani (Simos) for running development snapshots and providing feedback during the development of this release.