3 This is charybdis
3.6-dev, Copyright (c)
2005-
2016 Charybdis team.
4 See LICENSE for licensing details (GPL v2).
9 - Build system has been converted to libtool + automake for sanity reasons.
14 - Fix propagation of ip_cloaking hostname changes (only when setting or
15 unsetting the umode after connection).
16 - Fix a remote-triggerable crash triggered by the CAPAB parsing code.
17 - As per the TS6 spec, require QS and ENCAP capabilities.
18 - Require EX and IE capabilities (+e and +I cmodes).
19 - Check that UIDs start with the server's SID.
22 - Allow mode queries on mlocked modes. In particular, allow /mode #channel f
23 to query the forward channel even if +f is mlocked.
24 - Strip colours from channel topics in /list.
25 - If umode +D or +g are oper-only, don't advertise them in
005.
26 - If MONITOR is not enabled, don't advertise it in
005.
27 - Add starttls as per ircv3.
28 - Abort a whowas listing when it would exceed SendQ, which would previously
30 - Reject nicks with '~' in them, rather than truncating at the '~'.
31 - Remove CHARSET=ascii from ISUPPORT
32 - Use the normal rules for IP visibility in /whowas.
33 - Cmode +c now strips '
\x0F' (^O, formatting off), fixing weird rendering in
34 some clients that internally use mIRC formatting such as highlighted
36 - Indicate join failure because of the chm_sslonly extension (cmode +S) using
37 the same
480 numeric as ircd-ratbox.
38 - Do not allow SASL authentication when the configured SASL agent is unavailable.
39 - Automatically add unidentified users to the ACCEPT list when a user is set +R,
40 as we do when the user is set +g.
41 - Implement IRCv3.2 capabilities:
45 - Implement the $&, $| and $m extban types:
46 - $& combines
1 or more child extbans as an AND expression
47 - $| combines
1 or more child extbans as an OR expression
48 - $m provides normal hostmask matching as an extban for the above
49 - Do not allow STARTTLS if a connection is already using TLS.
50 - Display an operator's privilege set in WHOIS.
51 - The $o extban now matches against privilege set names as well as individual
52 privileges. Privilege set names are preferred over individual privileges.
55 - Fix a crash with /testline.
56 - Complain to opers if a server that isn't a service tries to
57 SU/RSFNC/NICKDELAY/SVSLOGIN.
58 - Turn off umode +p (override) when deopering.
59 - Make listener error messages (e.g. port already in use) visible by default
60 instead of only on snomask +d and in ioerrorlog.
61 - Remove snotes on +r about GET/PUT/POST commands ("HTTP Proxy disconnected").
62 - Add DNSBL snotes on snomask +r.
65 - Add hide_uncommon_channels extension to hide uncommon channel memberships in WHOIS,
67 - Add chm_nonotice extension, cmode +T to reject notices.
68 - Add restrict-unauthenticated extension, prevents unauthenticated users from
69 doing anything as channel operator.
70 - Add no_kill_services extension, prevents local opers from killing services.
71 - Allow matching specific replies of DNSBLs, using the new matches option.
72 - Remove blowfish crypt since it has the BSD advertising clause.
73 - Fix SHA256 ($
5$) crypt.
74 - Make the channel::channel_target_change option actually work (it used to be
76 - SSL/TLS listeners now have defer_accept unconditionally enabled on them.
77 - The method used for certificate fingerprints (CertFP) is now configurable.
78 SHA1, SHA256 and SHA512 are available options.
79 - The minimum user threshold for channels in default /list output is now
83 - Work around timerfd/signalfd brokenness on OpenVZ.
84 - Fix a compilation issue in libratbox/src/sigio.c with recent glibc.
85 - Extend documentation slightly.
86 - Remove a BSD advertising clause that permission was granted to remove.
87 - Add support for hooking PRIVMSG/NOTICE.
88 - Reenable and fix the GnuTLS support.
89 - Add mbedTLS backend for SSL/TLS.
91 - Try other DNS servers if errors or corrupt replies are encountered.
92 - Rename genssl.sh script to genssl.
93 - Choose more secure SSL/TLS algorithms.
94 - Fix reconnecting with SSL/TLS with some clients such as ChatZilla (see
95 https://bugzilla.mozilla.org/show_bug.cgi?id=
858394#c34 for details.)
96 - Improve error messages about the configuration file.
97 - Fix a crash when compiled with recent clang on
32-bit systems.
98 - Fix various memory leaks in rehash.
99 - Fix various code quality issues.
100 - Add --with-shared-sqlite to allow distribution packages to link to a shared
101 sqlite library. Using this is not recommended for on-server compilation.
102 - ISUPPORT tokens which are actually provided by modules have been moved to their
108 - Allow overriding opers (with the new extension) to op themselves on channels.
109 - Allow RSFNC to change a nickname's capitalization only.
110 - Add channel ban forwarding <mask>$<channel> much like ircd-seven. Local use
111 of this is controlled by the channel::use_forward config option.
112 - Add ENCAP TGINFO to propagate IP addresses that exceeded target change
113 limits (these get a lower limit when they reconnect).
116 - Consider bogus CTCP ACTION messages (without action text) CTCP (for
118 - Send ERR_TOOMANYCHANNELS for each channel join that fails due to channel
120 - Add account-notify client capability to notify clients about logins and
121 logouts of users in common channels. See doc/account-notify.txt.
122 - Add extended-join client capability to add account name and ircname to JOIN.
123 - Add topic TS and channel TS constraints for /LIST (T<, T>, C<, C>
124 parameters as in some other servers).
125 - Disallow wildcarded nicknames in "hunted" parameters like /stats and /motd.
126 - Disallow mIRC italics in channel names when disable_fake_channels.
127 - Add AUTHENTICATE EXTERNAL support, allows SASL authentication using a
128 certificate fingerprint.
129 - Allow channel::kick_on_split_riding to protect channels with mlocked keys.
130 - The NICKLEN token in
005 now only specifies the maximum usable nick length.
131 The MAXNICKLEN token specifies the maximum nick length any user can have.
132 - Disallow $ in usernames as this may cause problems with ban forwarding.
133 - Add an error message (numeric
743) if a ban mask is invalid.
134 - Extract the underlying IPv4 address from
6to4 and Teredo IPv6 addresses.
135 Show it in a remote /whois and check channel bans, quiets, D:lines and
136 K:lines against it. Note that ban exceptions and auth{} blocks are not
138 - Allow normal users to perform /privs on themselves, showing some privileges
139 from the auth{} block.
140 - Add away-notify client capability, see doc/away-notify.txt.
141 - Add rate limit for high-bandwidth commands, in particular /who <channel>.
142 - Rate limit /away to help avoid flooding via away-notify.
143 - Apply colour stripping (cmode +c) and CTCP checking (cmode +C) to messages
144 to @/+ channel as well.
145 - Channel mode +c (and other places that disallow colour codes) now also strip
146 ASCII
4 (a different kind of colour code).
149 - Add operspy for /list.
150 - Add a server notice to snomask +b if a user exceeds target change limits.
151 - Add missing server notice for kills from RSFNC and SVSLOGIN.
152 - Add /stats C to show information about dynamically loaded server
156 - Add support for linking using SSL certificate fingerprints as the link
157 credential rather than the traditional password pair.
158 - Add m_roleplay extension, provides various roleplay commands.
159 - Add override extension, umode +p oper override for opers with oper:override
160 permission, with accountability notices and timeout. Note that opers cannot
161 op themselves if there are older servers on the network.
162 - Add channel::disable_local_channels config option.
163 - Add support for IPv6 DNSBLs. A new "type" option specifies the IP version(s)
164 for which each DNSBL should be checked.
165 - Make flood control settings configurable by those who know exactly what they
167 - Add serverinfo::nicklen config option to limit the nick length for local
168 users. Different values of this option do not break the server protocol.
169 - Add extb_usermode extension, $m:+-<modes> extban matching against umodes.
170 - Extend extb_oper extension to allow matching against oper privileges.
171 - Add m_remove extension, /remove command as in ircd-seven.
172 - Add general::away_interval to allow configuring /away rate limiting.
173 - Add listener::defer_accept to delay accepting a connection until the client
174 sends data. This depends on kernel support. It may break BOPM checking.
177 - In mkpasswd, default to SHA512-based crypt instead of MD5-based crypt.
178 - Add --with-custom-branding and --with-custom-version configure options to
179 help forks/patchsets distinguish themselves.
180 - Change version control from Mercurial to GIT.
181 - Ensure SIGHUP and SIGINT keep working after a SIGINT restart.
182 - Add --enable-fhs-paths configure option to allow installing into a more
184 - Remove broken GnuTLS support. SSL/TLS is now only provided using OpenSSL.
189 - Add new BAN command, for propagated network-wide bans (K/X:lines and RESVs).
190 These will burst to new servers as they are introduced, and will stay in sync
191 across the whole network (new BAN capab).
192 - Add new MLOCK command, to implement ircd-side channel mode locks. This allows
193 services to send out a list of mode letters for a given channel which may not
194 be changed, preventing mode fights between services and client bots (new MLOCK
198 - New RPL_QUIETLIST(
728) and RPL_ENDOFQUIETLIST(
729) numerics are used for the
199 quiet (+q) list, instead of overloading the ban list numerics.
200 - Users may no longer change the topic of a -t channel if they cannot send to
202 - Add help for EXTBAN, describing the syntax of extended bans in general, as
203 well as the most common types.
204 - Changed AWAY messages are now propagated to other servers. Previously, AWAY
205 was only propagated when the user was not already away.
206 - Channel mode +c (and other places that disallow colour codes) now also strip
207 ASCII
29 (mIRC
7 italics).
208 - Add auto-accept for user mode +g (callerid): Messaging a user while set +g
209 will automatically add them to your accept list.
210 - Add target change for channels. It applies to unopped, unvoiced and unopered
211 users. This has the effect of stopping spambots which join, message and part
212 many channels at a time.
213 - Show RPL_WHOISLOGGEDIN in /whowas as well as in /whois entries. This adds at
214 most an additional
0.5MB of memory usage.
216 - Add general::use_propagated_bans to switch the new BAN system on or off.
217 - Add general::default_ident_timeout, to control the timeout for identd (auth)
219 - Add channel::channel_target_change to switch the new channel target change limits
221 - Fix class::number_per_ident so that it also applies to connections without
223 - Change the example sslport option to
6697, which is more standard than
9999.
225 - The custom channel mode API has been rewritten, allowing these modules to work
226 correctly when reloaded, or loaded from the config file.
227 - The EFNet RBL is now recommended, instead of DroneBL.
228 - Remove the unsupported modules directory.
229 - Numerous bug fixes and code cleanups.
230 - In mkpasswd, default to MD5 crypt instead of insecure DES.
235 - Apply +z to messages blocked by +b and +q as well. (new EOPMOD capab)
236 - Add new topic command ETB, allowing services to set topic+setter+ts always.
238 - The slash ('/') character is now allowed in spoofs.
241 - Add can_kick hook, based on the ircd-seven one.
242 - Add cmode +C (no CTCP) from ircd-seven.
243 - Flood checking has been reworked.
244 - Fix op-moderate (cmode +z) for channel names with '@'.
245 - Add CERTFP support, allowing users to connect with an SSL client
246 certificate and propagating the certificate fingerprint to other servers.
247 Services packages can use this to identify users based on client
249 - Maintain the list of recently used targets (for the target change
250 anti-spam system) in most-recently-used order, overwriting the least
251 recently used target with a new one. This should be friendlier to users
252 without giving spambots anything.
253 - Do not require target change slots for replying to the last five users to
254 send a private message, notice or invite.
255 - Apply target change restrictions to /invite.
256 - Apply umode +g/+R restrictions to /invite, with the difference that
257 instead of sending "<user> is messaging you" the invite is let through
258 since that is just as noisy.
261 - Add /rehash throttles to clear throttling.
262 - Send all server notices resulting from a remote /rehash to the oper.
263 - '\s' for space is now part of the matching, not a substitution at xline
264 time, fixing various issues with it.
265 - Display o:line "nickname" in oper-up server notices.
266 - Fix sendq exceeded snotes for servers.
267 - SCAN UMODES: default list-max to
500, like a global WHO.
268 - Ignore directory names in MODRELOAD to avoid crashing if it is a core
269 module and the path is incorrect.
270 - Tweaks to spambot checks.
273 - Add channel::only_ascii_channels config option to restrict channel names
274 to printable ascii only.
275 - Add channel::resv_forcepart, forcibly parts local users on channel RESV,
279 - New mkpasswd from ircd-ratbox.
280 - Check more system calls for errors and handle the errors.
281 - Various ssld/libratbox bugfixes from ircd-ratbox. [some MERGED]
282 - Fix fd passing on FreeBSD/amd64 and possibly Solaris/sparc. [MERGED]
283 - Various documentation improvements. [some MERGED]
284 - Fix some crash issues. [MERGED]
285 - Add bandb from ircd-ratbox, which stores permanent dlines/klines/xlines/resvs
286 in an sqlite database instead of a flatfile and does the storage in a
287 helper process. Use bin/bantool -i to import your old bans into the
292 - Remove TS5 support. No TS5 servers are permitted in a network with
293 charybdis
3.1.0 or newer, except jupes.
294 - Replace oper flags by privilege sets (privsets). This adds an extra
295 level of indirection between oper flags and operator blocks. /stats O
296 (capital O) shows the configured privsets.
297 - Update libratbox and ssld from upstream and use it better.
298 - Add auth_user to auth{}. This allows specifying a username:password instead
299 of just a password in PASS, so that a fixed user@host is not necessary
300 for a specific auth{} block.
301 - Add need_ssl to auth{} and operator{}. This makes these blocks reject
302 the user if not connected via SSL.
303 - Allow modules to provide simple channel modes without parameter.
304 - Remove restrictions on CNAME in the resolver.
305 - Make the resolver remember nonresponsive nameservers.
306 - Move nick collision notices from +s to +k.
307 - Add additional information to various server notices about server
309 - Show throttle information in /stats t.
310 - Show rejectcache and throttle information in /testline.
311 - Show oper reason in /testline.
312 - Allow opers to see other users' umodes with /mode <nick>.
313 - SCAN UMODES GLOBAL NO-LIST MASK <mask> is no longer an operspy command.
314 - Also apply floodcount to messages to remote clients (except services).
315 - Remove user@server messages to local users. Sending such messages to
316 remote servers is still possible, for securely messaging pseudoservers
317 whether service{}'ed or not. The special oper-only syntax opers@server
319 - Allow /list on a named +p channel. A full /list already included +p channels.
320 - Add operspy /topic.
321 - For remote rehashes, send error messages to the requesting oper as well.
322 - Disable autoconnect for a server with excessive TS delta.
323 - Disallow invites to juped channels.
324 - Warn about certain duplicate and redundant auth blocks.
325 - Make PRIVMSG/NOTICE behave as CPRIVMSG/CNOTICE automatically if possible.
326 - Allow +z messages from outside if a channel is -n.
327 - Allow coloured part reasons in -c channels.
328 - Add ircu-like WHOX support. This allows requesting specific information
329 in /who and allows obtaining services login name for all users in a
330 channel. XChat/Conspire use WHOX to update away status more efficiently.
331 - Allow opers and shide_exempt users to see hopcounts even if flatten_links
333 - Rework ip_cloaking.
334 - Add the IP address to userlog, as in ircd-ratbox
3.0.
335 - Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
336 - Allow using ziplinks with SSL connections. This is not as efficient as
337 using OpenSSL's built in compression, but also works with older versions
339 - Fix an off by one error with zipstats processing, which could overwrite
340 a variable with NULL causing a crash on some systems.
341 - Document some extensions in charybdis-oper-guide.
342 - Add more server protocol documentation.
343 - Add m_sendbans extension, SENDBANS command to propagate xlines and resvs
345 - Add chm_sslonly extension, cmode +S for SSL/TLS only channels.
346 - Add chm_operonly extension, cmode +O for IRCop only channels.
347 - Add chm_adminonly extension, cmode +A for server admin only channels.
348 - Various code cleanups.
352 - Fix a crash on certain recent versions of Ubuntu.
353 - Allow
127.x.y.z for DNSBL replies instead of just
127.0.0.x.
354 - Various documentation improvements.
359 - Fix rejectcache and unknown_count.
361 - Fix ident for SSL/TLS connections.
362 - Fix SSL/TLS bugs for servers with more than about
100 connections.
367 - Improve OLIST extension error messages.
368 - Improve some kline error checking.
369 - Avoid timing out clients if we are still waiting for a DNSBL lookup.
370 - Fix resolver hangs with epoll.
371 - Fix compilation without zlib.
375 - Fix occasional hung clients with kqueue.
376 - Fix a rare ssld crash.
377 - Fix a bug that could cause incorrect connect failure reasons to be
379 - Make the IRCd work on MacOS X again.
383 - Port the IRCd to libratbox, which has improved our portability and allows
384 us to reuse low-level code instead of maintaining our own.
385 - Change configuration of maximum number of clients to ircd-ratbox
3 way.
386 - Add adminwall from ircd-ratbox, as an extension.
387 - Add client and server-to-server SSL, read example.conf for setup.
388 - Replace servlink with ssld (also for ziplinks).
389 - A new extban, $z, has been added for ssl users (extensions/extb_ssl.so).
390 - A new compatibility channel mode, +R, has been added, it sets
391 +q/-q $~a (extensions/chm_operonly_compat.so). This is similar to
392 the +R seen in ircd-seven.
393 - A new compatibility channel mode, +S, has been added, it sets
394 +b/-b $~z (extensions/chm_sslonly_compat.so).
395 - A new compatibility channel mode, +O, has been added, it sets
396 +iI/-iI $o (extensions/chm_operonly_compat.so).
397 - Add remote D:lines. Note that these are not enabled by default.
398 - Remove EFnet-style G:lines. Noone appears to use these.
399 - Remove idle time checking (auto disconnecting users idle too long).
400 - Display a notice to clients when the IRCd is shut down using SIGTERM.
401 - Some error messages have been clarified to enhance usability.
402 - Close the link to servers that send invalid nicks (e.g. nicklen mismatches).
403 Formerly the users were killed from the network.
404 - Enable topicburst by default in connect{}.
405 - Fix a potential desync which can happen with oper override.
406 - Remove "deopped" flag (TS5 legacy).
407 - Use
127.0.0.1 as nameserver if none can be found in /etc/resolv.conf.
408 - Only accept
127.0.0.x as a dnsbl listing.
409 - Change cloaking module (same as
2.2.1, different from
2.2.0).
410 - Make some more server notices about failed remote connect attempts
412 - Make some server notices about flooders and TS delta network wide.
413 - Remove redundant "<server> had been connected for <time>" server notice.
414 - Add resv oper privilege to control /resv, /unresv and cmode +L and +P,
416 - Add mass_notice oper privilege to control global notices and /wallops,
418 - Rework unkline/undline/unxline/unresv so they show the exact item removed
419 and do not rehash bans.
420 - Show opers a list of recently (<
24hrs) split servers in /map.
421 - Add /privs command, shows effective privileges of a client.
425 - The I/O code has been reworked, file descriptor metadata is stored in a
426 hashtable and the maximum number of clients can now be set in ircd.conf.
427 - Improve error checking and error messages for kline/dline/xline/resv files.
428 - Allow kline ipv6:address, unkline some.host and unkline ipv6:address
430 - Add accountability (wallops, log) to OKICK extension.
431 - Add opernick to OPME/OMODE/OJOIN log messages.
432 - Add use_forward option, allows disabling cmode +fFQ and umode +Q.
433 - Add keyword substitution to DNSBL reasons, making it possible to show
434 things like the user's IP address in the reason.
435 - Use sendto_one_notice() more.
436 - Server notices about kills now include the victim's nick!user@host instead
438 - Include real hostname in Closing Link message for unknown connections
439 that have sent USER, in particular banned users.
440 - Add some documentation about the SASL client protocol.
441 - Change spambot, flooder and jupe joiner notices from host to orighost.
442 - Remove the last remains of server hostmasking (this made it possible to
443 have multiple servers with similar names appear as a single server).
444 - Keep bitmasks of modularized umodes reserved forever to the letter,
445 avoiding problems when reloading umode modules in a different order.
447 - Update to the new revision (v8) of the TS6 spec, this fixes problems with
448 joins reversing certain mode changes crossing them. This interoperates
450 - Put "End of Channel Quiet List" at the end of +q lists.
451 - Fix invisible count getting desynched from reality if the act of opering
453 - Don't leak auth{} spoofed IP addresses in +f notices.
454 - Shorten quit/part/kick reasons to avoid quit reasons overflowing the
455 client exiting server notice (from TOPICLEN to
260).
456 - Fix some cases where
10 char usernames lose their final character.
457 - Move username check after xline and dnsbl checks, so it will not complain
458 to opers about clients who are xlined or blacklisted anyway (both of
459 which silently reject).
460 - Remove invite_ops_only config option, forcing it to YES.
461 - Allow /invite (but not invex) to override +r, +l, +j in addition to +i.
462 - Add several new extensions, such as createoperonly.
463 - Merge whois notice extensions into one and move it from snomask +y to +W.
467 - Fix bug that could cause all hostmangled users to be exempted when a
468 single ban exception existed on a channel.
469 - Tweak \s code a little.
470 - Add a minor clarification to the SGML docs.
471 - Avoid truncation in ip_cloaking (by removing components on the other side).
472 Note that this may cause channel +bqeI modes set on such very long hosts
477 - Search the shortest list (user's/channel's) when looking up channel
479 - Make the SID-collision notice look right under all conditions.
480 - Move kills from services from +s to +k snomask.
481 - When no_tilde is present on an auth{} block, check the non-tilde version
482 of the user@host against k:lines as well.
483 - Put full reason in the SQUIT reason when a server is rejected for
484 insufficient parameters being passed to a command.
485 - Don't redirect users to an existing domain, irc.fi.
486 - Improve communication of servlink-related error messages.
490 - Our official website is now http://www.ircd-charybdis.org/.
491 - Make RPL_ISUPPORT (
005 numeric) modularizable.
492 - Also do forwarding if the channel limit (+l) is exceeded.
493 - Don't count opers on service{} servers in /lusers.
494 - Allow servers to send to @#chan and +#chan.
495 - Allow +S clients (services) to send to channels and @/+ channels always.
496 - Allow normal match() on IP address also in /masktrace.
497 - Add new testmask from ratbox
2.2. Allows matches on nick, ip and gecos
498 in addition to user and host, and is fully analogous to masktrace.
499 The numeric has changed from
724 to
727 and fields in it have changed.
500 - Show IP addresses to opers in /whowas.
501 - Add extb_extgecos extban option ($x:nick!user@host#gecos), from sorcery
503 - Add extb_canjoin extban option ($j:#channel), matches if the user is banned
504 from the other channel.
505 - Allow opers to /who based on realhost.
506 - Allow opers to /masktrace, /testmask based on realhost.
507 - Add general::operspy_dont_care_user_info, limits operspy accountability to
508 channel-related information.
509 - Make host mangling more reliable.
510 - Prevent ban evasion by enabling/disabling host mangling.
511 - Add EUID, sends real host and services account in the same command as other
513 - Make it possible to send CHGHOST without ENCAP (fixes problems with old
515 - Allow service{} servers to manipulate the nick delay table (for "nickserv
516 enforcement", aka SVSHOLD).
517 - Send server notices about connections initiated by remote opers network wide.
518 - Fix too early truncation of JOIN channel list.
519 - Make the newconf system available to modules.
520 - Add /stats s to the hurt module to list active hurts.
521 - Add general::servicestring, shown in /whois for opered services (+oS).
522 - Show real host/IP behind dynamic spoof in /whois to the user themselves
524 - Document option to disable nick delay.
525 - Improve logging of server connections.
526 - Clean up handling of hostnames in connect blocks.
527 - Remove support for resolving ip6.int, people should be using ip6.arpa.
528 - Unbreak --disable-balloc (useful for debugging with tools like valgrind).
529 - Make Solaris
10 I/O ports code compile.
530 - Add WEBIRC module to allow showing the real host/IP of CGI:IRC users.
531 - Comment out blacklist{} block in example confs, as AHBL requires
532 notification before use.
533 - Fix some bugs relating to the resolver.
537 - Replace ADNS with a new smaller resolver from ircu and hybrid.
538 - Make services shortcuts (/chanserv etc) configurable in ircd.conf.
539 - Add extban: extensible +bqeI matching via modules. Syntax is
540 $<type>[:<data>]. By default no modules are loaded.
541 - Add DNS blacklist checking.
542 - Change operator{} block user@host from host to orighost. This means that
543 services/+h spoofs do not work in operator{} blocks; auth{} spoofs still
544 work. Check your operator{} blocks!
545 - Split contrib/ into extensions/ and unsupported/.
546 - Change CHGHOST do show the change to all other clients on common channels
548 - Add /rehash nickdelay to clear out the nickdelay tables.
549 - Glines are now disabled in the example confs.
550 - Show more error messages on stderr.
551 - Add OMODE command to extensions/ for easier oper mode hacking.
552 - Add HURT system to extensions/; this shuns clients matching certain host/ip
553 unless and until they identify to services. Mainly intended for SorceryNet.
554 - Show SASL success and failure counts in /stats t.
555 - Allow more frequent autoconnects to servers.
556 - Messaging services by nickname no longer uses target change slots.
557 - Only accept SASL from servers in a service{} block.
558 - New auth{} flag need_sasl to reject users who haven't done SASL
560 - Expand blah.blah and blah:blah to *!*@... instead of ...!*@* for bans
561 - Don't allow opers to fake locops/operwall to +w.
562 - Documentation updates.
567 - Implement SAFELIST.
568 - Incorporate ircu's match() algorithm.
569 - Improve usermode modularization.
570 - Seperate server notices into a seperate snomask, freeing up many
571 usermodes to be used.
572 - Add support for SIGNON originating from Hyperion2.
573 - Modularize many server notices into seperate modules.
574 - Add hooks for can_join and can_create_channel.
575 - Add support for SASL authentication.
576 - Add introduce_user hook for adding new messages when a user is bursted.
577 - Move a large part of the ircd into libcharybdis.
578 - Don't complain "unknown user mode" if a user tries to unset
579 a mode they do not have access to.
580 - Update our challenge specification to the challenge implementation in
581 ratbox
2.2 for interoperability.
582 - Make +f notices network-wide (local host, global host,
583 global user@host, local class), other notices tied to +f remain local.
584 - Allow ENCAP REALHOST outside of netburst.
585 - Add general::global_snotices option to make server notices be
587 - Add sno_farconnect.c to contrib, provides farconnect support.
588 Could be useful for BOPM.
589 - Add sno_routing.c which displays information about netsplits, netjoins
590 and the clients affected by them.
591 - Add CHANTRACE and TRACEMASK commands from ratbox
3.0
592 - Use IsOperAdmin() instead of IsAdmin() when sending admin-only messages,
593 that way hidden admins get them too.
594 - Add m_error to core_module_table, somehow it was missing.
595 - Correct a format string bug that occurs when a read error is
597 - Add some logging in places where we drop servers and only notify
599 - Track hostmask limits based on a client's original host, if
601 - Move HIDE_SPOOF_IPS into the general {} block in ircd.conf
605 - Fix /invite UID leak. (Found by logiclrd@EFnet.)
606 - Incorporate ratbox bugfixes for the MONITOR system.
607 - Made show_ip() less braindead.
608 - Show real errno if we fail to connect to a server.
609 - Don't disclose server IP's when a connection fails.
610 - Do not show the channels a service is sitting in.
611 - Reverted the aline code from hybrid-
7.2
612 - Make sure TS6 services are recognized properly if connected remotely.
613 - Tweak something in services support for cyrix boxes.
617 - Fix propagation of an empty SJOIN (permanant channels).
618 - Fix an exploit involving a malformed /trace request.
619 - Don't display a blank RPL_WHOISCHANNELS in a remote whois request.
620 - Allow modules to provide new usermodes.
621 - On a nickname collision, change the collided nick to their unique ID,
622 if general::collision_fnc is enabled in the config.
623 - Don't allow UID lookups in /monitor + and /monitor s
624 - Fix a garbage issue with channel mode +j.
625 - Apply proper capability flags to the proper server in me_gcap().
626 - Use find_named_person() instead of find_person() in a nick collision.
627 - Prevent UID disclosure in cmode setting.
628 - Prevent UID disclosure to remote clients in /kick.
629 - Do not allow users to query via /whois <server> <UID>.
630 - Don't allow local users to use UID's in local usermode changes.
631 - Propagate +q lists on netjunction.
632 - Clear +q lists on a lowerTS SJOIN.
633 - Ported a generic k/d/x-line parser from hybrid-
7.2 which resulted in
634 duplicate code reduction.
635 - Fix linebuf raw code to not truncate lines longer than
512 bytes;
636 improves ziplink reliability on net junction.
637 - Use find_named_person() vs find_person() in services alias code.
638 - Fix issue where channel forwarding token can be lost on net junction.
639 - Fix empty channel desync issues involving +P.
640 - Remove unused non-ENCAP CHGHOST support.
641 - Use TS6 form for SQUIT wallops.
642 - Propagate nickname changes for remote clients in TS6 form if possible,
643 even if sent in TS5 format.
644 - Only clear oper_only_umodes for local clients on deoper.
648 - Display logged in status on non-local clients too.
649 - Documentation updates
650 - Fix a bug with forward target authorization.
651 - Fix a bug with mode propagation (+Q/+F).
652 - Change ERR_NOSUCHNICK to ERR_SERVICESOFFLINE in services aliases.
653 - Add remote rehashing.
654 - Document service { } blocks (u:lines on ircu).
655 - Document identify_service and identify_command in reference.conf.
659 - Implement channel mode +L for channel list limit exemptions.
660 - Implement channel mode +P primarily as a status mode, permanant
661 channel -- this is usually enforced via services registrations.
662 - Change behaviour of /stats p: now displays all staff members instead
664 - Make oper_list global, add local_oper_list for local traffic.
665 - Strip control codes from parts and quits.
666 - Add channel mode +c which strips control codes from messages sent to
668 - Add channel mode +g which enables free use of the /invite command.
669 - Add channel mode +z which sends rejected messages to channel ops.
670 Could be useful for Q&A sessions or other similar events.
671 - Add channel quietmasks. These are recommended over the use of channel
672 bans used to remove a user's ability to participate in the channel.
673 - Add channel join throttling mode, +j. Used to throttle channel join
674 traffic, i.e. join/part flood attacks. Syntax: +j <joins>:<timeslice>
675 - Improvements to channel_modes(), from shadowircd -- allows for
676 better construction of the mode string.
677 - Use the undernet throttle notice instead of bancache message when
678 dealing with rejected clients. (stolen from ircu2.10
.12)
679 - Add channel forwarding, via channel mode +f, behaves similarly to
681 - Update example.conf to reflect AthemeNET changes. Original ratbox
682 config is now reference.conf.
683 - Services account names are now tracked globally.
684 - Add channel mode +Q which disables the effects of channel forwarding
685 on a temporary basis.
686 - Add channel mode +F which allows anybody to disable forwarding target
687 authorisation, voluntarily on their channels.
688 - Make wallops behave like normal wallops.
689 - Add services aliases: /ns, /cs, /os, /nickserv, /chanserv, /operserv.
690 - Add simple hack that enables use of server password for automatic