]>
Commit | Line | Data |
---|---|---|
d99faa42 | 1 | This is charybdis 3.0.1, Copyright (c) 2005-2008 Charybdis team. |
212380e3 AC |
2 | See LICENSE for licensing details (GPL v2). |
3 | ||
d99faa42 JT |
4 | -- charybdis-3.0.1 |
5 | ||
6 | - Fix occasional hung clients with kqueue. | |
7 | - Fix a rare ssld crash. | |
8 | - Fix a bug that could cause incorrect connect failure reasons to be | |
9 | reported. | |
c75eb8da | 10 | - Make the IRCd work on MacOS X again. |
d99faa42 | 11 | |
aa218c5b VY |
12 | -- charybdis-3.0.0 |
13 | ||
509090fe JT |
14 | - Port the IRCd to libratbox, which has improved our portability and allows |
15 | us to reuse low-level code instead of maintaining our own. | |
16 | - Change configuration of maximum number of clients to ircd-ratbox 3 way. | |
17 | - Add adminwall from ircd-ratbox, as an extension. | |
18 | - Add client and server-to-server SSL, read example.conf for setup. | |
19 | - Replace servlink with ssld (also for ziplinks). | |
20 | - A new extban, $z, has been added for ssl users (extensions/extb_ssl.so). | |
7f9626ff | 21 | - A new compatibility channel mode, +R, has been added, it sets |
509090fe JT |
22 | +q/-q $~a (extensions/chm_operonly_compat.so). This is similar to |
23 | the +R seen in ircd-seven. | |
ce56b91d | 24 | - A new compatibility channel mode, +S, has been added, it sets |
509090fe | 25 | +b/-b $~z (extensions/chm_sslonly_compat.so). |
7f9626ff | 26 | - A new compatibility channel mode, +O, has been added, it sets |
509090fe JT |
27 | +iI/-iI $o (extensions/chm_operonly_compat.so). |
28 | - Add remote D:lines. Note that these are not enabled by default. | |
29 | - Remove EFnet-style G:lines. Noone appears to use these. | |
30 | - Remove idle time checking (auto disconnecting users idle too long). | |
31 | - Display a notice to clients when the IRCd is shut down using SIGTERM. | |
32 | - Some error messages have been clarified to enhance usability. | |
33 | - Close the link to servers that send invalid nicks (e.g. nicklen mismatches). | |
34 | Formerly the users were killed from the network. | |
35 | - Enable topicburst by default in connect{}. | |
36 | - Fix a potential desync which can happen with oper override. | |
37 | - Remove "deopped" flag (TS5 legacy). | |
38 | - Use 127.0.0.1 as nameserver if none can be found in /etc/resolv.conf. | |
39 | - Only accept 127.0.0.x as a dnsbl listing. | |
40 | - Change cloaking module (same as 2.2.1, different from 2.2.0). | |
41 | - Make some more server notices about failed remote connect attempts | |
42 | network wide. | |
43 | - Make some server notices about flooders and TS delta network wide. | |
44 | - Remove redundant "<server> had been connected for <time>" server notice. | |
45 | - Add resv oper privilege to control /resv, /unresv and cmode +L and +P, | |
46 | enabled by default. | |
47 | - Add mass_notice oper privilege to control global notices and /wallops, | |
48 | enabled by default. | |
49 | - Rework unkline/undline/unxline/unresv so they show the exact item removed | |
50 | and do not rehash bans. | |
51 | - Show opers a list of recently (<24hrs) split servers in /map. | |
52 | - Add /privs command, shows effective privileges of a client. | |
aa218c5b | 53 | |
55da5539 AC |
54 | -- charybdis-2.2.0 |
55 | ||
f32e30dd | 56 | - The I/O code has been reworked, file descriptor metadata is stored in a |
f7b60293 | 57 | hashtable and the maximum number of clients can now be set in ircd.conf. |
0b15df83 JT |
58 | - Improve error checking and error messages for kline/dline/xline/resv files. |
59 | - Allow kline ipv6:address, unkline some.host and unkline ipv6:address | |
60 | without *@. | |
61 | - Add accountability (wallops, log) to OKICK extension. | |
62 | - Add opernick to OPME/OMODE/OJOIN log messages. | |
63 | - Add use_forward option, allows disabling cmode +fFQ and umode +Q. | |
64 | - Add keyword substitution to DNSBL reasons, making it possible to show | |
65 | things like the user's IP address in the reason. | |
66 | - Use sendto_one_notice() more. | |
67 | - Server notices about kills now include the victim's nick!user@host instead | |
68 | of just nick. | |
69 | - Include real hostname in Closing Link message for unknown connections | |
70 | that have sent USER, in particular banned users. | |
71 | - Add some documentation about the SASL client protocol. | |
72 | - Change spambot, flooder and jupe joiner notices from host to orighost. | |
73 | - Remove the last remains of server hostmasking (this made it possible to | |
74 | have multiple servers with similar names appear as a single server). | |
75 | - Keep bitmasks of modularized umodes reserved forever to the letter, | |
76 | avoiding problems when reloading umode modules in a different order. | |
77 | - Fix -logfile. | |
78 | - Update to the new revision (v8) of the TS6 spec, this fixes problems with | |
0af87e57 JT |
79 | joins reversing certain mode changes crossing them. This interoperates |
80 | with older versions. | |
0b15df83 JT |
81 | - Put "End of Channel Quiet List" at the end of +q lists. |
82 | - Fix invisible count getting desynched from reality if the act of opering | |
83 | up sets -i or +i. | |
84 | - Don't leak auth{} spoofed IP addresses in +f notices. | |
85 | - Shorten quit/part/kick reasons to avoid quit reasons overflowing the | |
86 | client exiting server notice (from TOPICLEN to 260). | |
87 | - Fix some cases where 10 char usernames lose their final character. | |
88 | - Move username check after xline and dnsbl checks, so it will not complain | |
89 | to opers about clients who are xlined or blacklisted anyway (both of | |
90 | which silently reject). | |
91 | - Remove invite_ops_only config option, forcing it to YES. | |
92 | - Allow /invite (but not invex) to override +r, +l, +j in addition to +i. | |
f7b60293 JT |
93 | - Add several new extensions, such as createoperonly. |
94 | - Merge whois notice extensions into one and move it from snomask +y to +W. | |
0b15df83 | 95 | |
212380e3 AC |
96 | -- charybdis-2.1.2 |
97 | ||
98 | - Fix bug that could cause all hostmangled users to be exempted when a | |
99 | single ban exception existed on a channel. | |
100 | - Tweak \s code a little. | |
101 | - Add a minor clarification to the SGML docs. | |
102 | - Avoid truncation in ip_cloaking (by removing components on the other side). | |
103 | Note that this may cause channel +bqeI modes set on such very long hosts | |
104 | to no longer match. | |
105 | ||
106 | -- charybdis-2.1.1 | |
107 | ||
108 | - Search the shortest list (user's/channel's) when looking up channel | |
109 | memberships. | |
110 | - Make the SID-collision notice look right under all conditions. | |
111 | - Move kills from services from +s to +k snomask. | |
112 | - When no_tilde is present on an auth{} block, check the non-tilde version | |
113 | of the user@host against k:lines as well. | |
114 | - Put full reason in the SQUIT reason when a server is rejected for | |
115 | insufficient parameters being passed to a command. | |
116 | - Don't redirect users to an existing domain, irc.fi. | |
117 | - Improve communication of servlink-related error messages. | |
118 | ||
119 | -- charybdis-2.1.0 | |
120 | ||
7f9626ff | 121 | - Our official website is now http://www.ircd-charybdis.org/. |
212380e3 AC |
122 | - Make RPL_ISUPPORT (005 numeric) modularizable. |
123 | - Also do forwarding if the channel limit (+l) is exceeded. | |
124 | - Don't count opers on service{} servers in /lusers. | |
125 | - Allow servers to send to @#chan and +#chan. | |
126 | - Allow +S clients (services) to send to channels and @/+ channels always. | |
127 | - Allow normal match() on IP address also in /masktrace. | |
128 | - Add new testmask from ratbox 2.2. Allows matches on nick, ip and gecos | |
129 | in addition to user and host, and is fully analogous to masktrace. | |
130 | The numeric has changed from 724 to 727 and fields in it have changed. | |
131 | - Show IP addresses to opers in /whowas. | |
132 | - Add extb_extgecos extban option ($x:nick!user@host#gecos), from sorcery | |
133 | modules. | |
134 | - Add extb_canjoin extban option ($j:#channel), matches if the user is banned | |
135 | from the other channel. | |
136 | - Allow opers to /who based on realhost. | |
137 | - Allow opers to /masktrace, /testmask based on realhost. | |
138 | - Add general::operspy_dont_care_user_info, limits operspy accountability to | |
139 | channel-related information. | |
140 | - Make host mangling more reliable. | |
141 | - Prevent ban evasion by enabling/disabling host mangling. | |
142 | - Add EUID, sends real host and services account in the same command as other | |
143 | user information. | |
144 | - Make it possible to send CHGHOST without ENCAP (fixes problems with old | |
145 | services). | |
146 | - Allow service{} servers to manipulate the nick delay table (for "nickserv | |
147 | enforcement", aka SVSHOLD). | |
148 | - Send server notices about connections initiated by remote opers network wide. | |
149 | - Fix too early truncation of JOIN channel list. | |
150 | - Make the newconf system available to modules. | |
151 | - Add /stats s to the hurt module to list active hurts. | |
152 | - Add general::servicestring, shown in /whois for opered services (+oS). | |
153 | - Show real host/IP behind dynamic spoof in /whois to the user themselves | |
154 | and opers. | |
155 | - Document option to disable nick delay. | |
156 | - Improve logging of server connections. | |
157 | - Clean up handling of hostnames in connect blocks. | |
158 | - Remove support for resolving ip6.int, people should be using ip6.arpa. | |
159 | - Unbreak --disable-balloc (useful for debugging with tools like valgrind). | |
160 | - Make Solaris 10 I/O ports code compile. | |
161 | - Add WEBIRC module to allow showing the real host/IP of CGI:IRC users. | |
162 | - Comment out blacklist{} block in example confs, as AHBL requires | |
163 | notification before use. | |
164 | - Fix some bugs relating to the resolver. | |
165 | ||
166 | -- charybdis-2.0.0 | |
167 | ||
168 | - Replace ADNS with a new smaller resolver from ircu and hybrid. | |
169 | - Make services shortcuts (/chanserv etc) configurable in ircd.conf. | |
170 | - Add extban: extensible +bqeI matching via modules. Syntax is | |
171 | $<type>[:<data>]. By default no modules are loaded. | |
172 | - Add DNS blacklist checking. | |
173 | - Change operator{} block user@host from host to orighost. This means that | |
174 | services/+h spoofs do not work in operator{} blocks; auth{} spoofs still | |
175 | work. Check your operator{} blocks! | |
176 | - Split contrib/ into extensions/ and unsupported/. | |
177 | - Change CHGHOST do show the change to all other clients on common channels | |
178 | with quit/join/mode. | |
179 | - Add /rehash nickdelay to clear out the nickdelay tables. | |
180 | - Glines are now disabled in the example confs. | |
181 | - Show more error messages on stderr. | |
182 | - Add OMODE command to extensions/ for easier oper mode hacking. | |
183 | - Add HURT system to extensions/; this shuns clients matching certain host/ip | |
184 | unless and until they identify to services. Mainly intended for SorceryNet. | |
185 | - Show SASL success and failure counts in /stats t. | |
186 | - Allow more frequent autoconnects to servers. | |
187 | - Messaging services by nickname no longer uses target change slots. | |
188 | - Only accept SASL from servers in a service{} block. | |
189 | - New auth{} flag need_sasl to reject users who haven't done SASL | |
190 | authentication. | |
191 | - Expand blah.blah and blah:blah to *!*@... instead of ...!*@* for bans | |
192 | - Don't allow opers to fake locops/operwall to +w. | |
193 | - Documentation updates. | |
194 | - Many bugfixes. | |
195 | ||
196 | -- charybdis-1.1.0 | |
197 | ||
198 | - Implement SAFELIST. | |
199 | - Incorporate ircu's match() algorithm. | |
200 | - Improve usermode modularization. | |
201 | - Seperate server notices into a seperate snomask, freeing up many | |
202 | usermodes to be used. | |
203 | - Add support for SIGNON originating from Hyperion2. | |
204 | - Modularize many server notices into seperate modules. | |
205 | - Add hooks for can_join and can_create_channel. | |
206 | - Add support for SASL authentication. | |
207 | - Add introduce_user hook for adding new messages when a user is bursted. | |
208 | - Move a large part of the ircd into libcharybdis. | |
209 | - Don't complain "unknown user mode" if a user tries to unset | |
210 | a mode they do not have access to. | |
211 | - Update our challenge specification to the challenge implementation in | |
212 | ratbox 2.2 for interoperability. | |
213 | - Make +f notices network-wide (local host, global host, | |
214 | global user@host, local class), other notices tied to +f remain local. | |
215 | - Allow ENCAP REALHOST outside of netburst. | |
216 | - Add general::global_snotices option to make server notices be | |
217 | network-wide or not. | |
218 | - Add sno_farconnect.c to contrib, provides farconnect support. | |
219 | Could be useful for BOPM. | |
220 | - Add sno_routing.c which displays information about netsplits, netjoins | |
221 | and the clients affected by them. | |
222 | - Add CHANTRACE and TRACEMASK commands from ratbox 3.0 | |
223 | - Use IsOperAdmin() instead of IsAdmin() when sending admin-only messages, | |
224 | that way hidden admins get them too. | |
225 | - Add m_error to core_module_table, somehow it was missing. | |
226 | - Correct a format string bug that occurs when a read error is | |
227 | received. | |
228 | - Add some logging in places where we drop servers and only notify | |
229 | server operators. | |
230 | - Track hostmask limits based on a client's original host, if | |
231 | available. | |
232 | - Move HIDE_SPOOF_IPS into the general {} block in ircd.conf | |
233 | ||
234 | -- charybdis-1.0.3 | |
235 | ||
236 | - Fix /invite UID leak. (Found by logiclrd@EFnet.) | |
237 | - Incorporate ratbox bugfixes for the MONITOR system. | |
238 | - Made show_ip() less braindead. | |
239 | - Show real errno if we fail to connect to a server. | |
240 | - Don't disclose server IP's when a connection fails. | |
241 | - Do not show the channels a service is sitting in. | |
242 | - Reverted the aline code from hybrid-7.2 | |
243 | - Make sure TS6 services are recognized properly if connected remotely. | |
244 | - Tweak something in services support for cyrix boxes. | |
245 | ||
246 | -- charybdis-1.0.2 | |
247 | ||
248 | - Fix propagation of an empty SJOIN (permanant channels). | |
249 | - Fix an exploit involving a malformed /trace request. | |
250 | - Don't display a blank RPL_WHOISCHANNELS in a remote whois request. | |
251 | - Allow modules to provide new usermodes. | |
252 | - On a nickname collision, change the collided nick to their unique ID, | |
253 | if general::collision_fnc is enabled in the config. | |
254 | - Don't allow UID lookups in /monitor + and /monitor s | |
255 | - Fix a garbage issue with channel mode +j. | |
256 | - Apply proper capability flags to the proper server in me_gcap(). | |
257 | - Use find_named_person() instead of find_person() in a nick collision. | |
258 | - Prevent UID disclosure in cmode setting. | |
259 | - Prevent UID disclosure to remote clients in /kick. | |
260 | - Do not allow users to query via /whois <server> <UID>. | |
261 | - Don't allow local users to use UID's in local usermode changes. | |
262 | - Propagate +q lists on netjunction. | |
263 | - Clear +q lists on a lowerTS SJOIN. | |
264 | - Ported a generic k/d/x-line parser from hybrid-7.2 which resulted in | |
265 | duplicate code reduction. | |
266 | - Fix linebuf raw code to not truncate lines longer than 512 bytes; | |
267 | improves ziplink reliability on net junction. | |
268 | - Use find_named_person() vs find_person() in services alias code. | |
269 | - Fix issue where channel forwarding token can be lost on net junction. | |
270 | - Fix empty channel desync issues involving +P. | |
271 | - Remove unused non-ENCAP CHGHOST support. | |
272 | - Use TS6 form for SQUIT wallops. | |
273 | - Propagate nickname changes for remote clients in TS6 form if possible, | |
274 | even if sent in TS5 format. | |
275 | - Only clear oper_only_umodes for local clients on deoper. | |
276 | ||
277 | -- charybdis-1.0.1 | |
278 | ||
279 | - Display logged in status on non-local clients too. | |
280 | - Documentation updates | |
281 | - Fix a bug with forward target authorization. | |
282 | - Fix a bug with mode propagation (+Q/+F). | |
283 | - Change ERR_NOSUCHNICK to ERR_SERVICESOFFLINE in services aliases. | |
284 | - Add remote rehashing. | |
285 | - Document service { } blocks (u:lines on ircu). | |
286 | - Document identify_service and identify_command in reference.conf. | |
287 | ||
288 | -- charybdis-1.0 | |
289 | - Implement channel mode +L for channel list limit exemptions. | |
290 | - Implement channel mode +P primarily as a status mode, permanant | |
291 | channel -- this is usually enforced via services registrations. | |
292 | - Change behaviour of /stats p: now displays all staff members instead | |
293 | of local ones only. | |
294 | - Make oper_list global, add local_oper_list for local traffic. | |
295 | - Strip control codes from parts and quits. | |
296 | - Add channel mode +c which strips control codes from messages sent to | |
297 | the channel. | |
298 | - Add channel mode +g which enables free use of the /invite command. | |
299 | - Add channel mode +z which sends rejected messages to channel ops. | |
300 | Could be useful for Q&A sessions or other similar events. | |
301 | - Add channel quietmasks. These are recommended over the use of channel | |
302 | bans used to remove a user's ability to participate in the channel. | |
303 | - Add channel join throttling mode, +j. Used to throttle channel join | |
304 | traffic, i.e. join/part flood attacks. Syntax: +j <joins>:<timeslice> | |
305 | - Improvements to channel_modes(), from shadowircd -- allows for | |
306 | better construction of the mode string. | |
307 | - Use the undernet throttle notice instead of bancache message when | |
308 | dealing with rejected clients. (stolen from ircu2.10.12) | |
309 | - Add channel forwarding, via channel mode +f, behaves similarly to | |
310 | dancer-ircd version. | |
311 | - Update example.conf to reflect AthemeNET changes. Original ratbox | |
312 | config is now reference.conf. | |
313 | - Services account names are now tracked globally. | |
314 | - Add channel mode +Q which disables the effects of channel forwarding | |
315 | on a temporary basis. | |
316 | - Add channel mode +F which allows anybody to disable forwarding target | |
317 | authorisation, voluntarily on their channels. | |
318 | - Make wallops behave like normal wallops. | |
319 | - Add services aliases: /ns, /cs, /os, /nickserv, /chanserv, /operserv. | |
320 | - Add simple hack that enables use of server password for automatic | |
321 | identify. | |
322 | ||
323 | -- ircd-ratbox-2.1.5+datadrain | |
324 | - fix a buffer overflow and an unterminated buffer when TS6 forces us | |
325 | to remove bans | |
326 | - fix potential junk SJOIN generation when splitting it into multiple | |
327 | lines | |
328 | - make servlink check for an uncompressed ERROR | |
329 | - change NICKLEN to 15. | |
330 | - change TOPICLEN to 390. | |
331 | - force services extensions to be enabled always | |
332 | - change patchlevel.h to get it's information from 'configure' | |
333 | - add m_chghost.c, ghetto rigged hostcloaking module, using elite ENCAP | |
334 | technique | |
335 | ||
336 | -- ircd-ratbox-2.1.4 | |
337 | - fix minor time bug which occurs on december 31st | |
338 | - dont drop a servers link when we get a malformed WHOIS | |
339 | - disallow commas in channel keys | |
340 | - fix compile problem with abort_list | |
341 | - fix build on darwin | |
342 | - fix compilation with gcc4 | |
343 | - userhost was only allowing 4 targets instead of 5 | |
344 | - invalidate channel ban cache on nickchange | |
345 | - add TARGMAX to 005, detailing maximum targets for messages | |
346 | - fix counting of clients on accept list when adding users | |
347 | - use ID instead of name when bursting SJOIN to TS6 servers | |
348 | - lower id in struct User, which was one byte bigger than it needs to be | |
349 | ||
350 | -- ircd-ratbox-2.1.3 | |
351 | - removed sendq_eob as it just doesnt work on efnet | |
352 | - dont allow MONITOR from an unregistered client | |
353 | - add some uniqueness into the auth process for bopm | |
354 | - fix resvs to check whether target server is us properly | |
355 | - fix a core in cidr channel ban matching | |
356 | - raise max temptime to a year | |
357 | - fix cores when we receive extra params to NICK/UID | |
358 | - remove no_oper_resvs, add resv_exempt auth flag | |
359 | - fix flattened links | |
360 | - clean up the accept code, and dont clear a users own list of accepted | |
361 | clients on nickchange | |
362 | - non-efnet: | |
363 | - make services {}; blocks be displayed on stats U | |
364 | - make services {}; blocks apply on rehash, you must now have only ONE | |
365 | service {}; block, but you may have multiple name=""; entries within. | |
366 | - only show services logged in info for local clients | |
367 | ||
368 | -- ircd-ratbox-2.1.2 | |
369 | - fix missing end comment tag in example confs | |
370 | - fix display problem with unauthorised conn notice | |
371 | - remove some unused defines from INFO | |
372 | - fix tabs for spaces in some helpfiles | |
373 | - add in missing links_delay conf option | |
374 | - fix cores under amd64 | |
375 | - disallow bans beginning with ':' over BMASK | |
376 | - disallow bans with a space in chm_ban() | |
377 | - stop counting hidden opers in stats p count output | |
378 | - match() params of remote unresv were inverted, causing it to never match | |
379 | - fix possibility of clients setting blank keys | |
380 | - fix UID problems with trace | |
381 | - raise default topiclen to 160 | |
382 | - add in forced nick change for ratbox-services, when compiled with | |
383 | --enable-services | |
384 | ||
385 | -- ircd-ratbox-2.1.1 | |
386 | - remove an 005 token to hack around the parser bug | |
387 | - exempt users messaging themselves from target change | |
388 | - disallow messaging towards UIDs | |
389 | - add in doc/tgchange.txt | |
390 | - move stats L back to RPL_STATSLINKINFO | |
391 | - fix some minor auth problems | |
392 | - properly store ipv6 ips when we're compiled for v4 only | |
393 | - fix propagation of xline/resv | |
394 | - sync remote kline reasons with form used for local klines | |
395 | ||
396 | -- ircd-ratbox-2.1.0 | |
397 | - no changes | |
398 | ||
399 | -- ircd-ratbox-2.1.0beta2 | |
400 | - fix a few compile warnings | |
401 | - added multi-prefix clicap, for showing "@+" in NAMES/WHO replies | |
402 | - remove split_delay, make split servers now work on how many servers have | |
403 | issued EOB, rather than how many exist. | |
404 | - server-side notify lists. See doc/monitor.txt | |
405 | - fix undline core | |
406 | - remove an unwanted space from beginning of second 005 | |
407 | - fix a potential core with the patricia when removing classes | |
408 | - when we're handling global NAMES, dont output channels whose users are all | |
409 | invisible | |
410 | ||
411 | -- ircd-ratbox-2.1.0beta1 | |
412 | - No release notes, see doc/whats-new-2.1.txt | |
413 | ||
414 | -------------------------------------------------------------------------------- | |
415 | ||
416 | BUGS: Major bugs in this release are listed in BUGS | |
417 | ||
418 | BUG REPORTS: If you run this code and encounter problems, you must report | |
91132813 JT |
419 | via IRC to irc.atheme.org, #charybdis. For specific bugs you can use |
420 | http://bugs-meta.atheme.org/ (Charybdis project). | |
212380e3 AC |
421 | |
422 | Please include a gdb backtrace and keep the core file, binaries and | |
423 | modules in case the developers need them. | |
424 | ||
425 | Other files recommended for reading: BUGS, README.FIRST, INSTALL | |
426 | ||
427 | -------------------------------------------------------------------------------- | |
f7b60293 | 428 | $Id: NEWS 3496 2007-05-30 10:22:01Z jilles $ |
212380e3 | 429 |