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