]>
Commit | Line | Data |
---|---|---|
7e5f0af6 AC |
1 | # News |
2 | ||
6ec9c49f | 3 | This is solanum 1.0-dev. |
212380e3 AC |
4 | See LICENSE for licensing details (GPL v2). |
5 | ||
6ec9c49f EK |
6 | ## solanum-1.0 |
7 | ||
8 | Includes changes from charybdis-4.1.3-dev. | |
9 | ||
faf98b8e EK |
10 | **This release includes breaking changes from charybdis 4.x.** Please pay close attention to |
11 | bolded warnings in the full release notes below. | |
6ec9c49f EK |
12 | |
13 | ### build | |
14 | - Add `--with-asan` to configure to produce an ASan instrumented build | |
15 | ||
16 | ### server protocol | |
06c53095 EK |
17 | - **Breaking:** Don't implicitly abort SASL when connection registration handshake completes; |
18 | requires updating atheme to include https://github.com/atheme/atheme/pull/833. | |
6ec9c49f EK |
19 | - OPER is now propagated globally, as :operator OPER opername privset |
20 | ||
21 | ### user | |
22 | - **Breaking:** invite-notify is now enabled by loading the invite-notify extension | |
23 | - Prioritise older, more important client capabilities for clients that can only accept | |
24 | one line of CAP LS | |
25 | - Add the solanum.chat/realhost vendor capability (provided by extensions/cap\_realhost) | |
26 | - Add the solanum.chat/identify-msg vendor capability (provided by extensions/identify\_msg) | |
27 | - Server-side aliases preserve protocol framing characters | |
28 | - Add the +G user mode for soft callerid (implicitly allow users with a common channel) | |
29 | - /invite no longer punches through callerid | |
30 | - invite-notify now works | |
31 | - Rejectcached users are now sent the reason of the ban that caused their reject in most cases | |
32 | - Rejectcache entries expire when their corresponding K-lines do | |
33 | - One-argument /stats and zero-argument /motd are no longer ratelimited | |
34 | - Channel bans don't see through IP spoofs | |
35 | - Global /names now respects userhost-in-names | |
36 | - The `$j` extban is no longer usable inside ban exceptions | |
faf98b8e EK |
37 | - TLSv1 connections are accepted. They can still be disabled using OpenSSL config if you don't |
38 | want them. TLSv1 existing is not thought to be a threat to up-to-date clients. | |
6ec9c49f EK |
39 | |
40 | ### oper | |
41 | - **Breaking:** Kick immunity for override is now its own extension, override\_kick\_immunity | |
42 | - **Breaking:** /stats A output now follows the same format as other stats letters | |
43 | - **Breaking:** helpops now uses +h instead of +H | |
faf98b8e | 44 | - **Breaking:** sno\_whois and the spy\_ extensions have been removed |
d04ed5c5 | 45 | - **Breaking:** Using /wallops now requires the oper:wallops privilege instead of oper:massnotice |
6ec9c49f EK |
46 | - Opers now have their privset (identified by name) on remote servers |
47 | - Oper-only umodes are refreshed after rehash and /grant | |
48 | - Extension modules can be reloaded | |
49 | - Override no longer spams about being enabled/disabled. It continues to spam on each use. | |
50 | - Add /testkline, which has the same syntax as /testline but doesn't check if the mask is ilined | |
51 | - /privs is now remote-capable and can respond with more than one line | |
52 | - Most commands now respect oper hiding | |
53 | - Massnotice (notice/privmsg to $$.../$#...) now alerts opers | |
54 | - Massnotice no longer imposes any restrictions on the target mask | |
55 | - /kline and /dline are hardened to invalid inputs | |
56 | - K/D-lines are more consistent about checking for encoded ipv4-in-ipv6 addresses | |
57 | - Add extensions/drain to reject new connections | |
58 | - Add extensions/filter to filter messages, parts and quits with a Hyperscan database | |
59 | - Add extensions/sasl\_usercloak to interpolate SASL account names into I-line spoofs | |
60 | ||
61 | ### conf | |
62 | - **Breaking:** Completely overhaul oper privs. All privset configs will need to be rewritten. | |
63 | See reference.conf for details. | |
64 | - Add the `kline_spoof_ip` I-line flag to make any spoof opaque to K-line matching | |
65 | - Add general::hide\_tkline\_duration to remove durations from user-visible ban reasons | |
66 | - Add general::hide\_opers, which behaves as if all opers have oper:hidden | |
67 | - Add general::post\_registration\_delay | |
68 | - Add general::tls\_ciphers\_oper\_only to hide TLS cipher details in /whois | |
69 | - Add channel::opmod\_send\_statusmsg to send messages allowed by +z to @#channel | |
70 | - Add class::max\_autoconn, with the behaviour of class::max\_number for servers prior to | |
71 | charybdis 4 | |
faf98b8e EK |
72 | - Add `secure {}` blocks. Networks listed in a secure block gain +Z and can match `need_ssl` I- |
73 | and O-lines. | |
6ec9c49f EK |
74 | - Remove general::kline\_delay |
75 | - If m\_webirc is loaded, connections that try to use a webirc auth block as their I-line will | |
76 | be disconnected on registration | |
77 | ||
78 | ### misc | |
79 | - **Breaking:** WEBIRC now processes the "secure" option as specified by IRCv3. Web gateways that | |
80 | do not set this option will need to be updated or their connections will show as insecure. | |
faf98b8e | 81 | - Successfully changing IP with WEBIRC now drops an identd username |
6ec9c49f EK |
82 | |
83 | ### code | |
84 | - Channel lists are now kept sorted. A for-loop macro, `ITER_COMM_CHANNELS`, is introduced to | |
85 | efficiently compare two such lists. | |
86 | ||
87 | ||
efe1f312 SA |
88 | ## charybdis-4.1.2 |
89 | ||
90 | ### user | |
6ec9c49f | 91 | - src/s\_user.c: don't corrupt usermodes on module unload/reload |
efe1f312 | 92 | |
17776e52 SA |
93 | ## charybdis-4.1.1 |
94 | ||
95 | ### security | |
96 | - Fix an issue with the PASS command and duplicate server instances. | |
97 | ||
98 | ### misc | |
99 | - Fix connection hang with blacklist/opm when ident is disabled. | |
100 | - Improve SASL CAP notification when the services server disconnects. | |
101 | - MbedTLS: Support ChaCha20-Poly1305 in default cipher suites. | |
102 | ||
8fad9421 SA |
103 | ## charybdis-4.1 |
104 | ||
105 | ### misc | |
106 | - SCTP is now supported for server connections (and optionally, user connections) | |
107 | ||
108 | ## charybdis-4.0.1 | |
109 | ||
110 | ### server protocol | |
111 | - SJOIN messages were being constructed in a 1024 byte buffer and truncated to 512 bytes | |
112 | when sending. This caused channels with more than 50 users to fail to propagate all of | |
113 | them during a net join. | |
114 | ||
115 | ## charybdis-4.0 | |
df317d70 AC |
116 | |
117 | ### build | |
118 | - Build system has been converted to libtool + automake for sanity reasons. | |
15b0093d AC |
119 | - The compile date is now set at configure time rather than build time, allowing for |
120 | reproducible builds. (#148, #149) | |
121 | - Support for GNUTLS 3.4 has been added. | |
df317d70 | 122 | |
0cc93ead AC |
123 | ### user |
124 | - Import the ability to exceed MAXCHANNELS from ircd-seven. | |
15b0093d AC |
125 | - Implement IRCv3.2 enhanced capability negotiation (`CAP LS 302`). |
126 | - Implement support for receiving and sending IRCv3 message tags. | |
127 | - Implement IRCv3.2 capabilities: (#141) | |
128 | - account-tag | |
129 | - echo-message | |
5462fb6e | 130 | - invite-notify |
15b0093d AC |
131 | - sasl |
132 | - server-time | |
133 | - SASL: certificate fingerprints are now always sent to the SASL agent, allowing for | |
134 | the certificate to be used as a second authentication factor. | |
0cc93ead AC |
135 | |
136 | ### oper | |
137 | - Merge several features from ircd-seven: | |
138 | - Implement support for remote DIE/RESTART. | |
139 | - Implement support for remote MODLOAD et al commands. | |
140 | - Add the GRANT command which allows for temporarily opering a client. | |
141 | - Implement the hidden oper-only channel modes framework. | |
142 | - Implement a channel mode that disallows kicking IRC operators (+M). | |
143 | - Enhance the oper override system, allowing more flexibility and detail | |
144 | in network-wide notices. | |
4d1e4989 EM |
145 | - DNS, ident, and blacklist lookups have been moved to a dedicated daemon known |
146 | as authd. Some cosmetic changes to blacklist statistics and rejection notices | |
147 | have resulted. | |
0ed0a9fe EM |
148 | - An experimental OPM scanner has been added to authd. Plaintext SOCKS4, |
149 | SOCKS5, and HTTP CONNECT proxies can be checked for. | |
150 | - The LOCOPS command has been moved from core to an extension. | |
d1478ff2 | 151 | - All core modules in charybdis have descriptions, which are shown in MODLIST. |
d1478ff2 | 152 | - Suffixes should not be used when doing /MODLOAD, /MODUNLOAD, /MODRELOAD, etc. |
0cc93ead | 153 | |
b28cccb7 AC |
154 | ### misc |
155 | - Support for WebSocket has been added, use the listen::wsock option to switch | |
156 | a listener into websocket mode. | |
157 | ||
0cc93ead AC |
158 | ### conf |
159 | - Add the ability to strip color codes from topics unconditionally. | |
4d1e4989 | 160 | - The obsolete hub option from server info has been removed. |
0cc93ead | 161 | |
aba90ea5 EM |
162 | ### docs |
163 | - The documentation has been cleaned up; obsolete files have been purged, and | |
0ed0a9fe | 164 | files have been renamed and shuffled around to be more consistent. |
aba90ea5 | 165 | |
0cc93ead | 166 | ### code |
e791dc6d EM |
167 | - `common.h` is gone. Everything useful in it was moved to `ircd_defs.h`. |
168 | - `config.h` is gone; the few remaining knobs in it were not for configuration | |
169 | by mere mortals, and mostly existed as a 2.8 relic. Most of the knobs live in | |
170 | `defaults.h`, but one is well-advised to stay away unless they know exactly | |
171 | what they are doing. | |
172 | - A new module API has been introduced, known as AV2. It includes things such as | |
173 | module datecodes (to ensure modules don't fall out of sync with the code), | |
174 | module descriptions, and other fun things. | |
175 | - Alias and module commands are now in m_alias and m_modules, respectively, and | |
176 | can be reloaded if need be. For sanity reasons, m_modules is a core module, | |
177 | and cannot be unloaded. | |
0ed0a9fe EM |
178 | - irc_dictionary and irc_radixtree related functions are now in librb, and |
179 | prefixed accordingly. Typedefs have been added for consistency with existing | |
180 | data structures. For example, now you would write `rb_dictionary *foo` and | |
181 | `RB_DICTIONARY_FOREACH`. | |
182 | - C99 bools are now included and used in the code. Don't use ints as simple true | |
183 | or false flags anymore. In accordance with this change, the `YES`/`NO` and | |
184 | `TRUE`/`FALSE` macros have been removed. | |
e791dc6d EM |
185 | - Return types from command handlers have been axed, as they have been useless |
186 | for years. | |
aba90ea5 EM |
187 | - libratbox has been renamed to librb, as we have diverged from upstream long |
188 | ago. | |
0cc93ead AC |
189 | - Almost all 2.8-style hashtable structures have been moved to dictionaries or |
190 | radix trees, resulting in significant memory savings. | |
191 | - The block allocator has been disabled and is no longer used. | |
15b0093d AC |
192 | - The ratbox client capabilities have been ported to use the ircd capabilities |
193 | framework, allowing for modules to provide capabilities. | |
194 | - Support for restarting ssld has been added. ssld processes which are still | |
195 | servicing clients will remain in use, but not service new connections, and | |
196 | are garbage collected when they are no longer servicing connections. | |
197 | - Support for ratbox-style 'iodebug' hooks has been removed. | |
1e706d5a AC |
198 | - New channel types may be added by modules, see `extensions/chantype_dummy.c` |
199 | for a very simple example. | |
0cc93ead | 200 | |
7e5f0af6 | 201 | ## charybdis-3.5.0 |
72cc5a99 | 202 | |
7e5f0af6 | 203 | ### server protocol |
72cc5a99 JT |
204 | - Fix propagation of ip_cloaking hostname changes (only when setting or |
205 | unsetting the umode after connection). | |
206 | - Fix a remote-triggerable crash triggered by the CAPAB parsing code. | |
207 | - As per the TS6 spec, require QS and ENCAP capabilities. | |
1c38b9de | 208 | - Require EX and IE capabilities (+e and +I cmodes). |
72cc5a99 | 209 | - Check that UIDs start with the server's SID. |
7e5f0af6 AC |
210 | |
211 | ### user | |
72cc5a99 JT |
212 | - Allow mode queries on mlocked modes. In particular, allow /mode #channel f |
213 | to query the forward channel even if +f is mlocked. | |
214 | - Strip colours from channel topics in /list. | |
215 | - If umode +D or +g are oper-only, don't advertise them in 005. | |
6a49a343 | 216 | - If MONITOR is not enabled, don't advertise it in 005. |
72cc5a99 JT |
217 | - Add starttls as per ircv3. |
218 | - Abort a whowas listing when it would exceed SendQ, which would previously | |
219 | disconnect the user. | |
220 | - Reject nicks with '~' in them, rather than truncating at the '~'. | |
221 | - Remove CHARSET=ascii from ISUPPORT | |
222 | - Use the normal rules for IP visibility in /whowas. | |
1c38b9de JT |
223 | - Cmode +c now strips '\x0F' (^O, formatting off), fixing weird rendering in |
224 | some clients that internally use mIRC formatting such as highlighted | |
225 | messages in HexChat. | |
226 | - Indicate join failure because of the chm_sslonly extension (cmode +S) using | |
227 | the same 480 numeric as ircd-ratbox. | |
6a49a343 AC |
228 | - Do not allow SASL authentication when the configured SASL agent is unavailable. |
229 | - Automatically add unidentified users to the ACCEPT list when a user is set +R, | |
230 | as we do when the user is set +g. | |
231 | - Implement IRCv3.2 capabilities: | |
232 | - cap-notify | |
233 | - chghost | |
234 | - userhost-in-names | |
d4466030 AC |
235 | - Implement the $&, $| and $m extban types: |
236 | - $& combines 1 or more child extbans as an AND expression | |
237 | - $| combines 1 or more child extbans as an OR expression | |
238 | - $m provides normal hostmask matching as an extban for the above | |
25eeb5ed AC |
239 | - Do not allow STARTTLS if a connection is already using TLS. |
240 | - Display an operator's privilege set in WHOIS. | |
241 | - The $o extban now matches against privilege set names as well as individual | |
242 | privileges. Privilege set names are preferred over individual privileges. | |
7e5f0af6 AC |
243 | |
244 | ### oper | |
72cc5a99 JT |
245 | - Fix a crash with /testline. |
246 | - Complain to opers if a server that isn't a service tries to | |
247 | SU/RSFNC/NICKDELAY/SVSLOGIN. | |
248 | - Turn off umode +p (override) when deopering. | |
249 | - Make listener error messages (e.g. port already in use) visible by default | |
250 | instead of only on snomask +d and in ioerrorlog. | |
251 | - Remove snotes on +r about GET/PUT/POST commands ("HTTP Proxy disconnected"). | |
252 | - Add DNSBL snotes on snomask +r. | |
7e5f0af6 AC |
253 | |
254 | ### config | |
25eeb5ed AC |
255 | - Add hide_uncommon_channels extension to hide uncommon channel memberships in WHOIS, |
256 | like in ircd-seven. | |
72cc5a99 JT |
257 | - Add chm_nonotice extension, cmode +T to reject notices. |
258 | - Add restrict-unauthenticated extension, prevents unauthenticated users from | |
259 | doing anything as channel operator. | |
260 | - Add no_kill_services extension, prevents local opers from killing services. | |
261 | - Allow matching specific replies of DNSBLs, using the new matches option. | |
262 | - Remove blowfish crypt since it has the BSD advertising clause. | |
263 | - Fix SHA256 ($5$) crypt. | |
1c38b9de JT |
264 | - Make the channel::channel_target_change option actually work (it used to be |
265 | always on). | |
6a49a343 | 266 | - SSL/TLS listeners now have defer_accept unconditionally enabled on them. |
509088aa AC |
267 | - The method used for certificate fingerprints (CertFP) is now configurable. |
268 | SHA1, SHA256 and SHA512 are available options. | |
6dedd212 AC |
269 | - The minimum user threshold for channels in default /list output is now |
270 | configurable. | |
7e5f0af6 AC |
271 | |
272 | ### misc | |
72cc5a99 JT |
273 | - Work around timerfd/signalfd brokenness on OpenVZ. |
274 | - Fix a compilation issue in libratbox/src/sigio.c with recent glibc. | |
275 | - Extend documentation slightly. | |
276 | - Remove a BSD advertising clause that permission was granted to remove. | |
277 | - Add support for hooking PRIVMSG/NOTICE. | |
278 | - Reenable and fix the GnuTLS support. | |
6a49a343 AC |
279 | - Add mbedTLS backend for SSL/TLS. |
280 | - Remove EGD support. | |
72cc5a99 JT |
281 | - Try other DNS servers if errors or corrupt replies are encountered. |
282 | - Rename genssl.sh script to genssl. | |
283 | - Choose more secure SSL/TLS algorithms. | |
284 | - Fix reconnecting with SSL/TLS with some clients such as ChatZilla (see | |
285 | https://bugzilla.mozilla.org/show_bug.cgi?id=858394#c34 for details.) | |
286 | - Improve error messages about the configuration file. | |
287 | - Fix a crash when compiled with recent clang on 32-bit systems. | |
288 | - Fix various memory leaks in rehash. | |
289 | - Fix various code quality issues. | |
1c38b9de JT |
290 | - Add --with-shared-sqlite to allow distribution packages to link to a shared |
291 | sqlite library. Using this is not recommended for on-server compilation. | |
6dedd212 AC |
292 | - ISUPPORT tokens which are actually provided by modules have been moved to their |
293 | respective modules. | |
72cc5a99 | 294 | |
7e5f0af6 | 295 | ## charybdis-3.4.0 |
2080c943 | 296 | |
7e5f0af6 | 297 | ### server protocol |
2080c943 JT |
298 | - Allow overriding opers (with the new extension) to op themselves on channels. |
299 | - Allow RSFNC to change a nickname's capitalization only. | |
300 | - Add channel ban forwarding <mask>$<channel> much like ircd-seven. Local use | |
301 | of this is controlled by the channel::use_forward config option. | |
302 | - Add ENCAP TGINFO to propagate IP addresses that exceeded target change | |
303 | limits (these get a lower limit when they reconnect). | |
7e5f0af6 AC |
304 | |
305 | ### user | |
2080c943 JT |
306 | - Consider bogus CTCP ACTION messages (without action text) CTCP (for |
307 | cmode +C). | |
308 | - Send ERR_TOOMANYCHANNELS for each channel join that fails due to channel | |
309 | limits. | |
310 | - Add account-notify client capability to notify clients about logins and | |
311 | logouts of users in common channels. See doc/account-notify.txt. | |
312 | - Add extended-join client capability to add account name and ircname to JOIN. | |
313 | - Add topic TS and channel TS constraints for /LIST (T<, T>, C<, C> | |
314 | parameters as in some other servers). | |
315 | - Disallow wildcarded nicknames in "hunted" parameters like /stats and /motd. | |
316 | - Disallow mIRC italics in channel names when disable_fake_channels. | |
317 | - Add AUTHENTICATE EXTERNAL support, allows SASL authentication using a | |
318 | certificate fingerprint. | |
319 | - Allow channel::kick_on_split_riding to protect channels with mlocked keys. | |
320 | - The NICKLEN token in 005 now only specifies the maximum usable nick length. | |
321 | The MAXNICKLEN token specifies the maximum nick length any user can have. | |
322 | - Disallow $ in usernames as this may cause problems with ban forwarding. | |
323 | - Add an error message (numeric 743) if a ban mask is invalid. | |
324 | - Extract the underlying IPv4 address from 6to4 and Teredo IPv6 addresses. | |
325 | Show it in a remote /whois and check channel bans, quiets, D:lines and | |
326 | K:lines against it. Note that ban exceptions and auth{} blocks are not | |
327 | checked. | |
328 | - Allow normal users to perform /privs on themselves, showing some privileges | |
329 | from the auth{} block. | |
330 | - Add away-notify client capability, see doc/away-notify.txt. | |
331 | - Add rate limit for high-bandwidth commands, in particular /who <channel>. | |
332 | - Rate limit /away to help avoid flooding via away-notify. | |
333 | - Apply colour stripping (cmode +c) and CTCP checking (cmode +C) to messages | |
334 | to @/+ channel as well. | |
335 | - Channel mode +c (and other places that disallow colour codes) now also strip | |
336 | ASCII 4 (a different kind of colour code). | |
7e5f0af6 AC |
337 | |
338 | ### oper | |
2080c943 JT |
339 | - Add operspy for /list. |
340 | - Add a server notice to snomask +b if a user exceeds target change limits. | |
341 | - Add missing server notice for kills from RSFNC and SVSLOGIN. | |
342 | - Add /stats C to show information about dynamically loaded server | |
343 | capabilities. | |
7e5f0af6 AC |
344 | |
345 | ### config | |
2080c943 JT |
346 | - Add support for linking using SSL certificate fingerprints as the link |
347 | credential rather than the traditional password pair. | |
348 | - Add m_roleplay extension, provides various roleplay commands. | |
349 | - Add override extension, umode +p oper override for opers with oper:override | |
350 | permission, with accountability notices and timeout. Note that opers cannot | |
351 | op themselves if there are older servers on the network. | |
352 | - Add channel::disable_local_channels config option. | |
353 | - Add support for IPv6 DNSBLs. A new "type" option specifies the IP version(s) | |
354 | for which each DNSBL should be checked. | |
355 | - Make flood control settings configurable by those who know exactly what they | |
356 | are doing. | |
357 | - Add serverinfo::nicklen config option to limit the nick length for local | |
358 | users. Different values of this option do not break the server protocol. | |
359 | - Add extb_usermode extension, $m:+-<modes> extban matching against umodes. | |
360 | - Extend extb_oper extension to allow matching against oper privileges. | |
361 | - Add m_remove extension, /remove command as in ircd-seven. | |
362 | - Add general::away_interval to allow configuring /away rate limiting. | |
363 | - Add listener::defer_accept to delay accepting a connection until the client | |
364 | sends data. This depends on kernel support. It may break BOPM checking. | |
7e5f0af6 AC |
365 | |
366 | ### misc | |
2080c943 JT |
367 | - In mkpasswd, default to SHA512-based crypt instead of MD5-based crypt. |
368 | - Add --with-custom-branding and --with-custom-version configure options to | |
369 | help forks/patchsets distinguish themselves. | |
370 | - Change version control from Mercurial to GIT. | |
371 | - Ensure SIGHUP and SIGINT keep working after a SIGINT restart. | |
372 | - Add --enable-fhs-paths configure option to allow installing into a more | |
373 | FHS-like hierarchy. | |
72cc5a99 | 374 | - Remove broken GnuTLS support. SSL/TLS is now only provided using OpenSSL. |
2080c943 | 375 | |
7e5f0af6 | 376 | ## charybdis-3.3.0 |
8a419c60 | 377 | |
7e5f0af6 | 378 | ### server protocol |
8a419c60 SB |
379 | - Add new BAN command, for propagated network-wide bans (K/X:lines and RESVs). |
380 | These will burst to new servers as they are introduced, and will stay in sync | |
381 | across the whole network (new BAN capab). | |
382 | - Add new MLOCK command, to implement ircd-side channel mode locks. This allows | |
383 | services to send out a list of mode letters for a given channel which may not | |
384 | be changed, preventing mode fights between services and client bots (new MLOCK | |
385 | capab). | |
7e5f0af6 AC |
386 | |
387 | ### user | |
8a419c60 SB |
388 | - New RPL_QUIETLIST(728) and RPL_ENDOFQUIETLIST(729) numerics are used for the |
389 | quiet (+q) list, instead of overloading the ban list numerics. | |
390 | - Users may no longer change the topic of a -t channel if they cannot send to | |
391 | it. | |
392 | - Add help for EXTBAN, describing the syntax of extended bans in general, as | |
393 | well as the most common types. | |
394 | - Changed AWAY messages are now propagated to other servers. Previously, AWAY | |
395 | was only propagated when the user was not already away. | |
396 | - Channel mode +c (and other places that disallow colour codes) now also strip | |
397 | ASCII 29 (mIRC 7 italics). | |
398 | - Add auto-accept for user mode +g (callerid): Messaging a user while set +g | |
399 | will automatically add them to your accept list. | |
a48f183c AC |
400 | - Add target change for channels. It applies to unopped, unvoiced and unopered |
401 | users. This has the effect of stopping spambots which join, message and part | |
402 | many channels at a time. | |
403 | - Show RPL_WHOISLOGGEDIN in /whowas as well as in /whois entries. This adds at | |
404 | most an additional 0.5MB of memory usage. | |
7e5f0af6 | 405 | ### config |
8a419c60 SB |
406 | - Add general::use_propagated_bans to switch the new BAN system on or off. |
407 | - Add general::default_ident_timeout, to control the timeout for identd (auth) | |
408 | connections. | |
a48f183c AC |
409 | - Add channel::channel_target_change to switch the new channel target change limits |
410 | on or off. | |
8a419c60 SB |
411 | - Fix class::number_per_ident so that it also applies to connections without |
412 | identd. | |
a48f183c | 413 | - Change the example sslport option to 6697, which is more standard than 9999. |
7e5f0af6 | 414 | ### misc |
8a419c60 SB |
415 | - The custom channel mode API has been rewritten, allowing these modules to work |
416 | correctly when reloaded, or loaded from the config file. | |
417 | - The EFNet RBL is now recommended, instead of DroneBL. | |
418 | - Remove the unsupported modules directory. | |
419 | - Numerous bug fixes and code cleanups. | |
a48f183c | 420 | - In mkpasswd, default to MD5 crypt instead of insecure DES. |
8a419c60 | 421 | |
7e5f0af6 | 422 | ## charybdis-3.2.0 |
1c5683de | 423 | |
7e5f0af6 | 424 | ### server protocol |
1c5683de JT |
425 | - Apply +z to messages blocked by +b and +q as well. (new EOPMOD capab) |
426 | - Add new topic command ETB, allowing services to set topic+setter+ts always. | |
427 | (new EOPMOD capab) | |
428 | - The slash ('/') character is now allowed in spoofs. | |
7e5f0af6 AC |
429 | |
430 | ### user | |
1c5683de JT |
431 | - Add can_kick hook, based on the ircd-seven one. |
432 | - Add cmode +C (no CTCP) from ircd-seven. | |
433 | - Flood checking has been reworked. | |
434 | - Fix op-moderate (cmode +z) for channel names with '@'. | |
435 | - Add CERTFP support, allowing users to connect with an SSL client | |
436 | certificate and propagating the certificate fingerprint to other servers. | |
437 | Services packages can use this to identify users based on client | |
438 | certificates. | |
439 | - Maintain the list of recently used targets (for the target change | |
440 | anti-spam system) in most-recently-used order, overwriting the least | |
441 | recently used target with a new one. This should be friendlier to users | |
442 | without giving spambots anything. | |
443 | - Do not require target change slots for replying to the last five users to | |
444 | send a private message, notice or invite. | |
445 | - Apply target change restrictions to /invite. | |
446 | - Apply umode +g/+R restrictions to /invite, with the difference that | |
447 | instead of sending "<user> is messaging you" the invite is let through | |
448 | since that is just as noisy. | |
7e5f0af6 AC |
449 | |
450 | ### oper | |
1c5683de JT |
451 | - Add /rehash throttles to clear throttling. |
452 | - Send all server notices resulting from a remote /rehash to the oper. | |
453 | - '\s' for space is now part of the matching, not a substitution at xline | |
454 | time, fixing various issues with it. | |
455 | - Display o:line "nickname" in oper-up server notices. | |
456 | - Fix sendq exceeded snotes for servers. | |
457 | - SCAN UMODES: default list-max to 500, like a global WHO. | |
458 | - Ignore directory names in MODRELOAD to avoid crashing if it is a core | |
459 | module and the path is incorrect. | |
087a8399 | 460 | - Tweaks to spambot checks. |
7e5f0af6 AC |
461 | |
462 | ### config | |
1c5683de JT |
463 | - Add channel::only_ascii_channels config option to restrict channel names |
464 | to printable ascii only. | |
465 | - Add channel::resv_forcepart, forcibly parts local users on channel RESV, | |
466 | default enabled. | |
7e5f0af6 AC |
467 | |
468 | ### misc | |
1c5683de JT |
469 | - New mkpasswd from ircd-ratbox. |
470 | - Check more system calls for errors and handle the errors. | |
471 | - Various ssld/libratbox bugfixes from ircd-ratbox. [some MERGED] | |
472 | - Fix fd passing on FreeBSD/amd64 and possibly Solaris/sparc. [MERGED] | |
473 | - Various documentation improvements. [some MERGED] | |
474 | - Fix some crash issues. [MERGED] | |
475 | - Add bandb from ircd-ratbox, which stores permanent dlines/klines/xlines/resvs | |
476 | in an sqlite database instead of a flatfile and does the storage in a | |
b47da224 JT |
477 | helper process. Use bin/bantool -i to import your old bans into the |
478 | database. | |
1c5683de | 479 | |
7e5f0af6 | 480 | ## charybdis-3.1.0 |
38423900 JT |
481 | |
482 | - Remove TS5 support. No TS5 servers are permitted in a network with | |
483 | charybdis 3.1.0 or newer, except jupes. | |
07d86ced JT |
484 | - Replace oper flags by privilege sets (privsets). This adds an extra |
485 | level of indirection between oper flags and operator blocks. /stats O | |
486 | (capital O) shows the configured privsets. | |
38423900 JT |
487 | - Update libratbox and ssld from upstream and use it better. |
488 | - Add auth_user to auth{}. This allows specifying a username:password instead | |
489 | of just a password in PASS, so that a fixed user@host is not necessary | |
490 | for a specific auth{} block. | |
491 | - Add need_ssl to auth{} and operator{}. This makes these blocks reject | |
492 | the user if not connected via SSL. | |
493 | - Allow modules to provide simple channel modes without parameter. | |
494 | - Remove restrictions on CNAME in the resolver. | |
495 | - Make the resolver remember nonresponsive nameservers. | |
496 | - Move nick collision notices from +s to +k. | |
497 | - Add additional information to various server notices about server | |
498 | connections. | |
07d86ced JT |
499 | - Show throttle information in /stats t. |
500 | - Show rejectcache and throttle information in /testline. | |
501 | - Show oper reason in /testline. | |
502 | - Allow opers to see other users' umodes with /mode <nick>. | |
7714f92a | 503 | - SCAN UMODES GLOBAL NO-LIST MASK <mask> is no longer an operspy command. |
38423900 JT |
504 | - Also apply floodcount to messages to remote clients (except services). |
505 | - Remove user@server messages to local users. Sending such messages to | |
506 | remote servers is still possible, for securely messaging pseudoservers | |
507 | whether service{}'ed or not. The special oper-only syntax opers@server | |
508 | remains as well. | |
509 | - Allow /list on a named +p channel. A full /list already included +p channels. | |
510 | - Add operspy /topic. | |
27cdbd27 | 511 | - For remote rehashes, send error messages to the requesting oper as well. |
c029a164 JT |
512 | - Disable autoconnect for a server with excessive TS delta. |
513 | - Disallow invites to juped channels. | |
27cdbd27 | 514 | - Warn about certain duplicate and redundant auth blocks. |
38423900 JT |
515 | - Make PRIVMSG/NOTICE behave as CPRIVMSG/CNOTICE automatically if possible. |
516 | - Allow +z messages from outside if a channel is -n. | |
517 | - Allow coloured part reasons in -c channels. | |
518 | - Add ircu-like WHOX support. This allows requesting specific information | |
519 | in /who and allows obtaining services login name for all users in a | |
520 | channel. XChat/Conspire use WHOX to update away status more efficiently. | |
07d86ced JT |
521 | - Allow opers and shide_exempt users to see hopcounts even if flatten_links |
522 | is on. | |
38423900 JT |
523 | - Rework ip_cloaking. |
524 | - Add the IP address to userlog, as in ircd-ratbox 3.0. | |
525 | - Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen. | |
07d86ced JT |
526 | - Allow using ziplinks with SSL connections. This is not as efficient as |
527 | using OpenSSL's built in compression, but also works with older versions | |
528 | of OpenSSL. | |
c029a164 JT |
529 | - Fix an off by one error with zipstats processing, which could overwrite |
530 | a variable with NULL causing a crash on some systems. | |
38423900 | 531 | - Document some extensions in charybdis-oper-guide. |
07d86ced | 532 | - Add more server protocol documentation. |
27cdbd27 JT |
533 | - Add m_sendbans extension, SENDBANS command to propagate xlines and resvs |
534 | manually. | |
535 | - Add chm_sslonly extension, cmode +S for SSL/TLS only channels. | |
3ecb8b06 | 536 | - Add chm_operonly extension, cmode +O for IRCop only channels. |
27cdbd27 | 537 | - Add chm_adminonly extension, cmode +A for server admin only channels. |
38423900 JT |
538 | - Various code cleanups. |
539 | ||
7e5f0af6 | 540 | ## charybdis-3.0.4 |
38423900 JT |
541 | |
542 | - Fix a crash on certain recent versions of Ubuntu. | |
543 | - Allow 127.x.y.z for DNSBL replies instead of just 127.0.0.x. | |
544 | - Various documentation improvements. | |
545 | ||
7e5f0af6 | 546 | ## charybdis-3.0.3 |
38423900 JT |
547 | |
548 | - Fix IPv6 D:lines | |
549 | - Fix rejectcache and unknown_count. | |
550 | - Fix genssl.sh. | |
551 | - Fix ident for SSL/TLS connections. | |
552 | - Fix SSL/TLS bugs for servers with more than about 100 connections. | |
553 | - Small bugfixes. | |
554 | ||
7e5f0af6 | 555 | ## charybdis-3.0.2 |
38423900 JT |
556 | |
557 | - Improve OLIST extension error messages. | |
558 | - Improve some kline error checking. | |
559 | - Avoid timing out clients if we are still waiting for a DNSBL lookup. | |
560 | - Fix resolver hangs with epoll. | |
561 | - Fix compilation without zlib. | |
562 | ||
7e5f0af6 | 563 | ## charybdis-3.0.1 |
d99faa42 JT |
564 | |
565 | - Fix occasional hung clients with kqueue. | |
566 | - Fix a rare ssld crash. | |
567 | - Fix a bug that could cause incorrect connect failure reasons to be | |
568 | reported. | |
c75eb8da | 569 | - Make the IRCd work on MacOS X again. |
d99faa42 | 570 | |
7e5f0af6 | 571 | ## charybdis-3.0.0 |
aa218c5b | 572 | |
509090fe JT |
573 | - Port the IRCd to libratbox, which has improved our portability and allows |
574 | us to reuse low-level code instead of maintaining our own. | |
575 | - Change configuration of maximum number of clients to ircd-ratbox 3 way. | |
576 | - Add adminwall from ircd-ratbox, as an extension. | |
577 | - Add client and server-to-server SSL, read example.conf for setup. | |
578 | - Replace servlink with ssld (also for ziplinks). | |
579 | - A new extban, $z, has been added for ssl users (extensions/extb_ssl.so). | |
7f9626ff | 580 | - A new compatibility channel mode, +R, has been added, it sets |
509090fe JT |
581 | +q/-q $~a (extensions/chm_operonly_compat.so). This is similar to |
582 | the +R seen in ircd-seven. | |
ce56b91d | 583 | - A new compatibility channel mode, +S, has been added, it sets |
509090fe | 584 | +b/-b $~z (extensions/chm_sslonly_compat.so). |
7f9626ff | 585 | - A new compatibility channel mode, +O, has been added, it sets |
509090fe JT |
586 | +iI/-iI $o (extensions/chm_operonly_compat.so). |
587 | - Add remote D:lines. Note that these are not enabled by default. | |
588 | - Remove EFnet-style G:lines. Noone appears to use these. | |
589 | - Remove idle time checking (auto disconnecting users idle too long). | |
590 | - Display a notice to clients when the IRCd is shut down using SIGTERM. | |
591 | - Some error messages have been clarified to enhance usability. | |
592 | - Close the link to servers that send invalid nicks (e.g. nicklen mismatches). | |
593 | Formerly the users were killed from the network. | |
594 | - Enable topicburst by default in connect{}. | |
595 | - Fix a potential desync which can happen with oper override. | |
596 | - Remove "deopped" flag (TS5 legacy). | |
597 | - Use 127.0.0.1 as nameserver if none can be found in /etc/resolv.conf. | |
598 | - Only accept 127.0.0.x as a dnsbl listing. | |
599 | - Change cloaking module (same as 2.2.1, different from 2.2.0). | |
600 | - Make some more server notices about failed remote connect attempts | |
601 | network wide. | |
602 | - Make some server notices about flooders and TS delta network wide. | |
603 | - Remove redundant "<server> had been connected for <time>" server notice. | |
604 | - Add resv oper privilege to control /resv, /unresv and cmode +L and +P, | |
605 | enabled by default. | |
606 | - Add mass_notice oper privilege to control global notices and /wallops, | |
607 | enabled by default. | |
608 | - Rework unkline/undline/unxline/unresv so they show the exact item removed | |
609 | and do not rehash bans. | |
610 | - Show opers a list of recently (<24hrs) split servers in /map. | |
611 | - Add /privs command, shows effective privileges of a client. | |
aa218c5b | 612 | |
7e5f0af6 | 613 | ## charybdis-2.2.0 |
55da5539 | 614 | |
f32e30dd | 615 | - The I/O code has been reworked, file descriptor metadata is stored in a |
f7b60293 | 616 | hashtable and the maximum number of clients can now be set in ircd.conf. |
0b15df83 JT |
617 | - Improve error checking and error messages for kline/dline/xline/resv files. |
618 | - Allow kline ipv6:address, unkline some.host and unkline ipv6:address | |
619 | without *@. | |
620 | - Add accountability (wallops, log) to OKICK extension. | |
621 | - Add opernick to OPME/OMODE/OJOIN log messages. | |
622 | - Add use_forward option, allows disabling cmode +fFQ and umode +Q. | |
623 | - Add keyword substitution to DNSBL reasons, making it possible to show | |
624 | things like the user's IP address in the reason. | |
625 | - Use sendto_one_notice() more. | |
626 | - Server notices about kills now include the victim's nick!user@host instead | |
627 | of just nick. | |
628 | - Include real hostname in Closing Link message for unknown connections | |
629 | that have sent USER, in particular banned users. | |
630 | - Add some documentation about the SASL client protocol. | |
631 | - Change spambot, flooder and jupe joiner notices from host to orighost. | |
632 | - Remove the last remains of server hostmasking (this made it possible to | |
633 | have multiple servers with similar names appear as a single server). | |
634 | - Keep bitmasks of modularized umodes reserved forever to the letter, | |
635 | avoiding problems when reloading umode modules in a different order. | |
636 | - Fix -logfile. | |
637 | - Update to the new revision (v8) of the TS6 spec, this fixes problems with | |
0af87e57 JT |
638 | joins reversing certain mode changes crossing them. This interoperates |
639 | with older versions. | |
0b15df83 JT |
640 | - Put "End of Channel Quiet List" at the end of +q lists. |
641 | - Fix invisible count getting desynched from reality if the act of opering | |
642 | up sets -i or +i. | |
643 | - Don't leak auth{} spoofed IP addresses in +f notices. | |
644 | - Shorten quit/part/kick reasons to avoid quit reasons overflowing the | |
645 | client exiting server notice (from TOPICLEN to 260). | |
646 | - Fix some cases where 10 char usernames lose their final character. | |
647 | - Move username check after xline and dnsbl checks, so it will not complain | |
648 | to opers about clients who are xlined or blacklisted anyway (both of | |
649 | which silently reject). | |
650 | - Remove invite_ops_only config option, forcing it to YES. | |
651 | - Allow /invite (but not invex) to override +r, +l, +j in addition to +i. | |
f7b60293 JT |
652 | - Add several new extensions, such as createoperonly. |
653 | - Merge whois notice extensions into one and move it from snomask +y to +W. | |
0b15df83 | 654 | |
7e5f0af6 | 655 | ## charybdis-2.1.2 |
212380e3 AC |
656 | |
657 | - Fix bug that could cause all hostmangled users to be exempted when a | |
658 | single ban exception existed on a channel. | |
659 | - Tweak \s code a little. | |
660 | - Add a minor clarification to the SGML docs. | |
661 | - Avoid truncation in ip_cloaking (by removing components on the other side). | |
662 | Note that this may cause channel +bqeI modes set on such very long hosts | |
663 | to no longer match. | |
664 | ||
7e5f0af6 | 665 | ## charybdis-2.1.1 |
212380e3 AC |
666 | |
667 | - Search the shortest list (user's/channel's) when looking up channel | |
668 | memberships. | |
669 | - Make the SID-collision notice look right under all conditions. | |
670 | - Move kills from services from +s to +k snomask. | |
671 | - When no_tilde is present on an auth{} block, check the non-tilde version | |
672 | of the user@host against k:lines as well. | |
673 | - Put full reason in the SQUIT reason when a server is rejected for | |
674 | insufficient parameters being passed to a command. | |
675 | - Don't redirect users to an existing domain, irc.fi. | |
676 | - Improve communication of servlink-related error messages. | |
677 | ||
7e5f0af6 | 678 | ## charybdis-2.1.0 |
212380e3 | 679 | |
7f9626ff | 680 | - Our official website is now http://www.ircd-charybdis.org/. |
212380e3 AC |
681 | - Make RPL_ISUPPORT (005 numeric) modularizable. |
682 | - Also do forwarding if the channel limit (+l) is exceeded. | |
683 | - Don't count opers on service{} servers in /lusers. | |
684 | - Allow servers to send to @#chan and +#chan. | |
685 | - Allow +S clients (services) to send to channels and @/+ channels always. | |
686 | - Allow normal match() on IP address also in /masktrace. | |
687 | - Add new testmask from ratbox 2.2. Allows matches on nick, ip and gecos | |
688 | in addition to user and host, and is fully analogous to masktrace. | |
689 | The numeric has changed from 724 to 727 and fields in it have changed. | |
690 | - Show IP addresses to opers in /whowas. | |
691 | - Add extb_extgecos extban option ($x:nick!user@host#gecos), from sorcery | |
692 | modules. | |
693 | - Add extb_canjoin extban option ($j:#channel), matches if the user is banned | |
694 | from the other channel. | |
695 | - Allow opers to /who based on realhost. | |
696 | - Allow opers to /masktrace, /testmask based on realhost. | |
697 | - Add general::operspy_dont_care_user_info, limits operspy accountability to | |
698 | channel-related information. | |
699 | - Make host mangling more reliable. | |
700 | - Prevent ban evasion by enabling/disabling host mangling. | |
701 | - Add EUID, sends real host and services account in the same command as other | |
702 | user information. | |
703 | - Make it possible to send CHGHOST without ENCAP (fixes problems with old | |
704 | services). | |
705 | - Allow service{} servers to manipulate the nick delay table (for "nickserv | |
706 | enforcement", aka SVSHOLD). | |
707 | - Send server notices about connections initiated by remote opers network wide. | |
708 | - Fix too early truncation of JOIN channel list. | |
709 | - Make the newconf system available to modules. | |
710 | - Add /stats s to the hurt module to list active hurts. | |
711 | - Add general::servicestring, shown in /whois for opered services (+oS). | |
712 | - Show real host/IP behind dynamic spoof in /whois to the user themselves | |
713 | and opers. | |
714 | - Document option to disable nick delay. | |
715 | - Improve logging of server connections. | |
716 | - Clean up handling of hostnames in connect blocks. | |
717 | - Remove support for resolving ip6.int, people should be using ip6.arpa. | |
718 | - Unbreak --disable-balloc (useful for debugging with tools like valgrind). | |
719 | - Make Solaris 10 I/O ports code compile. | |
720 | - Add WEBIRC module to allow showing the real host/IP of CGI:IRC users. | |
721 | - Comment out blacklist{} block in example confs, as AHBL requires | |
722 | notification before use. | |
723 | - Fix some bugs relating to the resolver. | |
724 | ||
7e5f0af6 | 725 | ## charybdis-2.0.0 |
212380e3 AC |
726 | |
727 | - Replace ADNS with a new smaller resolver from ircu and hybrid. | |
728 | - Make services shortcuts (/chanserv etc) configurable in ircd.conf. | |
729 | - Add extban: extensible +bqeI matching via modules. Syntax is | |
730 | $<type>[:<data>]. By default no modules are loaded. | |
731 | - Add DNS blacklist checking. | |
732 | - Change operator{} block user@host from host to orighost. This means that | |
733 | services/+h spoofs do not work in operator{} blocks; auth{} spoofs still | |
734 | work. Check your operator{} blocks! | |
735 | - Split contrib/ into extensions/ and unsupported/. | |
736 | - Change CHGHOST do show the change to all other clients on common channels | |
737 | with quit/join/mode. | |
738 | - Add /rehash nickdelay to clear out the nickdelay tables. | |
739 | - Glines are now disabled in the example confs. | |
740 | - Show more error messages on stderr. | |
741 | - Add OMODE command to extensions/ for easier oper mode hacking. | |
742 | - Add HURT system to extensions/; this shuns clients matching certain host/ip | |
743 | unless and until they identify to services. Mainly intended for SorceryNet. | |
744 | - Show SASL success and failure counts in /stats t. | |
745 | - Allow more frequent autoconnects to servers. | |
746 | - Messaging services by nickname no longer uses target change slots. | |
747 | - Only accept SASL from servers in a service{} block. | |
748 | - New auth{} flag need_sasl to reject users who haven't done SASL | |
749 | authentication. | |
750 | - Expand blah.blah and blah:blah to *!*@... instead of ...!*@* for bans | |
751 | - Don't allow opers to fake locops/operwall to +w. | |
752 | - Documentation updates. | |
753 | - Many bugfixes. | |
754 | ||
7e5f0af6 | 755 | ## charybdis-1.1.0 |
212380e3 AC |
756 | |
757 | - Implement SAFELIST. | |
758 | - Incorporate ircu's match() algorithm. | |
759 | - Improve usermode modularization. | |
760 | - Seperate server notices into a seperate snomask, freeing up many | |
761 | usermodes to be used. | |
762 | - Add support for SIGNON originating from Hyperion2. | |
763 | - Modularize many server notices into seperate modules. | |
764 | - Add hooks for can_join and can_create_channel. | |
765 | - Add support for SASL authentication. | |
766 | - Add introduce_user hook for adding new messages when a user is bursted. | |
767 | - Move a large part of the ircd into libcharybdis. | |
768 | - Don't complain "unknown user mode" if a user tries to unset | |
769 | a mode they do not have access to. | |
770 | - Update our challenge specification to the challenge implementation in | |
771 | ratbox 2.2 for interoperability. | |
772 | - Make +f notices network-wide (local host, global host, | |
773 | global user@host, local class), other notices tied to +f remain local. | |
774 | - Allow ENCAP REALHOST outside of netburst. | |
775 | - Add general::global_snotices option to make server notices be | |
776 | network-wide or not. | |
777 | - Add sno_farconnect.c to contrib, provides farconnect support. | |
778 | Could be useful for BOPM. | |
779 | - Add sno_routing.c which displays information about netsplits, netjoins | |
780 | and the clients affected by them. | |
781 | - Add CHANTRACE and TRACEMASK commands from ratbox 3.0 | |
782 | - Use IsOperAdmin() instead of IsAdmin() when sending admin-only messages, | |
783 | that way hidden admins get them too. | |
784 | - Add m_error to core_module_table, somehow it was missing. | |
785 | - Correct a format string bug that occurs when a read error is | |
786 | received. | |
787 | - Add some logging in places where we drop servers and only notify | |
788 | server operators. | |
789 | - Track hostmask limits based on a client's original host, if | |
790 | available. | |
791 | - Move HIDE_SPOOF_IPS into the general {} block in ircd.conf | |
792 | ||
7e5f0af6 | 793 | ## charybdis-1.0.3 |
212380e3 AC |
794 | |
795 | - Fix /invite UID leak. (Found by logiclrd@EFnet.) | |
796 | - Incorporate ratbox bugfixes for the MONITOR system. | |
797 | - Made show_ip() less braindead. | |
798 | - Show real errno if we fail to connect to a server. | |
799 | - Don't disclose server IP's when a connection fails. | |
800 | - Do not show the channels a service is sitting in. | |
801 | - Reverted the aline code from hybrid-7.2 | |
802 | - Make sure TS6 services are recognized properly if connected remotely. | |
803 | - Tweak something in services support for cyrix boxes. | |
804 | ||
7e5f0af6 | 805 | ## charybdis-1.0.2 |
212380e3 AC |
806 | |
807 | - Fix propagation of an empty SJOIN (permanant channels). | |
808 | - Fix an exploit involving a malformed /trace request. | |
809 | - Don't display a blank RPL_WHOISCHANNELS in a remote whois request. | |
810 | - Allow modules to provide new usermodes. | |
811 | - On a nickname collision, change the collided nick to their unique ID, | |
812 | if general::collision_fnc is enabled in the config. | |
813 | - Don't allow UID lookups in /monitor + and /monitor s | |
814 | - Fix a garbage issue with channel mode +j. | |
815 | - Apply proper capability flags to the proper server in me_gcap(). | |
816 | - Use find_named_person() instead of find_person() in a nick collision. | |
817 | - Prevent UID disclosure in cmode setting. | |
818 | - Prevent UID disclosure to remote clients in /kick. | |
819 | - Do not allow users to query via /whois <server> <UID>. | |
820 | - Don't allow local users to use UID's in local usermode changes. | |
821 | - Propagate +q lists on netjunction. | |
822 | - Clear +q lists on a lowerTS SJOIN. | |
823 | - Ported a generic k/d/x-line parser from hybrid-7.2 which resulted in | |
824 | duplicate code reduction. | |
825 | - Fix linebuf raw code to not truncate lines longer than 512 bytes; | |
826 | improves ziplink reliability on net junction. | |
827 | - Use find_named_person() vs find_person() in services alias code. | |
828 | - Fix issue where channel forwarding token can be lost on net junction. | |
829 | - Fix empty channel desync issues involving +P. | |
830 | - Remove unused non-ENCAP CHGHOST support. | |
831 | - Use TS6 form for SQUIT wallops. | |
832 | - Propagate nickname changes for remote clients in TS6 form if possible, | |
833 | even if sent in TS5 format. | |
834 | - Only clear oper_only_umodes for local clients on deoper. | |
835 | ||
7e5f0af6 | 836 | ## charybdis-1.0.1 |
212380e3 AC |
837 | |
838 | - Display logged in status on non-local clients too. | |
839 | - Documentation updates | |
840 | - Fix a bug with forward target authorization. | |
841 | - Fix a bug with mode propagation (+Q/+F). | |
842 | - Change ERR_NOSUCHNICK to ERR_SERVICESOFFLINE in services aliases. | |
843 | - Add remote rehashing. | |
844 | - Document service { } blocks (u:lines on ircu). | |
845 | - Document identify_service and identify_command in reference.conf. | |
846 | ||
7e5f0af6 AC |
847 | ## charybdis-1.0 |
848 | ||
212380e3 | 849 | - Implement channel mode +L for channel list limit exemptions. |
6ec9c49f | 850 | - Implement channel mode +P primarily as a status mode, permanant |
212380e3 AC |
851 | channel -- this is usually enforced via services registrations. |
852 | - Change behaviour of /stats p: now displays all staff members instead | |
853 | of local ones only. | |
854 | - Make oper_list global, add local_oper_list for local traffic. | |
855 | - Strip control codes from parts and quits. | |
856 | - Add channel mode +c which strips control codes from messages sent to | |
857 | the channel. | |
858 | - Add channel mode +g which enables free use of the /invite command. | |
859 | - Add channel mode +z which sends rejected messages to channel ops. | |
860 | Could be useful for Q&A sessions or other similar events. | |
861 | - Add channel quietmasks. These are recommended over the use of channel | |
862 | bans used to remove a user's ability to participate in the channel. | |
863 | - Add channel join throttling mode, +j. Used to throttle channel join | |
864 | traffic, i.e. join/part flood attacks. Syntax: +j <joins>:<timeslice> | |
865 | - Improvements to channel_modes(), from shadowircd -- allows for | |
866 | better construction of the mode string. | |
867 | - Use the undernet throttle notice instead of bancache message when | |
868 | dealing with rejected clients. (stolen from ircu2.10.12) | |
869 | - Add channel forwarding, via channel mode +f, behaves similarly to | |
870 | dancer-ircd version. | |
871 | - Update example.conf to reflect AthemeNET changes. Original ratbox | |
872 | config is now reference.conf. | |
873 | - Services account names are now tracked globally. | |
874 | - Add channel mode +Q which disables the effects of channel forwarding | |
875 | on a temporary basis. | |
876 | - Add channel mode +F which allows anybody to disable forwarding target | |
877 | authorisation, voluntarily on their channels. | |
878 | - Make wallops behave like normal wallops. | |
879 | - Add services aliases: /ns, /cs, /os, /nickserv, /chanserv, /operserv. | |
880 | - Add simple hack that enables use of server password for automatic | |
881 | identify. |