]> jfr.im git - irc/rqf/shadowircd.git/blob - NEWS
ShadowIRCd 6.3.2.1
[irc/rqf/shadowircd.git] / NEWS
1 This is ShadowIRCd 6.3, Copyright (c) 2005-2011 ShadowIRCd team.
2 See LICENSE for licensing details (GPL v2).
3
4 -- shadowircd 6.3.2.1
5
6 bugfixes
7 - Fix small buildsystem regressions introduced in shadowircd 6.3.2
8
9 -- shadowircd 6.3.2
10
11 bugfixes
12 - Fix ACTIONs working on a channel when cmode +G (blockcaps) is set.
13 other
14 - Do some things the git was as we've switched to git as our VCS since 6.3.1.
15 - Add support for proper system-wide installability.
16 - Add a few simple helper scripts for irssi, WeeChat and XChat to add a /OHELP
17 command which makes it far easier to view ShadowIRCd help on clients that use
18 /HELP for their own uses.
19
20 -- shadowircd 6.3.1
21
22 bugfixes
23 - When setting/unsetting cmode +M, wallops are only sent once, globally,
24 not for every server on the network where the mode change happens.
25 - Don't allow +Z to be set by default_umodes.
26 - Cope with OPENSSL_VERSION_NUMBER not being a long. This is the case on
27 very new FreeBSD versions.
28 - Disallow mIRC italics in channel names when disable_fake_channels is in use.
29 - Allow kick_on_split_riding to protect channels with mlocked keys.
30
31 -- shadowircd-6.3.0
32
33 new modes
34 - channelmode 'N' has been moved to 'd' to allow for m_roleplay and
35 specifically, compatibility with the charybdis m_roleplay.
36
37 new modules
38 - m_roleplay: New extension allowing many roleplay commands. Individual
39 channels can disable this by setting channelmode +N on their channels.
40
41 configuration
42 - use auth::auth_user for SASL. It is no longer usable in PASS (though its
43 use-case there is non-existant), but you can now set so if a user
44 successfully authenticates to the accountname in auth_user with SASL,
45 they will get the proper auth block privs. You can have multiple auth_users
46 in one auth block.
47 - you can now specify a SSL fingerprint that the remote server must have in
48 order to link.
49
50 opers
51 - wallops are now sent upon setting or unsetting of +M or any other hidden
52 channelmode.
53 - /LIST now has operspy support. You can see all channels (including secret
54 channels) with /LIST ! or /LIST !#target. OLIST still exists and can be
55 used as well. OLIST will also show channelmodes whereas LIST will not.
56
57 users
58 - /LIST can now be constrained by topic TS and channel TS.
59
60 code
61 - native support for SHA256, SHA512 and Blowfish added everywhere.
62 - many small improvements and bugfixes.
63
64
65 -- shadowircd-6.2.0
66
67 configuration
68 - add channel::hide_channel_below_users - Channels with a user count lower
69 than the value of this option will not be shown by default in /LIST.
70 - add channel::admin_on_channel_create - If enabled, gives users creating
71 new channels +ao in that channel instead of just +o.
72 - add channel::disabledmodes - This allows opers to disallow users from
73 using certain channelmodes. This is only read on startup and your services
74 and remote servers must be configured the same otherwise desyncs will occur.
75 - add many services aliases for new Atheme services.
76 opers
77 - when users get hit by a DNSBL, this is now shown in the snotes.
78 other
79 - change kicknorejoin to not be a config option and be hardcoded to 2 seconds
80 because a longer time is kind of pointless.
81 - Many new features and improvements from charybdis 3.3.0. See below for
82 information about all that.
83 code
84 - many bugfixes and various cleanups.
85
86 -- charybdis-3.3.0
87
88 server protocol
89 - Add new BAN command, for propagated network-wide bans (K/X:lines and RESVs).
90 These will burst to new servers as they are introduced, and will stay in sync
91 across the whole network (new BAN capab).
92 - Add new MLOCK command, to implement ircd-side channel mode locks. This allows
93 services to send out a list of mode letters for a given channel which may not
94 be changed, preventing mode fights between services and client bots (new MLOCK
95 capab).
96 user
97 - New RPL_QUIETLIST(728) and RPL_ENDOFQUIETLIST(729) numerics are used for the
98 quiet (+q) list, instead of overloading the ban list numerics.
99 - Users may no longer change the topic of a -t channel if they cannot send to
100 it.
101 - Add help for EXTBAN, describing the syntax of extended bans in general, as
102 well as the most common types.
103 - Changed AWAY messages are now propagated to other servers. Previously, AWAY
104 was only propagated when the user was not already away.
105 - Channel mode +c (and other places that disallow colour codes) now also strip
106 ASCII 29 (mIRC 7 italics).
107 - Add auto-accept for user mode +g (callerid): Messaging a user while set +g
108 will automatically add them to your accept list.
109 - Add target change for channels. It applies to unopped, unvoiced and unopered
110 users. This has the effect of stopping spambots which join, message and part
111 many channels at a time.
112 - Show RPL_WHOISLOGGEDIN in /whowas as well as in /whois entries. This adds at
113 most an additional 0.5MB of memory usage.
114 oper
115 config
116 - Add general::use_propagated_bans to switch the new BAN system on or off.
117 - Add general::default_ident_timeout, to control the timeout for identd (auth)
118 connections.
119 - Add channel::channel_target_change to switch the new channel target change limits
120 on or off.
121 - Fix class::number_per_ident so that it also applies to connections without
122 identd.
123 - Change the example sslport option to 6697, which is more standard than 9999.
124 misc
125 - The custom channel mode API has been rewritten, allowing these modules to work
126 correctly when reloaded, or loaded from the config file.
127 - The EFNet RBL is now recommended, instead of DroneBL.
128 - Remove the unsupported modules directory.
129 - Numerous bug fixes and code cleanups.
130 - In mkpasswd, default to MD5 crypt instead of insecure DES.
131
132 -- shadowircd-6.1.0
133
134 new configuration options
135 - general::static_quit - Quit message to display for all users (not opers).
136 - general::no_part_messages - If this option is set to no, the ircd will not
137 display PART messages/reasons from users.
138 - general::true_no_oper_flood - Turns off *ALL* flood protection for opers.
139 Instead of command flooding being 4x what it is for a user with no_oper_flood,
140 there is no limit at all. This option also allows opers to flood channels/users
141 so if you do set it, be extremely careful.
142 - serverinfo::helpchan and helpurl - These are 2 config options that tell users,
143 when they do /quote help (with no extra parameters) the official network help
144 channel and a special URL for help. If these options are disabled, the users
145 will just get the help index and that's it on /quote help.
146 - general::default_ident_timeout - Allows you to set the default ident timeout
147 in the ircd.conf instead of it being hardcoded and only settable with /SET.
148
149 new commands
150 - CYCLE #channel - server-side CYCLE, also called HOP in some clients/servers.
151 Parts the user from the given channel, then joins them to it immediately after.
152 Enabled by loading extensions/m_cycle.
153
154 opers
155 - Override no longer alows overriding opers to talk through +q, +m, etc.
156 If you need to talk through one of these modes, its recommended to remove
157 the offending mode or give yourself voice/ops.
158 - OLIST now shows channel modes so opers can easily see which channels are
159 +s and see which channels have oper-only channel modes set.
160 - RESTART and DIE now can be executed remotely. See the appropriate helpfiles
161 for details.
162 - All module management commands (MODLOAD, MODLIST, MODUNLOAD, MODRELOAD and
163 MODRESTART) can be executed remotely. See the appropriate helpfile for
164 details.
165 - OMODE can now set and unset +ah.
166 - OJOIN now works with !#channel and %#channel.
167 - Staff channelmodes (+AO) now require chanops to set.
168 - OPERHOST option added to SET. You can now use SET to change the default
169 operhost that operators get upon opering up, though like the
170 general::default_operhost config option it will not override the
171 operator::vhost config option.
172
173 other
174 - Added a strip_unprintable function to make evasion of cmodes +G and +K
175 less trivial.
176 - Massive helpfile updates.
177 - Added SVSJOIN s2s command. This allows things like atheme's ns_ajoin
178 to work on shadowircd.
179 - Added BAN stuff (propogated bans on burst) from charybdis trunk. This
180 can be disabled and the old behavior can be used by setting the
181 general::use_propogated_bans option to no.
182 - The --enable-small-net configure option is now enabled by default.
183 If you wish to disable small net mode, pass --disable-small-net to
184 configure.
185 - New channel mode adding API has been added from charybdis trunk.
186 - NOTICE/PRIVMSG @#channel and +#channel now go to admin/halfop as well
187 as chanop.
188
189 -- shadowircd-6.0.0
190
191 new modes
192 - Add umode +C (no CTCP).
193 - Add umode +V, users with this mode set will never recieve channel invites
194 from other users.
195 - Add umode +B which identifies users as being bots in /whois.
196 - Add umode +G which disallows users from messaging you unless you're both
197 on at least one channel together. This can be "overridden" with /accept.
198 - Add cmode +T which blocks all notices to the channel.
199 - Add cmode +D which blocks all actions (/me's) from being sent to the channel.
200 - Add cmode +E which disallows channel ops from kicking users.
201 - Add cmode +N which disallows users from changing their nick while they're on
202 a channel with this mode set.
203 - Add cmode +K (norepeat) which will block repeated messages, regardless of
204 who they're from.
205 - Add cmode +G which blocks messages containing 50% or more capital letters
206 from being sent to the channel.
207 - Add cmode +J which disallows a kicked user from rejoining within 'X' seconds
208 of them being kicked, where 'X' is the variable of the channel::kick_no_rejoin_time
209 configuration option.
210 - Add cmodes +a and +h (admin and halfop, respectively). There are 2 extra
211 prefixes to more finely-grain the status of staff members in your channels.
212 They can be enabled or disabled in the configuration file with the options
213 channel::use_halfop and channel::use_admin.
214
215 new configuration options
216 - auth::autojoin - This option will specify what channels users in a matching
217 auth {} block will automatically join on connect to your server/network.
218 - auth::autojoin_opers - This option will specify what channels opers in a
219 matching auth {} block will automatically join on oper up (/oper).
220 - channel::cycle_host_change - This option defines whether or not users
221 will cycle (part and rejoin) the channels they're in when their host changes.
222 This can be annoying to some people, but disabling it can cause client desyncs.
223 - channel::host_in_topic - This option defines whether or not a host setter's
224 full host or just their nick will be shown on /TOPIC.
225 - channel::use_local_channels - With this option, you can enable/disable
226 support for local channels on your server/network.
227 - channel::exemptchanops - This option defines what channel modes channel
228 operators are exempt from, channel modes usable in this option are: cCDTNGK.
229 - general::secret_channels_in_whois - This option defines whether or not opers
230 can see secret channels that a user is in when whoising them. Secret channels
231 will show up in the whois prefixed with *. If this option is disabled, opers
232 will still be able to see secret channels a user is in with the /SPYWHOIS
233 command.
234 - Enabled a few popular extensions by default, added a few extensions to the
235 example config files that were missing, add a few more services aliases
236 by default, enable ip_cloaking by default and get rid of all the old
237 ip_cloaking modules.
238
239 opers
240 - Users' umodes are shown when you whois them.
241 - swhois support - Adds a mostly free-form line of text to opers' whois
242 if one is set in their operator {} block.
243 - custom operstring - Instead of showing the IRC operator or IRC administrator
244 oper strings, you can customize what it shows in each oper's operator {}
245 block.
246 - host-on-oper - Give a vhost to operators upon oper up. Can be defined
247 generally, then the general option may be overridden by each operator {}
248 block.
249 - operoverride - Oper override works very differently in ShadowIRCd compared
250 to all other IRCd's which support oper override. In ShadowIRCd, to be able
251 to override, you must have the oper:override privledge and you must then
252 set umode +p on yourself. The p umode will automatically expire and un-set
253 itself after a time set in the configuration option general::expire_override_time.
254 - immune - Adds cmode +M. Opers can set this on a channel (even if they don't
255 have ops) without the channel's ops or other users seeing (only opers see
256 this mode at all.) It disallows anyone in the channel from kicking opers.
257 - OACCEPT/callerid override - In ShadowIRCd 6, opers no longer can simply PM
258 users that have umodes +g or +G set and the oper is not on their accept list.
259 To allow opers to still be able to PM users in this situation, OACCEPT has been
260 added. OACCEPT is a new extension that enables the command /oaccept <user>
261 which adds a piece of metadata to that use which will allow you to PM them.
262
263 other
264 - Changed default NICKLEN to 31 (from 15) to fit more closely with other
265 IRCd's.
266 - Rebrand many things from Charybdis to ShadowIRCd.
267 - Move the m_force module to extensions.
268 - Add a metadata framework. Currently used for swhois, custom operstring,
269 OACCEPT, cmode +J, cmode +K.
270
271 -- charybdis-3.2.0
272
273 server protocol
274 - Apply +z to messages blocked by +b and +q as well. (new EOPMOD capab)
275 - Add new topic command ETB, allowing services to set topic+setter+ts always.
276 (new EOPMOD capab)
277 - The slash ('/') character is now allowed in spoofs.
278 user
279 - Add can_kick hook, based on the ircd-seven one.
280 - Add cmode +C (no CTCP) from ircd-seven.
281 - Flood checking has been reworked.
282 - Fix op-moderate (cmode +z) for channel names with '@'.
283 - Add CERTFP support, allowing users to connect with an SSL client
284 certificate and propagating the certificate fingerprint to other servers.
285 Services packages can use this to identify users based on client
286 certificates.
287 - Maintain the list of recently used targets (for the target change
288 anti-spam system) in most-recently-used order, overwriting the least
289 recently used target with a new one. This should be friendlier to users
290 without giving spambots anything.
291 - Do not require target change slots for replying to the last five users to
292 send a private message, notice or invite.
293 - Apply target change restrictions to /invite.
294 - Apply umode +g/+R restrictions to /invite, with the difference that
295 instead of sending "<user> is messaging you" the invite is let through
296 since that is just as noisy.
297 oper
298 - Add /rehash throttles to clear throttling.
299 - Send all server notices resulting from a remote /rehash to the oper.
300 - '\s' for space is now part of the matching, not a substitution at xline
301 time, fixing various issues with it.
302 - Display o:line "nickname" in oper-up server notices.
303 - Fix sendq exceeded snotes for servers.
304 - SCAN UMODES: default list-max to 500, like a global WHO.
305 - Ignore directory names in MODRELOAD to avoid crashing if it is a core
306 module and the path is incorrect.
307 - Tweaks to spambot checks.
308 config
309 - Add channel::only_ascii_channels config option to restrict channel names
310 to printable ascii only.
311 - Add channel::resv_forcepart, forcibly parts local users on channel RESV,
312 default enabled.
313 misc
314 - New mkpasswd from ircd-ratbox.
315 - Check more system calls for errors and handle the errors.
316 - Various ssld/libratbox bugfixes from ircd-ratbox. [some MERGED]
317 - Fix fd passing on FreeBSD/amd64 and possibly Solaris/sparc. [MERGED]
318 - Various documentation improvements. [some MERGED]
319 - Fix some crash issues. [MERGED]
320 - Add bandb from ircd-ratbox, which stores permanent dlines/klines/xlines/resvs
321 in an sqlite database instead of a flatfile and does the storage in a
322 helper process.
323
324 -- charybdis-3.1.0
325
326 - Remove TS5 support. No TS5 servers are permitted in a network with
327 charybdis 3.1.0 or newer, except jupes.
328 - Replace oper flags by privilege sets (privsets). This adds an extra
329 level of indirection between oper flags and operator blocks. /stats O
330 (capital O) shows the configured privsets.
331 - Update libratbox and ssld from upstream and use it better.
332 - Add auth_user to auth{}. This allows specifying a username:password instead
333 of just a password in PASS, so that a fixed user@host is not necessary
334 for a specific auth{} block.
335 - Add need_ssl to auth{} and operator{}. This makes these blocks reject
336 the user if not connected via SSL.
337 - Allow modules to provide simple channel modes without parameter.
338 - Remove restrictions on CNAME in the resolver.
339 - Make the resolver remember nonresponsive nameservers.
340 - Move nick collision notices from +s to +k.
341 - Add additional information to various server notices about server
342 connections.
343 - Show throttle information in /stats t.
344 - Show rejectcache and throttle information in /testline.
345 - Show oper reason in /testline.
346 - Allow opers to see other users' umodes with /mode <nick>.
347 - SCAN UMODES GLOBAL NO-LIST MASK <mask> is no longer an operspy command.
348 - Also apply floodcount to messages to remote clients (except services).
349 - Remove user@server messages to local users. Sending such messages to
350 remote servers is still possible, for securely messaging pseudoservers
351 whether service{}'ed or not. The special oper-only syntax opers@server
352 remains as well.
353 - Allow /list on a named +p channel. A full /list already included +p channels.
354 - Add operspy /topic.
355 - For remote rehashes, send error messages to the requesting oper as well.
356 - Disable autoconnect for a server with excessive TS delta.
357 - Disallow invites to juped channels.
358 - Warn about certain duplicate and redundant auth blocks.
359 - Make PRIVMSG/NOTICE behave as CPRIVMSG/CNOTICE automatically if possible.
360 - Allow +z messages from outside if a channel is -n.
361 - Allow coloured part reasons in -c channels.
362 - Add ircu-like WHOX support. This allows requesting specific information
363 in /who and allows obtaining services login name for all users in a
364 channel. XChat/Conspire use WHOX to update away status more efficiently.
365 - Allow opers and shide_exempt users to see hopcounts even if flatten_links
366 is on.
367 - Rework ip_cloaking.
368 - Add the IP address to userlog, as in ircd-ratbox 3.0.
369 - Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
370 - Allow using ziplinks with SSL connections. This is not as efficient as
371 using OpenSSL's built in compression, but also works with older versions
372 of OpenSSL.
373 - Fix an off by one error with zipstats processing, which could overwrite
374 a variable with NULL causing a crash on some systems.
375 - Document some extensions in charybdis-oper-guide.
376 - Add more server protocol documentation.
377 - Add m_sendbans extension, SENDBANS command to propagate xlines and resvs
378 manually.
379 - Add chm_sslonly extension, cmode +S for SSL/TLS only channels.
380 - Add chm_operonly extension, cmode +O for IRCop only channels.
381 - Add chm_adminonly extension, cmode +A for server admin only channels.
382 - Various code cleanups.
383
384 -- charybdis-3.0.4
385
386 - Fix a crash on certain recent versions of Ubuntu.
387 - Allow 127.x.y.z for DNSBL replies instead of just 127.0.0.x.
388 - Various documentation improvements.
389
390 -- charybdis-3.0.3
391
392 - Fix IPv6 D:lines
393 - Fix rejectcache and unknown_count.
394 - Fix genssl.sh.
395 - Fix ident for SSL/TLS connections.
396 - Fix SSL/TLS bugs for servers with more than about 100 connections.
397 - Small bugfixes.
398
399 -- charybdis-3.0.2
400
401 - Improve OLIST extension error messages.
402 - Improve some kline error checking.
403 - Avoid timing out clients if we are still waiting for a DNSBL lookup.
404 - Fix resolver hangs with epoll.
405 - Fix compilation without zlib.
406
407 -- charybdis-3.0.1
408
409 - Fix occasional hung clients with kqueue.
410 - Fix a rare ssld crash.
411 - Fix a bug that could cause incorrect connect failure reasons to be
412 reported.
413 - Make the IRCd work on MacOS X again.
414
415 -- charybdis-3.0.0
416
417 - Port the IRCd to libratbox, which has improved our portability and allows
418 us to reuse low-level code instead of maintaining our own.
419 - Change configuration of maximum number of clients to ircd-ratbox 3 way.
420 - Add adminwall from ircd-ratbox, as an extension.
421 - Add client and server-to-server SSL, read example.conf for setup.
422 - Replace servlink with ssld (also for ziplinks).
423 - A new extban, $z, has been added for ssl users (extensions/extb_ssl.so).
424 - A new compatibility channel mode, +R, has been added, it sets
425 +q/-q $~a (extensions/chm_operonly_compat.so). This is similar to
426 the +R seen in ircd-seven.
427 - A new compatibility channel mode, +S, has been added, it sets
428 +b/-b $~z (extensions/chm_sslonly_compat.so).
429 - A new compatibility channel mode, +O, has been added, it sets
430 +iI/-iI $o (extensions/chm_operonly_compat.so).
431 - Add remote D:lines. Note that these are not enabled by default.
432 - Remove EFnet-style G:lines. Noone appears to use these.
433 - Remove idle time checking (auto disconnecting users idle too long).
434 - Display a notice to clients when the IRCd is shut down using SIGTERM.
435 - Some error messages have been clarified to enhance usability.
436 - Close the link to servers that send invalid nicks (e.g. nicklen mismatches).
437 Formerly the users were killed from the network.
438 - Enable topicburst by default in connect{}.
439 - Fix a potential desync which can happen with oper override.
440 - Remove "deopped" flag (TS5 legacy).
441 - Use 127.0.0.1 as nameserver if none can be found in /etc/resolv.conf.
442 - Only accept 127.0.0.x as a dnsbl listing.
443 - Change cloaking module (same as 2.2.1, different from 2.2.0).
444 - Make some more server notices about failed remote connect attempts
445 network wide.
446 - Make some server notices about flooders and TS delta network wide.
447 - Remove redundant "<server> had been connected for <time>" server notice.
448 - Add resv oper privilege to control /resv, /unresv and cmode +L and +P,
449 enabled by default.
450 - Add mass_notice oper privilege to control global notices and /wallops,
451 enabled by default.
452 - Rework unkline/undline/unxline/unresv so they show the exact item removed
453 and do not rehash bans.
454 - Show opers a list of recently (<24hrs) split servers in /map.
455 - Add /privs command, shows effective privileges of a client.
456
457 -- charybdis-2.2.0
458
459 - The I/O code has been reworked, file descriptor metadata is stored in a
460 hashtable and the maximum number of clients can now be set in ircd.conf.
461 - Improve error checking and error messages for kline/dline/xline/resv files.
462 - Allow kline ipv6:address, unkline some.host and unkline ipv6:address
463 without *@.
464 - Add accountability (wallops, log) to OKICK extension.
465 - Add opernick to OPME/OMODE/OJOIN log messages.
466 - Add use_forward option, allows disabling cmode +fFQ and umode +Q.
467 - Add keyword substitution to DNSBL reasons, making it possible to show
468 things like the user's IP address in the reason.
469 - Use sendto_one_notice() more.
470 - Server notices about kills now include the victim's nick!user@host instead
471 of just nick.
472 - Include real hostname in Closing Link message for unknown connections
473 that have sent USER, in particular banned users.
474 - Add some documentation about the SASL client protocol.
475 - Change spambot, flooder and jupe joiner notices from host to orighost.
476 - Remove the last remains of server hostmasking (this made it possible to
477 have multiple servers with similar names appear as a single server).
478 - Keep bitmasks of modularized umodes reserved forever to the letter,
479 avoiding problems when reloading umode modules in a different order.
480 - Fix -logfile.
481 - Update to the new revision (v8) of the TS6 spec, this fixes problems with
482 joins reversing certain mode changes crossing them. This interoperates
483 with older versions.
484 - Put "End of Channel Quiet List" at the end of +q lists.
485 - Fix invisible count getting desynched from reality if the act of opering
486 up sets -i or +i.
487 - Don't leak auth{} spoofed IP addresses in +f notices.
488 - Shorten quit/part/kick reasons to avoid quit reasons overflowing the
489 client exiting server notice (from TOPICLEN to 260).
490 - Fix some cases where 10 char usernames lose their final character.
491 - Move username check after xline and dnsbl checks, so it will not complain
492 to opers about clients who are xlined or blacklisted anyway (both of
493 which silently reject).
494 - Remove invite_ops_only config option, forcing it to YES.
495 - Allow /invite (but not invex) to override +r, +l, +j in addition to +i.
496 - Add several new extensions, such as createoperonly.
497 - Merge whois notice extensions into one and move it from snomask +y to +W.
498
499 -- charybdis-2.1.2
500
501 - Fix bug that could cause all hostmangled users to be exempted when a
502 single ban exception existed on a channel.
503 - Tweak \s code a little.
504 - Add a minor clarification to the SGML docs.
505 - Avoid truncation in ip_cloaking (by removing components on the other side).
506 Note that this may cause channel +bqeI modes set on such very long hosts
507 to no longer match.
508
509 -- charybdis-2.1.1
510
511 - Search the shortest list (user's/channel's) when looking up channel
512 memberships.
513 - Make the SID-collision notice look right under all conditions.
514 - Move kills from services from +s to +k snomask.
515 - When no_tilde is present on an auth{} block, check the non-tilde version
516 of the user@host against k:lines as well.
517 - Put full reason in the SQUIT reason when a server is rejected for
518 insufficient parameters being passed to a command.
519 - Don't redirect users to an existing domain, irc.fi.
520 - Improve communication of servlink-related error messages.
521
522 -- charybdis-2.1.0
523
524 - Our official website is now http://www.ircd-charybdis.org/.
525 - Make RPL_ISUPPORT (005 numeric) modularizable.
526 - Also do forwarding if the channel limit (+l) is exceeded.
527 - Don't count opers on service{} servers in /lusers.
528 - Allow servers to send to @#chan and +#chan.
529 - Allow +S clients (services) to send to channels and @/+ channels always.
530 - Allow normal match() on IP address also in /masktrace.
531 - Add new testmask from ratbox 2.2. Allows matches on nick, ip and gecos
532 in addition to user and host, and is fully analogous to masktrace.
533 The numeric has changed from 724 to 727 and fields in it have changed.
534 - Show IP addresses to opers in /whowas.
535 - Add extb_extgecos extban option ($x:nick!user@host#gecos), from sorcery
536 modules.
537 - Add extb_canjoin extban option ($j:#channel), matches if the user is banned
538 from the other channel.
539 - Allow opers to /who based on realhost.
540 - Allow opers to /masktrace, /testmask based on realhost.
541 - Add general::operspy_dont_care_user_info, limits operspy accountability to
542 channel-related information.
543 - Make host mangling more reliable.
544 - Prevent ban evasion by enabling/disabling host mangling.
545 - Add EUID, sends real host and services account in the same command as other
546 user information.
547 - Make it possible to send CHGHOST without ENCAP (fixes problems with old
548 services).
549 - Allow service{} servers to manipulate the nick delay table (for "nickserv
550 enforcement", aka SVSHOLD).
551 - Send server notices about connections initiated by remote opers network wide.
552 - Fix too early truncation of JOIN channel list.
553 - Make the newconf system available to modules.
554 - Add /stats s to the hurt module to list active hurts.
555 - Add general::servicestring, shown in /whois for opered services (+oS).
556 - Show real host/IP behind dynamic spoof in /whois to the user themselves
557 and opers.
558 - Document option to disable nick delay.
559 - Improve logging of server connections.
560 - Clean up handling of hostnames in connect blocks.
561 - Remove support for resolving ip6.int, people should be using ip6.arpa.
562 - Unbreak --disable-balloc (useful for debugging with tools like valgrind).
563 - Make Solaris 10 I/O ports code compile.
564 - Add WEBIRC module to allow showing the real host/IP of CGI:IRC users.
565 - Comment out blacklist{} block in example confs, as AHBL requires
566 notification before use.
567 - Fix some bugs relating to the resolver.
568
569 -- charybdis-2.0.0
570
571 - Replace ADNS with a new smaller resolver from ircu and hybrid.
572 - Make services shortcuts (/chanserv etc) configurable in ircd.conf.
573 - Add extban: extensible +bqeI matching via modules. Syntax is
574 $<type>[:<data>]. By default no modules are loaded.
575 - Add DNS blacklist checking.
576 - Change operator{} block user@host from host to orighost. This means that
577 services/+h spoofs do not work in operator{} blocks; auth{} spoofs still
578 work. Check your operator{} blocks!
579 - Split contrib/ into extensions/ and unsupported/.
580 - Change CHGHOST do show the change to all other clients on common channels
581 with quit/join/mode.
582 - Add /rehash nickdelay to clear out the nickdelay tables.
583 - Glines are now disabled in the example confs.
584 - Show more error messages on stderr.
585 - Add OMODE command to extensions/ for easier oper mode hacking.
586 - Add HURT system to extensions/; this shuns clients matching certain host/ip
587 unless and until they identify to services. Mainly intended for SorceryNet.
588 - Show SASL success and failure counts in /stats t.
589 - Allow more frequent autoconnects to servers.
590 - Messaging services by nickname no longer uses target change slots.
591 - Only accept SASL from servers in a service{} block.
592 - New auth{} flag need_sasl to reject users who haven't done SASL
593 authentication.
594 - Expand blah.blah and blah:blah to *!*@... instead of ...!*@* for bans
595 - Don't allow opers to fake locops/operwall to +w.
596 - Documentation updates.
597 - Many bugfixes.
598
599 -- charybdis-1.1.0
600
601 - Implement SAFELIST.
602 - Incorporate ircu's match() algorithm.
603 - Improve usermode modularization.
604 - Seperate server notices into a seperate snomask, freeing up many
605 usermodes to be used.
606 - Add support for SIGNON originating from Hyperion2.
607 - Modularize many server notices into seperate modules.
608 - Add hooks for can_join and can_create_channel.
609 - Add support for SASL authentication.
610 - Add introduce_user hook for adding new messages when a user is bursted.
611 - Move a large part of the ircd into libcharybdis.
612 - Don't complain "unknown user mode" if a user tries to unset
613 a mode they do not have access to.
614 - Update our challenge specification to the challenge implementation in
615 ratbox 2.2 for interoperability.
616 - Make +f notices network-wide (local host, global host,
617 global user@host, local class), other notices tied to +f remain local.
618 - Allow ENCAP REALHOST outside of netburst.
619 - Add general::global_snotices option to make server notices be
620 network-wide or not.
621 - Add sno_farconnect.c to contrib, provides farconnect support.
622 Could be useful for BOPM.
623 - Add sno_routing.c which displays information about netsplits, netjoins
624 and the clients affected by them.
625 - Add CHANTRACE and TRACEMASK commands from ratbox 3.0
626 - Use IsOperAdmin() instead of IsAdmin() when sending admin-only messages,
627 that way hidden admins get them too.
628 - Add m_error to core_module_table, somehow it was missing.
629 - Correct a format string bug that occurs when a read error is
630 received.
631 - Add some logging in places where we drop servers and only notify
632 server operators.
633 - Track hostmask limits based on a client's original host, if
634 available.
635 - Move HIDE_SPOOF_IPS into the general {} block in ircd.conf
636
637 -- charybdis-1.0.3
638
639 - Fix /invite UID leak. (Found by logiclrd@EFnet.)
640 - Incorporate ratbox bugfixes for the MONITOR system.
641 - Made show_ip() less braindead.
642 - Show real errno if we fail to connect to a server.
643 - Don't disclose server IP's when a connection fails.
644 - Do not show the channels a service is sitting in.
645 - Reverted the aline code from hybrid-7.2
646 - Make sure TS6 services are recognized properly if connected remotely.
647 - Tweak something in services support for cyrix boxes.
648
649 -- charybdis-1.0.2
650
651 - Fix propagation of an empty SJOIN (permanant channels).
652 - Fix an exploit involving a malformed /trace request.
653 - Don't display a blank RPL_WHOISCHANNELS in a remote whois request.
654 - Allow modules to provide new usermodes.
655 - On a nickname collision, change the collided nick to their unique ID,
656 if general::collision_fnc is enabled in the config.
657 - Don't allow UID lookups in /monitor + and /monitor s
658 - Fix a garbage issue with channel mode +j.
659 - Apply proper capability flags to the proper server in me_gcap().
660 - Use find_named_person() instead of find_person() in a nick collision.
661 - Prevent UID disclosure in cmode setting.
662 - Prevent UID disclosure to remote clients in /kick.
663 - Do not allow users to query via /whois <server> <UID>.
664 - Don't allow local users to use UID's in local usermode changes.
665 - Propagate +q lists on netjunction.
666 - Clear +q lists on a lowerTS SJOIN.
667 - Ported a generic k/d/x-line parser from hybrid-7.2 which resulted in
668 duplicate code reduction.
669 - Fix linebuf raw code to not truncate lines longer than 512 bytes;
670 improves ziplink reliability on net junction.
671 - Use find_named_person() vs find_person() in services alias code.
672 - Fix issue where channel forwarding token can be lost on net junction.
673 - Fix empty channel desync issues involving +P.
674 - Remove unused non-ENCAP CHGHOST support.
675 - Use TS6 form for SQUIT wallops.
676 - Propagate nickname changes for remote clients in TS6 form if possible,
677 even if sent in TS5 format.
678 - Only clear oper_only_umodes for local clients on deoper.
679
680 -- charybdis-1.0.1
681
682 - Display logged in status on non-local clients too.
683 - Documentation updates
684 - Fix a bug with forward target authorization.
685 - Fix a bug with mode propagation (+Q/+F).
686 - Change ERR_NOSUCHNICK to ERR_SERVICESOFFLINE in services aliases.
687 - Add remote rehashing.
688 - Document service { } blocks (u:lines on ircu).
689 - Document identify_service and identify_command in reference.conf.
690
691 -- charybdis-1.0
692 - Implement channel mode +L for channel list limit exemptions.
693 - Implement channel mode +P primarily as a status mode, permanant
694 channel -- this is usually enforced via services registrations.
695 - Change behaviour of /stats p: now displays all staff members instead
696 of local ones only.
697 - Make oper_list global, add local_oper_list for local traffic.
698 - Strip control codes from parts and quits.
699 - Add channel mode +c which strips control codes from messages sent to
700 the channel.
701 - Add channel mode +g which enables free use of the /invite command.
702 - Add channel mode +z which sends rejected messages to channel ops.
703 Could be useful for Q&A sessions or other similar events.
704 - Add channel quietmasks. These are recommended over the use of channel
705 bans used to remove a user's ability to participate in the channel.
706 - Add channel join throttling mode, +j. Used to throttle channel join
707 traffic, i.e. join/part flood attacks. Syntax: +j <joins>:<timeslice>
708 - Improvements to channel_modes(), from shadowircd -- allows for
709 better construction of the mode string.
710 - Use the undernet throttle notice instead of bancache message when
711 dealing with rejected clients. (stolen from ircu2.10.12)
712 - Add channel forwarding, via channel mode +f, behaves similarly to
713 dancer-ircd version.
714 - Update example.conf to reflect AthemeNET changes. Original ratbox
715 config is now reference.conf.
716 - Services account names are now tracked globally.
717 - Add channel mode +Q which disables the effects of channel forwarding
718 on a temporary basis.
719 - Add channel mode +F which allows anybody to disable forwarding target
720 authorisation, voluntarily on their channels.
721 - Make wallops behave like normal wallops.
722 - Add services aliases: /ns, /cs, /os, /nickserv, /chanserv, /operserv.
723 - Add simple hack that enables use of server password for automatic
724 identify.
725
726 -- ircd-ratbox-2.1.5+datadrain
727 - fix a buffer overflow and an unterminated buffer when TS6 forces us
728 to remove bans
729 - fix potential junk SJOIN generation when splitting it into multiple
730 lines
731 - make servlink check for an uncompressed ERROR
732 - change NICKLEN to 15.
733 - change TOPICLEN to 390.
734 - force services extensions to be enabled always
735 - change patchlevel.h to get it's information from 'configure'
736 - add m_chghost.c, ghetto rigged hostcloaking module, using elite ENCAP
737 technique
738
739 -- ircd-ratbox-2.1.4
740 - fix minor time bug which occurs on december 31st
741 - dont drop a servers link when we get a malformed WHOIS
742 - disallow commas in channel keys
743 - fix compile problem with abort_list
744 - fix build on darwin
745 - fix compilation with gcc4
746 - userhost was only allowing 4 targets instead of 5
747 - invalidate channel ban cache on nickchange
748 - add TARGMAX to 005, detailing maximum targets for messages
749 - fix counting of clients on accept list when adding users
750 - use ID instead of name when bursting SJOIN to TS6 servers
751 - lower id in struct User, which was one byte bigger than it needs to be
752
753 -- ircd-ratbox-2.1.3
754 - removed sendq_eob as it just doesnt work on efnet
755 - dont allow MONITOR from an unregistered client
756 - add some uniqueness into the auth process for bopm
757 - fix resvs to check whether target server is us properly
758 - fix a core in cidr channel ban matching
759 - raise max temptime to a year
760 - fix cores when we receive extra params to NICK/UID
761 - remove no_oper_resvs, add resv_exempt auth flag
762 - fix flattened links
763 - clean up the accept code, and dont clear a users own list of accepted
764 clients on nickchange
765 - non-efnet:
766 - make services {}; blocks be displayed on stats U
767 - make services {}; blocks apply on rehash, you must now have only ONE
768 service {}; block, but you may have multiple name=""; entries within.
769 - only show services logged in info for local clients
770
771 -- ircd-ratbox-2.1.2
772 - fix missing end comment tag in example confs
773 - fix display problem with unauthorised conn notice
774 - remove some unused defines from INFO
775 - fix tabs for spaces in some helpfiles
776 - add in missing links_delay conf option
777 - fix cores under amd64
778 - disallow bans beginning with ':' over BMASK
779 - disallow bans with a space in chm_ban()
780 - stop counting hidden opers in stats p count output
781 - match() params of remote unresv were inverted, causing it to never match
782 - fix possibility of clients setting blank keys
783 - fix UID problems with trace
784 - raise default topiclen to 160
785 - add in forced nick change for ratbox-services, when compiled with
786 --enable-services
787
788 -- ircd-ratbox-2.1.1
789 - remove an 005 token to hack around the parser bug
790 - exempt users messaging themselves from target change
791 - disallow messaging towards UIDs
792 - add in doc/tgchange.txt
793 - move stats L back to RPL_STATSLINKINFO
794 - fix some minor auth problems
795 - properly store ipv6 ips when we're compiled for v4 only
796 - fix propagation of xline/resv
797 - sync remote kline reasons with form used for local klines
798
799 -- ircd-ratbox-2.1.0
800 - no changes
801
802 -- ircd-ratbox-2.1.0beta2
803 - fix a few compile warnings
804 - added multi-prefix clicap, for showing "@+" in NAMES/WHO replies
805 - remove split_delay, make split servers now work on how many servers have
806 issued EOB, rather than how many exist.
807 - server-side notify lists. See doc/monitor.txt
808 - fix undline core
809 - remove an unwanted space from beginning of second 005
810 - fix a potential core with the patricia when removing classes
811 - when we're handling global NAMES, dont output channels whose users are all
812 invisible
813
814 -- ircd-ratbox-2.1.0beta1
815 - No release notes, see doc/whats-new-2.1.txt
816
817 --------------------------------------------------------------------------------
818
819 BUGS: Major bugs in this release are listed in BUGS
820
821 BUG REPORTS: If you run this code and encounter problems, you must report
822 via IRC to irc.atheme.org, #charybdis. For specific bugs you can use
823 http://bugs-meta.atheme.org/ (Charybdis project).
824
825 Please include a gdb backtrace and keep the core file, binaries and
826 modules in case the developers need them.
827
828 Other files recommended for reading: BUGS, README.FIRST, INSTALL
829
830 --------------------------------------------------------------------------------
831 $Id: NEWS 3496 2007-05-30 10:22:01Z jilles $
832