Unreal3.2.4 Release Notes ========================== ==[ GENERAL INFORMATION ]== - 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: http://www.vulnscan.org/UnrealIrcd/unreal32docs.html FAQ: http://www.vulnscan.org/UnrealIrcd/faq/ Read them before asking for help. - Report bugs at http://bugs.unrealircd.org/ - When upgrading a network, we assume you are upgrading from the previous version (3.2.3). If you have a network running with servers that are several versions behind (eg: 3.2.1) then you might experience (desynch) problems. Please also minimize the time you have multiple versions running, several days is not a problem, but having mixed versions on a network for weeks or months is not recommended. ==[ NEW ]== - Spamfilter: Added 'warn' target which is basically the same as 'block' except it does not block ;). It simply sends a numeric to the user saying the command has been processed, but a copy has been sent to ircops (which receive a spamfilter notice). Example usage: /spamfilter add p warn - Testing_mirc_decode_filter \$decode\(.*\) - Spamfilter: an option to apply spamfilters to aliases as well. To do so, you have to put 'spamfilter yes;' in every alias block you want to get filtered. The /MS and /MEMOSERV aliases in aliases/*.conf have been updated to have spamfiltering enabled by default. - The "max bans per channel" setting can now be changed trough the config file by setting set::maxbans. Note that you probably also want to enlarge set::maxbanlength then as well (see docs!) or else you will hit that limit first. Note that the max ban length setting has been slightly relaxed in 3.2.4, see the CHANGED section further down. - Nick Character System: new languages/character sets are added: 'danish', 'belarussian-w1251' and 'ukrainian-w1251'. - ExtBan ~c now accepts wildcards, such as: "+b ~c:#*xxx*" (don't forget the "#") - Banned users can no longer change the topic - Made it so you no longer can change your nick TO a banned one in a channel. This option can be turned off by setting set::check-target-nick-bans to "no". - Translations: Added a Bulgarian example.bg.conf, a Russian help.ru.conf, and a Dutch unreal32docs.nl.html - For services coders: Added doc/technical/serverprotocol.html ==[ CHANGED ]== - Changed the MAXBANLENGTH (now set::maxbanlength) from 1K to 2K. This means users can now set more bans and actually reach the 60 MAXBANS (now set::maxbans) limit in practice. - Added several indicators to the "detect binary incompatible modules"-system, such as a module compiled with ziplinks support on a non-ziplinks ircd (*NIX only), nospoof mismatches, etc. Hopefully this will help some people preventing odd crashes when they forgot to recompile everything. - More modulizing: another 200 lines of code / 20 functions have been moved to modules. - Multiple allow channel::channel items are now permitted again - Redid glob matching. Escaping is now ripped out for normal bans (as it should be), this means no longer weird issues with +b *\* etc not banning nicks with \ in it. ExtBan ~c/~r get special treatment and will use our match_esc [match with escaping] routine, you can escape via \, so \* will match * (an asterisk), \? will match a questionmark (?), and \\ will match a \ (backslash). This way you can ban channels such as "#f*ck" via "+b ~c:#f\*ck". So, take note, if you want to ban for example a channel with a backslash in it, such as "#bl\ah", then you do "+b ~c:#bl\\ah". Again, for any bans other than ~c/~r this does not apply. - Spamfilter: regexes and reasons are now more limited in size, this is to combat the "I set a spamfilter, but cannot remove it" problem. In practice this means - depending on the length of the spamfilter reason - that spamfilter will max ~300 characters. Note that spamfilters in the config file can still be larger (since they cannot be removed on the command line anyway, it doesn't matter that they are cut off on /stats F). - CMDLINE_CONFIG behavior change: specifying a config file on the command line is now permitted as long as the ircd isn't suid/sgid. - set::channel-command-prefix now defaults to ".`!" instead of "`" - When OPEROVERRIDE_VERIFY is enabled, we now allow opers to still join any channels listed in set::auto-join or set::oper-auto-join, even if they are +s/+p. - Made it so co-admins can /ADCHAT. They were already receiving them anyway... - ./Config: the script now actually stops upon the error, making it more clear what is wrong. - Global opers on quarantined servers will now be KILL'ed. So link::options::quarantine now actually does what it should, even if it's not in the most elegant way. - Empty (but existing) include files no longer cause an error. - We now properly error if someone tries to /(G)ZLINE *@hostmask (should be *@ipmask) or /(G)ZLINE usermask@something (should be *@something). Both forms are illegal because (G)ZLINES are processed before dns and ident lookups. If you require a ban on a hostmask or a usermask, simply use a KLINE or GLINE. - For users using remote includes w/ssl (https, ftps): the CA certificates are now stored in curl-ca-bundle.crt (shipped with Unreal) which contains most major CA's plus CACert. ==[ MAJOR BUGS FIXED ]== - Two issues with an incorrect badword { } block in the config file causing a crash. - Incorrect TKL/*LINE causing a crash - Complete resolver recode: now using c-ares + caching to fix some (rare?) crash bugs and to make our code much more cleaner. - Using GCC4 caused a crash on-link. - Crash when a class block was removed and had any other blocks were referencing it. - OpenBSD crash on /REHASH. - Several AMD64 crash issues. - Sometimes a serious flood of notices was generated if link::options::nodnscache was used. - Spamfilter: action 'viruschan' combined with target 'user' caused crashes. - chinese-* nick characters support caused memory corruption. - Crash issue regarding SSL and junk snomask. ==[ MINOR BUGS FIXED ]== - Now properly resolves hostnames again that use CNAME delegation (got broken in 3.2.3). - Fedora Core w/IPv6 failed to compile. - A few read-after-free bugs that could have caused crashes. - ./Config was not loading the settings properly on Solaris 10 - Crash if high ascii in set::network-name - Fixed advanced channel aliases not working properly - Fixed \* and \? escaping not always working properly (for example in ~r/~c bans). ==[ REMOVED ]== - Windows 9X/ME are no longer supported (it might work, but we won't support them). ==[ ADDITIONAL INFO ]== * See Changelog for more details