Page 1 of 1

Unreal 3.2.6 released

Posted: Sat Dec 23, 2006 1:26 pm
by Syzop
As an (early) Christmas present we've released UnrealIRCd 3.2.6. This release comes with tons of bugfixes and is a recommended upgrade.

Our coders contest held after previous release has resulted in two new coders in our team. Welcome aquanight and Trocotronic!

I'd like to stress that contributors are still very much welcomed, especially C coders willing to spend time on making patches for bugs or features. As a contributor you can work on things anytime you please, without having to become an official coder with all it's added responsibilities.
While we now have two new coders, and 2-3 contributors, it's still far from ideal and not entirely what we hoped for. To be able to have an Unreal 3.3 release in 12-18 months we would really need some extra help. See for more information.
If you still have any questions or doubts on how to help out as a C coder or what procedures to follow, then don't hesitate to email me at

Release notes follow...

Code: Select all

Unreal3.2.6 Release Notes

- If you are upgrading on *NIX, make sure you run 'make clean' and './Config'
  first before doing 'make'
- The official UnrealIRCd documentation is doc/unreal32docs.html
  online version at:
  Read them before asking for help.
- Report bugs at
- When upgrading a network, we assume you are upgrading from the previous
  version (3.2.5). Upgrading from 3.2.3 or 3.2.4 should be ok as well.
  However, if you have a network running with servers that are several versions behind
  (eg: 3.2.1) then you might experience small (desynch) problems.
  Please also minimize the time you have multiple versions running, a few days or
  one week is generally not a problem, but having mixed versions on a network for several
  weeks or months is not recommended.
- The purpose of the sections below (NEW, CHANGED, MINOR, etc) is to be a SUMMARY of
  the changes in this release. There have been 80+ changes, and trying to mention them
  all would be useless, see the Changelog for the full list of changes.

==[ NEW ]==
- None. Except some behavior changes, see next.

==[ CHANGED ]==
- SSL: The server certificate and keys can now be reloaded via '/REHASH -ssl', no
  restart needed anymore.
- IRCOps can now view the bans of a channel ("MODE #channel b") from the outside
- Moved failed /OPER attempt notices to snomask +o and made them sent to all servers.
  This means all failed oper attempts can now be seen globally. Plus, the UID is now
  always shown (like for incorrect host and maxlogin), unless trying an unknown oper acc.
- The annoying "please type /quote pong" message is now no longer shown on connect, unless
  explicitly enabled by setting set::pingpong-warning to 'yes'. (mainly Windows)
- /INVITE's from people on the silence list are now silently ignored
- SAPART now works for multiple channels (again)
- Non-SSL users are now kicked when netsynching and channel is +z (SSL only)
- No longer showing server numerics in /MAP to non-opers (too confusing anyway)
- Updated ukrainian-w1251, belarussian-w1251 and catalan character sets
- Spamfilter + IPv6: for target 'u' (nick!user@host:realname bans), the 'host' part
  is now in brackets if it's an IPv6 address (eg: blah!blah@[1:2:3:4:5:6:7:8]:hello)
- loadmodule errors are improved
- Snomask 'N' will no longer show nick changes of U-lined servers
- The set::dns block is now no longer mandatory, because it is actually not used
  (except for set::dns::bind-ip) and fetched from /etc/resolv.conf (*NIX) or the
  registry (Windows) instead. This has always been the case, but has never been documented.
- Various doc updates ('/HELPOP ?EXTBANS', and some unreal32docs improvements)

- Crash if link::options::quarantine was used
- Another crash which could happen in some rare cases
- Throttling was not always being applied correctly
- Windows 2003: Fixed crash on-boot if no nameserver was set
- Windows: Fixed /RESTART not always working properly (leaving the ircd dead)

- Remote includes: should now work with latest curl again, due to c-ares upgrade
- a bunch of OperOverride bugs.. messages being sent when they shouldn't, some things
  not being logged or broadcasted, and more.
- Sometimes no message was shown when a link to an SSL server failed
- Desynch problem caused by +Q
- SAJOIN now properly deals with +z channels
- "MODE #channel" showing extended channel mode parameters if not in channel
- Channel Mode 'f' did not properly eat a parameter on unset (even though it would
  show like it did), this could have caused desynchs in some cases.
- Fixed handling of CNAME's once again (now showing original name instead of fwded name)
- The "looking up your hostname" message was always sent, regardless of show-connect-info
- deny link { } blocks were being ignored by autoconnect
- Windows: SSL private key prompt caused a crash
- Windows: Unable to write to service.log caused a crash
- set::allowed-nickchars could cause a segfault for some unknown languages
- If class::connfreq was omitted and used for a server link, this would cause a huge
  connection flood when autoconnect was used.
- set::dns::bind-ip was seen as a duplicate when it actually wasn't
- And more... see Changelog

- Regexes: Be careful with backreferences (\1, etc), certain regexes can slow the IRCd
  down considerably and even bring it to a near-halt. In the spamfilter user target it's
  usually safe though.
- Regexes: Possessive quantifiers such as, for example, "++" (not to be confused with "+")
  are not safe to use, they can easily freeze the IRCd.

- Note: this is a new section, it describes changes specifically for services coders
  and unreal module coders. Note that other changes (such as new modes, etc) mentioned
  elsewhere in this document might affect you as well. For more info about a particular
  change mentioned below (such as a new hooktype), see the Changelog.
- New hooktype: HOOKTYPE_SILENCED (called when a message is not delivered due to silence)
- New hooktype: HOOKTYPE_POST_SERVER_CONNECT (called after users synched to remote server)
- Fixed CALLBACKTYPE_CLOAK_EX, wasn't working properly at all
- Fixed SVSNICK: cAsE cHaNgE no longer causes a collision, fixed QUIT not being sent
- SVSMODE/SVS2MODE: when doing -x on a user, the virthost is removed from memory.
  This means services can now properly "unvhost" a user and give them back their cloaked
  host by doing "SVSMODE User -x+x".
- Services timestamps for users are now properly treated as unsigned long, previously
  some trouble could arise when netsynching for values larger than 2147483647.
- 'SVSMOTD !' now removes the svsmotd from memory as well.
- Fixed SVSMODE -b User not always removing all bans for that user (specifically, bans on
  the cloaked host, when the user has a vhost).
- Fixed SVSO - not removing coadmin (+C)

* See Changelog for more details
As usual, you can get it from

All our releases are PGP signed (well, with GPG) with our releases key: [0x1C8A554E] which you can grab from
This is the same release key that was used for signing 3.2.3 and up.

By popular request, here are the checksums again...

MD5 checksums:
611ad9a3c524204b0d382409a09abf6c Unreal3.2.6.tar.gz
4c3186ee7dc3398bddf40f0a7fe234be Unreal3.2.6.exe
2e17b8744977929b8e5c61d95700c667 Unreal3.2.6-SSL.exe

SHA1 checksums:
60481664d448030e5369d20885d5807323e29e81 Unreal3.2.6.tar.gz
463a4f349c6e2eb924464d61a658d0c3d4278e35 Unreal3.2.6.exe
cd71812cc020619f6f9392e408d43b565ec44993 Unreal3.2.6-SSL.exe

Thanks to everyone who contributed to this release: bug reporters, coders, contributors, translators and testers.

Thanks also to YOU for using UnrealIRCd, keeping it the most popular IRCd out there (55,225 downloads of Unreal3.2.5)!

Merry Christmas and a happy new year to everyone!

The UnrealIRCd Team.