view Changes @ 4962:110ba58ecd56

- Fix compilation issue when disabling stacked extbans. https://bugs.gentoo.org/389949
author Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
date Wed, 09 Nov 2011 17:21:39 +0000
parents a673dd0f7b37
children 3448e5a11d9e
line source
1 /*
2 * UnrealIRCd Changes File - (C) Carsten Munk 1999-2005 &
3 * The UnrealIRCd Team
4 *
5 * $Id$
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 1, or (at your option)
10 * any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 *
21 */
23 [Unreal 3.2.1]
24 - Replaced tre.dll/tre.lib, previous versions caused a crash (eg: if you included
25 spamfilter.conf).
26 - Fixed a problem when compiling with GUEST enabled. Reported by dvzion (#0001758)
27 - Fixed a documentation typo reported by Konc
28 - Fixed a little problem in ./unreal to move ircd.pid.bak to ircd.pid of starting failed.
29 Fixed by fez (#0001739)
30 - Made it so chg* command usage is not logged from U:lines. Reported by diskman1 (#0001718)
31 - Changed int_to_base64() warning so it has less false positives (#0001797).
32 - Fixed a bug where if set::ssl::options was empty, a crash could occur. Reported by
33 spider312 (#0001799)
34 - Include openssl/md5.h and openssl/ripemd.h if compiled w/SSL, this seems how it
35 should be done and also makes unreal w/SSL able to compile on OpenBSD (3.5).
36 - Added module support for Windows!
37 To module coders:
38 -Building your module on Windows is almost exactly the same as on *nix
39 nmake -f makefile.win32 custommodule MODULEFILE=thefile
41 -Also, as I'm sure most module developers will begin distributing .dll files for their
42 modules, it is important to note that just like the modules on *nix, the dlls will need
43 to be recompiled each time a new version of Unreal is released. This is simply due to
44 the potential for binary incompatibility which at this point can not be avoided.
46 -Most modules already do this, but it is now a requirement for Windows support. At the
47 very minimum, the Mod_Test function must have the DLLFUNC specifier in order to work
48 Unreal will automatically add DLLFUNC to the other functions, but it does not hurt if
49 you use it for all of them.
51 NOTE: It is expected that there will probably be a few bugs to work out with this, so
52 please consider testing it! And module coders, please report any problems you experience!
53 - Modulized cloaking:
54 - Currently there are 2 cloaking modules: 'cloak' and 'oldcloak'.
55 - You MUST load at least 1 of them (like: loadmodule "src/modules/cloak.so";).
56 - 'oldcloak' is just the <=3.2 cloaking algorithm.
57 - 'cloak' is the new, recommended, and much more secure cloaking algorithm that uses
58 md5 internally and requires 3 keys of 5-100 characters (10-20 is fine) consisting of
59 mixed lowcase (a-z), upcase (A-Z) and digits (0-9) [eg: "AopAS6WQH2Os6hfosh4SFJHs"].
60 - Note that 'oldcloak' is only ment for use during the upgrade process (it will give
61 a warning if you use it), you should switch to the much more secure 'cloak' module
62 as soon as all your servers are upgraded.
63 - Module coders can code 3rd party cloak modules that use other algorithms or cloak
64 in a different way (have a look at src/modules/cloak.c).
65 - spamfilter: Added Bloodhound.Exploit.6 sig
66 - Compile fixes for win32 modules with ssl/zip/curl
67 - Changed 'Services operator' in /whois (back) to 'Services administrator', this was
68 requested by many people and seems to be the best after all (#0001634).
69 - Local opers can now also join +O (operonly) channels (#0001694).
70 - Changed the way MSG/NOTICE <prefix>#chan works:
71 - It now goes to <prefix> and higher, so '/notice +#chan hi!' goes to +vhoaq
72 - You need at least voice in order to be able to msg/notice +#chan, %#chan or @#chan
73 - You need at least ops in order to be able to msg/notice &#chan or ~#chan
74 - Any multi-prefix targets will be converted automatically (eg: ~&@#chan to @#chan).
75 - internal: use of the CHANOPPFX macro is now deprecated.
76 All of this was done to make it a bit more 'safe' and userfriendly (#0001812).
77 - Fixed a remote include bug that would cause unnecessary blocking
78 - Fixed a /credits typo
79 - Imported TRE 0.6.7 for win32
80 - Imported TRE 0.6.7 for *nix and made use of tre_version to report the version of TRE
81 in use at startup
82 - Fixed a Win32 module bug
83 - Added set::spamfilter::virus-help-channel-deny. This allows you to block any
84 normal joins to the virus-help-channel. This way you could prevent users into
85 accidental (or tricked) joining of the virus-help-channel and becomming infected.
86 This feature is disabled by default. Requested by bleepy (#0001811).
87 - German doc updates (week 20).
88 - Added optional parameter to SVSJOIN to deal with channel keys. Reported by
89 DukePyrolator (#0001822).
90 - Added zlib+SSL version check on boot to make sure the runtime version is the same
91 as the 'compiled for' (header) version. If they mismatch, UnrealIRCd could crash,
92 so a big warning is posted if it happends.
93 - Improved the above: made it work on windows and also added a check for curl.
94 - spamfilter.conf: Added yet another sig for a site that causes Backdoor.Delf.lq
95 infection (reported by nexus), also changed LOI trojan and Bloodhound.Exploit.6
96 action to gline.
97 - Fixed a win32 module bug that broke strcasecmp/stricmp
98 - German doc updates (week 21)
99 - Fixed a permanent modules bug: custom allow/except/ban/deny types were lost
100 after /rehash. Reported by AngryWolf (#0001837).
101 - Fixed a problem with NICK collisions not using NICKv2 (#0001773) reported by thilo
102 - Added NICKIP (#0000605 & #0001376)
103 - Compile warning cleanups
104 - Added release notes (no, we won't release 3.2.1 anytime soon.. just updating ;p).
105 - Added various extra messages to make it a bit more easier for people who are
106 upgrading (win32 commands.dll, cloaking mod).
107 - Made win32 ssl<->non-ssl modules binary compatible.
108 - Added ssl/non-ssl check in Mod_Version on *NIX.
109 - Added set::options::flat-map: This makes all servers look like they are linked
110 directly to the server you are on (/map, /links), thus you cannot see which server
111 is linked to which ("hopcount"). This can make it a bit harder for kiddies to find
112 any 'weak spots' (which server to attack/[D]DoS). Obviously opers will always
113 see the real map.
114 - unreal32docs.html: added flat-map and set::restrict-usermodes "s"; security tips.
115 - Fixed a compile error regarding AF_MAX (#0001839) reported by Rocko
116 - Imported TRE 0.6.8 for *nix
117 - Added NICKIP to doc/technical/protoctl.txt
118 - Imported TRE 0.6.8 for windows
119 - Redid the win32 version to use a dynamically linked libc. This solves memory issues
120 arising from the fact that dlls do not share the same heap as the exe. As a side effect,
121 however, there is now a dependency on msvcr70d.dll. This DLL does not come with any
122 versions of Windows except 2003. It also comes with any .NET application and the .NET
123 framework. Unreal will automatically download th DLL if it is needed. Reported by Bugz
124 (#0001833)
125 - Fixed some other win32 crashes due to modulizing: WHOWAS, STATS [some], SVSMOTD.
126 All caused by missing "MODVAR"s. Reported by Troco (#0001841).
127 - Fixed SSL problem caused by a fix of 2 days ago. Reported by Fury (#0001842).
128 - And one more.
129 - Made socket errors correctly reported under Win32. Thanks to Microsoft for deciding
130 that having a way to get a socket error string was unnecessary.
131 - Fixed a NICKIP bug regarding passing along IPs (#0001846) reported by Troco
132 - And another one, should be fixed now.
133 - Added snomask +S to the documentation (#0001835) reported by medice.
134 - Made a bunch of TKL parameters case insensitive (#0001766) reported by medice.
135 - Made Unreal create the tmp/ dir at startup, rather than configure (#0001824) suggested by
136 LinDevel
137 - Added /dns c to clear the DNS cache (#0001852) suggested by samson.
138 - Seems I forgot to del_Command() SPAMFILTER and TEMPSHUN.
139 - Made the win32 socket error reporting also handle regular system errors (#0001851)
140 reported by Troco
141 - Added a doc/translations.txt which describes the (current) translation process
142 and requirements a bit.
143 - Fixed a synch bug, reported by Troco (#0001857).
144 - Split up the /who oper and user help messages
145 - Added /who +i (search by IP) and /who +I (show IP), oper only.
146 - Made it so /who +m doesn't default to /who if a user uses modes they aren't allowed to
147 use (#0001858) reported by Bugz
148 - Added a couple donators to /credits
149 - Module coders: if CmdoverrideAdd() is called for an override that is already in place, it
150 now sets MODERR_EXISTS as errorcode and returns NULL (previously it added duplicates).
151 In the past module coders had many issues with PERM mods... you had to use weird tricks,
152 but now you can (and should!) just override on INIT and on HOOKTYPE_REHASH_COMPLETE.
153 - Moved register_user declaration to h.h, updated call in m_pingpong.c (due new 'ip' field).
154 - Usermode +v ('receive dcc send rejection notices') is oper-only now for privacy reasons.
155 - Added dcc allow { }, which allows one to make exceptions over deny dcc { }.
156 - Added deny dcc::soft and allow dcc::soft item, if set to 'yes' it allows someone
157 to explicitly override it per-person via /DCCALLOW (see next).
158 - Added DCCALLOW system, taken directly from bahamut.
159 With this system you can block certain (or all) DCC SENDs and then allow the user to
160 'override' this limit for every user he/she trusts via '/DCCALLOW +User'.
161 This is an attempt to stop (or at least limit) the spreading of viruses/etc.
162 See '/DCCALLOW HELP' for more info.
163 - Added example dccallow.conf which filters everything except some known
164 'safe types' (jpg, jpeg, png, gif, etc). Note that the purpose of this file
165 is NOT to get a complete list, rather to limit it to a few 'known safe' entries.
166 - Added set::maxdccallow: max number of entries of the DCCALLOW list (default: 10).
167 - Various (non-critical) fixes for dccallow reported by Rocko (incorrect nick in deny msg,
168 added set::maxdccallow in docs, added bmp/vob/log/ to dccallow.conf).
169 - Made extbans desynchs a bit more friendly: if a bantype is unknown for the server
170 it will just accept it if it's from a remote server, and also ops/etc will be allowed
171 to REMOVE any unknown extbans (but not add new unknown ones).
172 - Added extended ban type ~n (nickchange ban), if a user matches this (s)he can not
173 change nicks (eg: +b ~n:*!*@*.aol.com) unless (s)he has voice or higher.
174 This can be useful as an overall measure for some +m chans (+b ~n:!*@*) or against
175 specific 'good' people that are just nickflooding due to a wrongly configured script.
176 - Added set::restrict-extendedbans by which you can disallow normal users to use
177 any extendedbans ("*") or disallow only certain ones (eg: "qc").
178 - Made the negative TS message a bit more annoying if time is off more than 10 seconds.
179 - Minor doc tweakers, reported by AngryWolf (#0001871).
180 - Win32: Readded /J compiler flag (was accidentally lost in December). This could cause
181 some weird issues. Reported by Troco (#0001877).
182 - Fixed compile problem with debugmode + ipv6
183 - Added CIDR support (#0001296) suggested by many people.
184 - Imported the latest CIDR functions from Hybrid 7.0.1 (and fixed numerous bugs)
185 - Implemented CIDR support for ban ip, ban user, allow, except ban/tkl/throttle, and TKL
186 - Note: This needs testing
187 - To be able to use /ADDLINE you now need the (new) 'can_addline' operflag (oper::flags),
188 reason for this is that it's such a powerful/dangerous command.
189 - Fixed find_qline crashes regarding except tkl 'type qline', reported by Gilou (#0001882).
190 - Fixed some CIDR bugs causing things not to match.
191 - Fixed a CIDR bug when compiled without IPv6 support
192 - Fixed an SVSNICK bug that could lead to duplicate users in very rare circumstances
193 (#0001874) reported by Jiuka.
194 - internal: Added GetIP() which we will now use instead of all the Inet_ia2p() stuff
195 because it's slightly faster (already replaced all of them in src/s_kline.c).
196 GetIP(acptr) will return the ip for local users and remote users that support NICKIP,
197 it returns NULL for remote users that are on non-NICKIP servers (or have non-NICKIP
198 servers along their path).
199 - internal: tkl_add_line now returns aTKline *
200 - Added some more hooks:
201 - HOOKTYPE_TKL_ADD [aClient *cptr, aClient *sptr, aTKline *tk]
202 - HOOKTYPE_TKL_DEL [aClient *cptr, aClient *sptr, aTKline *tk]
203 NOTE: 'NULL, NULL, tk' is used for *lines that are removed due to expiring
204 - HOOKTYPE_LOCAL_KILL [aClient *sptr, aClient *target, char *comment]
205 - Added support for the ELIST 005 token with MNUCT options
206 - Made Mod_Version required (this should be no problem since it's done automatically).
207 - Added HOOKTYPE_LOG [int type, char *timebuf, char *logbuf]
208 - Updated the release notes.
209 - Fixed a CIDR bug reported by poisoner (#0001892)
210 - Documented numerics in use by other IRCds
211 - Converted several notices to numerics (#0001599) suggested by olene
212 - Added a donator to /credits
213 - Fixed '/stats P' negative usercount bug (#0001691).
214 - Made IPv6 bans work the way they should again, reported by al5001 (#0001876).
215 - Added new logtype 'spamfilter' to log spamfilter matches
216 - Updated example.conf: added all new flags we added in the example block, removed
217 old confusing comment on SEGV logging, config.h: ripped out lPATH since that define
218 isn't anywhere used and is only confusing.
219 - Made the new numerics use nicknames (#0001896) suggested by Dukat.
220 - Fixed a problem where the tmp directory was created in the current directory rather than
221 the correct path (#0001898) reported by AngryWolf
222 - Updated HOOKTYPE_TKL_ADD/HOOKTYPE_TKL_DEL to cptr, sptr, tk, parc, parv, else it was
223 impossible to tell *who* removed a *line. Again, parc/parv are 0/NULL for expires.
224 - Fixed "quickly-rehashing + autoconnect linkblocks = crash"-bug. This involved fixing
225 multiple reference count bugs, one related to sptr->serv->conf, and another one related
226 to sptr->serv->class. Both caused problems when someone did a /rehash when a server
227 was in the process of connecting (so it might also happen when connfreq was hit and you
228 did a /rehash). Original bug was reported by sh0 (#0001872).
229 - spamfilter.conf: Added sig for a mIRC decode worm, submitted by nexus.
230 - Some release notes updates.
231 - Changed version to 3.2.1-pre1 and updated protocol # to 2304.
232 - Updated wircd.def
233 ** internal 3.2.1-pre1 release **
234 - Various (>15) small fixes for unreal32docs.html, reported by AngryWolf (#0001906).
235 - Added spanish docs, translated by Trocotronic.
236 - Fixed serious crashbug due to quick-rehashing bugfix! Basically if you did a /REHASH and
237 the clientcount for a class reached 0 (due to quits) it would crash.
238 ** internal 3.2.1-pre2 release **
239 - Added hungarian docs, translated by AngryWolf.
240 - Fixed a problem with the win32 installer as a result of MSVCR70D.DLL, reported by
241 aquanight
242 - Updated /Credits and added a donator.
243 - Made release notes a bit more scary + some minor english-only doc updates
244 - Changed version to 3.2.1
245 - Moved the 3.2 changes to Changes.old
246 ** 3.2.1 release **
247 - Fixed a win32 module problem where file not found errors would display random characters,
248 reported by STING
249 - Fixed a bug where the allow-userhost-change force-rejoin setting was not applied to users
250 who /oper and receive an oper-host (#0001901) reported by hypnetric.
251 - Removed the /hs alias pointing to HelpServ for Anope since this conflicts with HostServ
252 (#0001709) reported by DukePyrolator
253 - Fixed ban bug: halfops were also prevented from doing nickchanges if banned, plus..
254 +b ~n:*!*@* also made nickchanges impossible for voiced(&halfop'ed) people (so like half
255 of the purpose of it was defeated @$#&@#). Reported by Rocko.
256 - Fixed a bug where an ident in a vhost {} was never sent out to other servers and added
257 user@host support for set::hosts (#0001834) reported/suggested by bleepy.
258 - Fixed defizzer module. Reported by Rocko and netrixtardis.
259 - Removed the * and ^ flags from /whois if PREFIX_AQ is not enabled (requested by many people)
260 - Updated the /who docs to use correct English
261 - Added documentation for the /who and /whois flags (#0001881) reported by AngryWolf and Bugz.
262 - Added src/win32/win32.c for generic win32 helper functions
263 - Renamed src/win32/win32gui.c to src/win32/gui.c
264 - Reorganized much of the Windows code
265 - Fixed a whois bug when PREFIX_AQ is undefined, reported by Shaun
266 - Moved the RTF win32 code to a seperate file
267 - More win32 code cleanups
268 - Added src/win32/editor.c (woops), (#0001932) reported by Troco
269 - Fixed a problem with /who incorrectly showing the ? flag to opers even when the user should
270 be visible (#0001888) reported by Bugz and aquanight
271 - Added SAPART and SVSPART reasons. Note, to fully work it requires all servers to upgrade,
272 and due to a bug in older versions, it could cause problems if linked to 3.2 or earlier
273 (#0001859) suggested by Bugz
274 - Fixed a minor issue where Unreal registered itself as an NT service incorrectly
275 (#0001950) reported by rocafella
276 - Possibly fixed a bug that could cause Unreal to eat 100% CPU at startup on Windows.
277 (#0001635) reported by eggburt. Thanks to STING for helping to debug this.
278 - Implemented a new modules Makefile written by fez (#0001930).
279 - Added oper::modes to specify modes to be set for a particular oper (overrides
280 set::modes-on-oper), suggested by parker182 (#0001899).
281 - doc/example.conf now simply refers to unreal32docs.html for oper flags (#0001973)
282 reported by vonitsanet and AngryWolf.
283 - Fixed crash-on-first-connect if SSL was enabled. This seemed to happen on Mac OS X,
284 Sun Solaris, Opteron@Linux and perhaps others (#1982, #1984, #2110), reported by bit,
285 lion and liverbugg.
286 - Fixed a bug if me::info was set to "".
287 - Added a missing error message for ModuleGetErrorStr. Additionally added error checking to
288 ensure NULL is returned when an invalid error code is specified (#0001986) reported by
289 AngryWolf.
290 - Applied patch from slePP for bug #0001252: if IPv6 was enabled then in some cases names
291 were not properly resolved. Original bug reported by kormat.
292 - Fixed bugs regarding HOOKTYPE_SERVER_QUIT: was sometimes called twice and could cause
293 crashes due read-after-free. Reported by SET (#0001988).
294 - Fixed possible crash if /rehash'ing and a servername was just resolving (due to
295 /connect or autoconnect) and was not present in the cache. Reported and traced by sh0
296 (#0001976).
297 - Fixed compile bug at *NIX caused by ModuleGetErrorStr fix.
298 - Improved doc/compiling_win32.txt a lot: now VC7 only, and has instructions on:
299 compiling modules and their (binary) compatability, zip links (zlib), ssl (OpenSSL)...
300 Remote includes (curl and c-ares) instructions still need to be added.
301 - Made 'Install as a service' unchecked by default, this should help beginners a lot.
302 - Updated doc/compiling_win32.txt again with curl build instructions.
303 Also linked to a page with an unreal dev package which contains zlib+ssl+curl
304 precompiled. This basically means many people no longer need to compile zlib/ssl/curl
305 anymore themselves (which is a pain to do and takes a lot of time).
306 - Windows: the 'notice' parameter in the usermsg callback was always 0 due some windows/vc
307 weirdness, this also affected spamfilter (so any spamfilters added only at notice
308 and not at msg on windows would not work). Now using the real 'notice' parameter.
309 - unbroke spamfilter not working for msgs/notices (oops..).
310 - Made zip/non-zip modules on win32 binary compatible. Since it was nowhere documented
311 that you should pass the ZIP_LINKS etc options to 'nmake -f makefile.win32 custommodule'
312 many people didn't do this which caused odd problems when reading certain clientstructs.
313 Module coders: in the meantime, for 3.2.1 mods, use something like:
314 nmake -f makefile.win32 USE_ZIPLINKS=1 ZLIB_INC_DIR="c:\dev\zlib"
315 ZLIB_LIB_DIR="c:\dev\zlib\dll32" custommodule MODULEFILE=m_mymodule
316 For 3.2.2+ these additional parameters will no longer be needed (but wouldn't harm either).
317 - Some doc/example.conf clarifications, mainly for modules @ win32.
318 - Made /whois show the user's modes to opers regardless of +e
319 - Added snomask to the /whois umode output
320 - Added a patch by rocafella to fix a crash when installing Unreal on Win2003 (#0001949).
321 - Moved the Command API functions to a separate file.
322 - Redesigned the 005 token:
323 - Now renamed to RPL_ISUPPORT.
324 - Replaced KNOCK and MAP tokens with new CMDS token (see doc/technical/005.txt)
325 - Implemented most tokens from the isupport draft (STATUSMSG, EXCEPTS, CHANLIMIT,
327 - Removed MAXBANS.
328 - Made the isupport system dynamic and provide an API for modules to add tokens, may need
329 testing.
330 - Added an M_ANNOUNCE flag for CommandAdd to add the command to the CMDS token, may need
331 testing.
332 - Fixed some compile warnings.
333 - Fixed a bug where bans were not matched against IPs in all circumstances (#0002045)
334 reported by heper.
335 - Fixed a bug with IP based except tkl {} lines did not validate the ident portion of the mask
336 (#0002049) reported by Rocko.
337 - Fixed a problem where a local TKL could be sent to remote servers when it is being changed
338 (#0002048) reported by AngryWolf.
339 - Added documentation for link::ciphers to unreal32docs.html (#0002019) reported by Bugz.
340 - Updated documentation to reflect that cmode +M allows voiced users to talk, not just
341 registered users (#0002020) reported by crazy.
342 - Made it so WATCH will not respond with an erroneous reply if the parameter was simply + or -
343 (#0002017) reported by GouraudShading.
344 - SVSO now removes +v (#0002023) reported by w00t and aquanight.
345 - Exported the isupport functions for use in Windows modules.
346 - Added a new snomask, +o to show oper-up notices (oper only), (#0001965) suggested by
347 vonitsanet.
348 - Added a /userip command that works just like ircu's.
349 - Fixed a typo in the *nix Makefile reported by Troco (#0002059)
350 - Added french docs, translated by Kolibot & Babass.
351 - Changed some stuff to use the release version of MS libraries.
352 - Updated installer for msvcr70.dll
353 - Fixed prefix bug caused by previous 'fix'/behavior change. Reported by aquanight (#0002067).
354 - Updated doc/technical/token.txt and resolved 2 token conflicts. SVSWATCH is now Sw and
355 SVSJOIN is now BX (#0002073) reported by trystanscott.
356 - Fixed a bug regarding chanmode +mu where the <IRC> messages were not properly relayed
357 to all servers. Reported by Aenox (#0002079).
358 - Added salted passwords. Salts are useful because it "protects" against stored-plaintext
359 attacks (eg: rainbow) and prevents cracking of several passwords at once.
360 This change means /MKPASSWD will now just generate a different string than before.
361 Do note however, that the old syntax/encrypted passwords will still work and _will continue
362 to work_ in the future, for at least the whole 3.2* series.
363 If you are concerned with security and have some time, then converting your passwords
364 is probably a good idea... Just in case your configuration file gets stolen one day ;).
365 - MD5 password encryption is now always available on *NIX, even if SSL is disabled.
366 - Temporary fix for ircsprintf %lu 1..6 issue.
367 - Fixed a problem with +u for some clients that have a strict interpretation of the RFC.
368 - Added TRE 0.7.0, fixes #0001952 reported by Praetorian
369 - Fixed an (unimportant) cloak typo / made it a few nanosec faster. Reported by Martin Brulisauer.
370 - Fixed resolver not working in FreeBSD jail, reported & patch provided by urkel (#0002097).
371 - Added a %n specifier to command aliases that is replaced by the user's nickname,
372 requested by many people.
373 - Added the ability for an alias {} to send to a channel (#0001686) requested by JasonTik
374 - As a result, alias[::format]::nick is now called alias[::format]::target to avoid
375 confusion. ::nick is maintained for backwards compatibility.
376 - Fixed a problem where IsupportAdd did not return a value.
378 work just the same as the HOOKTYPE_LOCAL_* variants).
379 - Module coders: HOOKTYPE_REMOTE_CONNECT is now also called during net-merge. You can use
380 IsSynched(sptr->srvptr) to find out if it's called due to a net merge (0) or a connect (1).
381 - Added spamfiler 'user' (u) target. This regex is checked against nick!user@host:realname
382 when a user connects. This makes it easy to ban drones with simple patterns.
383 For example: '/spamfilter add u gzline 86400 Drone[0-9]+!.+@.+:Drone[0-9]'
384 would kill any drones that have both a nick and realname with 'Drone' followed by digits.
385 - If a nick is qlined, the user is now lagged up to limit qline floods a bit (#0001335).
386 - Made docs a bit more clear on spamfilter targettypes.
387 - Fix for too broad regex in badword::word causing the IRCd to hang, reported by Flop
388 (#0002101).
389 - IPv6: Fixed hostnames in link::hostname not working, reported by Jasmin (#0001990).
390 - Fixed OOB read/write on user quit (did no harm on Linux&FreeBSD).
391 - Fixed some tiny memory leaks (~100 bytes) on rehash.
392 - Updated chinese&japanese GBK nick code, fix supplied by Xuefer (#0002051).
393 - Added release notes (unfinished).
394 - Added file: include/macros.h and a new macro, ARRAY_SIZEOF.
395 - Added the ability to specify multiple types in a tkl except, suggested by Bugz (#0002085).
396 - Added spamfilter 'away' ('a') target (#0002057).
397 - Fixed a qline duplicate msg bug I think
398 - Windows version can now hold ~4096 connections instead of ~1024
399 - help.conf: clarified MKPASSWD documentation, reported by hypnetric (#0001926).
400 - Some modeskip handling for future versions
401 - Fixed serious heap corruption bug if remote users were using qlined nicks, thanks to
402 Gilou and Trankill for making me able to trace this issue down (#0002032).
403 - Fixed qline notices again: now gives msg #1 for local qlined-nick attempts, and
404 another msg in case of a remote client (eg: oper) using a qlined nick.
405 - Added some future SJOIN skip stuff.
406 - Updated version to 3.2.2-pre1 already.
407 ** internal 3.2.2-pre1 release **
408 - Fixed some doc & release notes typos. Reported by Rocko, HiT.
409 - French doc updates, hopefully synched now.
410 - (revert of badsyntax fix)
411 - Forgot to mention away spamfilter target in helpop, reported by Rocko.
412 - Changed version to 3.2.2
413 ** 3.2.2 release **
414 - Fixed a typo in the makefile for USERIP
415 - Made the WATCH command work for WebTV users (#0002121) suggested by White_Magic.
416 - Some text updates... docs: now 3.2.2-CVS, also got rid of double version to avoid
417 confusion. credits: fixed typo.
418 - Added updated auspice.conf from Rocko since previous one was outdated (#0002147).
419 - Recoded the config parsing code
420 - The new system is much faster, for the programmers out there, the
421 old system averaged O(MN) where N was the number of sub-directives for a block, and
422 M was the number of sub-directives actually contained in the block in the config file.
423 The new system averages O(N), so the number of sub-directives no longer has a significant
424 impact on performance.
425 - Added duplicate config entry detection (#0002126) suggested by brain2
426 - May have a few bugs (easily fixed)
427 - Corrected numerous -Wall warnings
428 - Fixed a bug with /rehash and classes due to the config parser rewrite
429 - Modified the module symbol dependency code to do more accurate searching for the module
430 that contains the necessary symbol (#0002123) suggested by Xuefer.
431 - Unreal will now prepend the pathname to the module and append the appropriate extension
432 (.so or .dll) to the end)
433 - The new module system version is "3.2.3" to allow for backwards compatibility
434 - Documented the default behavior of snomasks when /mode nick +s is used (#0002141) suggested
435 by Bugz.
436 - Added "const" to the functions in match.c, (#0002116) suggested by Xuefer.
437 - Made ./Config better handle command line arguments
438 - Removed NAZIISH_CHBAN_HANDLING as it didn't do anything
439 - Added -advanced flag to ./Config to configure advanced options (#0002145) suggested by
440 Bugz. As a result, some config.h options are now in ./Config -advanced.
441 - Small fix for above
442 - Added the ability to specify a botmotd and opermotd in a tld {} (#0000176) suggested by
443 swissSolaris.
444 - Fixed crashbug on /rehash due to config rewrite, also made DEBUGMODE working again.
445 - Removed an excess space from the SAMODE notice when a mode without a parameter was set
446 (#0002134) reported by Bugz.
447 - Fixed small memory leak on /rehash (post-3.2.2).
448 - Fixed botmotd crash due to last change (post-3.2.2).
449 - Updated the Donation file
450 - Added a 'B' flag to /who output for bots, and allowed normal users to /who +m B
451 (#0002096) suggested by White_Magic
452 - Added support for using \\ in the config file to indicate a \ (#0002178) reported by
453 TimeFX
454 - Added documentation for set::options::fail-oper-warn (#0002166) reported by Snake
455 - Removed an extra ) in the Throttle disconnect message (#0002165) reported by Snake
456 - Fixed a bug where the "looking up your hostname" message could still be displayed even
457 if hostname resolving was disabled (#0002161) reported by Xuefer
458 - Made typing /kline, /shun, /zline, and /gzline correctly report the correct /stats flag,
459 and these commands now produce the same output as the respective /stats flag they emulate
460 (#0002149) reported by Snake
461 - Renamed some calls from report_error() to report_baderror() since otherwise the errors are
462 hardly ever seen (unless you have +s +j set). For example a bad link::bind-ip only caused
463 "Couldn't connect to xxxxxx" without any meaningful error message. Additionally, errors
464 sent to report_baderror() are now logged.
465 - Win32 installer: Apparently 'install as a service' was still not the default, reported
466 by fez (#0002191, #0002189).
467 - Fixed the crule parser to treat - and : as valid 'word' characters rather than separators
468 (#0002188) reported by diskman1.
469 - Fixed bug in remote version reply, reported by DukePyrolator (#0002180).
470 - Added set::dns::bind-ip (rarely ever needed, but might be useful for paranoid people).
471 - Some unreal32docs->security section improvements.
472 - Fixed a minor bug in the new config system when displaying link {} and set::hosts errors
473 (#0002194) reported by AngryWolf.
475 - Using /invite with no parameters now lists the channels you are invited to but have not
476 yet joined (#0002190) suggested by sac.
477 - Added some missing operflags to /stats O and SVSO (#0002193) reported by Bugz.
478 - If a user is +b on a channel, and set::allow-userhost-change force-rejoin is used, a
479 part/join is not sent in order to prevent flooding (#0001933) suggested by Z3l3zT.
480 - Rewrote some of the previous change to deal with some strange issues found by aquanight
481 - Introduced two new macros DYN_LOCAL and DYN_FREE to allow creation/deletion of dynamically
482 sized arrays in the most efficient manner (C99 variable length, alloca, or malloc)
483 - Changed the +z cannot join message to be a bit more descriptive (#0002148) suggested by cust.
484 - Added a config.h options, IPV6_COMPRESSED to make Unreal use compressed IPv6 addresses where
485 possible (#0002107) suggested by Neo-Vortex.
486 - Fixed alloca warning @ Linux (post-3.2.2)
487 - Numeric audit: 15 small changes (int/long mismatches etc). This might have fixed some
488 bugs on architectures where 'long' and 'int' have different sizes (eg: opteron).
489 - Added a set::gline-address which works like set::kline-address (#0001298) suggested by
490 Bugz.
491 - Added missing documentation for spamfilter away target (#0002205) reported by Dukat.
492 - Fixed dcc spamfilter problem reported by TimeFX and Deadalus (#2177, #2204).
493 - Fixed Oper Override not giving a 'special join notice' if +z is set along with another mode
494 (eg: +i/+k), reported by tabrisnet (#0001487).
495 - help.conf: Fixed a typo, updated *CMDS indexes a bit, reported crazy (#0002208),
496 added long flags to OFLAGS.
497 - OperOverride INVITE notices are now also global (if you have the eyes snomask set) (#2212).
498 - Module coders: New function: sendto_snomask_global().
499 - Speedup sendto_snomask/sendto_connectnotice/sendto_fconnectnotice code.
500 - spamfilter.conf: fixed mIRC exploit sigs
501 - Fixed all spamfilters in configfile not working due to configrewrite (post-3.2.2).
502 - Module coders: sendto_snomask* now only sends to opers, sendto_snomask_normal* can be used
503 to send to normal users w/the snomask set.
504 - Fixed dcc filtering a bit more.
505 - Made usermode 'g' operonly since it didn't do much, reported by DukePyrolator (#0002024).
506 - Fixed tkl except { } not working (post-3.2.2).
507 - Fixed bug where servers behind ulines were not ulined, causing for example juped servers to
508 show up if flat-map was enabled, reported by GSF19 (#0002230).
509 - Some doc/ updates: removed: Unreal31_to_32.html & example.settings, updated: Authors &
510 translations.txt.
511 - Added a basic regex tutorial to unreal32docs.html (#0000920)
512 - Updated wircd.def
513 - Made CIDR no longer accept bitmasks with less than 16bits for /*line commands (#0002240)
514 reported by aquanight.
515 - Made the (?) kill message not show IP addresses (#0002227) reported by neothematrix.
516 - Added some error checking to /sapart (#0002253) suggested by Troco.
517 - Imported TRE 0.7.2 for Windows
518 - Imported TRE 0.7.2 for *nix
519 - Got rid of wma/wmv in dccallow.conf, better to require an explicit select here due to
520 recent DRM exploits (spyware etc).
521 - Fixed /restart reasons, reported by SouL-FoRTuNe.
522 - Partial (incomplete!) fix for alloca warnings during compile (especially w/SSL).
523 - Fixed serious crashbug that can be triggered by users, released a hotfix and a seperate
524 version called 3.2.2b (which is just 3.2.2+patch+version change to '3.2.2b',
525 nothing else).
526 - Fixed 'make install' error due to example.settings remove.
527 - Fixed a minor typo in the "now an oper" announcement (#0002284) reported by Rocko.
528 - Made SVSMODE -b and -e remove bans/excepts placed on IPs (#0002270) reported by Snake.
529 - Fixed a couple of problems introduced with the ./Config -advanced changed (#0002239).
530 - Made the win32 installer include the dccallow.conf (#0002269) reported by Ron2K.
531 - Made the win32 installer work with the latest version of Inno Setup (5.0.6).
532 - Made /sajoin support multiple channels and using 0 (#0002231) suggested by acemi.
533 - Fixed a problem where doing ./unreal restart multiple times would not actually restart
534 the ircd (#0002120) reported by SineSwiper.
535 - Made it so +f notices are sent to %#chan, not @%#chan (#0002248) reported by aquanight.
536 - Hopefully fixed the last of the alloca warnings (#0002202) reported by Stoebi.
537 - Fixed a problem with set::htm::incoming-rate being interpreted incorrectly (#0002266)
538 reported by tabrisnet.
539 - Fixed a resolver cache bug regarding CNAME's. Thanks to insiderZ.DE for tracing down
540 this issue.
541 - Fixed a bug related to the sajoin recode regarding notices displayed (#0002293) reported
542 by Troco.
543 - Reworded a cloak-key error message to make it clearer (#0002297) reported by Bugz.
544 - Fixed a bug where /whois notices were not sent to users who are +R if the sender is -r
545 and on a remote server (#0002288) reported by Freadon.
546 - Made /stats E include tkl except stats as well (#0001524) suggested by Cnils.
547 - Added an options member to the ExtbanInfo structure. This currently supports one flag,
548 EXTBOPT_CHSVSMODE. When set, this extban will be removed when an SVSMODE -b [nick] is
549 executed (#0002222) suggested by Snake.
550 - Fixed a bug where specifying a reason to SVSPART would cause it to fail (#0002210) reported
551 by tabrisnet.
552 - Moved channel mode +G to extcmode to make room for invex.
553 - Added debug code to trace proto-check bugs in DEBUGMODE [IsToken() etc]
554 - [Module coders] Added new function: do_cmd(cptr, sptr, cmd, parc, parv) which is an
555 uniform method to call any other commands. For more info, see description in src/packet.c.
556 This will be used for any further modulization of commands that need to call other
557 commands, like NICK (will be done soon).
558 - Added invite exceptions (+I). This prevents users from needing a /invite in for a +i
559 channel (#0002044) suggested by medice.
560 - Updated help.conf's +f documentation for the new syntax
561 - Fixed some problems with the /stats help and documentation (#0002299) reported by Rocko.
562 - Corrected the help.conf documentation for /invite (#0002306) reported by White_Magic.
563 - Fixed a documentation inconsistency with me::numeric (#0002290) reported by Bugz.
564 - Fixed a problem when compiling Unreal with GUEST support (#0001758) dvzion.
565 - Fixed a win32 GUI problem where the tray menu's config submenu was not updated when new
566 files were loaded or files were unloaded (#0002084) reported by Troco.
567 - Made m_template.c use CommandAdd() and CMD_FUNC()
568 - Modulized a lot of commands and related subfunctions: NICK (750 lines), USER (200),
569 MODE (2300), WATCH (250), JOIN (600), PART (250), MOTD (100), OPERMOTD (100),
570 BOTMOTD (100), LUSERS (100). More will follow soon (probably including more subfunctions
571 related to existing commands).
572 - Various (important) fixes to above, also made win32 compile work again.
573 - And some more.
574 - Made unreal_copyfile try hardlinking first, if that fails.. it will try to copy
575 (perhaps this should be a different function?). Anyway, this means less diskspace
576 is needed (~1.5mb or more), and it also makes it a bit easier for RBAC (#2300).
577 - Made a new function DoMD5() which is ssl/non-ssl independent. Also made the cloaking
578 module and the auth functions use it. Hopefully I didn't break anything ;). Suggested
579 by Bugz (#2298).
580 - Fixed mode #chan +O set by locop causing a desynch, reported by Unim4trix0 (#0001946).
581 - Added spamfilter topic support ('t' in /spamfilter, or 'topic' in conf), suggested
582 by Z3l3zT (#0001929).
583 - Updated makefile to fix compile problem, reported by vonitsanet (#0002317) [?].
584 Also made loading m_*.so work again.
585 - Added unreal_copyfileex() which works just like unreal_copyfile() but has an additional
586 param to try hardlinks first.
587 - Win32 crash fixes due to modulizing
588 - Made channel mode +c block RGB color codes.
589 - Fixed a bug with channel alias{}'s where using the format syntax caused a crash (#0002323)
590 reported by Snake.
591 - Made channel mode +S strip RGB color codes.
592 - Added channelmode +j (jointhrottle), syntax: /mode #chan +j X:Y, and then it will
593 throttle the number of joins per-user to X in Y seconds. Idea from Angrywolf (who
594 wrote a module that did this before). This needs testing :).
595 It's enabled by default but can be #undef'ed in include/config.h (line 449).
596 - Added a feature to +b ~c, ~c:[prefix]<#channel>, prefix can be +/%/@/&/~ and will
597 check if the user is voiced/halfoped/etc.. Especially useful for +e ~c. Idea from
598 Bugz (#0002198). Obviously all servers need to be upgraded to make this work.
599 - Fixed SVSNOOP bug where remote servers still thought the opers had privileges, reported
600 by Zell (#0002185)
601 - Docs: log { } from 'optional' -> 'recomended'
602 - If no log { } block is present a warning will be printed out and we will fallback
603 to a default of logging errors to ircd.log. Suggested by w00t (#0002327).
604 - Fixed shuns not working as target in spamfilter and ban version { }, reported by Bugz
605 (#0002223).
606 - Fixed a bug where shuns placed on IP's did not take effect to currently connected users.
607 - Fixed a small doc bug regarding shun in spamfilter, reported by KnuX (#0002338).
608 - Added greek docs, translator: GSF.
609 - Some help.conf/005.txt updates, reported by Ron2K (#0002354).
610 - No longer cutoff nick upon illegal character -- just reject the whole nick. The nick is
611 still cutoff if the nick is too long. Basically this is the same way as Hybrid does it
612 so it should work ok :).
613 - Added nick character system. This allows you to choose which (additional) characters
614 to allow in nicks via set::allowed-nickchars. See unreal32docs.html -> section 3.16
615 for a list of available languages and more info on how to use it.
616 Current list: dutch, french, german, italian, spanish, euro-west, chinese-trad,
617 chinese-simp, chinese-ja, chinese.
618 If you wonder why your language is not yet included or why a certain mistake is present,
619 then please understand that we are most likely not experienced (at all) in your language.
620 If you are a native of your language (or know the language well), and your language
621 is not included yet or you have some corrections, then contact syzop@vulnscan.org or
622 report it as a bug on http://bugs.unrealircd.org/
623 - Added swedish support for nicks, supplied by Tank.
624 - Various updates to unreal32docs from Ron2K (#0002354).
625 - set::allowed-nickchars:
626 - Renamed 'euro-west' to 'latin1' since that's more descriptive/fair ;)
627 - Added 'hungarian' [supplied by AngryWolf]
628 - Added category 'latin2': just Hungarian for now
629 - Added 'catalan' [supplied by Trocotronic]
630 - Added 'greek' [supplied by GSF]
631 - Added category 'latin7': alias for 'greek'
632 - Added category 'gbk': alias for 'chinese'
633 - Removed 2 unneeded characters from 'catalan'.
634 - Added NICKCHARS= in PROTOCTL. This indicates which languages are accepted in nicks.
635 If 2 servers try to link and the allowed nick characters do not fully match, then
636 the link will be rejected. Note that this will not prevent you from 3.2.2<->3.2.3/CVS
637 charsets mistakes, but only with linking CVS/3.2.3+ servers. Suggested by Troco (#0002360)
638 This might need some additional testing, but initial results are positive :).
639 - NickChars:
640 - Got rid of 'latin7', tiny mistake ;)
641 - Removed e' accent from German (used in borrow-words only), reported by Dukat.
642 - Added 'swiss-german', which is just German without es-zett, reported by Dukat.
643 - Added 'turkish', supplied by Ayberk Yancatoral.
644 - Build in some additional checks (especially for Chinese).
645 - Fixed a bug in chinese character range (affecting 3.2*)
646 - Relaxed nick character checking from remote servers (rely on NICKCHARS= PROTOCTL
647 to deal with problems). This is useful to prevent any kills in case we slightly
648 change the characters that are allowed in a language.
649 - Added 'polish' (latin2), supplied by k4be.
650 - Added 'hebrew' (iso8859-8I / windows-1255), supplied by PHANTOm.
651 - Added French example.fr.conf and help.fr.conf, translated/maintained by Babass.
652 - Fixed a doc typo, reported by SDF_of_BC.
653 - NickChars: Updated polish a bit, and added polish-w1250 which is unfortunately more
654 common than real latin2 (iso-8859-2), supplied by k4be as well.
655 - NickChars: Added 'icelandic', supplied by Saevar.
656 - Updated wircd.def
657 - Fixed a bug where USERIP would say USERHOST in the not-enough-parameters numeric
658 (#0002366) reported by vonitsanet.
659 - Fixed a bug causing SVSNICK not to send out a snomask +n notice (#0002359) reported by
660 Rob_.
661 - Fixed a bug where SAJOIN would list channels multiple times in the notices (#0002325)
662 reported by vonitsanet.
663 - Fixed a bug in mode-skipping (eg '+qk a b' if not +q) and error msgs, reported by brain2
664 (#0002372).
665 - Fixed bug where chanmode +f #t (per-user text kick[ban]) was also affecting halfops,
666 reported by seneces (#0002333).
667 - Fixed doc bug reported by Dukat (#0002374). Also fixed 2 error msgs related to
668 the nickchars system printing out incorrect set:: directives.
669 - spamfilter.conf and dccallow.conf are now also copied upon make install, reported by
670 TommyTheKid (#0002313).
671 - Made CHGIDENT, CHGHOST and CHGNAME use more numerics (where possible) (#0002358).
672 - Fixed halfop trying to set chanmode +G/+T/+j not getting an error message, reported
673 by Ron2K (#Ron2K).
674 - Module coders: using extcmode_default_requirechop is now depricated, check src/extcmodes.c
675 ctrl+f extcmode_default_requirechop for more details (solution: copy+paste & fill in modechar).
676 - Nicks with ~ are now also not cutoff anymore but rejected like any other illegal char (#0002074).
677 - Fixed bug in +G where with not-really-matching-words color was needlessly stripped,
678 reported by SpeedFire (#0002375).
679 - Changed the 'is a Secure Connection' msg/numeric in /whois from RPL_WHOISSPECIAL to
680 a slightly changed RPL_WHOISSECURE, namely: ':%s 671 %s %s :is using a Secure connection',
681 I'm sure some client coders will bitch at this, but the current way is brok in 2 ways:
682 - RPL_WHOISSPECIAL is meant for 1 line of additional whois info, usually an IRCOp title or
683 description. Having a dedicated numeric for it allows for client-side interpretations
684 and/or translations.
685 - The 'is a Secure Connection' was incorrect English, this has been reported numerous times.
686 The PRO's of this change are clear, the only CON is that in-window-/whois's are now
687 likely not to show this line properly in-window but rather in the status window, until client
688 coders implement this numeric.
689 If you wonder why we didn't use RPL_USINGSSL, that's because this numeric collides with
690 RPL_STATSDLINE (which we are already using for >5 years).
691 If you wonder why we didn't use the RPL_WHOISSECURE numeric as-is (even though I haven't
692 seen it in use anywhere), then that's because we wanted to minimize display problems in
693 the transition period and the extra parameter would not be used by us anyway.
694 - If a locop now has can_override/can_gkline/can_gzline we will print out a warning and
695 convert it to globops. This is also what we always did for can_globalroute/can_gkill
696 (well, except the warning). Giving such NETWORK (GLOBAL) privileges to a LOCAL operator
697 does not make any sense and is therefore no longer allowed.
698 - NickChars:
699 - Added 'russian-w1251', supplied by Roman Parkin. There are like 7 standards
700 in Russia (and like 2-3 main ones), so I didn't dare to call this one 'russian' ;).
701 - Added 'czech-w1250' and 'slovak-w1250' (both might miss a few characters).
702 - Added 'windows-1250' group which contains czech-w1250, slovak-w1250, polish-w1250
703 and hungarian.
704 - Hungarian characters show both fine in w1250 and latin2, hence hungarian is included
705 both in 'windows-1250' and 'latin2'.
706 - Fixed bug: polish was not included in latin2
707 - Fixed various OperOverride issues:
708 - Opers with can_override can now +qa/-qa even if they are not netadmins,
709 and they can also (un)set L/u.
710 - Fixed several SAMODE bugs, such as not completely working for non-netadmins and
711 not working if you were halfop'ed, etc.
712 Bugs reported by pak, aquanight, niphler, Bugz, and more.
713 If there are still any bugs left, please report them on http://bugs.unrealircd.org/
714 NOTE: some of these enhancements will produce desynchs if your net is not 100%
715 on current CVS / Unreal3.2.3 and an oper tries to use these 'new features'.
716 So use with care on mixed-version nets.
717 - Fixed /(G)ZLINE [nick] placing the *line on *@host instead of *@IP, reported by
718 Snake (#0002246).
719 - A warning is now sent to the oper if (s)he tries to add a (G)ZLINE on *@host.
720 (G)ZLINES should have an ipmask, not a hostmask, because they are processed BEFORE
721 any dns lookups are done. Therefore any (g)zlines placed will probably work
722 (but not necessarily) for like an hour (or whatever TTL), but after that the
723 (ab)user can get in again so this is usually not what you want ;).
724 I suppose I'll add a FAQ entry about this.
725 - Made badwords (+G) now work with hardcoded word boundaries. Also made the fastbadwords
726 system accept more characters. Basically what this means is that the (fast) badwords
727 system can now be used to properly block words with accents and things like that, just
728 the way you block English words. Bug reported by MJ12Helios (#0002311).
729 - Fixed 'russian-w1251', was not working ok at all.
730 - Made it so halfops can -h themselves, and chanadmins can -a themselves, reported
731 by fez (#0001503).
732 - Made spamfilter 'u' also check nickchanges, reported by Gilou (#0002251).
733 - Updated doc/technical/token.txt, reported by webfox (#0002373).
734 - NickChars: Added 'romanian', supplied by crazytoon.
735 - Added 3.2.3 release notes (expected to be changed later on).
736 - Updated russian-w1251 (added 2 chars).
737 - Made the (G)ZLINE warning only happen on add, as it should. Reported by crazy.
738 - Made some (incorrect) -Wall warnings dissapear.
739 - Renamed version to 3.2.3-pre1, for Thursday. I'll keep the doc version numbers
740 at 3.2.2-CVS to avoid confusion with the online semi-realtime docs ;).
741 ** internal 3.2.3-pre1 release **
742 - Fixed a bug with /invite with no parameters (accidentily broken when +I was added)
743 (#0002383) reported by trystanscott.
744 - Fixed a bug where /SAJOIN user 0 caused a desynch, reported by trystanscott (#0002384).
745 - Merged NICKCHARS= in PROTOCTL for now, since a seperate one is not (yet!) needed,
746 reported by SolutechUK and psadi (#0002386).
747 - Fixed various (major) problems that the '-h yourself' caused, reported by Trocotronic
748 (#0002387).
749 - Fix for above, also reported by Trocotronic.
750 ** internal 3.2.3-pre2 release **
751 - Fixed a couple of typos in doc/example.conf (#0002393) reported by AngryWolf.
752 - Added documentation about channel mode +j (#0002392) suggested by Dukat.
753 - Added doc/help.de.conf and doc/example.hu.conf
754 - Fixed +s/+p and +c/+S desynch issue during netmerge, reported by Ron2K (#0002391).
755 - Fixed a bug where an unknown operflag would cause a crash.
756 - Windows versions will now be compiled with zlib 1.2.2 and curl 7.13.1.
757 - Made windows installer also install doc\technical\*
758 - Removed oldcloak cloaking module, everyone should be using the new cloak one by now.
759 - Updated release notes (translated docs, zlib, doc\technical, sp/cS desynch).
760 - Made +g get removed when an oper sets -o (#0002399) reported by Ron2K.
761 - Made it so the win32 version shows channel modes in /list (#0002397) reported by Ron2K.
762 - Fixed /SAMODE with no can_override not always working with +G/+j/+T (extcmodes), reported
763 by Ron2K (#0002398).
764 - Added doc/example.de.conf
765 ** internal 3.2.3-pre3 release **
766 - Some spelling fixes in unreal32docs.html, reported by alex323 (#2412).
767 - Updated the list of donators
768 - /SAMODE could cause 'fishy timestamp' if digit parameters were used (eg: SAMODE #chan +l 5),
769 this has now be fixed by sending an explicit TS 0.
770 - Fixed an important channelmode +j memory corruption bug that would cause crashes, reported
771 by Bergee (#0002416).
772 - Some clarifications on /RESTART, remote restarts were well never supported, so the docs
773 are now updated on that (no code changes).
774 ** internal 3.2.3-pre4 release **
775 - Corrected small doc typo in unreal32docs, reported by arbiter.
776 ** 3.2.3 release **
777 - Fixed incorrect badword { } in conf causing a crash (should give an error).
778 - spamfilter.conf Gaggle worm sigs were broken causing odd things to match, this is because
779 \\ now needs to be escaped as \\\\ due to the 3.2.3 conf change... didn't think of updating sigs.
780 - Clarified some nickchar stuff in the docs
781 - Added 'danish' nickchars, supplied by klaus (#0002436).
782 - Module coders: Added HOOKTYPE_LOCAL_SPAMFILTER: catches (local) spamfilter matches.
783 - Fixed chanmode G showing up twice in 005, reported by Snake (#0002466).
784 - Fixed a TKL crash on incorrect *line, reported by nanookles1234 (#0002524).
785 - Redid include dependencies in Makefile, this makes things safer because on any .h change it
786 would force a recompile of all files, but it could mean things will be a bit slower for us
787 coders unless we tweak it later on.
788 - Changed whois a bit to print less useless results.
789 - Added several indicators to the "detect binary incompatible modules"-system such as detecting
790 of a ziplinks module on non-ziplinks (on windows this is ok however), nospoof module on a
791 a server without nospoof server, etc. Hopefully this will help some people preventing odd
792 crashes because they did not recompile or (re)install modules properly.
793 - Added './unreal backtrace', so far this has only been tested on Linux and FreeBSD.
794 - Fixed a bug making ./Config not load the previously stored settings on Solaris 10 and
795 probably other Unixes, reported by lion-o (#0002474).
796 - Cosmetic bug in set::modes-on-join: now rejecting +I in it. Reported by Ron2K (#0002508).
797 - Moved all TKL code and register_user to modules (using efuncs), that means 20 functions
798 and 2000 lines total that can be hotfixed if needed ;). The effort involved in moving all
799 this sucks a lot though :/. This might need some more testing to make sure it doesn't break
800 anything.
801 - Updated support OS list in documentation.
802 - Fixed various major bugs due to TKL move from 13h ago.
803 - Fixed 2 problems caused by TKL move: 1 windows crash, 1 problem with loading m_*.so,
804 reported by Trocotronic (#0002553, #0002554).
805 - Added some TSCTL logging (this reminds me we need to add new log levels for 3.3 ;p).
806 - Attempt to fix bug #2431: 3.2.3 broke CNAME delegation for reverse dns. I'm sorry it took
807 so long, but this stuff just plain sucks...
808 - Made '?*' work correctly in wildcard matches ('1 or more characters'), reported by
809 Bugz (#2585).
810 - Added -fno-strict-aliasing.. this might well be temporary, but we get tons of strict-
811 aliasing warnings, so it sounds good to disable this type of optimization for now.
812 - Fixed problem with crash-on-link if compiled with GCC 4, reported by jonneyboy (#2573)
813 and PHANTOm (#2590).
814 - IPv6: Added configure check for in6addr_any to fix Fedora Core 4 compile problem,
815 reported by wheatie80 (#2594).
816 - Added -Wno-pointer-sign (if available) to get rid of those stupid warnings that are
817 enabled by default even without -Wall (!?) on GCC4.
818 - Fixed a bug where allow channel::channel generated a warning when specified multiple times
819 (#0002427) reported by matridom.
820 - Fixed ~c not working properly with * and ?'s in channel names.. Now you just need to
821 escape them like in all bans (eg: to ban #* you need to +b ~c:#\*). As an additional
822 bonus, real wildcards are now accepted and processed (eg: +b ~c:#*sex*, just don't
823 forget to specify the #). Reported by PhantasyX (#2605).
824 - Sidenote on above: ~c:*chan* is not supported (use ~c:#*chan* instead) because it would
825 cause "hidden bans", therefore it now prints a message (which is useful anyway), but
826 does accept such remote bans. In 3.2.5 or so we could enable support for it, it's
827 not that important though... ;)
828 - Added ifdefs for mass closing of file descriptors on start, can now be disabled by
829 adding -DNOCLOSEFD as a compile option. Useful for valgrind w/--db-attach=yes, mpatrol,
830 and some other debugging tools (not useful for anyone normally running a server).
831 - Fixed a read-after-free: sptr->serv->aconf was freed but not NULL'ed in exit_client,
832 causing close_connection to read from it (when deciding on doing a quick reconnect).
833 Could have caused a crash, although nobody ever reported one...
834 - Removed useless strncpyzt with dest==src.
835 - Temporary workaround for spamfilter bug: action 'viruschan' in combination with the
836 'u' (user) target can cause severe problems (crashes, etc). For now, we have disabled
837 'viruschan' in combination with 'u'. A real fix will require quite some work, sorry.
838 - Fixed crash with invalid set::network-name (eg: high ascii), reported by galahad
839 (#0002584), now printing an error instead (the network name is limited by the 005 spec).
840 - Added Bulgarian example.bg.conf, translated by Peace.
841 - Spamfilter: regexes (and reasons) are now more limited in size, this is to combat "I set
842 a spamfilter, but cannot remove it" problems. In practice this means - depending on the
843 length of your spamfilter reason - regexes will be max ~300 characters.
844 Spamfilters set in the .conf can be slightly longer (which still causes them to be
845 truncated in '/stats f', but they don't have to be removed anyway so it's kinda
846 acceptable if it's really needed). This should fix bug #2083, reported by White_Magic.
847 - Fixed a bug where an invalid /*line could cause a crash, reported by Gilou (#2629).
848 - (5 minutes later..) Small update for above, fix was incorrect for ipv6.
849 - CMDLINE_CONFIG behavior change: command line configuration is now still permitted
850 if #undef'ed (which is the default) if uid==euid && gid==egid, since it doesn't make
851 any sense to disable it then and is in fact just plain annoying.
852 - Added FAKELAG_CONFIGURABLE option in include/config.h, this enables an option called
853 class::options::nofakelag, which disables "fake lag" for a certain class (that is:
854 the artificial delay introduced by the ircd to prevent flooding is turned off,
855 allowing the user to flood at full speed).
857 Sorry, option is not in ./Config -advanced since I don't get autoconf working, but it's
858 such a scary option that this might as well be a good idea to keep in config.h anyway.
859 This feature has been suggested for several years (and refused), but the final
860 suggestion (with implementation specific hints) came from Gilou in bug #0002207.
861 - Fixed win32 makefile, now compiles fine.
862 - Fixed (important?) reference count bug regarding sptr->serv->conf. I don't know what
863 effects this caused (memory corruption?), but it didn't look good ;).
864 - Fixed an invalid badword block in the conf causing a crash, reported by Monk (#2639).
865 - [Internal] Code cleanup for spamfilter target/bantype routines
866 - Added 'warn' target which is basically the same as 'block' except it does not block ;).
867 It also sends a numeric to the user saying the command has been processed, but a copy
868 has been sent to ircops. I feel this is a good idea for privacy reasons (anti-spy),
869 though I don't know how users will react to this. If you are using this on your network
870 and get users bothering you about it (or before that ;p), it's probably a good idea
871 to explain it somewhere on your site or FAQ :).
872 Example usage:
873 /spamfilter add p warn - Testing_mirc_decode_filter \$decode\(.*\)
874 [WARNING] The numeric text is likely to change in the next few weeks (early-cvs-commit).
875 - If a class block was removed and any other blocks would be referencing the class block
876 (such as: allow::class, oper::class, link::class), then this would cause a crash.
877 Reported by Mike_ (#0002646).
878 - Changed the way we build most of the .so's: the .o files of individual modules that were
879 generated (for linkage by commands.so), are now used to generate the .so files of the
880 individual modules as well (eg: m_setname.o -link-> m_setname.so). This reduces compile
881 time ('make') on my machine by 33%, so it's quite noticable ;).
882 - Added doc/technical/serverprotocol.html created by aquanight (updates will follow soon).
883 - Documented set::channel-command-prefix a bit more, and also changed the default from
884 "`" to "`!." which seems much more reasonable / widespread :).
885 - Some m_restart cleanups, suggested by w00t (#2652).
886 - Removed all old resolver code and switched over to c-ares (+our caching routines).
887 This should get rid of some annoying untracable (and usually rare) crashbugs in the
888 old resolver. Besides that, it makes things look more clean and understandable.
889 This should be the fix for the following bugids (all the same issue): #2499, #2551, #2558,
890 #2559, #2603, #2642, #2502, #2501, #2618, #2616.
891 Feedback and testing is very much welcomed (syzop@unrealircd.com).
892 - Fixed SSL + new resolver problem, would cause an "interesting flood" of messages / 100% CPU.
893 Reported by Trocotronic (#0002659).
894 - Fixed a problem with entries in the hosts file (such as, usually, localhost), this would
895 cause an unresolved host and a 30s delay for the user, even though resolving succeeded.
896 - When OPEROVERRIDE_VERIFY is enabled, we now allow opers to still join any channels listed
897 in set::auto-join or set::oper-auto-join, even if they are +s/+p. Suggested by ultrotter
898 (#0002644).
899 - Added 4 UNREAL_VERSION_* macro's that can be useful for 3rd party modules to find out the
900 unreal version that the user is using. I presume this can be helpful (although nobody ever
901 suggested it ;p). The macros (#define's) are:
902 UNREAL_VERSION_GENERATION The generation version number eg: 3 for 3.2.4
903 UNREAL_VERSION_MAJOR The major version number eg: 2 for 3.2.4
904 UNREAL_VERSION_MINOR The minor version number eg: 4 for 3.2.4
905 This can be negative for unstable,
906 alpha and beta versions.
907 UNREAL_VERSION_TIME Year + week of the day (starting eg: 200541
908 on Monday), this is updated on
909 the CVS server every week.
910 The first 3 are for nicely identifiying the version, the 4th can be useful in case
911 you want to support CVS and/or want some more control.
912 - Fixed crash bug (due to new resolver) if not using 1 general *@* / *@* allow block,
913 reported by Daniel.
914 - Fixed issue that could cause an alias to be added that would override a command.
915 - Fixed OpenBSD crash on /REHASH. Thanks to Peter Laur (OpenBSD.se) for providing us
916 a shell account to trace this issue down.
917 - Couple of source code cleanups (svsnick, a *line msg, kill, and some useless l_commands
918 code), suggested by Nazzy and Requi3m.
919 - Fixed extbans no longer working properly in CVS, fix provided by Nazzy (#0002681).
920 - Made it so you no longer can change your nick to a banned one in a channel, suggested
921 by vonitsanet (#0002388), partial patch provided by Nazzy.
922 This option can be turned off by setting set::check-target-nick-bans to 'no'.
923 - Removed useless (unused) WATCH code that was still present in the core.
924 - Made it so coadmins can use /ADCHAT (makes sense, since they already *received*
925 adchats). Reported by RandomNumber (#0002557).
926 - Fixed serious flood of notices to opers if link::options::dnscache was present.
927 Reported by firstof9.
928 - Added proper "not enough parameters" message for /SETNAME and cleaned up some whitespace
929 in the function, reported by Robby22 (#0002696).
930 - Fixed set::static-part set to 'no' not working properly. Reported by Robby22 (#0002698).
931 - Fixed crash in new resolver, reported by firstof9.
932 - [CVS Only] Refixed name<->ip mapping check in new resolver, reported by Darko.
933 - Reverting "Changed the way we build most of the .so's" feature, this caused m_*.so
934 to be build incorrectly. So now back at normal compile speed :p.
935 - Added option to apply spamfilters to aliases as well (such as /MS, etc). To do so,
936 you have to put 'spamfilter yes;' in every alias block you want to get filtered.
937 This is so you can have for example /MS filtered (due to heavy spam), while keeping
938 /NS and /CS unfiltered. Reported by Homer (#0002496).
939 - The memoserv aliases (/MS and /MEMOSERV) now have spamfiltering enabled by default.
940 - Made the "strict aliasing"-warning-disabler use $CC instead of gcc.
941 - Made ./Config better react to errors (no longer print a "everything is a big success"
942 kind of message when in fact everything went wrong).
943 - Made ./Config (configure) exit on openssl or zlib not found errors, instead of
944 silently continueing and then causing trouble later on. Also now printing _a bit_
945 more helpful error message.
946 - Made the link::options::quarantine actually do something... People that get global
947 oper privileges on quarantined servers will be instantly killed. Bit ugly perhaps, but
948 then it actually does what it should (prevent opers on quarantine from getting GLOBAL
949 oper privileges). This "fixes" #2510, #2163 and #1968.
950 - Fixes for an amd64 crash problem, reported by Peter Laur (OpenBSD.se).
951 - Redid some net synching code to make it more efficient (#2716).
952 - Fixed spamfilter crash problem: the action 'viruschan' is now no longer incompatible
953 with target 'user'. Reported by Monk (#0002570).
954 - Fixed invalid servername in quarantine kill, reported by pinstrate (#0002743).
955 - Fixed bug in chinese-* charset implementation that would cause crashes, reported
956 and patch supplied by Xuefer (#0002744).
957 - Added new charsys languages: belarussian-w1251 and ukrainian-w1251. Patch provided
958 by Bock (#0002724).
959 - Fixed memory leak in new resolver.
960 - Made the charsys mismatch during linking a warning instead of an error (temp. fix,
961 until a good solution is implemented without false positives).
962 - Crashbug fix for above
963 - Fixed some more memleaks, thanks to valgrind.
964 - Updated the list of donators.
965 - Fixed (well, workaround) win32 /RESTART bug that caused it to popup a window instead
966 of actually restarting the server properly (#0002734).
967 - If you now use /(G)ZLINE usermask@something instead of /(G)ZLINE *@something you get
968 an error, since specifying usermask should not be done and is useless, since a (G)ZLINE
969 takes place BEFORE ident lookups.
970 - Did the same for /(G)ZLINE *@hostmask (should be *@ipmask), this already was a warning
971 in 3.2.3, and is an error now in 3.2.4.
972 - Little /STATS v tweak: should display 'v' in output, not 'V'. Reported by Robby22 (#2700).
973 - Fixed complex command aliases not working properly, patch from Nazzy (#2722).
974 - Made it so banned users cannot change the topic, suggested by aquanight and Stealth (#2233).
975 - Made the "max bans per channel" setting dynamic. This can be changed by setting
976 set::maxbans in the configfile, note that you probably also want to enlarge set::maxbanlength
977 as well (see docs) or else you will hit that limit first.
978 - Changed the default maxbanlength from 1K to 2K, which means people can set more bans because
979 in pracitce the 60 (maxbans) limit was never met because the maxbanlimit was set so low.
980 - Empty (but existing) include files no longer cause an error. Reported by w00t (#0002460).
981 - Nick Character System: Silently not advertising danish if using latin1, circumventing link
982 problems if using latin1.
983 - Removed small comment from docs, which no longer applies (sorry translators ;p).
984 - Updated /CREDITS (forums/mainsite hosting and update of current active supporters).
985 - Updated makefile.win32: apparently libcurl.dll is now libcurl_imp.dll (import library)
986 - Updated unrealinst.iss: made it easier for me to have 2 curl versions, this is so we can
987 ship the SSL version of unreal with a curl that supports SSL (https, etc).
988 - Preperations for pre-1 (version change, etc)
989 - Updated wircd.def (for developers).
990 - Added doc/help.ru.conf, translated by Slyder.
991 ** internal 3.2.4-pre1 release **
992 - set::maxbans / set::maxbanlength were reported as duplicates when they were not, reported
993 by Jason and trystanscott (#0002753).
994 - Made it so bans on normal users will prevent them from speaking with +mu, reported by Nazzy.
995 - Made set::maxbanlength also count the "to be set" ban in, otherwise you could exceed the
996 limit by (max) NICKLEN+USERNAME+HOSTNAME+2, reported by Trocotronic (#0002762).
997 - Switched over to an older match() routine based on hybrid, this one is a bit less optimized
998 but is actually understandable and has less bugs. This fixes +b ~c:#c\*t not properly
999 matching #c*t, reported by Jason (#0002752). Initial results look good, but this needs
1000 some good testing ;).
1001 - Removed some old config.h stuff + clarified some text, reported by Jason (#2765, #2766).
1002 ** internal 3.2.4-pre2 release **
1003 - Made it so a set::maxbanlength and/or set::maxbans of 0 denies all bans properly, and
1004 fixes the first-ban-can-be-as-long-as-you-want bug, both reported by Trocotronic (#2762).
1005 - Fixed SVS2SNO not always notifying the user of the snomask change, reported by decoder
1006 (#0002767).
1007 - Curl users using https/ftps/etc: UnrealIRCd now ships with a 'curl-ca-bundle.crt' which
1008 contains the (root) certificates of most major Certificate Authorities. It is basically
1009 the default curl ca-bundle.crt plus cacert's certificates.
1010 The 'curl-ca-bundle.crt' will be copied to the installation dir if needed.
1011 It will from now on be used by Unreal for all remote includes (curl) related certificates.
1012 If you want to use https but don't want to buy a certificate, we suggest you to apply for
1013 a free certificate at CACert (www.CACert.org). Or, alternatively, add your own certificate
1014 (PEM encoded) to curl-ca-bundle.crt, see 'SSLCERTS' in the curl package for more info.
1015 ** public 3.2.4-rc1 release **
1016 - Fixed(?) bug due to match() rewrite: we now use our old rules with escaping again, due to
1017 the switchover we were accidently using different ones which caused funny kill messages
1018 like "You were killed by a.b.c (a!a.b.c (SOMENICK[N\A](?) <- d.e.f))." This also broke
1019 some bans in pre2/rc1. Bug reported by HERZ (#0002772).
1020 - Fixed localhost crash (if no dns record for, reported by Trocotronic (#2773).
1021 ** public 3.2.4-rc2 release **
1022 - Sometimes if an oper was connected trough SSL and had the junk snomask (+s +j) set it
1023 would cause a crash. Reported by chasingsol (#0002777).
1024 - Updated help.ru.conf (corrections by CS-Help / Bock)
1025 - Updated example.bg.conf (by Peace)
1026 - Added Dutch unreal32docs.nl.html, translated/maintained by Mark.
1027 - Redid glob matching. Escaping is now ripped out for normal bans (as it should be), this
1028 means no longer weird issues with +b *\* etc not banning nicks with \ in it.
1029 ExtBan ~c/~r get special treatment and will use our match_esc [match with escaping]
1030 routine, that way you can ban channels such as "#f*ck" via "+b ~c:#f\*ck".
1031 Fix triggered by bugreport of vonitsanet (#0002782).
1032 ** public 3.2.4-rc3 release **
1033 - No changes (except version number)
1034 ** 3.2.4 release **
1035 - Fixed amd64 problem regarding /*LINE always saying 'The time you specified is out of range',
1036 reported and test shell provided by Tauop.
1037 - Updated example.bg.conf, the one shipped with 3.2.4 had several errors.
1038 - The '?' wildcard was completely broken in 3.2.4, reported by tabrisnet (#0002797).
1039 - Added unreal32docs.ru.html, translated by Bock.
1040 - Version number NOT changed.
1041 ** Fixed 3.2.4 release **
1042 - Updated autoconf/configure.in to make newer autoconf's work (developers only), reported
1043 and patch provided by Xuefer (#0002798). Also rebuilt ./configure from configure.in with
1044 autoconf 2.59 from my own machine.
1045 - Updated autoconf/configure.in again (does not produce different ./configure output)
1046 - When set::options-show-connect-notice was enabled the "*** Looking up your hostname..."
1047 message was not being shown (all others were). Reported by fbi (#0002820).
1048 - Updated win32 compiling instructions; mention the free MS stuff that can be used to compile
1049 UnrealIRCd (untested though).
1050 - Added CGI:IRC host spoofing support. This means you can mark specific CGI:IRC gateways as
1051 "trusted" and the IRCd will show the users' _real_ host/ip everywhere on IRC, instead of the
1052 host/ip of the CGI:IRC-gateway.
1053 To do so you must set 'realhost_as_password' to 1 in your cgiirc.conf. And add the
1054 CGI:IRC gateway(s) you fully trust to set::cgiirc::hosts.
1055 - Fixed win32 compile problem due to CGI:IRC support, reported by therock247uk (#0002821).
1056 - Redid whole CGI:IRC support. Configuration is now moved to cgiirc { } blocks.
1057 We now support the webirc ('webirc_password' in CGI:IRC) method, which is kinda superior
1058 to the older method ('realhost_as_password').
1059 See the Unreal documentation (section '4.36 - Cgiirc Block') for details on how to configure.
1060 - Changed quoting color in unreal32docs.. looks better now IMO (only English docs updated).
1061 - Fixed *BSD compile problem caused by changes of above, reported by 3rror (#0002823).
1062 - Added error message if c-ares failed to initialize, might help in case something is buggy
1063 (either with Unreal or the OS/environment).
1064 - Fixed (serious) bug in CGI:IRC code, IP's were often not right, reported by 3rror (#2824).
1065 - Fixed bug in currently unused code, reported by DeadNotBuried (#0002835).
1066 - Modulized NAMES command (can now be upgraded on the fly, if ever needed).
1067 - Added NAMESX support, seeing both mIRC (6.17) and XChat support this. What this does is
1068 send all rights of all users on the channel in the NAMES reply (eg: @+Syzop if the user is +ov)
1069 instead of only the highest one (@Syzop in previous example). We only do so if the client
1070 explicitly requested this via a NAMESX in a PROTOCTL message (eg: 'PROTOCTL NAMESX').
1071 Note that there is a glitch: since most clients only send the PROTOCTL NAMESX after they
1072 see NAMESX listed in the 005 announce message this has the effect that if there are
1073 set::auto-join channels present (where users are automatically joined to by the server) the
1074 extended NAMES reply will not be sent for those channels, because from the IRC server' point
1075 of view the join happened before the PROTOCTL and hence it does not know the client wanted
1076 NAMESX at that point (the result is not catastrophic: the old-style NAMES is sent for those
1077 channels). Anyway, for all non-autojoin channels this works great. So still worth adding IMO.
1078 Originally suggested in #0000606.
1079 Side note: this does not mean we dropped the idea of (also) having a challenge-response
1080 system for good ;).
1081 - Updated win32 makefile due to m_names modulization, reported by Trocotronic (#0002838).
1082 - Actually committed src/modules/m_names.c... This tends to help with the compiling process.
1083 - Fixed possible netsplit problem (#0002790).
1084 - Partially redid m_message, moved some stuff to a subroutine, etc to avoid duplicate code
1085 - Rephrased/editted part of example.conf and unreal32docs to make it a littttttle bit easier
1086 for beginners / try to mention the FAQ a bit more explicitly.
1087 - CGI:IRC: gzlines, zlines, throttling, and unknown connect floods are now all checked for
1088 clients connecting trough a CGI:IRC gateway that is in cgiirc { }. This might also fix a bug
1089 where (g)zlines were not applied to CGI:IRC clients, reported by devil (#0002850).
1090 - Changed default PREFIX_AQ behavior to ON instead of OFF. Since basically all major IRC
1091 clients support it now (mIRC, xchat, epic, eggdrop, Klient, PJIRC, irssi, CGI:IRC, etc).
1092 It has always been weird that win32 had it ON by default and *NIX OFF, anyway.
1093 Naturally this change will be mentioned clearly in next release notes.
1094 - Fixed (unimportant) DNS resolver problem if using some LAN domains with digits at end,
1095 reported by Bock (#0002843).
1096 - Added minidump support for crashes to aid debugging a bit.
1097 - Added chained SSL certificates support, patch provided by justdave (#0002848).
1098 - Local opers may now use /TRACE (local only), suggested by GSF19 (#0002365).
1099 - Removed some odd code causing a 'my port is' message to appear in (f.e.) syslog, reported
1100 by rsc (#0002853).
1101 - Fixed CHROOTDIR compilation problem, reported by toshio (#0002854).
1102 - Improved CHROOTDIR documentation in include/config.h
1103 - Added error if CHROOTDIR is defined but IRC_UID isn't (in include/config.h).
1104 - Hide stats request if requested by an U-lined client. Suggested by vonitsanet (#0002865).
1105 - Made it so if the channel is +m but -t, you need at least voice (+v) to change the topic.
1106 Reported by aquanight (#0002233).
1107 - Made the windows installer better compress things (SolidCompression=true), suggested
1108 by Trocotronic (#0002877).
1109 - Added support for URL redirections in curl (if version >=7.15.1), suggested by Trocotronic
1110 (#0002879).
1111 - Made doc/compiling_win32.txt a bit more ugly (mention that only vstudio 7.x actually works
1112 at this moment).
1113 - c-ares (currently, a forked off version) enhancements:
1114 - '/quote dns i' now shows the nameserver settings (which is taken from /etc/resolv.conf
1115 on *NIX, and from the registry on Windows)
1116 - We no longer depend on a C++ compiler (was useless c-ares dependency caused by libtool)
1117 - '/REHASH -dns' now rereads the resolver data from resolv.conf/registry, no IRCd restart
1118 needed anymore. It's currently kinda experimental however, but I *think* it will work ok.
1119 Unfortunately the above features required some ugly hacks if curl was enabled, so if you
1120 use curl (Remote includes), feel free to test on your OS (Linux, but especially FreeBSD
1121 and the other *NIXes) to see if things still compile (make clean; ./Config && make).
1122 - Made the IRCd calculate the cloaked host only once upon connect, and store (cache) it.
1123 - When checking if a user is banned, we always check the cloakhost too. Previously we could
1124 not do this if the user had a /VHOST (=a minority of the cases, but still...). In short,
1125 this is some extra protection to combat ban evasion.
1126 - Performance of is_banned() *slightly* improved (just 1-2 usec, but 7 usec if no bans).
1127 - [Module coders] For extban routines, we now offer a routine extban_is_banned_helper(buf)
1128 which can be used instead of the ban_realhost/etc static chars stuff, see
1129 extban_modeq_is_banned for a (real-life) example of how this is used.
1130 - [Services coders!] Added PROTOCTL CLK (requires NICKv2) which adds an extra field in the
1131 NICK command (when a user connects) right before the infofield (gecos).
1132 The added field contains the cloaked host, that is: the masked host if +x would have been
1133 set. This field is ALWAYS sent, regardless of whether the user is actually +x or not.
1134 Services can then store this field in memory, to know the host of the user if the user
1135 is set +x (+x-t). This is a (better) alternative to PROTOCTL VHP, with no race conditions,
1136 and avoids some other VHP problems.
1137 VHP will stay supported though... so it's not mandatory to switch over.
1138 - Fixed set::maxdccallow setting to <=0 still allowing one entry to be set, reported by
1139 RSCruiser (#0002883).
1140 - Fixed Microsoft Visual Studio 2005 (8.x) unable to compile, and, after fixing that, causing
1141 a lot of crashes. Both are now fixed. Reported by Zell, Yamake, and others (#2875, #2704).
1142 Fix provided by Xuefer. This also gets rid of some annoying and useless compile warnings
1143 as well. Also thanks to Zell for his help.
1144 - Fixed null pointer config parser crash, reported by alkalinex (#0002894).
1145 - Added compiler version checking to "module binary incompatability"-check. This should fix
1146 some more odd problems from people (eg: people switching from GCC 3.x to 4.x and wondering
1147 why they are crashing or getting other errors).
1148 - Module coders: For cloaking, added a new callback type CALLBACKTYPE_CLOAK_EX (which is an
1149 enhanced version of CALLBACKTYPE_CLOAK). This passes 'aClient *sptr, char *host' instead
1150 of only 'char *host' to the cloaking module, which can be useful if you need to cloak on
1151 something other than IP/host. Suggested by fez (#0002275).
1152 Module may still provide only CALLBACKTYPE_CLOAK though, in fact this is what the official
1153 cloaking module does. So no updating of cloaking modules needed.
1154 If you do write a module with the new *_EX callback, you only need the *_EX one and not
1155 the CALLBACKTYPE_CLOAK as well (though it's currently np if both are present).
1156 A side-effect of this "extra cloaking" callback is that we needed to change make_virthost()
1157 which now has an extra parameter in front, and another side-effect is that calling the
1158 CALLBACKTYPE_CLOAK may not work since only *_EX might be available. To my knowledge there
1159 are very few modules (only 1 I know) that will have a problem due to this, so sounds like
1160 an affordable tradeoff.
1161 - Updated sendnotice() so it sends a proper notice if the user is in pre-connect stage.
1162 - Fixed bug with chinese-* charsets not getting detected properly by config parser.
1163 Reported and patch provided by Xuefer (#0002891).
1164 - Made it so me::numeric can be changed (when not linked to any servers) so no server restart
1165 is needed anymore (#0002896).
1166 - set::ssl::egd does not require a parameter per-se (bug caused few days ago), reported
1167 by Trocotronic (#0002899).
1168 - (multiple?) IPv6 listen blocks could cause a crash in config parser. Reported by Robby22
1169 (#0002868).
1170 - Added error checking to (main) setuid/setgid calls.
1171 - Fixed implicit declaration compiler warning if compiling for ipv6.
1172 - Fixed some small memory leak on rehash.
1173 - Removed spamfilter-oversized-checking when trying to REMOVE one.. duh.. reported by satmd
1174 (#00029160).
1175 - Allow *lining of literalident@* such as clones@* (but not *clones@*), this is also as
1176 far as we want to go with regards to relaxing "too broad" checking... Just continue to use
1177 services AKILL for (other) "too broad cases", as many people (correctly) do. Change
1178 suggested by salama (#0002911).
1179 - Made empty command aliases work (no more "no text to send" error) if the alias finds it ok,
1180 which basically means if it allows .*. If you want to require a parameter, use .+ (or
1181 anything other in regex that requires at least one character). Suggested and patch provided
1182 by Nazzy (#0002722).
1183 - Fixed oper count bug which happened on /mode, this was our fault (can't blame services in
1184 this case ;p). Reported by KnAseN and many others (#0002581).
1185 There might still be other operator count bugs, but these are triggered by a different bug
1186 and may or may not be caused by services.
1187 - Added MINIMAL time synchronization support. This is enabled by default and will try to
1188 synchronize the IRCd clock (TSOffset) with a few good time servers. It currently only does
1189 this on-boot, but it will hopefully help a lot of people with most of their time differences.
1190 I still keep recommending anyone who can to run proper time-synchronization software such as
1191 ntpd/ntpdate on their servers.
1192 To disable time synchronization (eg: because you are already running ntp), you can simply
1193 set set::timesynch::enabled to no.
1194 The boot timeout for the timeserver response (=causes boot delay) can be configured via
1195 set::timesynch::timeout and is set to 3 seconds by default (range is 1s-5s), there should
1196 be no reason to change this.
1197 The time server can be configured by setting set::timesynch::server, the default is to
1198 use 3 time servers on 3 continents (US, EU, AU) which should be sufficient for anyone but
1199 if you got a good one near you you can use that one instead.
1200 The time protocol we use is (S)NTP v4.
1201 - Fixed some compile warnings for Windows
1202 - Updated windows compile instructions again.
1203 - Updated release notes
1204 - Added 'real' aliases, this are aliases that map to real commands, so you can for example
1205 map the command '/GLINEBOT <x>' to 'GLINE <x> 2d Bots are not allowed on this server, blabla'.
1206 See the documentation on the alias block for more information. doc/example.conf contains an
1207 example as well (search for "glinebot").
1208 - Modulized: badwords system (src/badwords.c is now gone) and StripColors/StripControlCodes
1209 to m_message, multiple netsynch routines to m_server, send_list to m_list, a certain mode
1210 routine to m_svsmode, all /MSG IRC.. webtv stuff to src/modules/webtv.c which is compiled
1211 with m_message.
1212 This means another ~1500 lines of code are now in modules (and thus can be upgraded on
1213 the fly), which brings the total of modulized lines at 32K.
1214 - Fixed compilation error on FreeBSD and others caused by timesynch, reported by tigra
1215 (#0002921).
1216 - Fixed win32 compile problem cause by timesynch.
1217 - Updated release notes: more modulization and real command alias support.
1218 - Fixed crash in /STATS Z (possibly rare), reported by yasinbey (#0002929).
1219 - Win32 makefile/installer updates for new curl/ssl
1220 - Updated versions everywhere, bumped protocol to 2308
1221 ** 3.2.5-rc1 release **
1222 - Added doc/example.ru.conf, translated by Bock.
1223 - Deal with unsupported regexes added by remote servers (possible crash otherwise)
1224 - Fixed crash problem on win32 if TKL times were <0. Obviously it's hard to protect from such
1225 invalid server traffic, but figured in this case it might be a good idea since *NIX does
1226 not crash.
1227 - Made a note about possessive quantifiers, they are scary :P.
1228 - Made the "voice needed when channel is +m but -t" actually work, reported by Trystan and
1229 Ron2K (#0002940).
1230 - #undef STRIPBADWORDS did not work, reported by penna (#0002944).
1231 - Made the resolver no longer check /etc/hosts, since that's how it used to be and should be.
1232 Saves some useless file reads.
1233 - Fixed compile (well, configure) problem on FreeBSD if compiling with remote includes
1234 enabled. Reported by psadi (#0002941).
1235 - Added translated Turkish docs (doc/unreal32docs.tk.html), translated by tt` and Timaeus.
1236 - Fixed problem with IRCd using old link block settings if using a low connfreq, this made it
1237 for example near-impossible to remove autoconnect for such a server. Reported by mixx941
1238 (#0002836).
1239 - Fixed problem if c-ares library is already installed system-wide, reported by Trystan.
1240 - Updated release notes a bit (will be updated more later): backrefs (\1) in regexes are
1241 kinda scary, or at least at the moment.
1242 - Removed PATCH5 from module version incompatibility system, so it can be used if we ever
1243 need to update stuff and not enforce modules to recompile.. Might be useful one day ;p
1244 - Updated list of donators
1245 ** 3.2.5-rc2 release **
1246 - Updated release notes, bleh.. I forgot :P
1247 - Got rid of qline notice that could happen if using services holds (semi-race condition),
1248 reported and bugfix provided by tabrisnet (#0002950).
1249 - Made opers with can_override able to change the topic again if not chanop and banned/+m-t,
1250 reported by vonitsanet (#0002952).
1251 - Disable /RESTART if running chrooted since that won't work anyway, reported by kayelem
1252 (#0002956).
1253 - On certain (newer?) FreeBSD's you get "make: Permission denied" after ./Config, but when
1254 you do 'cd ..' and then 'cd -' again, make works just fine. This is going to be the most
1255 stupid workaround in history... Reported by vonitsanet and others (#0002926).
1256 ** 3.2.5-rc3 release **
1257 - Updated doc/technical/005.txt
1258 - Mass version change (no code changes)
1259 ** 3.2.5 release **
1260 - c-ares resolver: upgrade from 1.3.0 to 1.3.1. This mainly fixes compile problems,
1261 including one reported by frigola on an old Sun Cobalt RAQ3.
1262 It will probably also fix an issue with the just released curl 7.15.4, if compiling
1263 with remote includes.
1264 TODO: Update win32 (not urgent)
1265 - Added HOOKTYPE_SILENCED: this is called whenever a message did not get delivered to a user
1266 because the user was on the silence list.
1267 - Added OpenBSD 3.9 to the supported OS list.
1268 - Made it so undefining SHOW_SECRET (not the default) properly hides +s channels from ircops
1269 (except netadmins), as it should. Reported and patch supplied by Jason (#0002965).
1270 - Fixed tld::options:: not working properly, reported by DelGurth (#0003003).
1271 - Fixed problem with oper as chanadmin kicking himself causing an operoverride notice,
1272 reported by Bock (as part of #2889).
1273 - Fixed desynch problem with +Q, reported by tabrisnet (#0002992).
1274 - Updated doc/coding-guidelines
1275 - Added bugs.* url to /info, was still showing some email address.
1276 - Fixed forgotten operoverride logmessage (kick if chan +Q), reported in #2889.
1277 - Fixed operoverride message if oper is +h and -h's himself, reported by Bock (#2889).
1278 - Fixed SVSMODE -b [user] not always removing all bans (specificly, bans on the cloaked
1279 host when you have a vhost), a code cleanup was also done. Based on patch from tabrisnet.
1280 Reported by Rob (#0002981).
1281 - MARK: 3.3* was forked off from here
1282 - Removed server numeric output from /MAP for normal users (still visible to ircops).
1283 - Renamed unreal32docs.tk.html to unreal32docs.tr.html
1284 - Module coders: Added HOOKTYPE_POST_SERVER_CONNECT (1 param: cptr) which is called when
1285 a server connects, just like HOOTYPE_SERVER_CONNECT but this is actually called *after*
1286 all clients and channels are synched. Obviously needed for some modules which must synch
1287 data that refers to clients/channels that would otherwise not exist yet on the other side.
1288 - The server SSL certificate and private key can now be reloaded without requiring a server
1289 restart, simply use: /REHASH -ssl
1290 - Small compile fix for above
1291 - Fixed /SAJOIN able to join insecure users to +z channels, reported by phedny (#0002601).
1292 - Fixed SSL crash problem due to previous SSL change.
1293 - Fixed some bugs in webtv code that could have caused trouble in the future (off by one),
1294 reported by Ilja van Sprundel.
1295 - Module coders: Fixed CALLBACKTYPE_CLOAK_EX, it was not working properly at all.
1296 - Fixed bug in MODE #channel showing extended channel mode parameters when not in #channel.
1297 - Made 'MODE #channel b' and friends show bans to ircops even when not in channel.
1298 - Fix for channel mode +f: It incorrectly didn't eat a paramter on unset (ouch!), even
1299 though it always acted like it did in the MODE line sent to the channel. This bug caused
1300 desynchs in some cases. Bug reported by Korfio (#0003048).
1301 - Fixes to SVSNICK: case-change no longer causes a collision, don't return the value from
1302 exit_client (which would be FLUSH_BUFFER), fix QUIT not being sent back on collision.
1303 - Fix for above so it doesn't -r the client.
1304 - Fixed small memory leak in resolver (~40 bytes when connecting to a server)
1305 - Made Unreal use the original name in case of a CNAME, instead of the forwarded name,
1306 reported by jerrcsnet (#0003054).
1307 - The "looking up your hostname" message was always sent, regardless of show-connect-info.
1308 - Kick non-SSL users when the channel turns out to be +z during netmerge, reported by
1309 Ron2K (#0002942).
1310 - Windows 2003: Fixed UnrealIRCd unable to boot if no DNS server is configured, we now
1311 fallback to set::dns::nameserver in such a case. Thanks to Romeo (reporter, #0002802)
1312 and Bock for tracing this down.
1313 - Fixed cloak cutoff problem with long hosts.
1314 - Added doc/help.tr.conf (Turkish), translated by Diablo.
1315 - Added doc/example.tr.conf (Turkish), translated by ironic.
1316 - Fixed zlib version check: 1.x is compatible with all 1.*, etc. (#0002966).
1317 - Fixed a couple of add_Command/del_Command lines in m_chgname and m_helpop trying to
1318 add the same token twice. Didn't cause any trouble, normally, though...
1319 - Updated ukrainian-w1251 and belarussian-w1251 charsets: some characters were previously
1320 included that shouldn't. Reported by avb (#0003102), patch supplied by Bock.
1321 - Made it so that when 'java' is enabled for a listen block, then the 2nd parameter to
1322 NICK is not seen as a password on this port. Patch from afolentes (#0003097).
1323 - Fixed some unitialized pointer things for win32 w/ssl on keyprompt, no idea if it
1324 helps, though. Would appreciate it if another code looks into this. -- Syzop
1325 - Fixed SVSO - not removing coadmin (+C). Reported by Muisje (#0003077).
1326 - Fixed deny link {} blocks being ignored by autoconnect. Reported by a couple people,
1327 also see #0003084.
1328 - Fixed m_names.so not being build (a problem for people not using commands.so),
1329 reported by aegis (#0003085).
1330 - Using SVSMODE (or SVS2MODE) to set -x will now actually remove the vhost from memory,
1331 instead of letting it magically reappear whenever +x is set. This means services can
1332 now properly "unvhost" a user by sending a "SVSMODE User -x+x" (then any existing vhost
1333 will be removed and user will have a cloaked host). Reported by avenger and others
1334 (#0002933).
1335 - [internal] Made a spamfilter_build_user_string function that will build the spamfilter
1336 user target string (nick!user@host:info), insteaf of doing it at like 5 places.
1337 - Spamfilter target 'u' (user): the host field (nick!user@HOST:realname) is now escaped
1338 with brackets if it's an IPv6 address, eg: blah!blah@[1:2:3:4:5:6:7:8]:hello, reported
1339 by aquanight and others (#0003010).
1340 - Win32: SSL private key prompt should now no longer crash. Patch provided by Alexey
1341 Markevich (#0002866).
1342 - Win32: we now no longer crash if no access to write to service.log, suggested and
1343 patch by Xuefer (#0002886).
1344 - Services timestamps are now always treated as an unsigned long (0..2^32-1), instead
1345 of accidently as signed long during netsynchs. This bug caused issues with values
1346 larger than 2147483647. Reported by avenger (#0002980).
1347 - If the 'crypt' algorithm is used, then passwords were/are truncated to 8 characters.
1348 We now print a warning when this happens (both on the IRC command and command-line).
1349 Suggested by JasonTik (#0002953).
1350 - Win32: Fixed a few compiler warnings, suggested by Zell (#0002890).
1351 - Moved a couple isatty() calls to DEBUGMODE (#0002945).
1352 - Made win32 compile again, reported by Bock (#0003106).
1353 - Moved failed oper snotices to snomask +o, and are sent out to all servers. Also now
1354 shows the uid attempted (like [FAILEDAUTH] does) for incorrect host or maxlogin.
1355 - Fixed set::allowed-nickchars causing a segfault for some unknown charsets, reported
1356 by avb (#0003069).
1357 - Cutoff webtv whois at MAXTARGETS (#0003004).
1358 - loadmodule now reports proper errors when the actual file can't be found, instead of
1359 blaming it on the temp file, reported in #3015.
1360 - Fixed 'SVSMOTD !' not deleting the services motd in memory, reported by avb (#0003110).
1361 - Snomask N: Don't show nickchanges for U-lines, reported by seneces (#0002636).
1362 - Fixed set::dns::bind-ip directive seen as duplicate, reported by aegis (#0003074).
1363 - set::dns::* block is now no longer mandatory. All info has always been read from
1364 /etc/resolv.conf (*NIX) or the registry (Win32), and the set::dns block is ignored
1365 (except for set::dns::bind-ip, but that's a special case). Suggested by many including
1366 djGrrr to make things slightly more logical (#0003019).
1367 - As a consequence of the above, set::dns blocks were removed from doc/example*conf.
1368 - Added two more characters to Catalan charset, reported by rmh (#0002995).
1369 - Added set::pingpong-warning [yes|no] which decides whether to send the "** If you are
1370 having problems connecting due to ping timeouts, please type /quote pong .." message
1371 to each client when NOSPOOF is enabled (usually on Win32). The default is NO.
1372 Previously this message was always sent if NOSPOOF was on, which often caused
1373 confusion among users. The message was intended for non-confirming clients, but these
1374 should be fixed by now, and those that were not fixed (self-made bots/etc) did often
1375 not understand the message anyway. Anyway, you can still turn it on ;). (#2680).
1376 - /INVITE's from people on the silence list are now (silently) ignored, suggested by
1377 White_Magic (#0002478).
1378 - Fixed a couple of typos and other one-line-text fixes at various places: reported by
1379 aegis (#3081), DanPMK (#2818), tabrisnet (#2974, #2970, #2467), penna (#2721),
1380 Brad (#2488), vonitsanet (#2467).
1381 - Made OpenSSL version dynamic, reported by buildsmart (#0002975).
1382 - Rejecting fake +z modes in conf, reported by rve (#0002532).
1383 - Changed some minor Makefile stuff
1384 - Fixed belarussian-w1251 charset.. accidently copied a "'" which caused an internal
1385 error, reported by Bock (#0003114).
1386 - Added information about extbans to help.conf (/HELPOP ?EXTBANS). Patch from Bock
1387 (#0003113).
1388 - Made SAPART work for mulitple channels, just like SAJOIN. Reported by Snake and
1389 SeigHart, patch provided by Bock (#0003064). This also fixes SAPART now being
1390 announced to all opers globally, just like SAJOIN.
1391 - Finally fixed /RESTART issue on windows for good, should now always restart correctly.
1392 Patch provided by BuHHunyx and Bock (#0002734).
1393 - Fixed charsys config error message sometimes saying stuff about set::accept-language,
1394 which should be set::allowed-nickchars (the former does not exist). Reported and
1395 patch provided by avb (#0003122).
1396 - Fixed compile bug on Solaris due to missing INADDR_NONE, fix provided by Schak
1397 (#0003125).
1398 - Fixed bug where omitting class::connfreq would result in a huge connection attempt
1399 flood when autoconnect was enabled. We now set class::connfreq to 60 if it's not
1400 specified. Reported by Milliways (#0003018).
1401 - Improved description of link::hub/leaf/leafdepth in unreal32docs.html reported by Bugz
1402 (#2623), also fixed typo (leafdepth, not leaf-depth), reported by monas (#3083).
1403 - c-ares resolver: upgrade to 1.3.2.
1404 - upgraded windows c-ares (areslib.lib) as well.
1405 - fix for above
1406 - Added release notes for 3.2.6
1407 - Fixed help.conf typo
1408 ** 3.2.6-rc1 release **
1409 - Get rid of some old stuff in release notes
1410 - Added donators since 3.2.5
1411 - Setting set::pingpong-warning didn't work, reported by vonitsanet, patch supplied by
1412 avb (#0003131).
1413 - Don't show silence list to others
1414 - Improved detection of bad set::modes-on-oper and oper::modes, now rejecting things like
1415 'o', 'z', and more.
1416 - Fix from above fixes an /OPER announce problem reported by Bock (#0003135).
1417 - Fixed SSL bug where an outgoing connect (either autoconnect, or /connect), would not
1418 show any error message when it failed. Error information has also been slightly
1419 improved. Reported by vonitsanet (#0003138).
1420 - Updated SVSNLINE syntax in help.conf (the remove-syntax).
1421 - Post-3.2.5 CVS-only bug: Fixed spamfilter on user target not working properly when
1422 changing nicks (was still trying to match on the old nick), reported by vonitsanet
1423 (#0003143).
1424 ** 3.2.6-rc2 release **
1425 - Fixed possible crash with using quarantine, reported by Sephiroth (#0003151).
1426 - Showing even more SSL server errors now, hopefully all of them, also changed the
1427 error notice a bit so it's much more like non-SSL server link errors. Reported by
1428 vonitsanet (#0003150).
1429 ** 3.2.6-rc3 release **
1430 - Updated release notes, mass-change of version number, no code changes.
1431 ** 3.2.6 release **
1432 - Fixed bug where SVSO was unable to give various operflags such as q, d, X, reported
1433 by prodigy2k7 (#0003203).
1434 - /WHOIS now shows the ident of local users - if ident enabled and they had an ident -
1435 instead of always "*" in the 'is connecting from' line. Suggested and patch provided
1436 by djGrrr (#0002888).
1437 - Added ability to enable "no fake lag" for a user through through services via the
1438 new commands SVSNOLAG/SVS2NOLAG (syntax: SVSNOLAG [+|-] NickName). Obviously, care
1439 should be taken when giving such access to a user since he/she will be able to flood
1440 at full speed and could possibly take down the entire IRCd (well, everyone on it).
1441 Suggested by avb, coded by djGrrr.
1442 - Fixed SDESC not messaging +s +s clients on local server when it is used, reported by
1443 dre, patch provided by djGrrr.
1444 - Fixed SAPART causing a flood of notices from all servers, fun. Reported and patch
1445 provided by djGrrr.
1446 - Changed password length from 32 to 48, is allocated dynamically anyway.
1447 - Fixed file descriptor leakage on rehash. This resulted in [number of modules loaded]
1448 file descriptors being leaked upon every /REHASH.
1449 So if you, for example, had 3 modules loaded and rehashed 30 times, it would cause
1450 the ircd to consume 90 useless file descriptors (which often means 90 less file
1451 descriptors being available to clients).
1452 - Fixed #0003171 reported by danieldg (typo) doc/technical
1453 - #0003146 reported by vonitsanet, regarding Modes O,S (etc) not rejected for modes-on-connect
1454 fixed by djGrrr
1455 - #0002932 reported by therock247uk, patched by WolfSage, regarding Local
1456 opers can /chghost /chgident /chgname on someone thats on another server on
1457 the network.
1458 - #0003212 patched by Grunt, regarding /userip <someone_else> seemingly
1459 shows your own (cloaked) IP.
1460 - #0002846 reported by alex323, patched by WolfSage, regarding local ircop cannot issue CLOSE command
1461 - #3272 patched by w00t, regarding remove restrictions on NOTICE/PRIVMSG $* for opers.
1462 - Fixed SVSKILL sending an illegal (wrong direction) QUIT right after, #0003307
1463 - xx reported and fixed by WolfSage (addmotd, addomotd in help.conf)
1464 - #0003159 reported by aegis and Bock, regarding typos in documentation
1465 - #0002560 reported and patched by w00t, regarding a typo in /SAMODE
1466 - #0002844 reported by RandomNumber: make spamfilter actions case insensitive
1467 - help.conf updates... #0002420 reported by KnuX fixed by WolfSage
1468 - #0003264 reported by Robby22 regarding help.conf typo
1469 - Updated c-ares to version 1.4.0
1470 - Updated tre to version 0.7.5
1471 - help.conf updates. Missing some ;'s.
1472 - #0003027 reported by Trocotronic, regarding doing -l <para> on SJOIN,
1473 and not -l as supposed. This may have caused desyncs
1474 - #0003368 patched by Stealth giving users access to do /module on remote
1475 servers
1476 - #0002533 reported by Dodge_Ram, patched by WolfSage, regarding notices
1477 not being sent when /*line and /shun are used to request stats
1478 - Now using #0003028, with more intelligent accept() handling. The IRCd
1479 will now attempt to accept() up to LISTEN_SIZE (possibly saving CPU
1480 through this under load, and speeding up connection).
1481 - IRCd now also sets the &me fd as being non blocking (wasn't before, that
1482 was odd..)
1483 - #0003139 reported by vonitsanet, improving error messages on /connect
1484 when trying to /connect to a server with wildcards (* and ?) in the link
1485 block. We also raise an error if link::options::autoconnect is used
1486 together with wildcards in hostname.
1487 - #0002040 reported by aquanight, removing dependancy on +l for +L. This
1488 will be backwards compatible as well, SJOIN doesn't care (TM) and mode
1489 doesn't either in case of a server sending it. So this will be just a
1490 client protocol modification.
1491 - Fixed SVSKILL sending an illegal QUIT
1492 - #0003216 patched by djGrrr, regarding when you run ./Config for a second
1493 time after settings are saved in config.settings, the SSLDIR and ZIPLINKSDIR
1494 defaults are basically completely ignored.
1495 - #0002420 reported by KnuX fixed by WolfSage
1496 - #0003147 reported by vonitsanet, fixed by djGrrr regarding making
1497 spamfilters work in case of /setname
1498 - Added oper CIDR
1499 - #0001317 reported by thilo regarding removal of (username) being
1500 appended to topics set by U:Lined servers, patched by WolfSage
1501 - #0003382 reported by stealth regarding nested C-style comments messing
1502 up example.conf parsing
1503 - #0003092 reported by tabrisnet, patched by WolfSage, regarding
1504 documentation says
1505 link::bind-ip is optional, but not specifying it produces an error
1506 - #0003232 reported by vonitsanet patched by djGrr, regarding /map is not
1507 shown u:lined servers to local opers and /links does
1508 - #0003363 patched by adrianp, changing IRC_UID and IRC_GID into
1509 defines IRC_USER, IRC_GROUP which is a string specifiying what user name/
1510 group name that should be changed into, instead of a hardcoded gid/uid.
1511 This should make it easier for packaged binary releases to work (even
1512 though this probably means Debian will take us in, ick .. Can't we pull
1513 a new fight with debian-legal again?)
1514 - #0003244 reported by CuLpA about grammar errors in webtv outputs
1515 - Entering 3.2.7 RC1 phase
1516 - Applied patch to fix some win32 problems reported by Bock, fixed by fez
1517 - #0003405 repoted by Stealth regarding wildcards and autoconnect being an
1518 ||
1519 - Fixed irc_uid|gid being defined on win32
1520 - Win32 library updates from Bock
1521 - #0003429 reported by Bock about appearing to accept multiple auth blocks.
1522 - Fixed fixed #003244 fix.
1523 - Applied #0003422 help.conf patches by Bock
1524 - Applied #0002999 patch by Bock, fixing a fd leak.
1525 - Applied #0003144 patch by Bock, fixing win32 install and such
1526 - Applied #0003392 patch by Bock, adding some stuff to help.conf
1527 - Entering 3.2.7 RC2 phase
1528 - Fix, fix #0003421 patch
1529 - Fixed wolfsage eff-up in c-ares.tar.gz, not running make distclean
1530 - Updated /info
1531 - Updated release notes
1532 *** 3.2.7 release ***
1533 - Fix aquanight's email
1534 - #0003351 reported by Mareo regarding m_addmotd.so and m_svslusers.so
1535 not being created
1536 - Fixed bug in SJOIN, possibly causing things like odd bans showing up in
1537 some circumstances. Reported by Hurga, patch provided by fbi.
1538 - Now allowing '' ips again in IPv6 mode as well (instead of enforcing
1539 '::ffff:' ips in the conf, they are now auto-converted to that).
1540 Based on patch from tabrisnet.
1541 - Fixed issue where the cgiirc block did not work with IPv6, reported by
1542 djGrrr, fixed by previous change.
1543 - Fixed CHROOTDIR, which was broken in 3.2.7: IRC_USER/IRC_GROUP did not work
1544 properly when CHROOTDIR was in use (#0003454).
1545 - Fixed oper block bug where ip masks in oper::from::userhost did not always
1546 work succesfully (ex: 192.168.* worked, but 192.168.*.* didn't). Issue was
1547 introduced in 3.2.7, reported by tabrisnet (#0003494).
1548 - CGI:IRC + IPv6: Fixed cgiirc block hostname never matching ipv4 cgiirc
1549 gateway properly (..again..), this was previously reported by pv2b.
1550 - CGI:IRC + IPv6: Fixed issue where all cgiirc ipv4 clients were rejected with
1551 the message 'Invalid IP address', reported by stskeeps (#0003311), nate
1552 (#0003533) and others.
1553 - Document CHROOTDIR in unreal32docs, reported by Beastie (#0002446).
1554 - Fixed Mac OS X issue where "access denied" errors were encountered when
1555 trying to read unrealircd.conf. All due to strange chmod() behavior. We now no
1556 longer try to set permissions on Mac OS X. Patch provided by Tibby (#3489).
1557 - Hopefully fixed 'Overflowed unzipbuf increase UNZIP_BUFFER_SIZE' issue,
1558 reported by Monk (#0003453). It should be large enough now. Also changed the
1559 way we deal with this when it happens (if it ever happens again..): we now
1560 close the server connection, instead of trying to continue, because continueing
1561 is too dangerous.
1562 - Remove part reason when user is banned, suggested by vonitsanet (#0003354).
1563 - Fixed set::modes-on-join: could crash or disfunction with certain
1564 parameter mode combinations.
1565 - Minor source cleanup in src/modules/m_map.c, suggested by fez (#0003540).
1566 - Usermode modules now no longer have to be permanent (#3174), this was
1567 simply a bug that was introduced when adding remote includes support years
1568 ago.
1569 - Channelmode modules without parameters (like: +X, but not: +X 1) no longer
1570 have to be permanent. Channelmodes with parameters still have to be PERM
1571 however, and there are currently no plans to change it.
1572 - Fixed bug (in all Unreal versions) with parameter channelmodes, any 3rd
1573 party module which adds an extra parameter chanmode could cause crashes.
1574 - Added set::level-on-join: which level should the user get when (s)he's is
1575 the first to enter a channel. Currently only 'none' and 'op' are supported.
1576 - unreal32docs.html: doubt it will help much but at least this makes it a
1577 little bit more clear (#3548), chatops vs globops.
1578 - ChanMode +S/+c: reverse is now stripped/blocked as well, because it's
1579 similar to color, and is just as annoying (..if not worse).
1580 - So called 'smart' banning is now disabled by default, this means you can
1581 now set a ban on *!*@*h.com and then later add one on *!*@*blah.com without
1582 any trouble. Previously the second one was rejected due to the former
1583 already matching it. To change it back edit the include/config.h setting
1585 - Fixed (G)ZLINE check.. it was incorrectly rejecting many IPv6 bans.
1586 Reported by guigui (#0003572).
1587 - Backport from 3.3 away notification from Oct 2006, this is v0, a further
1588 patch will follow soon and the numerics will be changed.
1589 - Ok, finished away notification in WATCH. It now shows the away reasons too.
1590 This new feature (away notify) is announced in 005 (ISUPPORT) as: WATCHOPTS=A
1592 Format is: WATCH A +UserOne +UserTwo
1594 New numerics to cope with away notification in WATCH are:
1595 RPL_NOWISAWAY: to indicate the user is away _when adding_ it to WATCH list
1596 RPL_GONEAWAY: user was not away, but is now
1597 RPL_NOTAWAY: user was away, but is no longer away
1598 RPL_NOWISAWAY: user was away, and still is, but the reason changed
1599 Example:
1601 WATCH A +Target
1602 Request to add user 'Target' to the watch list with away notification
1604 :maintest.test.net 609 MySelf Target ~blih test.testnet 1204309588 :not here atm
1605 Reply to watch add: user is online and away, reason is provided
1607 :maintest.test.net 599 MySelf Target ~blih test.testnet 1204309588 :is no longer away
1608 User is back (no longer away)
1610 :maintest.test.net 598 MySelf Target ~blih test.testnet 1204309722 :lunch
1611 State change: user is now away, reason is provided
1613 :maintest.test.net 597 MySelf Target ~blih test.testnet 1204309738 :shopping, bbl
1614 User is still away, but reason changed.
1616 The syntax for each numeric is:
1617 <nickname> <username> <hostname> <awaysince> :<away reason>
1618 In case of 599 (RPL_NOTAWAY) it is:
1619 <nickname> <username> <hostname> <awaysince> :is no longer away
1621 For the record, this is all based on a draft from codemastr from 2004, which was
1622 implemented in Unreal3.3 (devel branch) in 2006. Today, in 2008 it was updated
1623 with away reason support and backported to Unreal3.2. Because away notification
1624 hasn't been used until now (due to it only being in Unreal3.3) we felt it was
1625 safe to break some numerics.
1626 - Upgraded c-ares to 1.5.1, thanks to aegis for the partial patch (#0003671).
1627 This also fixed a curl compile/run issue, reported by static-x (#0003545).
1628 - Added slow spamfilter detection. For each spamfilter, Unreal will check,
1629 each time it executes, how LONG it takes to execute. When a certain threshold
1630 is reached the IRCd will warn or even remove the spamfilter. This will prevent
1631 a spamfilter (regex) from slowing down the IRCd too much, though it's still not
1632 a guarantee that it will never go to a halt (eg: in case it takes several
1633 minutes to execute a regex or loops forever).
1634 Warning can be configured via set::spamfilter::slowdetect-warn (default:
1635 250 milliseconds) and automatic deletion of spamfilters if it takes too
1636 long is set through set::spamfilter::slowdetect-fatal (default: 500 ms).
1637 NOTE: slow spamfilter detection is currently not available on Windows.
1638 NOTE 2: to disable slow detection you can set the warn and fatal settings
1639 to 0 (zero). OR to really disable all code, remove SPAMFILTER_DETECTSLOW
1640 from include/config.h and recompile.
1641 - Added another Mac OS X hack, such as one that should help against
1642 'error setting max fd's to 9223372036854775807' which prevents the ircd
1643 from booting up. Reported by btcentral and Bock. This hack might not be
1644 totally correct though ;).
1645 - Limit watch status requests to one per time, more will often flood you off
1646 and is stupid/useless. Reported by ash11.
1647 - The OS version output is now taken from uname() at runtime instead of
1648 'uname -a' at compile time. This fixes bug #1438 and #3320 reported by
1649 Mouse and Monk, where because of previous behavior the IRCd sometimes would
1650 not compile in certain environments.
1651 - configure script is now generated by autoconf 2.61 (was: 2.59), hopefully
1652 that won't cause any issues, perhaps it even helps to fix some bugs...
1653 - #0001740 reported by Trocotronic, making the IRCd send ERROR : to all
1654 links with possible reason for RESTART; like /die does it. [Backport, sts]
1655 - Added set::ssl::server-cipher-list, #002368 requested by Beastie
1656 [Backport, sts]
1657 - Added set::ssl::renegotiate-bytes, set::ssl:renegotiate-timeout, #0002971
1658 suggested by tabrisnet. Gets activated when >0. Please set sane values.
1659 [Backport, sts]
1660 - #0002475 reported by aquanight on detecting \'s in module filenames on
1661 win32 and not do ./module for it [Backport]
1662 - #0002172 reported by Stealth, patched by WolfSage, fixing if you have an
1663 admin block, and forget a semicolon on a line, Unreal will proceed to use
1664 the block with no error, but the information will be incorrect/incomplete.
1665 [Backport, WolfSage]
1666 - #0002833 reported and patched by tabrisnet, implementing UHNAMES
1667 [Backport, only slightly modified for speed]
1668 - #0001924 - requested by syzop: Added ./unreal gencloak, which generates
1669 random keys 10 ~ 20 characters in length (*NIX only). [Backport, aquanight]
1670 - #0003313 reported by Stealth, regarding not erroring/warning when me::name
1671 is bigger than HOSTLEN, from now it will error on config read. [Backport, sts]
1672 - /REHASH -all not case sensitive
1673 - Win32 makefile: removed /MAPINFO:LINES, since visual studio 2005 and up
1674 don't support this and will fail to compile UnrealIRCd. This fixes #3680,
1675 reported by therock247uk.
1676 - Upgraded c-ares to 1.6.0 (also now using pkg-config).
1677 If you get a "undefined reference to `clock_gettime'" error, then you
1678 might consider installing 'pkg-config' on your system, and then simply re-run
1679 ./Config and make, should fix things.
1680 TODO: testing! testing! i'd like to be sure this c-ares is stable!
1681 - Win32 compile fixes.
1682 - Upgraded c-ares on windows to 1.6.0 as well.
1683 - Win32: build w/manifest. Looks like Unreal@Win32 now actually works again :).
1684 - except ban { } is now also effective against Z:lines. It already protected
1685 when the user was connected, but not once he/she tried to reconnect, this
1686 is now fixed. Reported several times, last by Stealth in #0003377.
1687 - Fix crash if settime/expirytime is out of range in TKL, set by another server.
1688 Should never happen except when using faulty services or when something else
1689 got horrible wrong (like a date which is 40 years ahead). Reported by
1690 Darth Android (#0003738).
1691 - Fix NAMES with UHNAMES support, screwed it up at 'Win32 compile fixes' a
1692 few lines up...
1693 - Fix OOB read caused by UHNAMES support.
1694 - Added some countermeasures against crash-on-boot, #0003725 and #0003653,
1695 reported by Ablom2008 and mist26.
1696 - Win32: rebuild TRE for Vstudio 2008 (and ditch C++ / MSVCP... dependency).
1697 - Added release notes (not finished yet).
1698 - Added set::watch-away-notification which can be set to 'no' to disable
1699 WATCH away notification. The default is 'yes' (=enabled).
1700 - Fixed crash which could happen when rehashing while linking to a server,
1701 this could be #0003689 reported by Monk.
1702 - New HOOKTYPE_LOCAL_NICKPASS: the 2 parameters are: sptr (client) and nsptr
1703 (NickServ client, NULL if not present). You can return 1 (HOOK_DENY) to
1704 make the IRCd not send IDENTIFY to NickServ. Suggested by tabrisnet
1705 (#0003739).
1706 - A notice is now sent when listing spamfilters through /SPAMFILTER just
1707 like /stats f. Bug #0003752 reported by Strawberry_Kittens, similar to
1708 #0002533.
1709 ** 3.2.8-rc1 release **
1710 - Added documentation for set::spamfilter::slowdetect-warn,
1711 set::spamfilter::slowdetect-fatal, set::ssl::server-cipher-list,
1712 set::ssl::renegotiate-bytes, set::ssl::renegotiate-timeout,
1713 set::watch-away-notification and ./unreal gencloak. Reported by Bock
1714 (#0003764).
1715 - set::ssl::renegotiate-bytes: fix when specifying a value such as 10m.
1716 - './unreal gencloak' now actually works
1717 - Fix typo in user mode q notice, reported by Strawberry_Kittens and others
1718 (#0003761). Patch provided by Stealth.
1719 - Fix for Mac OS X compile problem (in setpgrp), reported by Bock / Jckf
1720 (#0003767).
1721 - Possible fix for MAC OS X compile problem
1722 - Bump docdate..
1723 - Fixed OperOverride bug: if you are halfop you couldn't -q/-a, reported
1724 by Strawberry_Kittens (#0003758).
1725 - Added note to release notes regarding Suse 10.3 on amd64 causing a crash
1726 on-boot. #0003725, #0003653, #0003791.
1727 - Updated regex documentation in unreal32docs, it had some incorrect
1728 statements regarding wildcards. Reported by james2vegas (#0003800).
1729 - Added some big warnings regarding big timeshifts.
1730 In the IRCd world correct time is very important. This means that time
1731 should be correct when the IRCd is booted, either by running ntpd/ntpdate
1732 on the system or some other synchronization software, or by using the
1733 built-in timesync feature.
1734 Whenever the clock is adjusted for more than a few seconds AFTER the IRCd
1735 has booted, it can lead to dangerous effects ranging from unfair timestamps
1736 for nicks and channels (and hence the possibility to takeover channels),
1737 to even completely stalling the IRCd (negative timeshift) or making it so
1738 nobody can connect anymore due to throttling (positive timeshift).
1739 We now try to 'fix' the worst effects such as the IRCd freeze and
1740 throttling. This does not fix the whole problem, so I've added some big
1741 warnings when the clock is adjusted, including an annoying one every 5
1742 minutes if the clock was set backwards, until the time is OK again
1743 (catches up with the original time).
1744 This fixes #0003230 reported by Stealth, and #0002521 reported by durrie.
1745 - Throttling time is now more accurate, especially with larger time values
1746 such as 3 connections per 60 seconds. Previously that -could- result in
1747 3 per 90 seconds due to timer inaccuracy (which was max <time>*1.5), now
1748 it would be max 65 seconds (max 5s inaccuracy, lower with lower times).
1749 - Smallll fix for time shift protection
1750 ** 3.2.8-rc2 release **
1751 - Some text fixes regarding time shift feature
1752 - Fix for compile problem on FreeBSD (and possibly other OS's):
1753 - When pkg-config is present but does not recognize --static, use
1754 default c-ares library options.
1755 - Set default c-ares library options to -lcares on FreeBSD and others.
1756 Set to -lcares -lrt on Linux (previously was -lcares -lrt for all).
1757 Thanks to goldenwolf for the bugreport (#0003803) and providing a test-
1758 shell to trace this issue down.
1759 ** 3.2.8-rc2 *NIX downloads replaced **
1760 - 'link xx with SSL option enabled on non-SSL compile' was incorrectly
1761 printed out as a warning, when in fact it's an error (and was treated as
1762 such). Same for ZIP on non-zip compile. Reported by Stealth (#0003833).
1763 - Fixed harmless (but silly) message which happened on every IRCd boot
1764 (time jump message).
1765 - Updated credits (donations)
1766 ** 3.2.8 release **
1767 - Fixed (serious) security issue regarding allow::options::noident,
1768 reported by meepmeep (#0003852).
1769 ** release **
1770 - Fixed compile issue on Solaris regarding c-ares (-lrt), reported and
1771 test shell provided by fraggeln (#0003854).
1772 - Improved automatic SSL detection on Solaris (/usr/sfw), reported by
1773 fraggeln (also #0003854).
1774 - Don't do show-connect-info on serversonly ports
1775 - Fixed crash on Linux (with a 'new' dynamic linker) when a module has
1776 been updated and then reloaded. From now on we just copy to a tempfile,
1777 and never hardlink. (bug #3557).
1778 - Print out an error if a user uses standard ./configure stuff instead of
1779 ./Config. Won't catch all cases, but will definitely catch most problems.
1780 - Update some urls
1781 - Added ./configure option called --with-system-tre by which you can specify
1782 a path to the TRE library (instead of using the TRE we ship with Unreal).
1783 Patch provided by ohnobinki (#0003842).
1784 - Applied another patch from ohnobinki which adds --with-system-cares
1785 (#0003847).
1786 - Comitted Windows Installer fix that was put in, fixing
1787 #0003845 and #0003809 (MS Visual Studio Redistributable package automatic
1788 installation).
1789 - Fix /VERSION output on Windows, especially for Vista and newer Windows,
1790 patch from BuHHunyx and Bock (#0003846).
1791 - Fixed issue where a negative time offset (either caused by ircd.tune or
1792 timesynch) made autoconnect not work for the duration of the offset
1793 (eg: -60 would make autoconnect wait 60 seconds after boot, instead of
1794 autoconnecting almost immediately). Reported by aragon (#0003853).
1795 - class name 'default' is reserved. Using it caused the ircd to crash
1796 on-boot, reported by Dragon_Legion (#0003864).
1797 - Fixed IPv4 ip's in link::bind-ip on IPv6 builds. This caused issues ranging
1798 from not binding to that ip when linking, to not being able to link at
1799 all. Also fixed a very small memory leak upon /REHASH. Bug reported by
1800 Mr_Smoke (#0003858).
1801 - Applied patch from k4be (#0003866) which introduces a new packet hook
1802 (HOOKTYPE_PACKET). Replacing the 'text to be sent' to a client is
1803 supported, which allows character(set) conversion in a module.
1804 Note that modifying an incoming message by the hook is not supported.
1805 - Applied patch from ohnobinki (#0003863) which makes run-time configuration
1806 of files (tune, pid, motd) possible.
1807 - Fixed bug reported by mut80r (#0003867) where locops didn't get a
1808 proper vhost when set::hosts::local had a 'user@host' syntax instead of
1809 just 'host'. Also fixed a bug with regards to +x on-oper with locops.
1810 - When an incorrect command line argument is passed, the IRCd will no longer
1811 boot. Previously it said 'Server not started' but started anyway.
1812 Reported and patch provided by ohnobinki (#0003870).
1813 - Added special caching of remote includes. When a remote include fails to
1814 load (for example when the webserver is down), then the most recent
1815 version of that remote include will be used, and the ircd will still boot
1816 and be able to rehash. Even though this is quite a simple feature, it
1817 can make a key difference when deciding to roll out remote includes on
1818 your network. Previously, servers would be unable to boot or rehash when
1819 the webserver was down, which would be a big problem (often unacceptable).
1820 The latest version of fetched urls are cached in the cache/ directory as
1821 cache/<md5 hash of url>.
1822 Obviously, if there's no 'latest version' and an url fails, the ircd will
1823 still not be able to boot. This would be the case if you added or changed
1824 the path of a remote include and it's trying to fetch it for the first time.
1825 To disable this new behavior, check out REMOTEINC_SPECIALCACHE in
1826 include/config.h.
1827 - set::level-on-join now also supports voice, halfop, protect and owner.
1828 Requested by katsklaw (#0003852). Partial patch provided by katsklaw and
1829 morpheus_pl.
1830 - Added initial support for "stacked" extbans. Please see the Changelog item
1831 further down (250 lines or so) for more information, as it was heavily
1832 reworked later on and the API was changed.
1833 - Misc fix for disabling stacked extbans, should've done stuff in our autoconf
1834 stuff instead of hacking configure directly :P .
1835 - Made the timesynch log output more clear and understandable.
1836 - Added an 'UnrealIRCd started' log message on startup.
1837 - Added support for STARTTLS. This allows users to switch to SSL without
1838 having to use a special SSL-only port, they can simply switch to SSL on
1839 any port. This is currently only supported by few clients (such as KVIrc 4).
1840 This functionality can be disabled by setting set::ssl::options::no-starttls,
1841 for example if you don't want to offer SSL to your users and only want it
1842 to be used for server to server links.
1843 Naturally, the IRCd must be compiled with SSL support for STARTTLS to work.
1844 - Fixed SSL_ERROR_WANT_READ in IRCd_ssl_write()
1846 - Removed log target 'kline' from documentation, as it didn't do anything
1847 (use 'tkl' instead). Reported by nephilim and Stealth (#0003849).
1848 - Server protocol: added PROTOCTL EAUTH=servername, which allows us to
1849 authenticate the server very early in the handshake process. That way,
1850 certain commands and PROTOCTL tokens can 'trust' the server.
1851 See doc/technical/protoctl.txt for details.
1852 - Server protocol: between new Unreal servers we now do the handshake a
1853 little bit different, so it waits with sending the SERVER command until
1854 the first PROTOCTL is received. Needed for next.
1855 - Server protocol: added PROTOCTL SERVERS=1,2,3,4,etc by which a server can
1856 inform the other server which servers (server numeric, actually) it has
1857 linked. See doc/technical/protoctl.txt and next for details.
1858 - When our server was trying to link to some server, and at the same time
1859 another server was also trying to link with us, this would lead to a
1860 server collision: the server would link (twice) ok at first, but then a
1861 second later or so both would quit with 'Server Exists' with quite some
1862 mess as a result. This isn't unique to Unreal, btw.
1863 This happened more often when you had a low connfreq in your link blocks
1864 (aka: quick reconnects), or had multiple hubs on autoconnect (with same
1865 connfreq), or when you (re)started all servers at the same time.
1866 This should now be solved by a new server handshake design, which detects
1867 this race condition and solves it by closing one of the two (or more)
1868 connections to avoid the issue.
1869 This also means that it should now be safe to have multiple hubs with low
1870 connfreq's (eg: 10s) without risking that your network falls apart.
1871 This new server handshake (protocol updates, etc) was actually quite some
1872 work, especially for something that only happened sporadically. I felt it
1873 was needed though, because (re)linking stability is extremely important.
1874 This new feature/design/fix requires extensive testing.
1875 This feature can be disabled by: set { new-linking-protocol 0; };
1876 - Made ./Config description about remote includes a bit more clear.
1877 - When you now answer Yes to Remote includes in ./Config and $HOME/curl does
1878 not exist, it now asks you if you want to automatically download and
1879 install curl (which is done by ./curlinstall).
1880 This has been tested on Linux, further testing on f.e. FreeBSD is required.
1881 - Fixed a /RESTART issue on Linux: Unreal did not properly close all file-
1882 descriptors. Because of this, Unreal did not restart properly as you would
1883 get an "Address already in use" error. This only seemed to happen when
1884 logging to syslog, or when there was something wrong with syslogd.
1885 Reported by Mouse (#0003882).
1886 - Fixed a similar issue with syslog (and debugmode) and closing fd's as well:
1887 the first port we listened on would not open up, ircd did not log any error.
1888 - Added set::uhnames setting which can be used to disable uhnames by setting
1889 it to 'no', the default is 'yes' (on). Requested by Robin (#0003885) as
1890 UHNAMES may increase the time of the nick list being loaded from 1 to 4
1891 seconds when joining several channels with more than 1000 users. As this
1892 problem is only present on some networks, we keep UHNAMES enabled by default.
1893 - Added patch from ohnobinki (#0003888), only slightly edited, which improves
1894 curl detection, added checks to see if curl actually works (print out a
1895 clear curl error during configure, instead of getting an error during
1896 'make'), and we now error when using --enable-libcurl without
1897 --with-system-cares if the system curl depends on c-ares. This is because
1898 this can cause ABI incompatability between curl's c-ares and our c-ares,
1899 which leads to odd issues such as:
1900 Could not resolve host: www.example.net (Successful completion)
1901 And possibly other weird issues, perhaps even crashes.
1902 - Patch from above is (temp.) reverted, Unreal wouldn't compile without curl.
1903 - Reverted the revert and updated one line to fix the fix.
1904 - Fix for --with-system-cares, reported and patch provided by ohnobinki
1905 (#0003890).
1906 - Another c-ares fix for Solaris 10, this time it had to do with
1907 PATH_SEPARATOR, the exact error was: error: PATH_SEPARATOR not set.
1908 Reported by j0inty, patch provided by ohnobinki (#0003887).
1909 - Updated pkg-config m4 macro (now 0.23) for configure, patch from ohnobinki
1910 (#0003889).
1911 - Better document /REHASH flags. No longer document some flags as they are
1912 redundant and confusing. Also removed an old statement saying k-lines would
1913 be erased on rehash which is not true. Documented '/rehash -dns'.
1914 Reported by ohnobinki (#0003881).
1915 - We now no longer treat \ (backslash) in *MOTD and RULES files as special.
1916 Previously this caused some really odd behavior. Backslashes are now
1917 treated as-is, so no special escaping is necessary. Reported by DelGurth
1918 (#0003002).
1919 - Removed old dgets() and crc32 function (code cleanup)
1920 - Updated ./Config description for NOSPOOF, it already said it protects
1921 against HTTP POST proxies, now added some extra text to say it also
1922 protects against the Firefox XPS IRC Attack. Also made NOSPOOF enabled by
1923 default on *NIX (this was already the case on Windows).
1924 - Updated ./Config description for DPATH. Seems quite some people answer
1925 this question wrong, and when that happens, you only get some obscure
1926 error when running './unreal start'.
1927 - Fixed 'unreal' script to give a better error if it cannot find the IRCd
1928 binary.
1929 - Made '/REHASH -motd' really rehash *all* MOTD, OPERMOTD, BOTMOTD and RULES
1930 files. Reported by bitmaster (#0003894).
1931 - IPv6: it seems some recent Linux dists decided to make IPv6 sockets
1932 IPv6-only, instead of accepting both IPv4&IPv6 on them like until now.
1933 FreeBSD (and other *BSD's) already did that move a few years back,
1934 requiring server admins to sysctl.
1935 We now make use of a new option to explicitly disable "IPv6-only".
1936 This should work fine on Linux.
1937 Whether it provides a complete solution for FreeBSD, I don't know, testing
1938 is welcome! In theory setting net.inet6.ip6.v6only to 0 should no longer
1939 be needed, but you might still need to enable ipv6_ipv4mapping.
1940 - Fix stupid issue where current CVS would no longer link TO an earlier
1941 Unreal server (eg: outgoing connect to a 3.2.8 hub). Reported by ohnobinki
1942 (#0003901).
1943 - Update Unreal.nfo with information about new support network setup (#0003904)
1944 - Remove the ``Compile as hub/leaf'' concept as I'm quite sure this doesn't
1945 actually do anything (#0003891)
1946 - Clarify/expand alias block documentation, especially for alias::type=command;
1947 (#0003902)
1948 - Fix -DDEFAULT_PERMISSIONS=0 support. Previously, support.c:unreal_copyfile()
1949 would create files with no permissions, breaking loadmodule. (#0003905)
1950 - Remove m_addline from commands.so
1951 - Removed ugly ``files {} got initialized!'' message.
1953 - Added chmode +r to HTML documentation.
1954 - ./Config now remembers extra/custom ./configure parameters.
1955 - Fixed bug in CVS where the ban exempt (+e) handling was reversed: if a
1956 non-matching +e was present, one could walk through bans. Reported by
1957 tabrisnet (#0003909). Bug was caused by stacked extbans.
1958 - Partially fixed bug where IPv4 addresses were randomly mishandled by the
1959 cgiirc code, resulting in the sockhost/hostmask being set to something like
1960 ::ffff:, which confused the s2s protocol. Reported by tabrisnet
1961 (#0003907). Also, reject incorrectly formed hostnames from WEBIRC command.
1962 - More strict sockhost (hostmask) checking in m_nick.c:_register_user(). Fixed
1963 some bad string handling as well. See comments in bug (#0003907).
1964 - Throw out old USE_POLL code which 1. has no buildsystem support and 2.
1965 has comments which claim it doesn't work.
1966 - Removed extraneous apostrophe from a module loader error message.
1967 - Added error message for unknown directives in the "files" block
1968 - Remote MOTD support. Not adequately tested. Required restructuring of the
1969 asynchronous download callback and handler. (#)
1970 - Added some consts throughout url.c, etc.
1971 - Fix segfault where the an include directive specifies a URL and cURL follows
1972 redirects, resulting in a different resultant URL. The remote includes code
1973 would look for the an include block using the resultant URL and assume that
1974 it would be found. The new code searches differently, has new checks, and
1975 ignores the resultant URL.
1976 - Removed duplicated m_motd() and friends that were both in modules and s_serv.c.
1977 The copies in s_serv.c (core) were overriding the in-module functions.
1978 - Forgot to commit the REMOTEINC_SPECIALCACHE stuff to config.h which means
1979 it wasn't actually enabled until now...
1980 - Fix typo
1981 - Fix files::shortmotd to by accepted by unrealircd like the docs say it is.
1982 - Fix remote includes download handling which I broke for remote includes ;-).
1983 - Recursively add more consts.
1984 - Rename configure.in to configure.ac and modernize AC_INIT.
1985 - Handle bad flags in set::ssl::options better (#0003896).
1986 - When removing a SHUN, check if users who were blocked by this SHUN are still
1987 blocked by another SHUN. Previously, if multiple shuns covered a single user,
1988 removing one of these shuns would mark the user as un-SHUN-ed. (#0003906)
1989 - Fixed race condition / reference count issue where an outgoing server connect
1990 would cause the IRCd to crash. Reported by Monk (#0003913).
1991 - Replaced some coders@lists.unrealircd.org references with bugs.unrealircd.org
1992 - Fixed desynchronized prototype.
1993 - Fixed a few trivial compilation warnings.
1994 - Move configure.ac to the project's root.
1995 - Separate m4 macros into *.m4 files (it is much easier to run aclocal now).
1996 - Remove unused DOMAINNAME macro and --with-hostname= options as the DOMAINNAME
1997 macro isn't used anywheres and its use shouldn't be encouraged.
1998 - autogen.sh to bootstrap the buildsystem. We now maintain setup.h with autoheader.
1999 - --disable-blah now does the opposite of --enable-blah. The same for --with-blah
2000 and --without-blah. (This makes Gentoo users happier).
2001 - Attempt to make up for Windows not having mode_t and not complying to POSIX.
2002 - Fix references in src/win32 to aMotd to now be to aMotdFile.
2003 - Fix references to motd and friends in src/win32. (#0003918)
2004 - Remove include/nameser.h and reference to nameser.h from s_bsd.c. The associated
2005 functionality has been provided by c-ares for a long time.
2006 - Remove remaining nameser.h references from Makfiles.
2007 - Prevent stacked bans (like +b ~q:~q:~n:~c:#chanel) from crashing unrealircd due
2008 to over-recycling a static buffer. Discovered by syzop.
2009 - helpop documentation for stacked extbans.
2010 - Updated doc/coding-guidelines
2011 - Fixed some odd behavior with SVSMODE and +z/-z, reported by TehRes (#0003498),
2012 fixed a strange SVSMODE +d <non-number> bug where it would act as a +x too.
2013 - The patch from #0003888 made ./Config favor the curl in /usr, even if it
2014 was not compiled with c-ares, which is clearly a bad idea as then the
2015 entire IRCd can hang for several seconds or more...
2016 We now check if they support asynch DNS, and skip them if they don't.
2017 - Remove extraneous `I' from configure.ac, run ./autogen.sh. (#3930)
2018 - Added some checks in ./Config which (often) ensures that the self-compiled
2019 curl version is new enough and is not using a c-ares which is binary
2020 incompatible. If the self-compiled curl version is (too) outdated, then we
2021 now suggest to rename it and have the installer re-download and compile
2022 it automatically. This avoids some potential crashes.
2023 - Give more clear error to users who use ``make custommodule'' without
2024 MODULEFILE. (#3935)
2025 - Support compiling with a bundled c-ares again, the hacky way. (#3931)
2026 - The configure.ac change silently changed the nospoof parameter in
2027 ./configure. This meant that the answer to NOSPOOF in ./Config was ignored
2028 and it was always enabled.
2029 - Initialize ARG parameter properly in ./Config, otherwise everything fails.
2030 - Fixed similar bug like nospoof with ./Config, but now with prefixaq.
2031 - Same for IPv6
2032 - Now define _SOLARIS, USE_LIBCURL, and ZIP_LINKS in setup.h instead
2033 of the Makefiles. This means better automatic rebuilds if the latter
2034 settings change.
2035 - Updated unreal32docs:
2036 - Remove browser compatibility listing.
2037 - Added information about ``oper::password::auth-type sslclientcert''
2038 and the same for link::password-receive::auth-type.
2039 - A little bit more of interlinking and using id="" instead of <a
2040 name="" />
2041 - Some minor tweaks
2042 - Fix the detection for curl-without-c-ares a little (#0003940).
2043 - Add an extban of the schema +b ~j:*!*@* which _only_ prevents a user
2044 from joining a channel. (#3192)
2045 - Fix src/Makefile's lack of depencencies for modules.c, related to
2046 #3938.
2047 - Fix a few compiler warnings with some double-casting and another
2048 const. (#3939)
2049 - Define intptr_t in win32's setup.h. (#3939)
2050 - Upgraded c-ares to 1.7.3. API seems compatible with
2051 c-ares-1.6.0. (#3932)
2052 - Force compilation with bundled c-ares to statically link using more
2053 sed hackery in configure.ac.
2054 - Remove extras/c-ares before each time c-ares is compiled.
2055 - Uniform naming for 'stacked extbans' in Changelog/etc.
2056 - Make extended bans documentation more clear by splitting the extbans in
2057 two groups: one that specifies ban actions (~q/~n/~j) and one that
2058 introduces new criteria (~c/~r). Also added documentation for ~R which
2059 does not exist yet, but will soon...
2060 - This is actually an update of earlier code from CVS, but now it works ok:
2061 - Added support for "stacked" extbans. Put simply this allows extban combinations
2062 such as ~q:~c:#test to only silence users on #test, for example. This feature
2063 is enabled by default, but can be disabled during ./Config -advanced.
2064 This feature was suggested by Shining Phoenix (#0003193), was then coded
2065 by aquanight for U3.3, and later on backported and partially redone by Syzop.
2066 Module coders:
2067 In an extban ~x:~y:something where we call ~x the 1st, and ~y the 2nd extban:
2068 Since stacked extbans only makes sense where the 1st one is an action
2069 extended ban like ~q/~n/~j, most modules won't have to be changed, as
2070 their extban never gets extended (just like ~c:~q: makes no sense).
2071 However, you may still want to indicate in some cases that the extban your
2072 module introduces also shouldn't be used as 2nd extban.
2073 For example with a textban extban ~T it makes no sense to have ~n:~T.
2074 The module can indicate this by setting EXTBOPT_NOSTACKCHILD in
2075 the ExtbanInfo struct used by ExtbanAdd().
2076 For completeness I note that action modifier extbans are indicated by
2077 EXTBOPT_ACTMODIFIER. However, note that we currently assume all such
2078 extbans use the extban_is_ok_nuh_extban and extban_conv_param_nuh_or_extban
2079 functions. If you don't use these and use EXTBOPT_ACTMODIFIER, then things
2080 will go wrong with regards to stack-counting.
2081 Module coders should also note that stacked extbans are not available if
2083 - Added extended ban ~R:<nick>, which only matches if <nick> is a registered
2084 user (has identified to services). This is really only useful in ban
2085 exemptions, like: +e ~R:Nick would allow Nick to go through all bans if he
2086 has identified to NickServ. This is often safer than using +e n!u@h.
2087 - Added Extended Invex. This is very much like extended bans, in fact it
2088 supports some of the same flags. Syntax: +I ~character:mask
2089 Currently supported are: ~c (channel), ~r (realname) and ~R (registered).
2090 This can be useful when setting a channel invite only (+i) and then
2091 setting invite exceptions such as +I ~c:#chan (or even ~c:+#chan), while
2092 still being able to ban users.
2093 Because action modifiers (~q/~n/~j) make no sense here, extended invex
2094 stacking (+I ~a:~b:c) makes no sense either, and is not supported.
2095 Suggested by DanPMK (#0002817), parts based on patch from ohnobinki.
2096 Module coders: set EXTBOPT_INVEX in the ExtbanInfo struct used by
2097 ExtbanAdd() to indicate that your extban may also be used in +I.
2098 - Invex (+I) now always checks cloaked hosts as well. Just like with bans,
2099 it checks them also when the user is not currently cloaked (eg: did -x, or
2100 is currently using some VHOST).
2101 - Fixed client desynch caused by (un)banning, reported by Sephiroth (#2837).
2102 - IPv6 clones detection support (#2321). allow::ipv6-clone-mask determines
2103 the number of bits used when comparing two IPv6 addresses to determine if
2104 allow::maxperip is exceeded. This allows an admin to recognize that most
2105 IPv6 blocks are allocated to individuals, who might each get a /64 IPv6
2106 block. set::default-ipv6-clone-mask defaults to 64 and provides default
2107 value for the allow blocks.
2108 - Upgrade to tre-0.8.0, adding hack similar to the one for c-ares to
2109 ensure that the bundled tre is compiled against even when a system
2110 libtre is installed. (#3916)
2111 - Install ircdcron scripts. (#2620)
2112 - Autogenerate ircdcron/ircd.cron based on ./configure settings.
2113 - Get rid of any setsockopt(IPV6_V6ONLY) errors in ircd.log (#3944).
2114 - Actually initialize m_starttls when it's included into commands.so.
2115 - Prepend a `0' to the begining of --with-permission, working around a
2116 Mac OS X bug and hiding the fact that chmod()'s params are octal
2117 from users. (#3189)
2118 - Warn users against running UnrealIRCd as root without setting
2119 IRC_USER. (#3053 reported by Stealth)
2120 - Remove snomasks upon deopering when it seems like the user shouldn't
2121 have snomasks. (#3329)
2122 - Fix /msg IRC WHOIS response for persons with secure connections. (#3947)
2123 - Fix segfault by checking if RESTRICT_USERMODES is NULL in the code
2124 for bug #3329.
2125 - Don't use sys/errno.h, as it's not POSIX and breaks on QNX-6.5.0. (#3955)
2126 - Fixed another compile problem on QNX, reported by chotaire (#3955 too).
2127 - Fixed incorrect messages regarding clock going backwards on QNX 6 and
2128 later, reported by chotaire (#0003956).
2129 - Reverted an IPv6/Config fix I did on July 17. Reported by chotaire (#3958).
2130 - Document the badword block more explicitly and clearly. (#3959)
2131 - Add the m_nopost module written by syzop and compile it into
2132 commands.so. This module was written to help IRCd maintainers deal
2133 with some sort of ``XPS'' attack in which javascript-initiated HTTP
2134 POST form submissions were able to act as dummy IRC bots. These
2135 simple bots were the cause of much spam. Note that enabling NOSPOOF,
2136 which was the default on Windows and is now also the default on *NIX,
2137 already stops the troublemakers from getting on IRC. However, the nopost
2138 module kills them right away, rather than have them idle for 30 seconds
2139 which could consume all your connections, preventing (legit) users
2140 from being able to connect (#3893).
2141 - Add a modules section to the documentation. This was created to put
2142 all documentation specific to the m_post module in one, easy to find
2143 place. The documentation on m_post is likely incomplete, however.
2144 - Fixed notices to opers about server delinks not being broadcasted to all
2145 other servers if they were on SSL links. Reported by chotaire (#0003957).
2146 - SSL errors are now more descriptive. In some cases, like server to server
2147 links it was still showing 'Underlying syscall error', this has now been
2148 replaced to show the actual (surprise!) underlying syscall error instead.
2149 Reported by vonitsanet, patch from ohnobinki (#0003157).
2150 - Fix ordering of ``9. FAQ'' and ``10. Modules'' in HTML docs.
2151 - Always display the real host of successful OPERing up. Reported by
2152 Josh. (#3950)
2153 - Fixed braindamage in stacked bans.
2154 - Add m_nopost to makefile.win32 in the hopes that it may work (#3961).
2155 - Document spamfilter 'warn' action in unreal32docs.
2156 - Fix missing OperOverride notices for +u and +L if not chanowner, reported
2157 by Mareo (#0003358), partial patch from goldenwolf.
2158 - Updated doc/compiling_win32.txt with current free MS SDK information,
2159 patch from goldenwolf.
2160 - And another m_nopost makefile.win32 fix.
2161 - Some small updates to the extended channel mode system: it now has minimal
2162 support for 'local channel modes'. This is really only meant for channel
2163 mode +Z (upcase z), see next.
2164 - Added Channel Mode Z which indicates if a channel is 'secure' or not.
2165 This mode works in conjunction with +z (lower case z).
2166 If +z is set ('only secure users may join'), then the IRCd scans to see
2167 if everyone in the channel is connected through SSL. If so, then the
2168 channel is set +Z as well ('channel is secure').
2169 Whenever an insecure user manages to join, the channel is -Z. And whenever
2170 all insecure users leave, the channel is set +Z.
2171 The 'insecure user being present in a +z channel' can be because:
2172 - An IRCOp joined the channel, and he's not secure
2173 - When servers link together and a user on the other side is not secure
2174 This only happens on net merge (equal time stamp).
2175 On different time stamp, we still kick insecure users on the new side.
2176 - At the time when +z is set, there are insecure users present.
2177 This feature was implemented after a heavy discussion in bug #3720 by fez
2178 and others, and was suggested by Stealth.
2179 Tech note: +Z/-Z is handled locally by each server. Any attempt to
2180 remotely set +Z/-Z (eg: by services) will be ignored.
2181 - As mentioned above, +z can now be set even if any insecure users are
2182 present. Previously, this was not permitted. Now, as soon as the last
2183 non-SSL user leaves, the channel will be set +Z.
2184 - An oper not connected through SSL previously had to /INVITE himself
2185 to a channel and then /JOIN the channel with the key 'override'.
2186 This 'override' key is no longer required, a simple JOIN will suffice.
2187 - Sorted channel modes in /HELPOP ?CHMODES
2188 - Re-enabled 'fishy timestamp' errors in MODE. For some reason this was
2189 commented out, even though the (more annoying and less useful) code in
2190 JOIN was enabled so that did not make a lot of sense. It also now logs to
2191 ircd.log (or whatever you configure). This enables people to easier find
2192 the cause of any timestamp issues (which usually is badly coded services).
2193 - Win32 installer: Make it so a user can no longer accidentally check both
2194 'install as service' and 'encrypt SSL certificate', as they are
2195 incompatible (a service cannot ask a user to enter a password).
2196 Reported by HotFusionMan (#0003848).
2197 - Win32 installer: Fixed long outstanding problem with some Vista / Windows 7
2198 installations, which has to do with file permissions of the Unreal3.2
2199 folder. Symptoms were error messages such as:
2200 Unable to create file 'tmp/10D9D743.commands.dll': Permission denied
2201 But also failing to create SSL certificates, nothing being logged, etc.
2202 This is now fixed by setting write access on the Unreal3.2 folder to the
2203 user running the install, unless the user chooses not to use this new
2204 option (it can be unchecked), in which case the user is warned that he
2205 should take care of this himself.
2206 Reported by various persons, special thanks to Bock and goldenwolf for
2207 helping us to track down this issue (#0003943).
2208 - Little tweak to +Z: when the last insecure user parts and the channel is
2209 set +Z (secure), the parting user saw the MODE too, which was silly.
2210 Reported by Robby22 (#0003720).
2211 - Added '/REHASH -global' command which will rehash all servers on the
2212 network. You can also specify options like '/REHASH -global -motd' to
2213 rehash only the MOTD/RULES/etc. Just like /REHASH <servername> this is a
2214 NetAdmin-only command. This command is fully backwards compatible with
2215 older UnrealIRCd version in the sense that it will also REHASH old
2216 Unreal's. Suggested by 'P' in #0001522.
2217 - Clarified the difference between 'except ban' (which exempts from KLINE
2218 and ZLINE) and 'except tkl' (which can exempt from GLINE, GZLINE, SHUN,
2219 QLINE and GQLINE). Reported by Digerati (#0002535).
2220 - Added except tkl::type 'all', which exempts from all TKL types (except
2221 KLINE).
2222 - Added set::options::allow-insane-bans which makes it possible to set
2223 really broad bans such as *@*.xx. Needless to say this can be very
2224 dangerous. Reported and patch provided by Stealth (#0003963).
2225 - Windows: When trying to load a module (DLL) windows can give us the
2226 mysterious error 'The specified module could not be found' even though the
2227 file exists. This usually means that it depends on another DLL, but
2228 apparently Microsoft decided not to mention that in the error message.
2229 We now append some small text when such an error happens, saying that it
2230 could be because of a missing dependency. Reported by Phil.
2231 - Fixed Windows compile problem with current CVS due to m_issecure,
2232 reported and fix provided by therock247uk (#3970).
2233 - Added release notes.
2234 - Error on zero sendq in class::sendq, reported by jonbeard.
2235 - Fix return values in src/auth.c on Win32.
2236 - Win32: Attempt to move to 100% winsock2 (the include, to be precise),
2237 this means includes have to be in a very particular order (!)
2238 - Win32: #define _WIN32_WINNT 0x0501 and force our own inet_ntop/pton,
2239 otherwise you get an ntop runtime error on XP and earlier.
2240 - Win32: Get rid of c-ares includes and library in our tree, and use the
2241 DLL instead of static LIB, just like we do for ssl and zlib.
2242 - Win32: Get rid of TRE lib and includes
2243 - Win32: reorder includes to fix winsock errors with curl
2244 - Win32: show missing /INFO in GUI
2245 ** 3.2.9-rc1 release **
2246 - Enable parallel building of modules.
2247 - Fixed bug with curl not finding libcares, reported by katslaw.
2248 - Added workaround for 'curl-config' depending on 'bc'.
2249 - Fix typo 'alias::spampfilter' in German docs, reported by seraphim (#3978).
2250 - Fix missing #include <stdint.h>. Fixes compile error on OpenBSD
2251 reported by CuleX (#3977).
2252 - Fix invalid use of 'wc -l' when detecting the AsynchDNS feature of
2253 libcurl which breaks compilation on FreeBSD; instead use 'grep
2254 -q'. Reported by Jobe (#3981), solution proposed by satmd.
2255 - Fix bundled TRE compilation error on OpenBSD with pkg-config-0.21
2256 where pkg-config can't find 'tre.pc'. Reported by CuleX. (#3982)
2257 Also properly escape the sed expression used in the pkg-config call.
2258 - Fix remote MOTDs for URLs whose path components contain
2259 subdirectories, in the process much simplifying my remote MOTD
2260 code. Reported by goldenwolf (#3986).
2261 - Windows installer: if an SSL certificate already exists, then don't check
2262 the 'create SSL certificate' by default. Patch from goldenwolf (#3965).
2263 - Update doc/compiling_win32.txt a bit (#3975).
2264 - Updated credits a bit (#3980).
2265 - Fix set::ssl::options::no-starttls not being recognized.
2266 - Fix pointer handling in remote MOTD code, fixing a crash on REHASH
2267 reported by goldenwolf (#3992).
2268 - Bump server protocol version to 2310, due to the various changes and so
2269 you can use deny link { } blocks if you want to deny older versions than
2270 this release.
2271 - Fix documentation about channel mode +t and halfops, thanks warg (#4007).
2272 - Fix empty/nonexistent short MOTD being shown instead of the full
2273 MOTD on user registration. Thanks WakiMiko (#4011).
2274 - Module coders: Added HOOKTYPE_HANDSHAKE which is called before the client
2275 handshake, IOTW: as soon as the connection is established. This can be used
2276 to do things prior to accepting any commands, such as sending some text.
2277 - Moved from cvs to hg (thanks binki!), this means cvs from this point in
2278 time should no longer be used (the lastest CVS version will not compile,
2279 this has been done on-purpose).
2280 The new way to access the development version of UnrealIRCd is:
2281 hg clone http://hg.unrealircd.org/unreal
2282 If you get something like 'hg: command not found' then you need to
2283 install mercurial. Most *NIX systems have such a 'mercurial' package,
2284 but if you don't, or you are on Windows or Mac OS X, then grab it at
2285 http://mercurial.selenic.com/
2286 - Updated doc/compiling_win32.txt a bit.
2287 - The unreal32docs translations in Greek, Spanish and Dutch are marked as
2288 out of date.
2289 - CRLF conversion of unreal32docs.gr.html
2290 - Zip links: once a link was zipped, the error message when closing the
2291 connection was never actually sent (due to buffering). Hence, things like
2292 the /SQUIT reason was never seen on the other side (just 'server closed
2293 the connection'). This has now been fixed.
2294 - Fix compile failure introduced by last change when zip links are
2295 disabled.
2296 - Check that the automatically-generated cloak keys fit unrealircd's
2297 own criteria before printing them out. (#4017)
2298 - Added aliases/atheme.conf, provided by katsklaw (#0003990).
2299 - Support installing the ircd binary for people who set
2300 --with-spath=<dpath>/bin/ircd.
2301 - Add missing quotation to doc/help.fr.conf (#4026 by MewT).
2302 - Remove temporary message (Unreal3.2.1) regarding cloaking modules.
2303 - Add a self-documented and commented files {} block to example.conf.
2304 - Another fix-for-fix of zip links buffering from a few weeks ago.
2305 Reported by fbi (#0004030).
2306 - Win32: fix rehash from the command line not working, reported by Platzii
2307 (#0004028).
2308 - Update curl-ca-bundle.crt
2309 ** 3.2.9-rc2 release **
2310 - Updated credits (donations)
2311 - Updated credits (supporters, coders)
2312 ** 3.2.9 release **
2313 - Automatically regenerate Makefile if ./config.status --recheck was
2314 run.
2315 - Fix compilation issue when disabling stacked
2316 extbans. https://bugs.gentoo.org/389949