InspIRCdhttp://www.inspircd.org2023-12-22T19:35:24+00:00InspIRCdInspIRCd v3.17.0 released!2023-12-22T00:00:00+00:00http://www.inspircd.org/2023/12/22/v3170-released<p>InspIRCd v3.17.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.17.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added an example post-deploy hook script for use with CertBot, Dehydrated, or other ACME SSL (TLS) renewal tools.</p>
</li>
<li>
<p>Changed SVSHOLDs to also force existing users to change their nick on add.</p>
</li>
<li>
<p>Fixed a crash on shutdown on some systems when using <code class="language-plaintext highlighter-rouge">--nofork</code> and the ssl_gnutls module.</p>
</li>
<li>
<p>Fixed sending nick/user/host changes from the wrong mask when using the ircv3_labeledresponse module.</p>
</li>
</ul>
<!--more-->
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3170">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.16.1...v3.17.0">on GitHub</a>.</p>
<p>InspIRCd v4 will be released at some point in the next month. If you’d like to help out with this please submit a patch, <a href="https://github.com/inspircd/inspircd/issues/new?template=FEATURE_REQUEST.md">open a feature request</a>, or <a href="https://github.com/sponsors/SadieCat/">consider supporting my development via GitHub Sponsors</a>.</p>
InspIRCd v3.16.1 released!2023-06-16T00:00:00+00:00http://www.inspircd.org/2023/06/16/v3161-released<p>InspIRCd v3.16.1 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.16.1">download it from the releases page</a>.</p>
<p>This is a minor release. The most notable changes in this release are:</p>
<ul>
<li>
<p>Fixed ssl_openssl marking long-lived TLS (SSL) client certificates as invalid.</p>
</li>
<li>
<p>Fixed the regex_re2 module when building against RE2 2023-06-01 or newer.</p>
</li>
</ul>
<!--more-->
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3161">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.16.0...v3.16.1">on GitHub</a>.</p>
<p>We’re less than a year away from publishing the first release candidates for v4. If you’d like to help out with this please submit a patch, <a href="https://github.com/inspircd/inspircd/issues/new?template=FEATURE_REQUEST.md">open a feature request</a>, or <a href="https://github.com/sponsors/SadieCat/">consider supporting my development via GitHub Sponsors</a>.</p>
InspIRCd v3.16.0 released!2023-04-28T00:00:00+00:00http://www.inspircd.org/2023/04/28/v3160-released<p>InspIRCd v3.16.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.16.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added support for the IRCv3 <code class="language-plaintext highlighter-rouge">standard-replies</code> extension.</p>
</li>
<li>
<p>Added support for warning users when their client certificate is about to or has expired.</p>
</li>
<li>
<p>Fixed resolving user hosts when the result is a simple hostname (e.g. localhost).</p>
</li>
<li>
<p>Fixed the uniqueusername state not being broadcast on connect.</p>
</li>
</ul>
<!--more-->
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3160">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.15.0...v3.16.0">on GitHub</a>.</p>
<p>We’re less than a year away from publishing the first release candidates for v4. If you’d like to help out with this please submit a patch, <a href="https://github.com/inspircd/inspircd/issues/new?template=FEATURE_REQUEST.md">open a feature request</a>, or <a href="https://github.com/sponsors/SadieCat/">consider supporting my development via GitHub Sponsors</a>.</p>
InspIRCd v3.15.0 released!2022-12-30T00:00:00+00:00http://www.inspircd.org/2022/12/30/v3150-released<p>InspIRCd v3.15.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.15.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added support for the IRCv3 <code class="language-plaintext highlighter-rouge">extended-monitor</code> extension.</p>
</li>
<li>
<p>Added the <code class="language-plaintext highlighter-rouge">regex_pcre2</code> module which provides the <code class="language-plaintext highlighter-rouge">pcre</code> regex engine with PCRE2.</p>
</li>
<li>
<p>Fixed reading the MOTD when <code class="language-plaintext highlighter-rouge"><connect:motd></code> is a path instead of a <code class="language-plaintext highlighter-rouge"><files></code>/<code class="language-plaintext highlighter-rouge"><execfiles></code> key.</p>
</li>
</ul>
<!--more-->
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3150">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.14.0...v3.15.0">on GitHub</a>.</p>
<p>We’re less than a year away from publishing the first release candidates for v4. If you’d like to help out with this please submit a patch, <a href="https://github.com/inspircd/inspircd/issues/new?template=FEATURE_REQUEST.md">open a feature request</a>, or <a href="https://github.com/sponsors/SadieCat/">consider supporting my development via GitHub Sponsors</a>.</p>
InspIRCd v3.14.0 released!2022-08-26T00:00:00+00:00http://www.inspircd.org/2022/08/26/v3140-released<p>InspIRCd v3.14.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.14.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added support for the <code class="language-plaintext highlighter-rouge">r</code> WHO flag for compatibility with UnrealIRCd.</p>
</li>
<li>
<p>Fixed not sending a WebSocket close packet when terminating the connection.</p>
</li>
<li>
<p>Fixed remote users that are connected via UNIX sockets not having their endpoints set correctly.</p>
</li>
<li>
<p>Fixed the websocket module only accepting normalised header names.</p>
</li>
<li>
<p>Improved support for linking servers over UNIX socket connections.</p>
</li>
</ul>
<!--more-->
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3140">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.13.0...v3.14.0">on GitHub</a>.</p>
<p>We’re less than a year away from publishing the first release candidates for v4. If you’d like to help out with this please submit a patch, <a href="https://github.com/inspircd/inspircd/issues/new?template=FEATURE_REQUEST.md">open a feature request</a>, or <a href="https://github.com/sponsors/SadieCat/">consider supporting my development via GitHub Sponsors</a>.</p>
InspIRCd v3.13.0 released!2022-04-29T00:00:00+00:00http://www.inspircd.org/2022/04/29/v3130-released<p>InspIRCd v3.13.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.13.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><override:timeout></code> to allow automatically removing user mode <code class="language-plaintext highlighter-rouge">O</code> (override) after a defined time period.</p>
</li>
<li>
<p>Changed specifying a DH parameter file in the ssl_gnutls module to be optional on GnuTLS 3.6.</p>
</li>
<li>
<p>Changed specifying a DH parameter file in the ssl_openssl module to be optional on OpenSSL 3.0.</p>
</li>
<li>
<p>Fixed building the NSIS installer on Windows.</p>
</li>
<li>
<p>Fixed not parsing the constraint field properly for multi-constraint <code class="language-plaintext highlighter-rouge">/LIST</code> requests.</p>
</li>
<li>
<p>Fixed the <code class="language-plaintext highlighter-rouge">o</code> field in <code class="language-plaintext highlighter-rouge">/WHO</code> returning InspIRCd prefix ranks instead of WHOX op levels.</p>
</li>
<li>
<p>Fixed the privdeaf module overriding other private message checks.</p>
</li>
</ul>
<!--more-->
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3130">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.12.0...v3.13.0">on GitHub</a>.</p>
InspIRCd v3.12.0 released!2021-12-31T00:00:00+00:00http://www.inspircd.org/2021/12/31/v3120-released<p>InspIRCd v3.12.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.12.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added support for retrieving client TLS (SSL) certificate fingerprints from WebIRC gateways.</p>
</li>
<li>
<p>Added the <code class="language-plaintext highlighter-rouge">inspircd.org/account-id</code> tag to expose immutable account identifiers to users.</p>
</li>
<li>
<p>Fixed automatic bans and xlines on shared providers banning the entire provider.</p>
</li>
<li>
<p>Fixed looking up server IPv4 addresses when the server has one or more IPv6 address.</p>
</li>
<li>
<p>Fixed reading WebSocket proxy headers when the IRC server is behind multiple reverse proxies.</p>
</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The v2 branch is no longer supported as of the end of 2020. If you’re still using it please consider upgrading as soon as possible.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3120">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.11.0...v3.12.0">on GitHub</a>.</p>
InspIRCd v3.11.0 released!2021-08-27T00:00:00+00:00http://www.inspircd.org/2021/08/27/v3110-released<p>InspIRCd v3.11.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.11.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><connectban:bootwait></code> to allow delaying connectban until the specified time period has passed after boot.</p>
</li>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><connectban:splitwait></code> to allow delaying connectban until the specified time period has passed after a network partition.</p>
</li>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><gnutls:onrehash></code>, <code class="language-plaintext highlighter-rouge"><mbedtls:onrehash></code>, and <code class="language-plaintext highlighter-rouge"><openssl:onrehash></code> to allow reloading TLS (SSL) profiles on rehash.</p>
</li>
<li>
<p>Added support for setting TLS 1.3+ ciphersuites in ssl_openssl.</p>
</li>
<li>
<p>Changed <code class="language-plaintext highlighter-rouge"><oper:autologin></code> to accept a value of <code class="language-plaintext highlighter-rouge">if-host-match</code> to allow autologin to only proceed if the user’s hostname matches the value in <code class="language-plaintext highlighter-rouge"><oper:host></code>.</p>
</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The v2 branch is no longer supported as of the end of 2020. If you’re still using it please consider upgrading as soon as possible.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3110">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.10.0...v3.11.0">on GitHub</a>.</p>
InspIRCd v3.10.0 released!2021-05-14T00:00:00+00:00http://www.inspircd.org/2021/05/14/v3100-released<p>InspIRCd v3.10.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.10.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added support for multiple hosts in <code class="language-plaintext highlighter-rouge"><connect:allow></code> and <code class="language-plaintext highlighter-rouge"><connect:deny></code>.</p>
</li>
<li>
<p>Added support for per-DNSBL timeouts and raised the default for torexit.dan.me.uk to 10 seconds.</p>
</li>
<li>
<p>Fixed an <a href="https://docs.inspircd.org/security/2021-01"><strong>memory disclosure vulnerability</strong></a> in the core.</p>
</li>
<li>
<p>Fixed unknown DNS record types preventing the retrieval of other DNS records.</p>
</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The v2 branch is no longer supported as of the end of 2020. If you’re still using it please consider upgrading as soon as possible.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-3100">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.9.0...v3.10.0">on GitHub</a>.</p>
InspIRCd v3.9.0 released!2021-02-26T00:00:00+00:00http://www.inspircd.org/2021/02/26/v390-released<p>InspIRCd v3.9.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.9.0">download it from the releases page</a>.</p>
<p>The most notable changes in this release are:</p>
<ul>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><chanhistory:enableumode></code> to allow enabling user mode <code class="language-plaintext highlighter-rouge">N</code> (nohistory) which allows users to opt-out of receiving channel history on join.</p>
</li>
<li>
<p>Added extbans to the S2S protocol to allow services to validate bans easier.</p>
</li>
<li>
<p>Added the <code class="language-plaintext highlighter-rouge"><shun:allowconnect></code> option to allow configuring whether shuns should only be applied to users who are fully connected to the server.</p>
</li>
<li>
<p>Fixed <code class="language-plaintext highlighter-rouge"><class:snomask></code> not being parsed correctly when a type has multiple oper classes.</p>
</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The v2 branch is no longer supported as of the end of 2020. If you’re still using it please consider upgrading as soon as possible.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-390">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.8.1...v3.9.0">on GitHub</a>.</p>
InspIRCd binary packages2020-12-09T00:00:00+00:00http://www.inspircd.org/2020/12/09/binary-packages<p>Given the popularity of our existing CentOS, Debian, and Ubuntu binary packages we are looking into shipping support for more platforms.</p>
<p>If you use a platform which supports binary packages that does not currently have an official InspIRCd package then please open an issue <a href="https://github.com/inspircd/inspircd-packages/issues">here</a>.</p>
InspIRCd v3.8.1 released!2020-11-20T00:00:00+00:00http://www.inspircd.org/2020/11/20/v381-released<p>InspIRCd v3.8.1 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.8.1">download it from the releases page</a>.</p>
<p>The most notable changes within this release are:</p>
<ul>
<li>
<p>Added a config file for using InspIRCd with AppArmor.</p>
</li>
<li>
<p><a href="https://docs.inspircd.org/security/2020-02">Fixed a <strong>crash</strong> in the websocket module when a user behind a HTTP proxy is [GKZ]-lined</a>.</p>
</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>For more information on this security vulnerability please see <a href="https://docs.inspircd.org/security/2020-02/">security advisory 2020-02</a> on the docs site.</p>
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-381">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.8.0...v3.8.1">on GitHub</a>.</p>
InspIRCd v3.8.0 released!2020-10-30T00:00:00+00:00http://www.inspircd.org/2020/10/30/v380-released<p>InspIRCd v3.8.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.8.0">download it from the releases page</a>.</p>
<p>The most notable changes within this release are:</p>
<ul>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><cban:glob></code> to allow using glob matches within cbans.</p>
</li>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><joinflood:bootwait></code> to allow disengaging channel mode <code class="language-plaintext highlighter-rouge">j</code> (joinflood) when a server first starts up.</p>
</li>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><joinflood:splitwait></code> to allow disengaging channel mode <code class="language-plaintext highlighter-rouge">j</code> (joinflood) when a server splits from the network.</p>
</li>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><shun:allowtags></code> to allow configuring whether shunned users can send client-to-client tags.</p>
</li>
<li>
<p>Added <code class="language-plaintext highlighter-rouge"><shun:cleanedcommands></code> to allow configuring the commands that shunned users can run but that will be censored.</p>
</li>
<li>
<p>Added support for the Argon2 key derivation function.</p>
</li>
<li>
<p>Fixed disconnecting users who try to enable user mode <code class="language-plaintext highlighter-rouge">x</code> (cloak) when the md5 module is not loaded.</p>
</li>
<li>
<p>Fixed xlines not being rechecked when a user’s real hostname changes.</p>
</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-380">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.7.0...v3.8.0">on GitHub</a>.</p>
InspIRCd v3.7.0 released!2020-07-31T00:00:00+00:00http://www.inspircd.org/2020/07/31/v370-released<p>InspIRCd v3.7.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.7.0">download it from the releases page</a>.</p>
<p>This release contains a few new features but is mostly bug fixes. Most notably:</p>
<ul>
<li>Added <code class="language-plaintext highlighter-rouge"><botmode:forcenotice></code> to allow forcing bots to use NOTICEs instead of PRIVMSGs.</li>
<li>Added support for disabling the creation/expiry notices sent to channel operators by the timedbans module.</li>
<li>Fixed /SVSHOLD sending a global snotice instead of a local one.</li>
<li>Fixed shuns not being applied correctly.</li>
<li>Fixed the <code class="language-plaintext highlighter-rouge"><class:dnsbl></code> option not matching marked DNSBL users.</li>
<li>Fixed the <code class="language-plaintext highlighter-rouge"><hostchange:ports></code> option never matching users.</li>
<li>Fixed WebSocket users not being detected as using a secure connection when they are.</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-370">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.6.0...v3.7.0">on GitHub</a>.</p>
InspIRCd v2.0 maintenance schedule updated2020-05-20T00:00:00+00:00http://www.inspircd.org/2020/05/20/maintenance-schedule-update<p>In a few days InspIRCd v2 was planned to reach the end of its life. However, as many things have been suspended for a few months due to COVID-19 and will likely remain suspended for a few more we are extending security fixes and support for v2 to the end of 2020.</p>
<p>Please do not consider this an excuse to push off upgrading unless you really have to though. We will not be extending this date again.</p>
<p>If you are an upgrading v2 user please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a> on the docs site for information on how to upgrade to v3.</p>
InspIRCd v3.6.0 released!2020-04-24T00:00:00+00:00http://www.inspircd.org/2020/04/24/v360-released<p>InspIRCd v3.6.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.6.0">download it from the releases page</a>.</p>
<p>This release fixes a crash bug in the pgsql module as well as adding several minor features. Most notably:</p>
<ul>
<li>Added <code class="language-plaintext highlighter-rouge"><class:snomasks></code> to allow configuring the snomasks that a server operator can use.</li>
<li>Added support for <a href="https://ircv3.net/specs/extensions/setname.html">the IRCv3 SETNAME specification</a>.</li>
<li>Added support for using environment variables in the server configuration using the <code class="language-plaintext highlighter-rouge">&env.FOO;</code> syntax.</li>
<li><a href="https://docs.inspircd.org/security/2020-01">Fixed a <strong>crash</strong> in the pgsql module when connecting to a server fails</a>.</li>
<li>Fixed a bug where previously changed display hostnames would be reset when a hostname lookup finishes.</li>
<li>Improved the error message shown when trying to load a module which is too old or too new for the current version.</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-360">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.5.0...v3.6.0">on GitHub</a>.</p>
InspIRCd v2.0.29 released!2020-04-24T00:00:00+00:00http://www.inspircd.org/2020/04/24/v2029-released<p>InspIRCd v2.0.29 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.29">download it from the releases page</a>.</p>
<p>This release fixes a crash bug in the pgsql module.</p>
<p>As mentioned previously InspIRCd v2 is now deprecated and will no longer receive security updates after <del>2020-05-31</del> <strong>2020-12-31</strong>. You should strongly consider updating to the v3 branch as soon as possible. Documentation on how to do so is available on <a href="https://docs.inspircd.org/3/breaking-changes">the docs site</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://github.com/inspircd/inspircd/compare/v2.0.28...v2.0.29">on GitHub</a>.</p>
InspIRCd v3.5.0 released!2020-01-31T00:00:00+00:00http://www.inspircd.org/2020/01/31/v350-released<p>InspIRCd v3.5.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.5.0">download it from the releases page</a>.</p>
<p>This release fixes many minor bugs and adds several minor features. Most notably:</p>
<ul>
<li>Added support for <a href="https://ircv3.net/specs/extensions/labeled-response.html">the IRCv3 Labeled Response specification</a>.</li>
<li>Added support for help topics to the helpop module.</li>
<li>Added support for the <code class="language-plaintext highlighter-rouge">X-Real-IP</code> and <code class="language-plaintext highlighter-rouge">X-Forwarded-For</code> headers to the websocket module.</li>
<li>Added the codepage module — a better solution for custom 8-bit character set support than the incredibly broken and undocumented nationalchars module.</li>
<li>Fixed connections to ports which have an invalid I/O hook configured not being rejected.</li>
<li>Fixed allowing <code class="language-plaintext highlighter-rouge">TAGMSG</code> messages to be sent without any tags attached.</li>
<li>Fixed prioritisation of custom events provided by modules.</li>
<li>Fixed the chanhistory module not storing message tags and notices.</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-350">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.4.0...v3.5.0">on GitHub</a>.</p>
InspIRCd v3.4.0 released!2019-10-25T00:00:00+00:00http://www.inspircd.org/2019/10/25/v340-released<p>InspIRCd v3.4.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.4.0">download it from the releases page</a>.</p>
<p>This release fixes many minor bugs and adds several minor features. Most notably:</p>
<ul>
<li>Added <code class="language-plaintext highlighter-rouge"><cloak:ignorecase></code> to ignore the case of a FQDN when cloaking.</li>
<li>Added a workaround for gateway IP addresses being banned by the connectban module.</li>
<li>Added support for filtering part messages to the chanfilter module.</li>
<li>Disabled DNS, DNSBL, and ident lookups for unregistered KiwiIRC.com users in the example provider configs.</li>
<li>Fixed the example configs allowing voiced users to voice/devoice other users.</li>
<li>Fixed the silence module not being able to add or remove entries in some cases.</li>
<li>Updated the NetBSD <code class="language-plaintext highlighter-rouge">EV_SET</code> workaround now that upstream have fixed the issue.</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-340">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.3.0...v3.4.0">on GitHub</a>.</p>
InspIRCd v3.3.0 released!2019-08-23T00:00:00+00:00http://www.inspircd.org/2019/08/23/v330-released<p>InspIRCd v3.3.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.3.0">download it from the releases page</a>.</p>
<p>This release fixes a crash bug in the mysql module as well as adding several minor features. Most notably:</p>
<ul>
<li>Fixed a <strong>crash</strong> in the MySQL module when built against mariadb-connector-c v3.0.5 or newer.</li>
<li>Changed the maximum value for <code class="language-plaintext highlighter-rouge"><chanfilter:maxlen></code> from 100 to 250.</li>
<li>Fixed listener sockets with <code class="language-plaintext highlighter-rouge"><bind:replace></code> enabled not being replaced in some circumstances.</li>
<li>Fixed not applying IRCv3 <code class="language-plaintext highlighter-rouge">server-time</code> timestamps on the server the source is connecting from.</li>
<li>Fixed the <code class="language-plaintext highlighter-rouge">geo_maxmind</code> module trying to interpret an <code class="language-plaintext highlighter-rouge">AF_UNIX</code> endpoint as an IP address.</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-330">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.2.0...v3.3.0">on GitHub</a>.</p>
InspIRCd v2.0.28 released!2019-08-23T00:00:00+00:00http://www.inspircd.org/2019/08/23/v2028-released<p>InspIRCd v2.0.28 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.28">download it from the releases page</a>.</p>
<p>This release fixes a crash bug in the mysql module as well as fixing several minor issues:</p>
<ul>
<li>Fixed BanCache entries existing after X-line expiry.</li>
<li>Replaced all references to the dead InspIRCd wiki with the new InspIRCd docs site.</li>
<li>Updated all documentation links to use https.</li>
<li>Updated the Module Manager source list for the new inspircd-contrib repository.</li>
</ul>
<p>As mentioned previously InspIRCd v2 is now deprecated and will no longer receive security updates after <del>2020-05-31</del> 2020-12-31. You should strongly consider updating to the v3 branch as soon as possible. Documentation on how to do so is available on <a href="https://docs.inspircd.org/3/breaking-changes">the docs site</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://github.com/inspircd/inspircd/compare/v2.0.27...v2.0.28">on GitHub</a>.</p>
InspIRCd v3.2.0 released!2019-07-05T00:00:00+00:00http://www.inspircd.org/2019/07/05/v320-released<p>InspIRCd v3.2.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.2.0">download it from the releases page</a>.</p>
<p>This release fixes many minor bugs and adds several minor features. Most notably:</p>
<ul>
<li>Added syntax hints to all vendor modes which take parameters.</li>
<li>Fixed closing HTTP connections before the entire http_stats module output had been sent.</li>
<li>Fixed routing tags on TAGMSG messages between servers.</li>
<li>Fixed server operators with the <code class="language-plaintext highlighter-rouge">channels/auspex</code> privilege not being able to request the topic of secret/private channels with the <code class="language-plaintext highlighter-rouge">/TOPIC</code> command.</li>
<li>Fixed the TAGMSG message forwarding all tags regardless of whether they had been whitelisted.</li>
<li>Fixed <code class="language-plaintext highlighter-rouge"><pid:file></code> not being relative to the data directory as was intended.</li>
<li>Stabilised the experimental UNIX socket support introduced in v3.0.0.</li>
<li>Updated the Module Manager source list for the new inspircd-contrib repository.</li>
<li>Worked around the messageflood module kicking users whose clients have sent typing notifications.</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-320">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.1.0...v3.2.0">on GitHub</a></p>
InspIRCd v2.0 maintenance schedule2019-06-01T00:00:00+00:00http://www.inspircd.org/2019/06/01/v20-maintenance-schedule<p>As InspIRCd v3 was recently released v2 is approaching the end of its life.</p>
<p>Non-security bug fixes will no longer be provided as of 2019-06-01.</p>
<p>Fixes for security vulnerabilities will be provided until <del>2020-06-01</del> <strong>2021-01-01</strong>.</p>
<p>After this date the v2 branch will be considered dead and will not receive any more fixes.</p>
<p>If you are using v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a> on the docs site for information on how to upgrade to v3.</p>
InspIRCd v3.1.0 released!2019-05-17T00:00:00+00:00http://www.inspircd.org/2019/05/17/v310-released<p>InspIRCd v3.1.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.1.0">download it from the releases page</a>.</p>
<p>This release fixes a crash bug in the silence module as well as adding several minor features. Most notably:</p>
<ul>
<li>Fixed a <strong>crash</strong> in the silence module when built with older GCCs.</li>
<li>Fixed an inverted condition in the commonchans module which made the module not work.</li>
<li>Fixed pending X-lines only being applied to a single user.</li>
<li>Added support for disabling a STS policy for users in specific connect classes.</li>
<li>Added support for the IRCv3 Message IDs specification.</li>
</ul>
<p>No breaking configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://docs.inspircd.org/3/change-log/#inspircd-310">on the docs site</a> or <a href="https://github.com/inspircd/inspircd/compare/v3.0.1...v3.1.0">on GitHub</a></p>
InspIRCd v3.0.1 released!2019-05-10T00:00:00+00:00http://www.inspircd.org/2019/05/10/v301-released<p>InspIRCd v3.0.1 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.0.1">download it from the releases page</a>.</p>
<p>This release contains minor bug fixes and documentation corrections. Most notably:</p>
<ul>
<li>Fixed building on NetBSD.</li>
<li>Fixed building on Windows.</li>
<li>Fixed building with older libc implementations.</li>
<li>Fixed setting a distribution label.</li>
<li>Fixed higher <code class="language-plaintext highlighter-rouge"><maxlist></code> values not being shown in MAXLIST.</li>
</ul>
<p>No configuration changes have been made since the v3.0.0 release but if you are upgrading from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes in v3</a>.</p>
<!--more-->
<p>The full change log can be found <a href="https://github.com/inspircd/inspircd/compare/v3.0.0...v3.0.1">on GitHub</a></p>
🎉 InspIRCd v3.0.0 released! 🎉2019-05-03T00:00:00+00:00http://www.inspircd.org/2019/05/03/v300-released<p>InspIRCd v3.0.0 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v3.0.0">download it from the releases page</a>.</p>
<p>This release contains many major new enhancements. Some of which include:</p>
<ul>
<li>Full support for <em>all</em> currently ratified IRCv3 extensions.</li>
<li>Support for WebSocket connections.</li>
<li>Support for the bcrypt and PBKDF2 password hashing algorithms.</li>
<li>Support for the WHOX extension.</li>
<li>Support for UNIX socket connections.</li>
<li>Support for the HAProxy PROXY protocol.</li>
<li>Many performance improvements.</li>
</ul>
<p>To upgrade from v2 please consult our <a href="https://docs.inspircd.org/3/breaking-changes">list of config changes</a>.</p>
<p>A big thanks goes out to all of the people who have contributed to this release and to prawnsalad of KiwiIRC for funding my last year of InspIRCd development.</p>
<!--more-->
<p>The full change log can be found <a href="https://github.com/inspircd/inspircd/compare/insp20...v3.0.0">on GitHub</a>.</p>
New documentation site2019-05-03T00:00:00+00:00http://www.inspircd.org/2019/05/03/new-docs-site<p>InspIRCd’s documentation has a new home!</p>
<p>We’re retiring our old wiki in favour of a new GitHub-based docs site at <a href="https://docs.inspircd.org">docs.inspircd.org</a>.</p>
<p>All documentation has been rewritten from scratch and should be more complete and reliable than the old wiki. Documentation for the upcoming v3.0.0 release has also been added.</p>
<p>If something is missing from the new site then please request for it to be added <a href="https://kiwiirc.com/nextclient/irc.inspircd.org:+6697/#inspircd">on IRC</a> or <a href="https://github.com/inspircd/inspircd-docs/issues">file an issue on our new docs issue tracker</a>.</p>
v2.0.27 released!2018-11-06T00:00:00+00:00http://www.inspircd.org/2018/11/06/v2027-released<p>InspIRCd v2.0.27 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.27">download it from the releases page</a>.</p>
<p>This release contains minor bug fixes and documentation corrections. Most notably:</p>
<ul>
<li>Clients connecting via m_cgiirc will no longer have the wrong IP address shown in messages.</li>
<li>Several bugs in the WHO implementation and documentation have been fixed.</li>
<li>The configure checks for eventfd(), <stdint.h>, and strlcpy() have been fixed.</li>
</ul>
<p>All users are recommended to upgrade.</p>
<!--more-->
<p>Thanks to the following people for their work on this release:</p>
<p>Sadie Powell (13):</p>
<ul>
<li>Fix invalid conversion from ‘const char<em>’ to ‘char</em>’ on FreeBSD.</li>
<li>Clarify the documentation for m_httpd and m_httpd_{config,stats}.</li>
<li>Fix the configure checks for eventfd(), <stdint.h>, and strlcpy().</li>
<li>Rename the license file so that people can find it easier.</li>
<li>Update the readme so that it is actually useful.</li>
<li>Fix replying with the source user in oper-restricted WHO lookups.</li>
<li>Clean up the WHO helpop documentation.</li>
<li>m_httpd: close the HTTP connection after serving a request.</li>
<li>Fix sending malformed ERR_UNKNOWNCOMMAND messages in some cases.</li>
<li>Fix gateway client hosts not being updated if DNS resolution fails.</li>
<li>Fix sending malformed ERR_BANLISTFULL numerics in some contexts.</li>
<li>Fix exposing the ban reason when an xline is found in the bancache.</li>
<li>Release v2.0.27</li>
</ul>
v2.0.26 released!2018-04-21T00:00:00+00:00http://www.inspircd.org/2018/04/21/v2026-released<p>InspIRCd v2.0.26 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.26">download it from the releases page</a>.</p>
<p>This release contains bug fixes and documentation corrections. Most notably:</p>
<ul>
<li>m_banredirect no longer creates phantom redirects in some rare cases.</li>
<li>m_cgiirc clients connecting from [GZK]Lined hosts through an ELined gateway are now banned correctly.</li>
<li>m_swhois messages set via an oper block are now correctly removed on deoper.</li>
<li>m_xline_db and m_spanningtree now store the correct user as the XLine setter.</li>
</ul>
<p>All users are recommended to upgrade.</p>
<!--more-->
<p>Thanks to the following people for their work on this release:</p>
<p>B00mX0r (3):</p>
<ul>
<li>Fix referring to sqloper and sqlauth as extras in modules.conf</li>
<li>Fix two minor docs issues</li>
<li>Fix blank instead of empty PART message when a user is shunned</li>
</ul>
<p>Matt Schatz (1):</p>
<ul>
<li>Improve some documentation (#1483).</li>
</ul>
<p>Michael Hazell (1):</p>
<ul>
<li>m_chanhistory: optionally exempt bots from receiving history.</li>
</ul>
<p>Sadie Powell (10):</p>
<ul>
<li>Add length checking to GetExtBanStatus and m_banexception.</li>
<li>Clarify the documentation of <connect:allow>.</li>
<li>Fix m_xline_db storing the wrong setter in the XLine database.</li>
<li>Fix m_spanningtree sending the wrong setter in S2S ADDLINE.</li>
<li>Use HTTPS URLs in the executable file and include examples.</li>
<li>Always store something in the cgiirc hostname extension.</li>
<li>Set User::host before calling ChangeIP().</li>
<li>Remove swhois messages set in the oper block on deoper.</li>
<li>Fix ModuleManager’s external source lists not working with HTTPS.</li>
<li>Release v2.0.26</li>
</ul>
<p>Wade Cline (1):</p>
<ul>
<li>m_ssl_openssl: Remove deprecated API members.</li>
</ul>
<p>genius3000 (3):</p>
<ul>
<li>[2.0]: Helpop: Move extban ‘U’ from acting to matching Already fixed in master in 8587df2</li>
<li>Update the GeoIP ExtItem when CGI:IRC sets the real IP (#1471)</li>
<li>Fix ELine::Matches returning false on existing match</li>
</ul>
<p>linuxdaemon (3):</p>
<ul>
<li>Make sure banredirect metadata can not be duplicated</li>
<li>Fix comparator logic for ordering by channel</li>
<li>Revert std::set changes and add duplicate checking in m_banredirect instead, as requested by @Adam-</li>
</ul>
v2.0.25 released!2017-11-12T00:00:00+00:00http://www.inspircd.org/2017/11/12/v2025-released<p>InspIRCd v2.0.25 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.25">download it from the releases page</a>.</p>
<p>This release contains minor bug fixes, including fixes to m_cgiirc to protect again WebIRC gateways from sending malformed hostnames and CIDR [GKZ]Lines not respecting the protections set in <insane>. All users are recommended to upgrade.</p>
<!--more-->
<p>Thanks to the following people for their work on this release:</p>
<p>Adam (1):</p>
<ul>
<li>ConfigReader: fix compilers optimizing NULL check in ConfigTag::readString()</li>
</ul>
<p>Jordyn/The Linux Geek (1):</p>
<ul>
<li>Fix CMD_RESTART with relative paths as argv[0].</li>
</ul>
<p>Sadie Powell (22):</p>
<ul>
<li>Add a mailmap to clean up the output of git-shortlog.</li>
<li>Tell OpenBSD users that they need to use a different make command.</li>
<li>Update the securelist exemption for IRC-Source’s crawler.</li>
<li>Fix exempting CTCP ACTIONs in m_blockcaps and m_noctcp.</li>
<li>Add ADMIN to the list of commands that shunned users can run.</li>
<li>Update the link to the CIDR subnetting charts.</li>
<li>Fix mistakenly hardcoding the halfop prefix char in timedbans.</li>
<li>Use DLLManager::RetrieveLastError() on all platforms.</li>
<li>Fix {Host,IP}MatchesEveryone using Match instead of MatchCIDR.</li>
<li>Fix m_cgiirc allowing malformed hosts sent via WEBIRC.</li>
<li>Fix killing elined clients on [gkz]line in some cases.</li>
<li>Fix the command for enabling m_sqlite3 in modules.conf.example.</li>
<li>Include connection security with the SASL host information.</li>
<li>Update wiki links to use HTTPS and point to the correct pages.</li>
<li>Fix the command table not being case insensitive.</li>
<li>Fix sending a malformed 410 numeric when sent empty CAP commands.</li>
<li>Use InvalidateCache in the sockaddrs overload of OnSetClientIP.</li>
<li>Revert the code changes to m_sasl made in commit 9d4b4344b4.</li>
<li>Work around removing shuns on nicks when the nick is online.</li>
<li>Various minor documentation fixes.</li>
<li>Don’t mess with the encoding of extras modules in modulemanager.</li>
<li>Release v2.0.25</li>
</ul>
<p>genius3000 (2):</p>
<ul>
<li>Inform the client when a SASL message cannot be sent</li>
<li>Improve (synchronize) the notices in m_timedbans</li>
</ul>
v2.0.24 released!2017-05-18T00:00:00+00:00http://www.inspircd.org/2017/05/18/v2024-released<p>InspIRCd v2.0.24 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.24">download it from the releases page</a>.</p>
<p>This release contains minor bug fixes, including fixes to the build system and module manager to work on newer perl versions (>5.24.1) which are common on newer systems. All users are recommended to upgrade.</p>
<!--more-->
<p>For Windows, this is the first release built on Visual Studio 2012 instead of 2010, using platform toolset v110 - so XP support has been officially dropped (previous InspIRCd versions would run on XP - but some of the shipped 3rd party libraries like GnuTLS would not). As such, the VS 2010 runtimes are no longer required. The 2012 runtimes are now included in the installer and do not need to be installed separately.</p>
<p>We now have an official InspIRCd docker image available on <a href="https://hub.docker.com/r/inspircd/inspircd-docker/">dockerhub</a>. Thanks to Sheogorath for his work on this. You can run it with a simple command:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ docker run --name ircd -p 6667:6667 inspircd/inspircd-docker:2.0.24
</code></pre></div></div>
<p>Thanks to the following people for their work on this release:</p>
<p>Adam (14):</p>
<ul>
<li>m_sasl: really abort sasl session on register</li>
<li>m_cloaking: fix host/ip comparisons #1249</li>
<li>socketengine_epoll: use getrlimit not ulimit</li>
<li>m_sasl: send host/ip info</li>
<li>m_dnsbl: check returned results are in 127.0.0.0/8</li>
<li>m_sasl: use host/ip from m_cgiirc if applicable</li>
<li>cmd_who: don’t show +p channels or channels hidden with m_hidechans</li>
<li>m_ldapauth: fix providing username in PASS</li>
<li>modules.conf.example: document useusername in ldapauth</li>
<li>win: set CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION to . so the runtime libraries are not placed in bin</li>
<li>m_sakick: remove unused “Unable to kick” notice</li>
<li>m_cloaking: don’t apply cloak to already cloaked users during registration</li>
<li>m_override: fix parentheses compiler warning</li>
<li>Release v2.0.24</li>
</ul>
<p>Anatole Denis (1):</p>
<ul>
<li>m_httpd_stats: Also sanitize other server gecos</li>
</ul>
<p>Attila Molnar (1):</p>
<ul>
<li>Fix users receiving a QUIT with themselves as source when host cycling in certain cases</li>
</ul>
<p>Sadie Powell (14):</p>
<ul>
<li>Invalidate the caches properly when User::SetClientIP is called.</li>
<li>Workaround modern Perls not adding . to @INC.</li>
<li>Add a bigger warning about deprecated things being removed.</li>
<li>Backport the master Travis changes to insp20.</li>
<li>Fix pure static builds.</li>
<li>Use clock_gettime() on macOS 10.12.</li>
<li>Fix some compiler warnings.</li>
<li>Update securelist exception list.</li>
<li>Clarify that m_sslmodes depends on m_sslinfo.</li>
<li>Fix compiler version parsing on GCC 7.</li>
<li>Warn when a user configures a permanent channel without +P.</li>
<li>Fix WEBIRC not rejecting invalid IP addresses.</li>
<li>Penalise clients that use WEBIRC incorrectly.</li>
<li>Fix ModuleManager not being able to find make::configure.</li>
</ul>
<p>Sheogorath (1):</p>
<ul>
<li>fix channel rank issue</li>
</ul>
<p>genius3000 (1):</p>
<ul>
<li>Fix SpanningTreeProtocolInterface::SendChannelPrivmsg() and SendChannelNotice() sending statusmsgs to whole channel</li>
</ul>
<p>SHA256Sum:<br />
9915852ea46994a85026e113b9038a6836b9e0f3a824fa6f0839b57d8e2a0a8b inspircd_2.0.24-1_amd64.deb<br />
b51b4586e1a0e379f2f730cc15a0cf8599ea5d10a8c4c3a392e4bf3d0de048e2 inspircd-2.0.24-1.el7.centos.x86_64.rpm<br />
faca97902048297c513794bcab215a0a952b96577a570c0190f079d2222f0166 InspIRCd-2.0.24.exe</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.23...v2.0.24">here</a>.</p>
v2.0.23 released!2016-09-03T00:00:00+00:00http://www.inspircd.org/2016/09/03/v2023-released<p>InspIRCd v2.0.23 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.23">download it from the releases page</a>.</p>
<p>This release fixes a serious security vulnerability in m_sasl in combination with any services that support SASL EXTERNAL. To be vulnerable you must have m_sasl loaded, and have services which support SASL EXTERNAL authentication.</p>
<p>If you are affected and can not immediately upgrade, it is recommended to unload m_sasl, or otherwise disable all SASL EXTERNAL authentication in services.</p>
<!--more-->
<p>This vulnerability allows any attacker to spoof certificate fingerprints via crafted SASL messages to the IRCd. This allows any user to login as any other user that they know the certificate fingerprint of, and that user has services configured to accept SASL EXTERNAL login requests for.</p>
<p>This bug appears more widespread than just InspIRCd, and seems to affect most or all other implementations of SASL EXTERNAL, including Charybdis and UnrealIRCd.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.22...v2.0.23">here</a>.</p>
v2.0.22 released!2016-08-13T00:00:00+00:00http://www.inspircd.org/2016/08/13/v2022-released<p>InspIRCd v2.0.22 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.22">download it from the releases page</a>.</p>
<p>This release fixes the issues discovered since 2.0.21, containing important stability and correctness related fixes and better support for newer compilers (GCC 6.x). There is a new config option <code class="language-plaintext highlighter-rouge"><options:hideulinekills></code> that can be used to hide server notices for KILLs done by U-Lined servers (services). A desync issue has also been fixed which caused some channel bans to be not synced on burst for empty non-permanent channels in some cases.</p>
<!--more-->
<p>Many third party libraries shipping with the Windows installer has been updated: OpenSSL to 1.0.1t, GnuTLS to 3.4.14, OpenLDAP to 2.4.44, PCRE to 8.39 and GeoIP to 1.6.9.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.21...v2.0.22">here</a>.</p>
<p>Thanks to the following people for their work on this release:</p>
<p>Adam (3):</p>
<ul>
<li>Fix dccallow to work with files with spaces in their names</li>
<li>Don’t show snotices for kills from ulined clients</li>
<li>Fix bursting channel bans</li>
</ul>
<p>Attila Molnar (9):</p>
<ul>
<li>Remove embarrassing negative comments about some clients from the code</li>
<li>Fix for GCC 6 rightfully optimizing out the NULL check of ‘this’ in ConfigTag::readString()</li>
<li>Stop processing the new connection in UserManager::AddUser() when an internal SocketEngine error happens and the user is quitted</li>
<li>Don’t exit on rehash if the pid file cannot be written</li>
<li>m_ssl_gnutls, m_ssl_openssl After a read schedule another read if data remains in the buffer of the SSL library</li>
<li>m_ssl_openssl Verify DH params being non-NULL before setting it on the context</li>
<li>Fix more incorrect std::string::operator[] usage</li>
<li>m_censor Fix possible incorrect cast of dest</li>
<li>Release v2.0.22</li>
</ul>
<p>Guillaume Delacour (1):</p>
<ul>
<li>Minor spelling errors in m_spanningtree.so</li>
</ul>
<p>Sadie Powell (12):</p>
<ul>
<li>Quote paths in the makefile.</li>
<li>Fix GCC 6 warning about null checking this.</li>
<li>Fix ‘cron’ and ‘restart’ in the helper not forwarding arguments.</li>
<li>Partially revert “Quote paths in the makefile”.</li>
<li>Delete modules cautiously when doing a deinstall.</li>
<li>Fix extraneous quotes in makefile template.</li>
<li>Add configuration for building with Travis-CI.</li>
<li>Fix a minor warning in m_hideoper on some systems.</li>
<li>Fix 005 not showing some modes with the same rank as others.</li>
<li>GCC should never assume that this can not be null.</li>
<li>Force link sqlite3 on OS X when doing Travis builds.</li>
<li>Fix challenge auth when using m_hash_gnutls instead of m_sha256.</li>
</ul>
v2.0.21 released!2016-02-13T00:00:00+00:00http://www.inspircd.org/2016/02/13/v2021-released<p>InspIRCd v2.0.21 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.21">download it from the releases page</a>.</p>
<p>This is a bugfix only release, fixing issues discovered since 2.0.20. An issue has been fixed in m_namedmodes which allowed non-opers to obtain the key (<code class="language-plaintext highlighter-rouge">+k</code>) of a channel. This release also features build system fixes, more aggressive DNS cache pruning, increased default DH bit size to 2048 when generating DH params via <code class="language-plaintext highlighter-rouge">configure</code>, increased compatibility during <code class="language-plaintext highlighter-rouge">CAP</code> negotiation with some clients and various documentation enhancements.</p>
<!--more-->
<p>Note for Windows users: the GnuTLS library which ships as part of the InspIRCd Windows installer has been upgraded to the 3.4 branch because the 3.2 branch of GnuTLS which we used previously is no longer maintained. GnuTLS 3.4.x is not compatible with Windows XP.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.20...v2.0.21">here</a>.</p>
<p>Thanks to the following people for their work on this release:</p>
<p>Adam (1):</p>
<ul>
<li>Update m_ssl_gnutls to use libgnutls-30 for gnutls 3.4</li>
</ul>
<p>Attila Molnar (11):</p>
<ul>
<li>Fix incorrect std::string::operator[] usage</li>
<li>Fix a few documentation problems</li>
<li>m_operprefix Unset mode on unload</li>
<li>m_ircv3 Fix AWAY being sent on join to the joining user if it has away-notify enabled and is away</li>
<li>m_dccallow Add config option to control max entries on a list</li>
<li>Garbage collect DNS cache more often</li>
<li>Cap TTL of DNS cache entries</li>
<li>Limit DNS cache size</li>
<li>m_callerid Free old extension data before unserializing the new data</li>
<li>m_namedmodes Only show chan key to members and opers with channels/auspex</li>
<li>Release v2.0.21</li>
</ul>
<p>Sadie Powell (17):</p>
<ul>
<li>Fix exposing the opers hostname in KILL when using hidekills.</li>
<li>Fix configure overwriting the cache settings on startup.</li>
<li>Fix various issues with the nationalchars module.</li>
<li>Fix system-wide installation of the data and log directories.</li>
<li>Fix mistakenly using Clang instead of GCC on older FreeBSD versions.</li>
<li>Show a better warning when certtool/openssl are missing.</li>
<li>Log STDOUT and STDERR in the launchd script.</li>
<li>Fix checking whether kqueue is available.</li>
<li>Switch strlcpy test to use a test file too.</li>
<li>Switch <stdint.h> test to use a test file too.</stdint.h></li>
<li>Add missing copyright headers to test files.</li>
<li>Fix “make -jX debug install” causing linker errors.</li>
<li>Fix compilation with Microsoft Visual C++ 14.</li>
<li>Generate a 2048-bit dhparams unless explicitly specified.</li>
<li>Fix CAP REQ to be atomic like the standard dictates.</li>
<li>Work around irc::spacesepstream not stripping extraneous spaces.</li>
<li>Fix hidden operators being shown in LUSERS.</li>
</ul>
<p>Richard Bradfield (1):</p>
<ul>
<li>Replace deprecated tmpnam() call</li>
</ul>
<p>The Aviator (1):</p>
<ul>
<li>Fixed a build warning</li>
</ul>
New website2016-02-02T00:00:00+00:00http://www.inspircd.org/2016/02/02/new-website<p>I’m pleased to announce that we’ve got a brand new website developed by <a href="https://github.com/rolandhegedus">Roland Hegedus</a> (syf` on IRC).
Big thanks to Roland for his work on the site!</p>
v2.0.20 released!2015-05-10T00:00:00+00:00http://www.inspircd.org/2015/05/10/v2020-released<p>InspIRCd v2.0.20 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.20">download it from the releases page</a>.</p>
<p>This release fixes an issue with STARTTLS handling which can potentially cause a crash. Only servers using m_ssl_gnutls with STARTTLS enabled are affected, m_ssl_openssl is unaffected. To mitigate this problem, disable STARTTLS by setting <code class="language-plaintext highlighter-rouge"><gnutls starttls="off"></code>.</p>
<!--more-->
<p>Moreover, an option was added to the m_restrictmsg module to allow sending messages to users on ulined servers, which is useful if m_restrictmsg is used with services.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.19...v2.0.20">here</a>.</p>
v2.0.19 released!2015-04-16T00:00:00+00:00http://www.inspircd.org/2015/04/16/v2019-released<p>InspIRCd v2.0.19 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.19">download it from the releases page</a>.</p>
<p>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.</p>
<!--more-->
<p>See the <a href="https://github.com/inspircd/inspircd/issues?milestone=16&state=closed">issue tracker</a> for a list of reported bugs that got fixed in this version and for the pull requests that were merged.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.18...v2.0.19">here</a>.</p>
<p>Thanks to the following people for their work on this release:</p>
<p>Adam (1):</p>
<ul>
<li>Rebuild clone counts on rehash</li>
</ul>
<p>Attila Molnar (35):</p>
<ul>
<li>Allow setting a limit of less than 64 entries for non-ban listmodes via <banlist></banlist></li>
<li>Remove formatting from the IRC link in README.md</li>
<li>Fix a couple of helpop issues</li>
<li>Validate module reload callback before use in PURE_STATIC builds</li>
<li>Don’t submit a reload worker if the module doing the reload is scheduled for unload</li>
<li>Reject empty mode parameters in ModeParser::Process() instead of relying on ModeHandlers to do it</li>
<li>m_httpd On module unload close all connections hooked by the module being unloaded</li>
<li>m_check Fix non-standard format specifier %s passed to strftime() causing problems on systems not supporting it (Windows)</li>
<li>Fix User::age being incorrectly used in some places instead of signon</li>
<li>Fix signon time of clients being off by dns_timeout seconds</li>
<li>Fix harmless uninitialized variable usage on startup if the config is incorrect</li>
<li>Increase penalty for some core commands</li>
<li>Always penalize clients executing a command which fails before running the handler, even if the command has 0 penalty</li>
<li>Fix elines not matching elined users when rechecking elined status</li>
<li>m_hideoper Fix wrong /WHO output for hidden opers if the channel name contains ‘*’</li>
<li>Update year in resource file for Windows</li>
<li>Don’t bind ports after an unsuccessful rehash</li>
<li>m_operprefix Fix force joined opers not being given the operprefix mode</li>
<li>Fix numeric ERR_NOTREGISTERED not containing the user’s nick</li>
<li>m_abbreviation Fix typo in numeric text</li>
<li>threadengine_pthread Throw CoreExceptions instead of CoreException pointers</li>
<li>m_spanningtree Fix TreeRoot UserCount being possibly wrong if loaded after startup</li>
<li>cmd_userhost List 5 users in the reply even if the query (incorrectly) contains more than 5 nicks</li>
<li>Remove outdated ircservices and neostats config examples</li>
<li>m_timedbans Store Channel pointer in struct TimedBan</li>
<li>m_timedbans On channel destruction remove all timed bans belonging to the channel from internal bookkeeping</li>
<li>m_timedbans Extract IsBanSet() to a function</li>
<li>m_timedbans Notice user when trying to set a ban that’s already set</li>
<li>Reject replies to DNS PTR requests that contain invalid characters</li>
<li>m_sasl Add missing validation for server-to-server SASL message</li>
<li>Revert c8b344ea748d62d9f37cacd4dd785f15b186725c to fix regression</li>
<li>cmd_userhost Fix +H hidden opers being shown as opers</li>
<li>m_dccallow Validate tokens before use</li>
<li>m_sasl Update description, SASL is no longer exclusive to Atheme</li>
<li>Release v2.0.19</li>
</ul>
<p>Dan Parsons (1):</p>
<ul>
<li>Updated inspircd init script template to make it chkconfig compatible.</li>
</ul>
<p>Daniel Vassdal (1):</p>
<ul>
<li>cmd_list: Give +s precedence to +p</li>
</ul>
<p>JD Horelick (2):</p>
<ul>
<li>Add missing oper-only commands to oper class blocks</li>
<li>Make some config strings a bit more professional and use RFC reserved TLD’s everywhere</li>
</ul>
<p>Sadie Powell (11):</p>
<ul>
<li>Fix modulemanager not being able to download modules (again!).</li>
<li>Fix a snotice in m_spanningtree incorrectly using an unsigned long.</li>
<li>Don’t load Data::Dumper in the configure script.</li>
<li>Fix a blank error message when trying to load a module with a path.</li>
<li>Fix modules not being versioned on Windows.</li>
<li>Fix erroneous error messages in configure.</li>
<li>Fix a minor crash when a user has no class after OnCheckReady.</li>
<li>Fix various Clang warnings.</li>
<li>Upgrade Doxyfile from 1.8.3.1 to 1.8.9.1.</li>
<li>Fix various Doxygen warnings.</li>
<li>Fix building when VERBOSE is already set in the environment.</li>
</ul>
<p>Renegade334 (1):</p>
<ul>
<li>Remove non-existant extban M: from docs</li>
</ul>
<p>Thanks to B00mX0r, Christoph Kern (Sheogorath) and Filippo Cortigiani (Simos) for running development snapshots and providing feedback during the development of this release.</p>
v2.0.18 released!2014-10-26T00:00:00+00:00http://www.inspircd.org/2014/10/26/v2018-released<p>InspIRCd v2.0.18 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.18">download it from the releases page</a>.</p>
<p>This release fixes the issues discovered since 2.0.17.</p>
<p>Several new config options are now available for OpenSSL making it possible to disable SSLv3 among other things. For details please see the <a href="https://wiki.inspircd.org/Modules/2.0/ssl_openssl">updated OpenSSL wiki page</a>.</p>
<!--more-->
<p>See the <a href="https://github.com/inspircd/inspircd/issues?milestone=15&state=closed">issue tracker</a> for a list of reported bugs that got fixed in this version and for the pull requests that were merged.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.17...v2.0.18">here</a>.</p>
<p>Thanks to the following people for their work on this release:</p>
<p>Adam (4):</p>
<ul>
<li>Do not use the result of the dns cache when the query type of the result is different from the type of the query. #66</li>
<li>Remove IPv6 address compaction.</li>
<li>Fix watch away numerics, #937</li>
<li>Fix m_banredirect causing bans added for hosts being rewritten as nicks</li>
</ul>
<p>Attila Molnar (32):</p>
<ul>
<li>m_sqlite3 Fix cleanup of unsuccessful database connections</li>
<li>Don’t try to set a mode in Channel::SetDefaultModes() if it needs a parameter but does not have one</li>
<li>Reject parameters that begin with a colon in Channel::SetDefaultModes()</li>
<li>m_ssl_gnutls Re-set DH params when the gnutls_certificate_credentials_t struct is reallocated</li>
<li>m_ssl_openssl Clear the error queue before every SSL_* call</li>
<li>m_ssl_openssl Enable single (EC)DH use and disable SSL v2</li>
<li>m_ssl_openssl Disable session caching and session tickets</li>
<li>m_ssl_openssl Allow configuring raw OpenSSL context options</li>
<li>m_nationalchars Rebuild core hashmaps when the national_case_insensitive_map changes</li>
<li>m_nationalchars Rebuild the hash map in m_watch when the national_case_insensitive_map changes</li>
<li>m_spanningtree Rebuild serverlist and sidlist when receiving a specific Request</li>
<li>m_nationalchars Ask m_spanningtree to rebuild its hashmaps when the national_case_insensitive_map changes</li>
<li>m_ssl_openssl Add user-friendly config options for setting a few OpenSSL context options</li>
<li>m_ssl_openssl Return an error from the IOHook read and write functions if the handshake returns 0</li>
<li>m_ssl_openssl Remove bogus errno assignment from CloseSession()</li>
<li>m_ssl_openssl Free the ssl_cert object as soon as the session is closed instead of waiting for the next VerifyCertificate() or new connection</li>
<li>m_ssl_openssl Reset data_to_write for new sessions</li>
<li>m_ssl_openssl Fix debug message</li>
<li>m_ssl_gnutls Refcount GnuTLS objects, free them when they are no longer in use instead of at /rehash ssl time</li>
<li>Add interface to SSL modules that allows other modules to obtain the raw SSL session of a socket</li>
<li>Initialize all fields of issl_session on module load in SSL modules</li>
<li>m_delayjoin Only send JOIN on mode change if the mode being changed is a prefix mode</li>
<li>Update <nationalchars> tag documentation</li>
<li>m_ssl_gnutls Add compile time option for allowing sha256 certificate fingerprints</li>
<li>m_ssl_openssl Add compile time option to enable ECDH</li>
<li>m_ssl_openssl Add compile time option that allows disabling renegotiations</li>
<li>Set the parameter of -b to the banmask actually removed</li>
<li>Check the return value of getnameinfo() on Windows in insp_inet_ntop() and return NULL if it fails</li>
<li>Fail AAAA DNS queries if inet_ntop() fails</li>
<li>m_delaymsg Add option to disallow NOTICEs too</li>
<li>Remove some dead code found by Coverity</li>
<li>Release v2.0.18</li>
</ul>
<p>Sadie Powell (13):</p>
<ul>
<li>Fix listmodes when the config does not specify a wildcard size entry.</li>
<li>Fix pkg-config not being used for OpenSSL on non-FreeBSD systems.</li>
<li>Add a work around for trampling over PKG_CONFIG_PATH.</li>
<li>Fix unit-cc not loading configure cache when building files.</li>
<li>Fix hash_map.h on non-GNU C++ standard library implementations.</li>
<li>Fix various warnings when building with LLVM 3.5.</li>
<li>Avoid calling methods on NULL pointers wherever possible.</li>
<li>Replace dodgy use of const char* and memcpy with std::string.</li>
<li>Kill some logically dead code detected by Coverity.</li>
<li>Add a workaround for compiling modules with Windows line endings.</li>
<li>Fix some small bugs in the makefile template.</li>
<li>Use clang++ on FreeBSD 10 instead of g++.</li>
<li>Use gnutls_rnd instead of gcry_randomize on newer GnuTLS versions.</li>
</ul>
<p>Robin Burchell (2):</p>
<ul>
<li>Fix an off-by-one on registration timeout handling.</li>
<li>Revert “Fix an off-by-one on registration timeout handling.”</li>
</ul>
v2.0.17 released!2014-07-24T00:00:00+00:00http://www.inspircd.org/2014/07/24/v2017-released<p>InspIRCd v2.0.17 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.17">download it from the releases page</a>.</p>
<p>This is a bugfix-only release, bringing several improvements and fixes for the Windows version, better compiler support and stability and correctness related improvements.</p>
<!--more-->
<p>An issue has been fixed that caused m_joinflood to wrongly lock down channels on netbursts in some cases.</p>
<p>Upgrading is strongly recommended.</p>
<p>See the <a href="https://github.com/inspircd/inspircd/issues?milestone=14&state=closed">issue tracker</a> for a list of reported bugs that got fixed in this version and for the pull requests that were merged.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.16...v2.0.17">here</a>.</p>
<p>Thanks to the following people for their work on this release:</p>
<p>Adam (5):</p>
<ul>
<li>Change Windows libraries to be dynamically linked</li>
<li>Do not export callers</li>
<li>Fix m_permchannels and m_xline_db on Windows</li>
<li>m_hideoper: Hide hidden opers from /stats P. #874</li>
<li>Update aliases/anope.conf.example</li>
</ul>
<p>Attila Molnar (21):</p>
<ul>
<li>m_watch Be more strict when checking whether the watch list of a user is full</li>
<li>Filter out newlines from error messages on Windows</li>
<li>Change FormatMessage() usage in DLLManager::RetrieveLastError() to match SocketEngine::LastError()</li>
<li>m_ojoin Remove pointless FindChan() call</li>
<li>Ignore NULL callbacks in ModuleManager::Reload()</li>
<li>m_auditorium Handle NULL return from Channel::GetUser() in OnSendWhoLine()</li>
<li>Allow uppercase letters in IPv6 CIDR masks</li>
<li>m_ssl_openssl Avoid Applink on Windows by calling PEM_read_bio_DHparams() instead of PEM_read_DHparams()</li>
<li>Compress the Windows installer with zlib to reduce AV false positives</li>
<li>Fix undefined symbol error on module load if compiled with Clang 3.4</li>
<li>m_spanningtree Set the bursting flag in the FJOIN handler based on whether the source of the FJOIN is bursting or not</li>
<li>m_spanningtree Advertise the availability of m_globops in CAPAB CAPABILITIES</li>
<li>m_cgiirc Call User::InvalidateCache() after changing host and dhost in OnCheckReady()</li>
<li>Update year in resource file for Windows</li>
<li>m_spanningtree Fix cleanup of connections when unloading a module that provides an IOHook</li>
<li>m_spanningtree Forward NICK messages when they cause a collision with the new nick param rewritten to the uuid</li>
<li>m_chghost Allow ulined servers to change the host of unregistered users (for SASL)</li>
<li>Make sure the DN strings obtained from the SSL mods are always valid</li>
<li>m_spanningtree Always treat the remote client as the winner on nick collision if the nick is used by a (local) client that isn’t fully registered</li>
<li>Update example configuration files, fix typos and case</li>
<li>Release v2.0.17</li>
</ul>
<p>Dan Parsons (1):</p>
<ul>
<li>Update server.cpp</li>
</ul>
<p>Sadie Powell (4):</p>
<ul>
<li>Backport questions from master’s genssl tool.</li>
<li>Replace deprecated entry in launchd config with the modern equivalent.</li>
<li>Fix copy/paste error in m_denychans.</li>
<li>Fix various small problems with configure.</li>
</ul>
<p>Robby- (2):</p>
<ul>
<li>Correct the syntax messages of a few modules.</li>
<li>Some more helpop config updates.</li>
</ul>
<p>Tim Heckman (1):</p>
<ul>
<li>remove unneeded whitespace from the docs/examples</li>
</ul>
<p>satmd (1):</p>
<ul>
<li>Fix harmless loop off-by-ones found by Moonlightning</li>
</ul>
v2.0.16 released!2014-04-06T00:00:00+00:00http://www.inspircd.org/2014/04/06/v2016-released<p>InspIRCd v2.0.16 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.16">downloads are here</a>.</p>
<p>This is a bugfix-only release, containing several stability related and correctness improvements.
An issue has also been fixed that prevented clients using NSS for SSL/TLS such as Pidgin (via libpurple), ChatZilla, Instantbird, etc. from reconnecting to a server using OpenSSL after disconnection.
See this <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=858394">bug report</a> for more information.</p>
<!--more-->
<p>Upgrading is strongly recommended.</p>
<p>The example configuration and the helpop text received a huge update as well, hopefully the new explanations will make things easier to understand.
Let us know if you find something in the documentation that is unclear to you.</p>
<p>The <a href="https://github.com/inspircd/inspircd/issues?milestone=13&state=closed">issue tracker</a> contains a list of the reported bugs which got fixed in this version.
View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.15...v2.0.16">here</a>.</p>
<p>Thanks to the following people for their efforts that made this release possible:</p>
<p>Adam (3):</p>
<ul>
<li>Set a session id on our server ssl context in m_ssl_openssl. It is required for some clients which try to restore SSL sessions.</li>
<li>Fix new file descriptor debug log message in socketengine_poll to show the correct events</li>
<li>Fix /who on opers incorrectly showing +i opers to users without the privilege to see them</li>
</ul>
<p>Attila Molnar (22):</p>
<ul>
<li>m_ssl_openssl Fix memory leaks on /rehash ssl, unload and in VerifyCertificate()</li>
<li>m_banredirect Fix typo in a message (transfered -> transferred)</li>
<li>socketengine_epoll Initialize CurrentSetSize (only used by m_httpd_stats)</li>
<li>socketengine_select Reset the values in the timeval struct on *nix before select()</li>
<li>Fix NULL dereference on rehash when there is a fatal error in the configuration of connect classes</li>
<li>m_spanningtree Don’t send snotices to servers about remote servers splitting</li>
<li>m_spanningtree Do pointer comparison before deleting one of the pointers in TreeSocket::Squit()</li>
<li>Improve detection for non-cidr masks to prevent unwanted matches</li>
<li>cmd_names Allow opers having the channels/auspex priv to view the NAMES list of +s channels from outside</li>
<li>Backport “Refactor Channel::UserList() to use std::string”</li>
<li>Fix NAMES list getting truncated on servers having an excessively long server name</li>
<li>m_operprefix Don’t set +y on the oper if hideoper is being unset due to deopering</li>
<li>m_httpd Fix typo noticed by @SadieCat</li>
<li>m_globalload Don’t pass a callback to ModuleManager::Reload() if reloading m_globalload</li>
<li>m_watch Validate targ before use, noticed while rewriting m_watch for 2.2</li>
<li>Major example configuration and helpop update</li>
<li>Fix typos and update text in the configure script</li>
<li>Add REG_ALL checks to treat unregistered users as nonexistent in more cases</li>
<li>Fix snotice about disabled command usage being sent to the wrong snomask</li>
<li>Fix typo in helpop-full that prevented it from loading and other minor helpop issues</li>
<li>Fix IPv6 address handling in 6aaf7047297b739377e7d509cb914f32447fb281</li>
<li>Release 2.0.16</li>
</ul>
<p>Sadie Powell (2):</p>
<ul>
<li>Fix various problems detected by Clang 3.4.</li>
<li>Fix Solaris not being able to find modules without pkg-config.</li>
</ul>
<p>Daniel Vassdal (1):</p>
<ul>
<li>Fix build problem on Solaris</li>
</ul>
v2.0.15 released!2014-01-21T00:00:00+00:00http://www.inspircd.org/2014/01/21/v215-released<p>InspIRCd v2.0.15 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.15">downloads are here</a>.</p>
<p>This is a bugfix release addressing minor issues discovered since 2.0.14.</p>
<!--more-->
<p>One notable change is that m_svshold can now be silent, if set in the config; see updated example config for details.</p>
<p>The <a href="https://github.com/inspircd/inspircd/issues?milestone=12&state=closed">issue tracker</a> contains a list of the reported bugs which got fixed in this version.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.14...v2.0.15">here</a>.</p>
<p>Thanks to the following people for their efforts that made this release possible:</p>
<p>Adam (3):</p>
<ul>
<li>Fix issue #657, fix sending FNAME with spaces</li>
<li>Fix parsing ADDLINE with expiration or creation dates past ~2038 probably</li>
<li>Use case insensitive comparison for server names for (auto)connects, issue #662</li>
</ul>
<p>Attila Molnar (25):</p>
<ul>
<li>Don’t CoreExport reference, fixes m_dnsbl on Windows</li>
<li>m_spanningtree Fix timestamp in AWAY</li>
<li>m_showwhois Require 2 parameters for WHOISNOTICE</li>
<li>m_httpd Close all open http sockets on unload</li>
<li>Fix ConvToStr(char)</li>
<li>Work around STB_GNU_UNIQUE symbols not allowing module unmap</li>
<li>m_spanningtree Fix nick TS desync on SVSNICK</li>
<li>Show +i users on a channel to opers having the channels/auspex priv who do /NAMES from outside of the chan</li>
<li>Fix possible use of invalid iterator on module unload</li>
<li>m_mlock Only deny the mlocked mode from being changed instead of denying the entire mode change if it contains a single mlocked mode</li>
<li>m_sajoin Send global snotice when the join happens</li>
<li>m_alias Fix out of bounds string access that happened with certain replace strings</li>
<li>m_dccallow Increase penalty for /DCCALLOW help</li>
<li>Use FindNickOnly() in a few more places if a local user is performing an action to prevent UID walking</li>
<li>m_joinflood Fix remote joins affecting local joinflood state when the channel is locked</li>
<li>
<table>
<tbody>
<tr>
<td>m_dnsbl Don’t send snotice when the {G</td>
<td>K</td>
<td>Z}line already exists</td>
</tr>
</tbody>
</table>
</li>
<li>m_services_account Add workaround for wrong host being displayed in numeric when cgiirc users log in using SASL</li>
<li>Update example configs/helpop</li>
<li>m_httpd Add timeout option; remove timed out connections</li>
<li>m_svshold Add config option to hide snotices</li>
<li>m_joinflood Unset the mode on unload</li>
<li>Increase the penalty for a few core commands</li>
<li>m_httpd_stats Be more conservative when escaping data</li>
<li>Bump API version because of 3f4d54eb031f1cd6b016dfe1f768ed86303e3856</li>
<li>Release 2.0.15</li>
</ul>
<p>ChrisTX (3):</p>
<ul>
<li>Improve support for rarely used compilers, EKOPath in this case.</li>
<li>Fix a crash when running as systemd service</li>
<li>Fix a shadow warning created by ConfigTag::create</li>
</ul>
<p>Daniel Vassdal (5):</p>
<ul>
<li>Fix remote /MODULES bug</li>
<li>Fix ACCEPT propagation bug when it got a nick prefixed with +</li>
<li>Fix m_override refusing to override modes if the user holds halfop or higher in the channel</li>
<li>Allow ranges beginning with 0 in m_channames</li>
<li>Fix OOB error in sa2cidr()</li>
</ul>
<p>Mantas Mikulėnas (3):</p>
<ul>
<li>Handle SASL failures during SASL_INIT (wrong mechanism, etc.)</li>
<li>Support SASL messages other than ‘C’ and ‘D’</li>
<li>Use standard example addresses in configs</li>
</ul>
<p>Sadie Powell (5):</p>
<ul>
<li>Improve error reporting for <security:runas{user,group}>.</li>
<li>Fix m_silence looking for maxentries in <showwhois> instead of <silence>.</li>
<li>Fix various problems with ModuleManager.</li>
<li>Fix the HELPOP database being destroyed when a rehash fails.</li>
<li>Fix some logically dead code which was found by Coverity.</li>
</ul>
v2.0.14 released!2013-08-28T00:00:00+00:00http://www.inspircd.org/2013/08/28/v214-released<p>InspIRCd v2.0.14 has been released, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.14">downloads are here</a>.</p>
<p>This is mostly a bugfix-only release, the only new feature is that
m_permchannels is now able to save list modes (see the updated example config).</p>
<p>The <a href="https://github.com/inspircd/inspircd/issues?milestone=11&state=closed">issue tracker</a> contains a list of the reported bugs which got fixed in this version.</p>
<!--more-->
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.13...v2.0.14">here</a>.</p>
v2.0.13 released!2013-06-05T00:00:00+00:00http://www.inspircd.org/2013/06/05/v213-released<p>InspIRCd v2.0.13 has been released, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.13">downloads are here</a>.</p>
<p>This version fixes a couple of problems on Windows, mostly related to IPv6 and GnuTLS.
Stability problems in extra modules have also been fixed.</p>
<!--more-->
<p>The USERIP command (provided by m_userip) has been changed to allow non-opers to query their own IP. Additionally, opers now require the <code class="language-plaintext highlighter-rouge">users/auspex</code> privilige to query the IP of other users (which is the same privilige that is needed to see real IPs in /WHOIS).</p>
<p>You can check out the <a href="https://github.com/inspircd/inspircd/issues?milestone=10&state=closed">issue tracker</a> for the list of reported and fixed bugs (and enhancements) in this version.</p>
<p>View the complete changelog <a href="https://github.com/inspircd/inspircd/compare/v2.0.12...v2.0.13">here</a>.</p>
v2.0.12 released!2013-04-24T00:00:00+00:00http://www.inspircd.org/2013/04/24/v212-released<p>InspIRCd v2.0.12 has been released, you can <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.12">download it here</a>.</p>
<p>This version brings major performance and stability improvements, upgrading is
strongly recommended.</p>
<p>A slowdown issue has been fixed that caused problems mainly on big servers with
a large number of clients. However, smaller servers will also benefit from the
fix.</p>
<!--more-->
<p>To reduce load time, m_ssl_gnutls is now also able to load DH parameters from a
file. Specify the filename in the <code class="language-plaintext highlighter-rouge"><gnutls></code> tag, e.g.:
<code class="language-plaintext highlighter-rouge"><gnutls dhfile="conf/dhparams.pem"></code>
You can generate the primes using the following command:
<code class="language-plaintext highlighter-rouge">certtool --generate-dh-params --bits 2048 --outfile dhparams.pem</code></p>
<p>Git shortlog:</p>
<p>Adam (1):</p>
<ul>
<li>Fix m_ssl_gnutls and perhaps some other things on Windows by recognizing WSAEWOULDBLOCK</li>
</ul>
<p>Sadie Powell (1):</p>
<ul>
<li>Fix ModuleManager error caused by a lack of arguments.</li>
</ul>
<p>attilamolnar (30):</p>
<ul>
<li>Minor update to example configs</li>
<li>cmd_invite Check if the inviting user is on the channel before potentially telling him the target is already on it</li>
<li>cmd_stats List opers without iterating the whole userlist</li>
<li>Fix LUSERS not working in a PURE_STATIC build</li>
<li>Don’t attempt to unload or reload modules that are waiting to be unloaded</li>
<li>Remove some uline checks that ran after an IS_LOCAL() check</li>
<li>m_spanningtree Create new TreeServers for incoming connections only when they’ve accepted our credentials, not when they send SERVER</li>
<li>Do not enable SO_LINGER on our sockets</li>
<li>Close listening sockets regardless of the return value of shutdown()</li>
<li>m_kicknorejoin Minor improvements</li>
<li>m_kicknorejoin Limit time to 30m by default</li>
<li>m_kicknorejoin Store and compare uuids instead pointers</li>
<li>m_callerid Fix bookkeeping error introduced when unserializing callerid_data</li>
<li>m_callerid Ignore duplicate entries when unserializing callerid_data</li>
<li>m_spanningtree Fix IS_LOCAL() check in OnRehash handler</li>
<li>m_callerid Allow messaging yourself while +g regardless of the ACCEPT list</li>
<li>m_ident Invalidate cache after changing User::ident</li>
<li>Fix uuids getting truncated in the nick hash in UserManager::AddUser() if nickmax is < 9</li>
<li>Immediately stop processing whenever we detect and handle a RecvQ overrun</li>
<li>Don’t crop the channel name if it’s too long in Channel::Channel()</li>
<li>m_permchannels Workaround for alphabetical module initialization order</li>
<li>Log some internal errors on DEFAULT loglevel instead of DEBUG, log detected errors in m_callerid</li>
<li>m_filter Fix memory leak on unload</li>
<li>m_filter, m_rline Remove rlines and filters when the regex engine changes or becomes unavailable</li>
<li>m_rline Switch to OnUserRegister hook to disconnect banned users earlier</li>
<li>Add config option to disable somaxconn range() check</li>
<li>m_spanningtree Fix crash when connecting to a remote server that has the same name as we do and also there is a link block with our server name and their password</li>
<li>m_ssl_gnutls Add ability to load DH params from file</li>
<li>Move SocketEngine::IgnoreError() code into socketengine.h and add test for EWOULDBLOCK</li>
<li>Release 2.0.12</li>
</ul>
v2.0.11 released!2013-03-29T00:00:00+00:00http://www.inspircd.org/2013/03/29/v211-released<p>InspIRCd v2.0.11 is now available, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.11">downloads can be found here</a>.</p>
<p>This is mainly a bugfix only release, however the Windows version does contain major improvements, a new build system by Adam, and a brand new service wrapper by @ChrisTX.
This release also solves build problems on OpenBSD and Solaris.</p>
<!--more-->
<p>For a list of fixed issues and improvements see the <a href="https://github.com/inspircd/inspircd/issues?milestone=8&state=closed">bug tracker</a>.</p>
<p>A shortlog since the last release:</p>
<p>Adam (4):</p>
<ul>
<li>Fixed m_ssl_gnutls build on Windows; gnutls.h uses ssize_t which is defined in gcrypt.h</li>
<li>Replace Windows build system and installer with cmake</li>
<li>Link win32_memory too inspircd too</li>
<li>win: Made config, modules, data, and log paths configurable.</li>
</ul>
<p>ChrisTX (1):</p>
<ul>
<li>Win32: Rewrite the service wrapper</li>
</ul>
<p>Daniel Vassdal (1):</p>
<ul>
<li>Added support for EXTERNAL</li>
</ul>
<p>Sadie Powell (14):</p>
<ul>
<li>Fix property list arguments.</li>
<li>OpenBSD does not have KERN_MAXFILESPERPROC.</li>
<li>Fix the poll socket engine on BSD’s other than FreeBSD.</li>
<li>Include <list> in base.h to prevent build errors on OpenBSD.</li>
<li>Replace a GNUmake idiom with the portable equivalent.</li>
<li>Fix warning: “const type qualifier on return type has no effect”.</li>
<li>Fix OpenSSL detection on distributions which modify the version number.</li>
<li>Use GNU install on Solaris.</li>
<li>Use a better server name in m_httpd.</li>
<li>Use the preprocessor to detect whether hash_map is available.</li>
<li>Remove unused variables detected by Clang 4.2.</li>
<li>Fix multiple escape bugs in m_httpd_stats.</li>
<li>Reorganise configuration files</li>
<li>Update Doxyfile for the latest version of Doxygen.</li>
</ul>
<p>Robby- (1):</p>
<ul>
<li>cmode_b: Correction to the maxbans conditional It was possible to set one more ban beyond the configured limit.</li>
</ul>
<p>ShutterQuick (1):</p>
<ul>
<li>Modified m_timedbans to behave more like setting mode +b manually. It now accepts extbans.</li>
</ul>
<p>attilamolnar (41):</p>
<ul>
<li>Fix errors in socketengine_ports so it compiles on Solaris</li>
<li>m_ldapoper Fix typo spotted by @lordsith49</li>
<li>m_banredirect Remove unnecessary hooks, cleanup</li>
<li>m_banredirect Deny the join to the redirect channel if it has a redirecting ban set that matches the user</li>
<li>m_messageflood Ask to be the last to handle OnUserPreMessage/OnUserPreNotice</li>
<li>m_maphide Ignore unregistered users</li>
<li>m_spanningtree Fix rare desync when a KILL crosses a message that has the killed user’s prefix and modifies global state</li>
<li>m_chanhistory Fix durations containing ‘S’ being rejected</li>
<li>m_ssl_gnutls Fix build with GnuTLS 1.x</li>
<li>Fix exactly <limits:maxchan> long channel names being truncated</li>
<li>cmd_invite Correct error message when the user has no privs to invite and no halfop prefix is available</li>
<li>cmd_invite Send invite announcements to halfops and higher when <security:announceinvites> is ‘dynamic’ regardless of the channel being +i or not</li>
<li>m_ssl_gnutls Fix null pointer dereference in case gnutls_xxx_get_name() returns NULL</li>
<li>cmd_lusers Convert to a module</li>
<li>cmd_lusers Refresh max local/global user counters after a user connects</li>
<li>cmd_lusers Use of size() instead of counting elements</li>
<li>cmd_lusers Be smart and know how many invisible users are there without iterating the userlist</li>
<li>m_dnsbl Fix connecting users timeouting when a dnsbl result is in the dns cache</li>
<li>Stop user initialization when the user is marked as quitting after OnSetUserIP</li>
<li>Either store the Resolver in DNS::AddResolverClass() or delete it before returning</li>
<li>Fix m_dnsbl not checking cgiirc users when the cgiirc address is elined</li>
<li>m_connectban Switch to OnSetUserIP hook to handle cgiirc users properly, ignore e-lined users</li>
<li>Remove dead code from DNS</li>
<li>m_ssl_openssl Make it clear that a CA file is not mandatory</li>
<li>m_connflood Ignore e-lined users</li>
<li>m_permchannels Load channels from the config only at module load time and only when there are no linked servers to avoid desync</li>
<li>m_spanningtree Fix incoming channel modes being lost for 0-user permanent channels on the losing side of a netmerge</li>
<li>Add support for mandatory tags in included config files</li>
<li>Fix infinite loop when all DNS request slots are in use</li>
<li>m_timedbans Notice halfops and above when a timed ban is placed</li>
<li>Initialize the FakeClient pointer in InspIRCd::InspIRCd()</li>
<li>Accept -c as a command line argument (equivalent to –config)</li>
<li>m_xline_db Major enhancements</li>
<li>m_xline_db Fix pointless excessive stack usage in ReadDatabase()</li>
<li>cmd_lusers Fix miscounting</li>
<li>Fix premature overwriting of OLDTIME that resulted in time drifts never being detected</li>
<li>m_ldapoper Fix memory leak</li>
<li>m_ldapoper Make the module actually work</li>
<li>Update doc and fix the description of m_allowinvite</li>
<li>cmd_kill Send snotice to servers when both the oper and the victim are on the same server</li>
<li>Release 2.0.11</li>
</ul>
v2.0.10 and v1.2.10 released!2012-12-16T00:00:00+00:00http://www.inspircd.org/2012/12/16/v210-released<p>InspIRCd v2.0.10 and v1.2.10 have been released with lots of bugfixes (including fixes for
crashes) and small improvements.
Upgrading is strongly recommended, the <a href="https://github.com/inspircd/inspircd/releases">download links are here</a>.</p>
<!--more-->
<p>New features to 2.0.10:</p>
<ul>
<li>m_filter can now strip colors from the text before processing (new flag: c)</li>
<li>m_ldapauth allows setting vhosts, and can filter on arbitrary LDAP attributes (see the updated config for details)</li>
<li>m_operlog now logs to snomask r if enabled in the config</li>
</ul>
<p>Thanks to all the people for their work who contributed to this release.</p>
<p>A git shortlog since the last release:</p>
<p>Adam (5):</p>
<ul>
<li>Compare the result of ldap_search_ext_s to LDAP_SUCCESS….</li>
<li>Add myself to the Other Contributors list</li>
<li>Issue #346 - fix m_permchannels.cpp and m_xline_db.cpp saving their databases on Windows due to rename() failing if the destination file exists</li>
<li>Don’t send quitting users in RPL_NAMREPLY, fixes desyncing clients who join a channel after a user has quit but before they are culled</li>
<li>Make the select() socketengine suck significantly less</li>
</ul>
<p>Adrien Bustany (1):</p>
<ul>
<li>m_ldapauth Allow filtering on arbitrary LDAP attributes</li>
</ul>
<p>Boleslaw Tokarski (1):</p>
<ul>
<li>Allows to use user->ident string instead of user->nick for NickServ.</li>
</ul>
<p>ChrisTX (4):</p>
<ul>
<li>Windows: In-depth cleanup (see details)</li>
<li>Replace printf(_c) with iostream</li>
<li>m_ssl_gnutls: Resolve deprecation warnings properly</li>
<li>Resolve two warnings clang complains about</li>
</ul>
<p>Sadie Powell (12):</p>
<ul>
<li>Fix for #268.</li>
<li>Fix configure system loading cache file too late.</li>
<li>Fix typo in m_filter.</li>
<li>Temporary fix for HASHMAP_DEPRECATED on clang.</li>
<li>Fix ModuleManager failing when:</li>
<li>Fix m_ssl_gnutls when using non-standard include/lib paths.</li>
<li>Fix m_ssl_gnutls under GCC on recent versions of GnuTLS.</li>
<li>Silence OpenSSL deprecation warnings on OS X.</li>
<li>Fix GnuTLS certificate generation on OS X.</li>
<li>Fix the list of files to be removed by make.</li>
<li>Fix invalid argument warnings on clang.</li>
<li>Fix #380 on BSD make.</li>
</ul>
<p>Robin Burchell (6):</p>
<ul>
<li>ldapauth: Rework required attributes code to use only one exit path.</li>
<li>ldapauth: Add missing verbose logging to required attributes.</li>
<li>ldapauth: Allow setting virtual hosts on identification with m_ldapauth.</li>
<li>ldapauth: fix memory leak</li>
<li>ldapauth: RAII returned ldap message.</li>
<li>ldapauth: register both extensions</li>
</ul>
<p>Steven Van Acker (4):</p>
<ul>
<li>use documented “value” attribute instead of undocumented “newhost”</li>
<li>wrong order of arguments to Host()</li>
<li>unhook –uid from –system in configure script</li>
<li>added warning that autoconnect is now a separate tag</li>
</ul>
<p>attilamolnar (92):</p>
<ul>
<li>Update modules.conf.example with m_ircv3</li>
<li>Move simple user and channel mode handlers into a single file</li>
<li>Fix unregistered users getting global notices, also fix certain commands working on unregistered users, spotted by @Adam-</li>
<li>Remove superfluous std::string()s</li>
<li>m_cgiirc, m_dnsbl Remove unnecessary includes</li>
<li>Fix broken build</li>
<li>m_ssl_gnutls Cast pointer difference to an unsigned int before displaying it</li>
<li>Remove no-op call to IncreaseOSBuffers() from BufferedSocket::BeginConnect()</li>
<li>m_chancreate Fix snonotices not being sent when remote users create channels Fixes #318</li>
<li>Remove IncreaseOSBuffers() completely</li>
<li>m_ident Allow the usage of an overriden IsIdent() instead of using a hardcoded version of it Fix long idents being accepted regardless of Limits.IdentMax</li>
<li>m_filter Cleanup, remove empty and useless functions</li>
<li>m_filter Use an enum for filter actions instead of a string</li>
<li>m_filter Change exemptfromfilter to be a set</li>
<li>m_filter Remove redundant flags field from FilterResult Change FillFlags() to return the character it did not understand, 0 if all ok</li>
<li>m_filter Don’t move the filter to the beginning of the vector when a match occurs</li>
<li>m_filter More cleanup and optimizations Fix a typo</li>
<li>Fix KILL accepting SIDs, get rid of potentially unsafe snprintf and strlcpy</li>
<li>Make better use of User::GetFullRealHost()</li>
<li>Fix /RESTART not closing file descriptors Fixes issue #262 reported by @MistrX</li>
<li>m_nickflood Make code more readable, unset +F when the module is unloaded See 21c3232b8e0bb41727f2d65a0b2d5304587cf6be and fae560cddc389b88c9cd34afdccf9035f4d11c5b</li>
<li>m_nickflood Fix a case when channels were locked regardless of elapsed time since the last nick change Fixes #330 reported by @Shawn-Smith</li>
<li>m_topiclock Prefix ModDesc with $</li>
<li>m_nicklock Fix typo</li>
<li>m_ircv3 Fix away-notify not sending AWAY messages when somebody joins who is away</li>
<li>m_ircv3 Attach to OnRehash</li>
<li>m_ojoin Fix giving +Y only instead of +Yo when <ojoin:op> is on and the user is already in the channel</li>
<li>Fix warnings in configreader.cpp on FreeBSD Fixes #348 reported by @netkurd</li>
<li>m_operlog Add tosnomask config option, to log all oper actions to snomask ‘r’ If enabled, the commands can be logged to channels with m_chanlog and also other +s +r opers can see them Fixes #325 reported by @SeLEct-</li>
<li>Move ServerConfig::ProcessColors() into class InspIRCd, as a helper function Change signature to accept a file_cache reference so modules can use it easily</li>
<li>m_opermotd Add support for replacing \u \b etc. with color codes Fixes #322 reported by @MistrX</li>
<li>Fix typo in doc and remove some whitespace</li>
<li>m_ssl_openssl Remove unused variables</li>
<li>m_ssl_gnutls, m_ssl_openssl Set error message for the socket to “Connection closed” whenever the ssl connection is closed</li>
<li>m_spanningtree Refuse bogus NICK messages If the new nick looks like an uid verify that its the correct uid</li>
<li>m_spanningtree SVSNICK needs 3 parameters</li>
<li>m_operprefix Remove unused hooks, move module initialization to init()</li>
<li>m_operprefix Switch to OnUserPreJoin hook to give +y to joining opers, switch to OnPostOper for giving +y initially</li>
<li>m_operprefix Enhance compatibility with m_hideoper using a ModeWatcher Prioritize after m_opermodes, so we know when it sets +H on somebody</li>
<li>Remove usage of the deprecated ConfigReader</li>
<li>Remove calls to ListModeBase::OnCleanup (deprecated, empty function)</li>
<li>Remove usage of deprecated CallCommandHandler() and IsValidModuleCommand()</li>
<li>m_globalload Fix wrong error message being sent when the module given to /gunloadmodule is not found</li>
<li>Change empty string assignments to .clear() or remove them entirely</li>
<li>m_remove, m_services_account Don’t check whether nicks are u-lined, checking the server is enough</li>
<li>ServerConfig::ServerName is a std::string, don’t call .c_str() on it when passing it to Channel::WriteChannelWithServ, etc.</li>
<li>m_remove Cleanup</li>
<li>m_securelist Update description</li>
<li>m_jumpserver Fix wrong nickname in the numeric when redirecting all users immediately, cleanup</li>
<li>m_customtitle Minor cleanup</li>
<li>m_nokicks Remove u-line check, OnUserPreKick doesn’t run in that case</li>
<li>m_ssl_gnutls Dynamically detect the number of certificates in the certfile Remove the “certcount” setting, as it’s no longer needed When finished reading the certs, resize the buffer to the actual number of certs read</li>
<li>Remove TAXONOMY from opers.conf.example, it doesn’t exist in 2.0 Fixes #369 reported by @DjGolia</li>
<li>Simplify UserManager::AddLocalClone()/AddGlobalClone()</li>
<li>m_check, m_namesx, m_timedbans Minor cleanup</li>
<li>m_noctcp Make extban ‘C’ work as intended</li>
<li>m_spanningtree Remove redundant params.size() checks</li>
<li>Have FindUUID(const char*) call FindUUID(const std::string&), not the other way around</li>
<li>Change empty string assignments to .clear() or remove them entirely Part 2 of ba5c0db795824c3fc1ad48ce332d7bdc440cb77f</li>
<li>cmd_rehash, m_spanningtree Fix REHASH messages duplicating at each hop Fixes #375 reported by @JDowny</li>
<li>Reorder local user initialization steps</li>
<li>m_dnsbl Add usednsbl option to connect classes Don’t touch users in classes where it’s off</li>
<li>m_cgiirc Remove dead code, warn when a <cgihost> block has an invalid type value, misc. cleanup</li>
<li>m_cgiirc De-duplicate code, recheck elines after ip/host changes Fixes #350 reported by @MistrX</li>
<li>m_cgiirc Don’t resolve IPs when <performance:nouserdns> is true</li>
<li>m_cgiirc Don’t apply resolved host or send notifications when the user is quitting (matched a line)</li>
<li>m_cgiirc Fix wrong announcement when the host in WEBIRC is too long</li>
<li>Add a typedef for LocalUserList</li>
<li>Make LocalUserList an std::list</li>
<li>Attach to events and register services in init()</li>
<li>Dynamically determine the size of the eventlist[] passed to Attach()</li>
<li>Register all commands, modes and extensions using AddService()</li>
<li>Register a few extensions that weren’t registered</li>
<li>Throw an exception when attempting to register an extension with a name that already exists Previously this silently failed</li>
<li>Fix DLLManager leak when an exception is thrown in init() This also caused the dlopen()’d library to stay open forever</li>
<li>m_remove Fix potential desync caused by committing the PART before getting acknowledgement from the target server</li>
<li>Properly shut down stdin</li>
<li>Fix typos in ebdaf368e137fc933e648ee88a08a4f83e796f87</li>
<li>Fix broken RetrieveLastError()</li>
<li>Fix thread handle leak in StartServiceThread()</li>
<li>Unbreak m_geoip</li>
<li>Fix expired xlines being treated as live ones in XLineManager::AddLine()</li>
<li>Change a few signed counter variables to unsigned so they roll over later</li>
<li>m_cban, m_rline, m_shun Don’t broadcast when user is a local user</li>
<li>m_svshold Fix crash when called with 2 params, only triggerable by u-lines</li>
<li>Fix unsafe iteration in DelMode() when unloading m_permchannels</li>
<li>Remove ServerLimits::Finalise(), it’s completely wrong</li>
<li>Add IS_SERVER() and REG_ALL checks to (mostly oper only) commands taking a target nickname</li>
<li>m_ident Reject invalid and error replies</li>
<li>Add a flag to Command that controls whether an empty last parameter is allowed or not</li>
<li>m_callerid Fix memory leak in CallerIDExtInfo::free()</li>
<li>Release 2.0.10</li>
</ul>
<p>newuser1 (1):</p>
<ul>
<li>Fix incorrect substr usage</li>
</ul>
<p>Changes in 1.2.10:</p>
<p>Adam (7):</p>
<ul>
<li>Fixed Windows build</li>
<li>m_callerid, m_dccallow Fix crash caused by allowing unregistered users and SIDs to be on callerid/dccallow lists (cherry picked from commit 37d7160b3a2434abcb4b39898bb86fa314fc3e5b)</li>
<li>Backport of relevant changes from 02859be56d43bcece02aab350e02bc95ed1bf446. Fix undefined behavior caused by referencing the buffer returned by std::string::c_str() when the object is temporary.</li>
<li>Place linker flags after the module source, fixes linking extra modules on some systems</li>
<li>Fixed crash in m_silence from users giving invalid input</li>
<li>Add myself to the Other Contributors list</li>
<li>Release 1.2.10</li>
</ul>
<p>Chin Lee (2):</p>
<ul>
<li>Fix issue #120 reported by @swilde</li>
<li>Check whether it is empty parameter before checking its value</li>
</ul>
<p>Robby- (2):</p>
<ul>
<li>Module description updates</li>
<li>m_check: Include IP and gecos in host/IP-mask lookup results</li>
</ul>
<p>Shawn Smith (1):</p>
<ul>
<li>Backported #239 to fix issue #229</li>
</ul>
<p>Sir Poggles (3):</p>
<ul>
<li>fgets(): refer to the buffer size (no literals)</li>
<li>Make sure LDLIBS appears after the other objects</li>
<li>Fix set-but-not-used and var shadowing warnings</li>
</ul>
<p>attilamolnar (37):</p>
<ul>
<li>m_spanningtree Use iterators in loops instead of subscript operator</li>
<li>m_spanningtree Call ProtocolInterface::PushToClient when writing to remote client instead of sending PUSH commands manually</li>
<li>m_spanningtree Fix various bugs related to protocol interface and ENCAP handling</li>
<li>m_spanningtree Fix potential crash in SVSPART handler, don’t broadcast incoming SVSJOIN/SVSPART but send it to the destination only, and don’t pass it anywhere if they were talking to us</li>
<li>m_spanningtree Remove no-op instructions and simplify code</li>
<li>m_spanningtree Fill a parameterlist in OnAddLine/OnDelLine instead of printf’ing parameters</li>
<li>m_spanningtree Remove low level stuff from SpanningTreeProtocolInterface::SendUserPrivmsg/Notice, use utility functions like the rest of the protocol interface</li>
<li>m_spanningtree Kill duplicated code in OnUserMessage/Notice, put code shared with the protocol interface into the utility class</li>
<li>Fix generating invalid UIDs after current_uid is 000Z99999</li>
<li>Count the actual number of sent/received bytes in SocketEngine instead of the buffer size passed to the send/receive functions</li>
<li>Output “Commands(HASH_MAP)” in /stats z as it’s a hash_map not a vector</li>
<li>Only return prefix modes from ModeParser::ModeString()</li>
<li>m_cban, m_svshold Only attach to hooks we have a handler for</li>
<li>m_callerid Fix module sending no metadata due to not being attached to appropiate hooks</li>
<li>m_alltime Use the dedicated function of the protocol interface to send notices to remote users</li>
<li>m_opermodes Get rid of the duplicated s2s message caused by SendGlobalMode</li>
<li>Don’t touch the terminating NULL in IncrementUID</li>
<li>Add testsuite tests for UID generation</li>
<li>Remove unused channelmanager</li>
<li>Don’t forward SVSJOIN/SVSPART at all if the destination is the same as the source</li>
<li>Use socketengine functions for sending and receiving data instead of plain send() and recv() so /STATS z displays correct bandwidth usage</li>
<li>Silence the MODE too if a join was silenced by a module not just the JOIN</li>
<li>m_spanningtree Interpret ENCAPs also if they were targetted to our SID (retain old behavior)</li>
<li>m_md5 Backport “zero the whole MD5Context not only part of it” by @gholms</li>
<li>Remove sorcery with HandleInternal in NICK handler</li>
<li>Fix remote users never getting their invites removed</li>
<li>Deduplicate channel cleanup code, simplify User::PurgeEmptyChannels()</li>
<li>Fix pending invites not being removed when a channel was deleted or had its TS lowered</li>
<li>Remove pending invites from the invite list of channels when a user quits</li>
<li>Fix /NICK 0 not working on registration, allow changing to uid using /NICK <uid></li>
<li>Fix last character being chopped off in motd/rules</li>
<li>m_hideoper Hide hidden opers in /stats P</li>
<li>m_shun Fix out of bounds vector access leading to crashes when hiding part reason for a shunned user</li>
<li>Fix crash in ADDLINE handler when the command had no parameters</li>
<li>m_xline_db Fix memory leak when adding a loaded xline fails</li>
<li>Fix maxbans not being enforced</li>
</ul>
v2.0.9 released!2012-10-06T00:00:00+00:00http://www.inspircd.org/2012/10/06/v209-released<p>InspIRCd v2.0.9 is now available, in addition to the usual bugfixes there are some new features as well:</p>
<ul>
<li>It is now possible to customize which cipher algorithms are used by the SSL modules</li>
<li>CGI IRC users can no longer evade m_dnsbl</li>
<li>The directory where various data files (pidfile, xline db) are placed is now customizable using configure</li>
<li>A new regex module based on std::regex</li>
<li>A brand new module to support server-side topic locking (better services integration)</li>
<li>m_knock can now send a numeric to the channel when someone /KNOCKs instead of a notice, like ratbox (and friends)</li>
<li>Extban ‘U’ that keeps unregistered users out of a channel but not registered ones (see #247 and helpop)</li>
<li>The “Welcome to network!” notice can be disabled</li>
</ul>
<p>Upgrading is strongly recommended, <a href="https://github.com/inspircd/inspircd/releases/tag/v2.0.9">tarballs can be found at the usual place</a>.</p>
<p>Once again, if you think you’ve found a bug then please <a href="https://github.com/inspircd/inspircd/issues">report it here</a>.
Feature requests can also be submitted at the same place.</p>
<p>Thanks to all the people who contributed to this release:</p>
<p>Adam (4):</p>
<ul>
<li>Fixed Windows build</li>
<li>Fix bug #291 - fix rehashing bind tags not changing them between servers/clients and ssl/nonssl</li>
<li>Fixed crash in m_mysql if a module is unloaded while executing a query and there is only one query in the queue to be executed.</li>
<li>Fixed issue #303 - fixed Windows build</li>
</ul>
<p>ChrisTX (8):</p>
<ul>
<li>m_spanningtree: Resolve issue #250</li>
<li>listensocket: Fix the two aliasing warnings m_ssl_gnutls: Fix three warnings: 1. libgcrypt will emit a warning to stdout during runtime that it has not been properly initialized 2. Resolve a warning about invalid narrowing inside a { } block. This is not valid as of C++11. 3. Resolve a warning about a wrong format specifier being used</li>
<li>configreader: Replace ConfValue here with a ConfigTagList enumeration, as it isn’t guaranteed that bind or link tags are unique which causes Issue #270</li>
<li>m_regex_stdlib: A regex provider for the C++11 container std::regex</li>
<li>Windows: Replace the unused function hack with explicit instantiation</li>
<li>Windows: Use the WinAPI for DNS server retrieval</li>
<li>Replace hardcoded paths with configurable ones</li>
<li>Windows: Fix broken build Resolves a mistake made in c2f7fc047c2e5bbb899c820590ce07fee593b28f</li>
</ul>
<p>Sadie Powell (4):</p>
<ul>
<li>Don’t hard code the branch version.</li>
<li>Fix Windows build that was broken by 9b66dd6.</li>
<li>Avoid global namespace pollution.</li>
<li>Remove references to removed FINGERPRINT command.</li>
</ul>
<p>Robby- (2):</p>
<ul>
<li>m_ssl_openssl: Show the SSL cipher used after connecting. Previously only a fingerprint was shown when one was available, else nothing was shown at all.</li>
<li>m_ssl_openssl: Allow the list of available ciphers to be customized. This patch was contributed almost 10 months ago via IRC, by spender.</li>
</ul>
<p>Shawn Smith (2):</p>
<ul>
<li>Added ExtBan U to match only Unregistered users Enhancement requested in Issue #247</li>
<li>Updated version lines to be more descriptive and remove references to other IRCds</li>
</ul>
<p>attilamolnar (71):</p>
<ul>
<li>m_ssl_openssl Use the system default cipher list if no cipher list is specifed</li>
<li>m_noctcp Fix /me not being allowed on +C channels Fixes #260 reported by @JDowny</li>
<li>m_ssl_gnutls Add a config option that can be used to set the value of the SSL token in ISUPPORT</li>
<li>m_ssl_gnutls Move common session initialization code into a function</li>
<li>m_ssl_gnutls Advertise only one ssl port by default in ISUPPORT Fixes #261 reported by @Shawn-Smith and others</li>
<li>m_ssl_gnutls Compile with -Wno-deprecated-declarations Fixes #246 reported by @SeLEct-</li>
<li>m_namesx Handle colons in channel names properly Fixes #258 reported by @FxChiP</li>
<li>Don’t hardcode conf/inspircd.conf as the config file, allow the configure script to override it (configure asked for the path but the ircd used the hardcoded path regardless) Fixes #264 reported by @ampt</li>
<li>Remove negative BanCache entries only when the AddLine is successful instead of removing them before checking anything</li>
<li>m_connflood Cleanup</li>
<li>m_uninvite Notify remote users properly</li>
<li>m_opermotd Add support for viewing opermotd on a remote server (as advertised)</li>
<li>m_hostchange Store host change action as an enum value instead of a string, stop using pointers and std::map for no reason, warn about config problems</li>
<li>m_hostchange Remove string copy</li>
<li>m_hostchange No reason to prioritize after m_cloaking</li>
<li>m_ssl_gnutls Allow setting the priorities to use on the ciphers, key exchange algorithms, compression methods and macs</li>
<li>Update example configs Document m_chanhistory settings Note that m_censor adds usermode +G as well Add geoip /STATS G to helpop</li>
<li>m_ssl_openssl Port ISUPPORT changes from m_ssl_gnutls to fix #261</li>
<li>m_namesx, m_uhnames Don’t convert the command name to irc::string in OnPreCommand()</li>
<li>Remove sprintf from the two implementations of ModeHandler::RemoveMode</li>
<li>m_messageflood Perform at most one std::map::find() per message if we aren’t kicking the user</li>
<li>m_messageflood Make code more readable Remove unnecessary checks Use std::string::find() and ::substr() for finding the delimiter and splitting the parameter</li>
<li>m_messageflood Unset +f when the module is unloaded</li>
<li>m_spanningtree Handle ? wildcard as well when processing an incoming ENCAP</li>
<li>m_spanningtree Specify the uuid of the remote user when sending server NOTICE/PRIVMSG to him</li>
<li>m_spanningtree Add missing aposthrope to connection failed server notice</li>
<li>Change “allowmismatched” to “allowmismatch” in example config Fixes issue #279 reported by @lethality</li>
<li>Remove reference to m_ziplinks from modules.conf.unreal and modules.conf.charybdis Fixes #285 reported by @hoggeh</li>
<li>Add a config option to enable/disable the welcome notice sent to clients after successful registration Fixes #284 reported by @hoggeh</li>
<li>m_knock Don’t concatenate the knock reason, the command parser does it for us</li>
<li>Remove unnecessary string copy in XLineManager::InvokeStats</li>
<li>Remove unnecessary cleanup in XLineManager destructor</li>
<li>Remove unnecessary assignment in BanCacheManager::RemoveEntries</li>
<li>m_svshold Broadcast SVSHOLD commands sent by servers without ADDLINE Fixes #293 reported by @DrRenX</li>
<li>Don’t allow banned users to NOTICE a channel when security:restrictbannedusers is on Fixes #297 reported by @killerrabbit</li>
<li>Set errno to EINPROGRESS on Windows when the connect() call does not complete immediately, to simulate unix behavior This makes code that checks errno to determine whether connect() has succeeded or not work properly on Windows Fixes #298 reported by @butaman</li>
<li>m_knock Add support for sending a 710 numeric when a KNOCK succeeds, add a config option to choose between behaviors Fixes #287 reported by @ElementalAlchemist</li>
<li>New OnUserSetIP() hook</li>
<li>Call OnUserSetIP() whenever the IP of a local user changes, set ident,host,dhost in LocalUser constructor</li>
<li>m_dnsbl Switch to OnUserSetIP hook</li>
<li>m_dnsbl Display <unknown> as the user’s nick when annoucing the dnsbl result and the user has an empty nick</li>
<li>m_cgiirc Register the “waiting” extension</li>
<li>m_cgiirc Take actions after a successful WEBIRC in the OnCheckReady hook, stop using OnUserConnect</li>
<li>m_shun Convert enabled commands to uppercase so they match correctly even if they’re lowercase in the config</li>
<li>m_blockamsg, m_sslinfo Don’t convert the command name to irc::string in OnPreCommand()</li>
<li>Instruct users to verify that std::regex is supported on their setup before using m_regex_stdlib</li>
<li>Fix undefined behavior caused by referencing the returned buffer by std::string::c_str() when the object is temporary Thanks to @ChrisTX for pointing this out Fixes #257 reported by @helloall</li>
<li>m_httpd Accept POST requests only when the value for Content-Length is greater than zero</li>
<li>Fix more undefined behavior caused by referencing the returned buffer by std::string::c_str() when the object is temporary</li>
<li>Make ConfigReader::GetSID() return a const reference to a string instead of a string</li>
<li>m_spanningtree Return const references from several TreeServer getter functions</li>
<li>m_spanningtree Only allow uuids in SVSJOIN, METADATA and OPERQUIT</li>
<li>m_spanningtree Use iterators in CAPAB handler and when generating reply to spanningtree related /stats, use std::find() in TreeServer::DelChild()</li>
<li>m_spanningtree Netburst: Remove unnecessary variables from DoBurst()</li>
<li>m_spanningtree Netburst: Prefix SERVER and VERSION lines with SIDs instead of server names</li>
<li>m_spanningtree Netburst: Remove unused parameters and variables</li>
<li>m_spanningtree Remote WHOIS handler: Find target with FindNickOnly (don’t accept uids, like in cmd_whois)</li>
<li>m_spanningtree OPERTYPE handler: Return when finished processing instead of changing execution path with a flag</li>
<li>m_spanningtree Utils: Remove unused functions</li>
<li>m_spanningtree Remove empty RedoConfig()</li>
<li>m_spanningtree Simplify OnMode and OnSetAway handlers</li>
<li>m_spanningtree Fill a parameterlist in OnAddLine/OnDelLine</li>
<li>m_services_account Fix possible recursion when checking ‘U’ extbans</li>
<li>Check if the mask is long enough before accessing it when checking extbans</li>
<li>Change User::SetClientIP() to be virtual</li>
<li>Fix (d)host starting with ‘:’ for some IPv6 clients</li>
<li>Windows: Remove modules.conf.charybdis and modules.conf.unreal with the uninstaller</li>
<li>m_cban, m_rline, m_shun Broadcast these commands as some services implementations send them (even though they shouldn’t)</li>
<li>Update .gitignore</li>
<li>New module to support server-side topic locking and server-to-server SVSTOPIC command SVSTOPIC can either set the topic, the topic setter and the topic timestamp to the given parameters or can nuke the topic entirely on a channel (like it was never set) It is for ulines only</li>
<li>Release 2.0.9</li>
</ul>
v2.0.8 released!2012-07-13T00:00:00+00:00http://www.inspircd.org/2012/07/13/v208-released<p>InspIRCd v2.0.8 is now available, mainly it’s a bugfix release with almost
no new features except the backported +L usermode from 2.1 by @Shawn-Smith.</p>
<p>Upgrading is strongly recommended.</p>
<!--more-->
<p>Adam (2):</p>
<ul>
<li>Updated example config path in Windows NSI script</li>
<li>Fixed Windows build, int32_t is already defined in stdint.h. Add GnuTLS support for Windows. Made NSIS script include extra DLL files if supplied and include the conf/aliases and conf/modules example configuration files. Added make_gnutls_cert.bat to generate GnuTLS certificates on Windows. Fixed typo in gnutlscert.pm.</li>
</ul>
<p>Alyx (1):</p>
<ul>
<li>Add CHANNELLEN to isupport</li>
</ul>
<p>Justin Crawford (1):</p>
<ul>
<li>Added color codes to /rules, moved the parsing to ServerConfig and cleaned the code up a bit</li>
</ul>
<p>Sadie Powell (4):</p>
<ul>
<li>Update Doxyfile for the latest Doxygen.</li>
<li>Explicitly deprecate some config changes.</li>
<li>GnuTLS requires pkg-config as well.</li>
<li>Fix Doxygen syntax errors.</li>
</ul>
<p>Shawn Smith (4):</p>
<ul>
<li>Backported usermode +L from insp21. Stops forced redirection given by cmode +L</li>
<li>Updated the version lines on several modules.</li>
<li>Fix to show ERR_NEEDMOREPARAMS for cmd_userhost and cmd_ison</li>
<li>Improved the SimpleModeHandlers</li>
</ul>
<p>attilamolnar (39):</p>
<ul>
<li>Remove leftover #ifdefs and #includes from cmd_*.cpp</li>
<li>m_delaymsg Remove unused code</li>
<li>m_delaymsg Stop sending +d mode change to users when a remote user joins a channel with +d on it</li>
<li>m_delaymsg Don’t bother with remote users</li>
<li>m_spanningtree Fix crash in SVSPART handler when the given channel doesn’t exist</li>
<li>#include <stdint.h>, add header guard to extensible.h Fixes #102 reported by @kshade</li>
<li>cmd_stats Remove unused preprocessor stuff (it has been living in stats.cpp for a while)</li>
<li>m_ldapoper Say what the module actually does in the description</li>
<li>m_setname, m_chgname Disallow empty GECOS, spotted by @Robby-</li>
<li>m_inviteexception Read invitebypasskey setting once and store it instead of reading it at every invite check</li>
<li>m_inviteexception Remove useless check</li>
<li>m_globops Don’t concatenate, the command parser does it for us as maxparams for the command is 1</li>
<li>m_stripcolor Removing a character from a string while iterating it is slightly less complicated</li>
<li>m_swhois Switch to OnPostOper hook instead of using OnPostCommand</li>
<li>m_mlock Remove unnecessary iteration</li>
<li>m_shun Display shun target correctly in the error message when adding a new shun and it exists</li>
<li>m_lockserv Remove obsolete comments and unnecessary string clear()s</li>
<li>m_lockserv Don’t lock/unlock when already locked/unlocked, update messages</li>
<li>m_satopic Use WriteGlobalSno instead of writing the same thing with SNO->WriteToSnoMask and PI->SendSNONotice</li>
<li>m_setname, m_chgname Unify notices and annoucements</li>
<li>m_spanningtree Add function to easily determine whether a server was introduced to the network, use it to determine when to send SQUIT</li>
<li>cmd_commands Don’t show server only commands to users</li>
<li>Use std::set instead of std::map in irc::portparser</li>
<li>Don’t manage memory manually for the commasepstream in irc::portparser</li>
<li>Fix allow_overlapped having the opposite effect in irc::portparser</li>
<li>Close files opened with popen() with pclose() instead of fclose()</li>
<li>m_chanlog Use std::multimap::equal_range for iteratation instead of ::find and then checking each key after it</li>
<li>m_halfop, m_chanhistory Remove redundant ModeParser::DelMode() calls, the modes are deleted automatically on unload</li>
<li>m_chanhistory Read the boolean config entry with getBool()</li>
<li>Change debug message in Invitation::Find() to output expiration time as a string to avoid warnings</li>
<li>Revert m_xline_db Get the xlines from the core, don’t maintain a seperate list (reverse-merged from commit 183b182b3d6c0c32f4d10e131a55adbf54b8be01)</li>
<li>Move STATS handler back to cmd_stats so it’s hotpatchable again</li>
<li>m_ident Close the socket and mark as done when received something instead of doing it in two places before returning</li>
<li>m_ident Fix casting User pointers to LocalUser pointers blindly</li>
<li>m_blockamsg Remove redundant null pointer and IS_LOCAL() check</li>
<li>Use less memory when rehashing built-in hashmaps</li>
<li>Use SimpleUserModeHandler/SimpleChannelModeHandler where possible</li>
<li>m_services_account Simplify mode handlers</li>
<li>Release 2.0.8</li>
</ul>
v2.0.7 released!2012-07-01T00:00:00+00:00http://www.inspircd.org/2012/07/01/v207-released<p>InspIRCd v2.0.7 is now available, containing a large number of fixes, including
some crash issues. Upgrading is strongly recommended.</p>
<p>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.</p>
<!--more-->
<p>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.</p>
<p>A shortlog since the last release (2.0.6rc1) is attached for the curious.</p>
<p>Adam (4):</p>
<ul>
<li>Removed old VC90 project files, renamed the VC 2010 project files to not have VC90 in them</li>
<li>Remove some unused files</li>
<li>Fixed linking m_sqlite3 on Windows</li>
<li>Fixed m_mlock</li>
</ul>
<p>Chin Lee (2):</p>
<ul>
<li>Fix issue #120 reported by @swilde</li>
<li>Check whether it is empty parameter before checking its value</li>
</ul>
<p>Christoph Egger (1):</p>
<ul>
<li>fix build on kfreebsd</li>
</ul>
<p>Garrett Holmstrom (1):</p>
<ul>
<li>[2.0] md5: zero the whole MD5Context, not only part</li>
</ul>
<p>Guillaume Delacour (1):</p>
<ul>
<li>Fix compilation with GCC 4.7.</li>
</ul>
<p>Justin Crawford (5):</p>
<ul>
<li>Fixes for bug #12</li>
<li>Fix some of the include guard names (requested by Sadie)</li>
<li>Added C/C++ style escape codes for color codes in the MOTD along with @SadieCat’s \x, \u, \b, \c aliases</li>
<li>Fixed using a function on every call for /motd, causing lag on large networks (requested by w00t)</li>
<li>Rewrote the color codes parser to be one function, not two</li>
</ul>
<p>Sadie Powell (14):</p>
<ul>
<li>Remove references to old configure commands.</li>
<li>Minor style tweaks.</li>
<li>Fix unused variables reported by the clang static analyzer.</li>
<li>Update Doxyfile.</li>
<li>Install example configuration files into their own directory.</li>
<li>Update ‘make install’ to inform the user about the example config files.</li>
<li>Fix compile error caused by unistd.h not existing on Windows.</li>
<li>Debian typo fixes.</li>
<li>A few more typo fixes.</li>
<li>Move all example configuration files to their own directory.</li>
<li>Install example alias and module configuration files as well.</li>
<li>README changes.</li>
<li>InviteBase needs to be a CoreExport on Windows.</li>
<li>Fix typo in log message.</li>
</ul>
<p>Pierre Carrier (1):</p>
<ul>
<li>extras/m_ldapauth: CIDR-based whitelisting</li>
</ul>
<p>Robby- (11):</p>
<ul>
<li>Backported Shawn’s NoSnoticeStack code from insp21</li>
<li>/STATS: updates</li>
<li>Add conf/ to include paths and fix some typos</li>
<li>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</li>
<li>Replace copyright headers with headers granting specific authors copyright</li>
<li>Headers: update remaining scripts too</li>
<li>resource.rc: update copyright to 2012</li>
<li>Add more documentation about logging, aswell as make text, tab and space corrections to the configs</li>
<li>Module description updates</li>
<li>m_check: Include IP and gecos in host/IP-mask lookup results</li>
<li>Snomask qQ: Swap quit message and IP for easier parsing by bots or scripts</li>
</ul>
<p>Robin Burchell (13):</p>
<ul>
<li>FileWriter hasn’t been non-blocking for a very, very long time.</li>
<li>remove trailing whitespace</li>
<li>Be more helpful when processing commands from a linked server.</li>
<li>Match the logging in the rest of this module.</li>
<li>Fix typo.</li>
<li>Log mode errors when processing FJOIN.</li>
<li>No need to check elines twice..</li>
<li>Revert “m_dnsbl: switch to OnSetClientIP hook which may be refired.”</li>
<li>Revert “users: introduce OnSetClientIP hook.”</li>
<li>Revert “users: LocalUser constructor should call SetClientIP() on itself”</li>
<li>Revert “users: add SetClientIP function for irc::sockets::sockaddrs type.”</li>
<li>Don’t throw an exception if passed bad parameters to stringjoiner.</li>
<li>Release 2.0.7 (we’re so cool that we’re skipping 2.0.6)</li>
</ul>
<p>Rutger (1):</p>
<ul>
<li>Show class in connectmsg</li>
</ul>
<p>Shawn Smith (2):</p>
<ul>
<li>This fixes issue #39 reported by @attilamolnar. Thanks to @attilamolnar for supplying the code.</li>
<li>Fixes the j snomask not working properly</li>
</ul>
<p>Sir Poggles (2):</p>
<ul>
<li>fgets(): refer to the buffer size (no literals)</li>
<li>Be consistent with Robby’s qQ snomask changes</li>
</ul>
<p>William Pitcock (11):</p>
<ul>
<li>Explicitly shut down stdio’s stdin/stdout/stderr.</li>
<li>modules/m_mlock: new module implementing server-side MLOCK.</li>
<li>docs/modules.conf: document availability of MLOCK module.</li>
<li>mlock: handle case where no mlock has been set on a channel yet</li>
<li>mlock: we should only enforce against modes set by our own clients</li>
<li>mlock: fix style nitpicks</li>
<li>epoll: make sure EPOLLET flag does not get clobbered</li>
<li>users: add SetClientIP function for irc::sockets::sockaddrs type.</li>
<li>users: LocalUser constructor should call SetClientIP() on itself</li>
<li>users: introduce OnSetClientIP hook.</li>
<li>m_dnsbl: switch to OnSetClientIP hook which may be refired.</li>
</ul>
<p>attilamolnar (61):</p>
<ul>
<li>Forward port 1d703dcf7858a322c823bbd80f9507b627c5738c.</li>
<li>Fix issue #18 reported by @int- (remote restriction on /stats)</li>
<li>Avoid sending empty channel list numeric on whois if the target is not in any channels.</li>
<li>Fix issue #95 reported by @Joah</li>
<li>Count the actual number of sent/received bytes in SocketEngine instead of the buffer size passed to the send/receive functions</li>
<li>Fix generating invalid UIDs after current_uid is 000Z99999 (next UID became 000[AAAAA)</li>
<li>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</li>
<li>Add testsuite tests for UID generation</li>
<li>m_showwhois Fix potential crash in WHOISNOTICE handler</li>
<li>Use socketengine functions for sending and receiving data instead of plain send() and recv() so /STATS z displays correct bandwidth usage</li>
<li>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</li>
<li>Fix printf-style WriteAllExcept not obeying serversource parameter</li>
<li>Fix last character being chopped off in included (exec)files (e.g. motd and rules)</li>
<li>m_autoop Fix desync issue #37 reported by @Joah - part 1</li>
<li>m_spanningtree Fix desync issue #37 reported by @Joah - part 2</li>
<li>m_ssl_gnutls Fix crash caused by calling gnutls_dh_params_deinit() when dh_params wasn’t inited Fixes #181 reported by @BlacklightShining</li>
<li>m_ssl_gnutls Only generate DH params when dh_params is inited</li>
<li>Cut the ending \n from all lines in included (exec)files</li>
<li>m_spanningtree Notify opers upon ecountering a configuration error when rehashing</li>
<li>m_spanningtree Disallow server passwords which contain a space char and those which begin with a colon Update links.conf.example</li>
<li>m_spanningtree Move SecurityIPResolver code to resolvers.cpp from resolvers.h</li>
<li>m_spanningtree Only add a resolved server IP as valid if it still exists when the lookup completes</li>
<li>m_namesx Add support for altering /WHO replies to be compliant with the specification</li>
<li>Fix build on Debian GNU/Hurd platforms, thanks to Jonathan Wiltshire <jmw@debian.org> for the patch Fixes issue #98 reported by @guikcd</li>
<li>Fix 2 clang warnings reported by @SadieCat</li>
<li>m_spanningtree Burst to a new server before introducing it to the rest of the network Fixes issue #103 reported by @nenolod</li>
<li>m_services_account Send an AccountEvent with an empty accountname when a user logs out of an account</li>
<li>New module to support IRCv3 extras, namely account-notify, away-notify and extended-join CAPs</li>
<li>Make m_cap.h a bit cleverer</li>
<li>m_geoip Add support for /stats G</li>
<li>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</li>
<li>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</li>
<li>m_rline Fix memory leak when zlineonmatch was true and the zline existed, simplify zline adding logic</li>
<li>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</li>
<li>m_shun Fix out of bounds vector access leading to crashes when hiding part reason for a shunned user</li>
<li>m_chanhistory Add config setting to show/hide the informational notice before playing back history, don’t playback to remote users</li>
<li>m_chanhistory Don’t allow durations that contain an invalid char or too long</li>
<li>m_chanhistory Keep history when changing parameters</li>
<li>Fix pending invites not being removed when a channel was deleted or had its TS lowered</li>
<li>m_cap Use an enum to specify cap event type instead of a string, assign CapEvent data in the constructor</li>
<li>m_cap Fix crash when a user issued a CAP CLEAR request and the CapEvent had an empty list of removed CAPs</li>
<li>m_cap Allow clients to disable specific capabilities by prefixing them with a dash (-) to be compliant with the specification</li>
<li>Remove unused channelmanager</li>
<li>m_alltime Add a missing space to the notice</li>
<li>m_operlevels Remove unused hook</li>
<li>m_nonicks Use SimpleChannelModeHandler</li>
<li>m_delaymsg Don’t allow mode to be unset when it’s not set</li>
<li>m_opermodes Remove unused OnRehash hook, don’t touch remote opers, send mode changes with SendMode</li>
<li>m_noctcp Use SimpleChannelModeHandler, reorder checks</li>
<li>m_xline_db Get the xlines from the core, don’t maintain a seperate list</li>
<li>m_dccallow Fix unsafe iteration</li>
<li>m_callerid Remove redundant includes</li>
<li>m_callerid Use std::find() where possible</li>
<li>m_callerid Remove unused parameter</li>
<li>m_callerid, m_dccallow Fix crash caused by allowing unregistered users and SIDs to be on callerid/dccallow lists</li>
<li>m_callerid, m_dccallow Use OnUserPostNick hook instead of OnUserPreNick</li>
<li>Fix maxbans not being enforced</li>
<li>m_xline_db Fix memory leak when adding a loaded xline fails</li>
<li>Fix crash in ADDLINE handler when the command had no parameters</li>
<li>m_spanningtree Return when ecountering an invalid command coming from a remote server</li>
<li>m_spanningtree Call the collision handler with the proper parameter (client ip instead of modestring) when a nick collides at burst</li>
</ul>
Use the bugtracker, please!2012-07-01T00:00:00+00:00http://www.inspircd.org/2012/07/01/use-the-bugtracker-please<p>Just a polite reminder that the bugtracker exists, and is where all things that
you think of as bugs (or rough corners) should go. E-mail, IRC and other mediums
are always tempting as being “faster” or more readily available to gain
responses, but they are absolutely hopeless for scheduling things and keeping
track of what actually needs to be done.</p>
<p>Don’t be too afraid of reporting something unnecessarily: it’s easy to close a
bug. It’s a lot more worrying that a bug might be going unnoticed because
someone forgot they saw a mention of it on #inspircd.</p>
<p>Thanks!</p>
InspIRCd 2.1 branch closed, use 2.0 instead.2012-06-15T00:00:00+00:00http://www.inspircd.org/2012/06/15/inspircd-21-branch-closed-use-20-instead<p>Hi all,</p>
<p>After a bit of discussion, we’ve decided to close the 2.1 branch, as the general
consensus is that we aren’t comfortable with the state it is in regarding
release-readiness, and unfortunately, the people working on it have more or less
been eaten up by the real life monster.</p>
<p>As a result of this, we’re closing the 2.1 branch, and won’t be working on it
anymore (it’s been renamed obsolete/insp21 in git), and we suggest you don’t use
it.</p>
<!--more-->
<p>We’ll be focusing our efforts on 2.0 instead - and will be renaming that branch
in the near future to ‘master’ (to more closely match traditional git
workflows).</p>
<p>If 2.0 lacks any particular changes or features you want, then please <a href="https://github.com/inspircd/inspircd/issues">open an
issue for them</a>, and we’ll take a look at porting it.</p>
<p>Thanks!</p>
<p>In other news, I’d like to welcome <a href="https://github.com/attilamolnar">@attilamolnar</a>
to the development team. He’s done quite a lot lately, and the next 1.2/2.0 releases
will be very much thanks to his efforts. Please make him feel welcome.</p>
InspIRCd v1.2.9 released2012-04-23T00:00:00+00:00http://www.inspircd.org/2012/04/23/inspircd-v129-released<p>Not much more to say here. Downloads are available from the usual location. A
big thanks to Robby and Attila for their contributions to the release, thanks to
other authors also.</p>
<p>Users of the 1.2 series are suggested to upgrade.</p>
<!--more-->
<p>A summary of the changes since v1.2.9rc1 may be found below.</p>
<p>Guillaume Delacour (1):</p>
<ul>
<li>Fix compilation with GCC 4.7.</li>
</ul>
<p>Robby- (17):</p>
<ul>
<li>Backported Shawn’s NoSnoticeStack code from insp21</li>
<li>Replace [cC]olour with [cC]olor</li>
<li>/STATS: Update the helpop stats-characters aswell as give the ziplink and shun modules their own stats-characters so they actually work and don’t collide with others (shun was for example overriding svshold</li>
<li>Add some more info about logging types and levels to the config file, correct a channels debug type and make a MISC message fall under CULLLIST instead since it is related to the other Cullstuff (MISC was o</li>
<li>Some minor corrections and tab removals</li>
<li><em>cough</em></li>
<li>shun: Correct stats character in the notice too</li>
<li>shun: stats functionality is implemented, this may be removed</li>
<li>Make m_shun work on aliases</li>
<li>/STATS: updates</li>
<li>Checking E-lines once is enough</li>
<li>Update helpop config file name and remove some spaces</li>
<li>Add an /HELP alias for /HELPOP</li>
<li>Replace copyright headers with headers granting specific authors copyright</li>
<li>Headers: update remaining scripts too</li>
<li>resource.rc: update copyright to 2012</li>
<li>Headers: update the modules Makefile header that is generated by configure</li>
</ul>
<p>Robin Burchell (2):</p>
<ul>
<li>remove trailing whitespace</li>
<li>v1.2.9 final</li>
</ul>
<p>Shawn Smith (2):</p>
<ul>
<li>Fixes issue #39 reported by @attilamolnar. Thanks to @attilamolnar for supplying the code.</li>
<li>This addresses the memory leak issues reported in issue #38.</li>
</ul>
<p>William Pitcock (1):</p>
<ul>
<li>Explicitly shut down stdio’s stdin/stdout/stderr.</li>
</ul>
<p>attilamolnar (5):</p>
<ul>
<li>Fix double free (in 1.2 the core deletes the commands upon module unload not the module)</li>
<li>Fixes for OnDelLine checking hardcoded line type ‘K’ instead of IsBurstable() and not obeying loopCall, thus broadcasting a redundant DELLINE for every DELLINE received.</li>
<li>Fix MaxModes check when bursting bans for a channel to compare the number of bans not the length of the parameters it queued for sending. This has caused nearly every ban to be sent in a seperate FMODE.</li>
<li>Fix issue #18 reported by @int- (remote restriction on /stats)</li>
<li>Fix crash in m_rline m_rline only called UseInterface() in the constructor, so when there was no regex engine loaded UseInterface() did nothing. If the specifed regex engine was loaded later on this</li>
</ul>
<p>edem (1):</p>
<ul>
<li>Revert “m_ssl_gnutls: remove STARTTLS support”</li>
</ul>
InspIRCd v2.0.6rc1 & v2.1.0b3 released!2012-04-09T00:00:00+00:00http://www.inspircd.org/2012/04/09/inspircd-v206rc1-released<p>InspIRCd v2.0.6rc1 has been released, fixing the CERT DNS vulnerability, amongst
other things. All v2.0 users are strongly recommended to upgrade. v1.2 users
should start considering the 2.0 branch, as 1.2 is now entering the last phase
of support.</p>
<!--more-->
<p>InspIRCd v2.1.0b3 contains some new features:</p>
<ul>
<li>a new module for join/part snotices (m_joinpartsno) - useful for smaller
networks.</li>
<li>m_redirect offers usermode +L to avoid automated redirections.</li>
<li>m_sslmodes offers usermode +z to enforce SSL-only queries, matching the
provided channel mode</li>
</ul>
<p>Thanks (again) to Shawn Smith for his work on these features.</p>
<p>For v2.0.6rc1, thanks to the following people for this release:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Author: Adam &lt;Adam@anope.org&gt;
Author: Daniel De Graaf &lt;danieldg@inspircd.org&gt;
Author: Jackmcbarn &lt;jackmcbarn@jackmcbarn.no-ip.org&gt;
Author: Jens Voss &lt;DukePyrolator@anope.org&gt;
Author: Justasic &lt;Justasic@gmail.com&gt;
Author: Kyle Fuller &lt;inbox@kylefuller.co.uk&gt;
Author: Sadie Powell &lt;sadie@witchery.services&gt;
Author: Pogs McPoggerson &lt;sir.pogsalot@gmail.com&gt;
Author: Robin Burchell &lt;viroteck@viroteck.net&gt;
Author: Rutger &lt;djslash+github@djslash.org&gt;
Author: Shawn Smith &lt;ShawnSmith0828@gmail.com&gt;
Author: Sir Pogsalot &lt;sir.pogsalot@gmail.com&gt;
Author: William Pitcock &lt;nenolod@dereferenced.org&gt;
</code></pre></div></div>
<p>And a diffstat, for the curious:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>README.md | 13 ++++++++
configure | 12 ++++++-
docs/README | 1 -
docs/inspircd.conf.example | 5 +++
docs/inspircd.helpop-full.example | 8 ++--
docs/inspircd.helpop.example | 8 ++--
docs/inspircd.motd.example | 1 -
docs/modules.conf.example | 6 ++--
docs/modules/modules.conf.charybdis | 2 +-
include/users.h | 4 ++
make/check_eventfd.cpp | 7 ++++-
make/configure.pm | 28 ++++-------------
sources.list | 2 +-
src/commands/cmd_clearcache.cpp | 2 +-
src/commands/cmd_info.cpp | 21 +++++++------
src/configreader.cpp | 8 +++--
src/dns.cpp | 57 ++++++++++++++++++++++++++++-------
src/inspircd.cpp | 4 +-
src/mode.cpp | 2 -
src/modules.cpp | 7 ----
src/modules/extra/m_ssl_gnutls.cpp | 2 +-
src/modules/m_blockcolor.cpp | 10 +++---
src/modules/m_chghost.cpp | 11 ++++---
src/modules/m_hostchange.cpp | 2 +-
src/modules/m_nationalchars.cpp | 3 +-
src/modules/m_ojoin.cpp | 2 +-
src/modules/m_remove.cpp | 5 +++
src/modules/m_shun.cpp | 9 ++++-
src/modules/m_stripcolor.cpp | 4 +-
src/users.cpp | 13 +++++---
win/configure.cpp | 2 +-
31 files changed, 162 insertions(+), 99 deletions(-)
</code></pre></div></div>
<p>And for v2.1.0b3:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Author: Adam &lt;Adam@anope.org&gt;
Author: Daniel De Graaf &lt;danieldg@inspircd.org&gt;
Author: Jackmcbarn &lt;jackmcbarn@jackmcbarn.no-ip.org&gt;
Author: Jens Voss &lt;DukePyrolator@anope.org&gt;
Author: Justasic &lt;Justasic@gmail.com&gt;
Author: Kyle Fuller &lt;inbox@kylefuller.co.uk&gt;
Author: Sadie Powell &lt;sadie@witchery.services&gt;
Author: Pogs McPoggerson &lt;sir.pogsalot@gmail.com&gt;
Author: Robin Burchell &lt;robin+git@viroteck.net&gt;
Author: Robin Burchell &lt;viroteck@viroteck.net&gt;
Author: Shawn Smith &lt;ShawnSmith0828@gmail.com&gt;
Author: William Pitcock &lt;nenolod@dereferenced.org&gt;
Author: Xaquseg &lt;xaquseg@irchighway.net&gt;
</code></pre></div></div>
<p>Diffstat:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>README.md | 13 ++++++
configure | 12 +++++-
docs/README | 1 -
docs/inspircd.conf.example | 2 +
docs/inspircd.motd.example | 1 -
docs/modules.conf.example | 7 +++
make/check_eventfd.cpp | 7 +++-
sources.list | 2 +-
src/commands/cmd_clearcache.cpp | 2 +-
src/commands/cmd_info.cpp | 3 +-
src/dns.cpp | 57 ++++++++++++++++++++++-----
src/inspircd.cpp | 4 +-
src/modules/extra/m_hash_posix.cpp | 2 +-
src/modules/extra/m_ssl_gnutls.cpp | 32 ++-------------
src/modules/m_autoop.cpp | 2 +-
src/modules/m_chghost.cpp | 11 +++--
src/modules/m_ident.cpp | 1 +
src/modules/m_joinpartsno.cpp | 65 ++++++++++++++++++++++++++++++++
src/modules/m_nationalchars.cpp | 3 +-
src/modules/m_redirect.cpp | 65 +++++++++++++++++++++++++------
src/modules/m_remove.cpp | 5 ++
src/modules/m_shun.cpp | 9 +++-
src/modules/m_sslmodes.cpp | 73 ++++++++++++++++++++++++++++++++++--
src/users.cpp | 19 ++++-----
24 files changed, 312 insertions(+), 86 deletions(-)
</code></pre></div></div>
InspIRCd v1.2.9rc1 released!2012-04-09T00:00:00+00:00http://www.inspircd.org/2012/04/09/inspircd-v129rc1-released<p>InspIRCd 1.2.9rc1 released!</p>
<p>InspIRCd 1.2.9rc1 has been released. Networks running the 1.2 branch are
advised to upgrade immediately; as it fixes a number of potentially
serious issues, including the recent CERT DNS vulnerability. Please
note that, unless severe issues are found in the future or a new
maintainer found, 1.2.9 will be the final release in the 1.2 series.
If you are interested in maintaining it, please get in contact, or start to consider upgrading to 2.0.</p>
<!--more-->
<p>Tarballs may be found <a href="https://github.com/inspircd/inspircd/releases/tag/v1.2.9rc1">at the usual
place</a>.</p>
<p>Thanks to the following people for their contributions to this release:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Author: Adam &lt;Adam@anope.org&gt;
Author: Daniel De Graaf &lt;danieldg@inspircd.org&gt;
Author: Jackmcbarn &lt;jackmcbarn@jackmcbarn.no-ip.org&gt;
Author: Kyle Fuller &lt;inbox@kylefuller.co.uk&gt;
Author: Sadie Powell &lt;sadie@witchery.services&gt;
Author: Pogs McPoggerson &lt;sir.pogsalot@gmail.com&gt;
Author: Robin Burchell &lt;viroteck@viroteck.net&gt;
Author: Shawn Smith &lt;ShawnSmith0828@gmail.com&gt;
Author: William Pitcock &lt;nenolod@dereferenced.org&gt;
</code></pre></div></div>
<p>A diffstat is attached:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>README.md | 13 +++++++
conf/inspircd.conf.example | 2 +
conf/inspircd.motd.example | 1 -
configure | 12 +++++-
docs/README | 1 -
include/cull_list.h | 2 +
include/users.h | 6 +++
make/check_eventfd.cpp | 7 +++-
sources.list | 2 +-
src/commands/cmd_info.cpp | 21 ++++++-----
src/cull_list.cpp | 18 +++++++++
src/dns.cpp | 57 +++++++++++++++++++++++------
src/hashcomp.cpp | 2 +-
src/inspircd.cpp | 4 +-
src/modules/extra/m_ssl_gnutls.cpp | 37 -------------------
src/modules/m_chghost.cpp | 11 +++---
src/modules/m_hostchange.cpp | 2 +-
src/modules/m_nationalchars.cpp | 3 +-
src/modules/m_svshold.cpp | 2 +-
src/modules/m_timedbans.cpp | 50 ++++++++++++++-----------
src/socketengines/socketengine_kqueue.cpp | 2 +-
src/users.cpp | 12 +++----
22 files changed, 162 insertions(+), 105 deletions(-)
</code></pre></div></div>
On releases and site move2012-03-28T00:00:00+00:00http://www.inspircd.org/2012/03/28/on-releases-and-site-move<p>As some of you will probably have noticed, inspircd.org has been down for quite
a while now. We don’t know when (or if) it will be back, which isn’t an
acceptable situation for a project to be in, so we have been working slowly to
migrate resources over to <a href="https://github.com/inspircd/">GitHub</a> as time
permits.</p>
<!--more-->
<p>This obviously involves some changes and reorganisation both in what content we
host (there are no forums) and how we host it (we don’t do any self-hosting now,
meaning there’s a lot less for our small team to maintain), so we’d like to ask
that you bear with us in the meantime, and (if you’ve some time to spare), that
you help us with putting useful content on the new wiki etc on GitHub. We also
accept pull requests against the site itself, and our site master Sadie will
be happy to review them.</p>
<p>As for releases, we are aware of a <a href="http://www.kb.cert.org/vuls/id/212651">CERT
vulnerability</a> against InspIRCd, and are
working to address this. We have some changes in Git to help mitigate this attack,
and are working with a few developers to make sure there are no more problems in
this area (again, help welcome). Until we are able to assure that there are no
more problems, we will not be issuing a release - but obviously, we hope to push
releases out as soon as possible.</p>
<p>In the meantime, we advise you to build InspIRCd from git, or set
<performance:nouserdns> to yes to disable DNS resolution if you are unable to
upgrade at this time.</p>
Hello, World!2012-03-27T00:00:00+00:00http://www.inspircd.org/2012/03/27/hello-world<p>There isn’t much here at the moment as we are still moving stuff over to
<a href="https://github.com/inspircd/">GitHub</a>. Feel free to send us pull requests.</p>