]> jfr.im git - solanum.git/blobdiff - NEWS
Complain to opers if a server that isn't a service tries to SU/RSFNC/NICKDELAY/SVSLOGIN.
[solanum.git] / NEWS
diff --git a/NEWS b/NEWS
index a852f386971e57d5af9cdbdae2a6cc8c57979d4f..feab176d66c8000ac13b62b235a0a23590852b58 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,357 @@
-This is charybdis 2.2.0, Copyright (c) 2005-2007 Charybdis team.
+This is charybdis 3.4-devel, Copyright (c) 2005-2010 Charybdis team.
 See LICENSE for licensing details (GPL v2).
 
+-- charybdis-3.4-devel
+
+server protocol
+- Allow overriding opers (with the new extension) to op themselves on channels.
+- Allow RSFNC to change a nickname's capitalization only.
+- Add channel ban forwarding <mask>$<channel> much like ircd-seven. Local use
+  of this is controlled by the channel::use_forward config option.
+- Add ENCAP TGINFO to propagate IP addresses that exceeded target change
+  limits (these get a lower limit when they reconnect).
+user
+- Consider bogus CTCP ACTION messages (without action text) CTCP (for
+  cmode +C).
+- Send ERR_TOOMANYCHANNELS for each channel join that fails due to channel
+  limits.
+- Add account-notify client capability to notify clients about logins and
+  logouts of users in common channels. See doc/account-notify.txt.
+- Add extended-join client capability to add account name and ircname to JOIN.
+- Add topic TS and channel TS constraints for /LIST (T<, T>, C<, C>
+  parameters as in some other servers).
+- Disallow wildcarded nicknames in "hunted" parameters like /stats and /motd.
+- Disallow mIRC italics in channel names when disable_fake_channels.
+- Add AUTHENTICATE EXTERNAL support, allows SASL authentication using a
+  certificate fingerprint.
+- Allow channel::kick_on_split_riding to protect channels with mlocked keys.
+- The NICKLEN token in 005 now only specifies the maximum usable nick length.
+  The MAXNICKLEN token specifies the maximum nick length any user can have.
+- Disallow $ in usernames as this may cause problems with ban forwarding.
+- Add an error message (numeric 743) if a ban mask is invalid.
+- Extract the underlying IPv4 address from 6to4 and Teredo IPv6 addresses.
+  Show it in a remote /whois and check channel bans, quiets, D:lines and
+  K:lines against it. Note that ban exceptions and auth{} blocks are not
+  checked.
+- Allow normal users to perform /privs on themselves, showing some privileges
+  from the auth{} block.
+- Add away-notify client capability, see doc/away-notify.txt.
+- Add rate limit for high-bandwidth commands, in particular /who <channel>.
+- Rate limit /away to help avoid flooding via away-notify.
+- Apply colour stripping (cmode +c) and CTCP checking (cmode +C) to messages
+  to @/+ channel as well.
+- Channel mode +c (and other places that disallow colour codes) now also strip
+  ASCII 4 (a different kind of colour code).
+oper
+- Add operspy for /list.
+- Add a server notice to snomask +b if a user exceeds target change limits.
+- Add missing server notice for kills from RSFNC and SVSLOGIN.
+- Add /stats C to show information about dynamically loaded server
+  capabilities.
+config
+- Add support for linking using SSL certificate fingerprints as the link
+  credential rather than the traditional password pair.
+- Add m_roleplay extension, provides various roleplay commands.
+- Add override extension, umode +p oper override for opers with oper:override
+  permission, with accountability notices and timeout. Note that opers cannot
+  op themselves if there are older servers on the network.
+- Add channel::disable_local_channels config option.
+- Add support for IPv6 DNSBLs. A new "type" option specifies the IP version(s)
+  for which each DNSBL should be checked.
+- Make flood control settings configurable by those who know exactly what they
+  are doing.
+- Add serverinfo::nicklen config option to limit the nick length for local
+  users. Different values of this option do not break the server protocol.
+- Add extb_usermode extension, $m:+-<modes> extban matching against umodes.
+- Extend extb_oper extension to allow matching against oper privileges.
+- Add m_remove extension, /remove command as in ircd-seven.
+- Add general::away_interval to allow configuring /away rate limiting.
+- Add listener::defer_accept to delay accepting a connection until the client
+  sends data. This depends on kernel support. It may break BOPM checking.
+misc
+- In mkpasswd, default to SHA512-based crypt instead of MD5-based crypt.
+- Add --with-custom-branding and --with-custom-version configure options to
+  help forks/patchsets distinguish themselves.
+- Change version control from Mercurial to GIT.
+- Ensure SIGHUP and SIGINT keep working after a SIGINT restart.
+- Add --enable-fhs-paths configure option to allow installing into a more
+  FHS-like hierarchy.
+
+-- charybdis-3.3.0
+
+server protocol
+- Add new BAN command, for propagated network-wide bans (K/X:lines and RESVs).
+  These will burst to new servers as they are introduced, and will stay in sync
+  across the whole network (new BAN capab).
+- Add new MLOCK command, to implement ircd-side channel mode locks. This allows
+  services to send out a list of mode letters for a given channel which may not
+  be changed, preventing mode fights between services and client bots (new MLOCK
+  capab).
+user
+- New RPL_QUIETLIST(728) and RPL_ENDOFQUIETLIST(729) numerics are used for the
+  quiet (+q) list, instead of overloading the ban list numerics.
+- Users may no longer change the topic of a -t channel if they cannot send to
+  it.
+- Add help for EXTBAN, describing the syntax of extended bans in general, as
+  well as the most common types.
+- Changed AWAY messages are now propagated to other servers. Previously, AWAY
+  was only propagated when the user was not already away.
+- Channel mode +c (and other places that disallow colour codes) now also strip
+  ASCII 29 (mIRC 7 italics).
+- Add auto-accept for user mode +g (callerid): Messaging a user while set +g
+  will automatically add them to your accept list.
+- Add target change for channels.  It applies to unopped, unvoiced and unopered
+  users.  This has the effect of stopping spambots which join, message and part
+  many channels at a time.
+- Show RPL_WHOISLOGGEDIN in /whowas as well as in /whois entries.  This adds at
+  most an additional 0.5MB of memory usage.
+oper
+config
+- Add general::use_propagated_bans to switch the new BAN system on or off.
+- Add general::default_ident_timeout, to control the timeout for identd (auth)
+  connections.
+- Add channel::channel_target_change to switch the new channel target change limits
+  on or off.
+- Fix class::number_per_ident so that it also applies to connections without
+  identd.
+- Change the example sslport option to 6697, which is more standard than 9999.
+misc
+- The custom channel mode API has been rewritten, allowing these modules to work
+  correctly when reloaded, or loaded from the config file.
+- The EFNet RBL is now recommended, instead of DroneBL.
+- Remove the unsupported modules directory.
+- Numerous bug fixes and code cleanups.
+- In mkpasswd, default to MD5 crypt instead of insecure DES.
+
+-- charybdis-3.2.0
+
+server protocol
+- Apply +z to messages blocked by +b and +q as well. (new EOPMOD capab)
+- Add new topic command ETB, allowing services to set topic+setter+ts always.
+  (new EOPMOD capab)
+- The slash ('/') character is now allowed in spoofs.
+user
+- Add can_kick hook, based on the ircd-seven one.
+- Add cmode +C (no CTCP) from ircd-seven.
+- Flood checking has been reworked.
+- Fix op-moderate (cmode +z) for channel names with '@'.
+- Add CERTFP support, allowing users to connect with an SSL client
+  certificate and propagating the certificate fingerprint to other servers.
+  Services packages can use this to identify users based on client
+  certificates.
+- Maintain the list of recently used targets (for the target change
+  anti-spam system) in most-recently-used order, overwriting the least
+  recently used target with a new one. This should be friendlier to users
+  without giving spambots anything.
+- Do not require target change slots for replying to the last five users to
+  send a private message, notice or invite.
+- Apply target change restrictions to /invite.
+- Apply umode +g/+R restrictions to /invite, with the difference that
+  instead of sending "<user> is messaging you" the invite is let through
+  since that is just as noisy.
+oper
+- Add /rehash throttles to clear throttling.
+- Send all server notices resulting from a remote /rehash to the oper.
+- '\s' for space is now part of the matching, not a substitution at xline
+  time, fixing various issues with it.
+- Display o:line "nickname" in oper-up server notices.
+- Fix sendq exceeded snotes for servers.
+- SCAN UMODES: default list-max to 500, like a global WHO.
+- Ignore directory names in MODRELOAD to avoid crashing if it is a core
+  module and the path is incorrect.
+- Tweaks to spambot checks.
+config
+- Add channel::only_ascii_channels config option to restrict channel names
+  to printable ascii only.
+- Add channel::resv_forcepart, forcibly parts local users on channel RESV,
+  default enabled.
+misc
+- New mkpasswd from ircd-ratbox.
+- Check more system calls for errors and handle the errors.
+- Various ssld/libratbox bugfixes from ircd-ratbox. [some MERGED]
+- Fix fd passing on FreeBSD/amd64 and possibly Solaris/sparc. [MERGED]
+- Various documentation improvements. [some MERGED]
+- Fix some crash issues. [MERGED]
+- Add bandb from ircd-ratbox, which stores permanent dlines/klines/xlines/resvs
+  in an sqlite database instead of a flatfile and does the storage in a
+  helper process. Use bin/bantool -i to import your old bans into the
+  database.
+
+-- charybdis-3.1.0
+
+- Remove TS5 support. No TS5 servers are permitted in a network with
+  charybdis 3.1.0 or newer, except jupes.
+- Replace oper flags by privilege sets (privsets). This adds an extra
+  level of indirection between oper flags and operator blocks. /stats O
+  (capital O) shows the configured privsets.
+- Update libratbox and ssld from upstream and use it better.
+- Add auth_user to auth{}. This allows specifying a username:password instead
+  of just a password in PASS, so that a fixed user@host is not necessary
+  for a specific auth{} block.
+- Add need_ssl to auth{} and operator{}. This makes these blocks reject
+  the user if not connected via SSL.
+- Allow modules to provide simple channel modes without parameter.
+- Remove restrictions on CNAME in the resolver.
+- Make the resolver remember nonresponsive nameservers.
+- Move nick collision notices from +s to +k.
+- Add additional information to various server notices about server
+  connections.
+- Show throttle information in /stats t.
+- Show rejectcache and throttle information in /testline.
+- Show oper reason in /testline.
+- Allow opers to see other users' umodes with /mode <nick>.
+- SCAN UMODES GLOBAL NO-LIST MASK <mask> is no longer an operspy command.
+- Also apply floodcount to messages to remote clients (except services).
+- Remove user@server messages to local users. Sending such messages to
+  remote servers is still possible, for securely messaging pseudoservers
+  whether service{}'ed or not. The special oper-only syntax opers@server
+  remains as well.
+- Allow /list on a named +p channel. A full /list already included +p channels.
+- Add operspy /topic.
+- For remote rehashes, send error messages to the requesting oper as well.
+- Disable autoconnect for a server with excessive TS delta.
+- Disallow invites to juped channels.
+- Warn about certain duplicate and redundant auth blocks.
+- Make PRIVMSG/NOTICE behave as CPRIVMSG/CNOTICE automatically if possible.
+- Allow +z messages from outside if a channel is -n.
+- Allow coloured part reasons in -c channels.
+- Add ircu-like WHOX support. This allows requesting specific information
+  in /who and allows obtaining services login name for all users in a
+  channel. XChat/Conspire use WHOX to update away status more efficiently.
+- Allow opers and shide_exempt users to see hopcounts even if flatten_links
+  is on.
+- Rework ip_cloaking.
+- Add the IP address to userlog, as in ircd-ratbox 3.0.
+- Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
+- Allow using ziplinks with SSL connections. This is not as efficient as
+  using OpenSSL's built in compression, but also works with older versions
+  of OpenSSL.
+- Fix an off by one error with zipstats processing, which could overwrite
+  a variable with NULL causing a crash on some systems.
+- Document some extensions in charybdis-oper-guide.
+- Add more server protocol documentation.
+- Add m_sendbans extension, SENDBANS command to propagate xlines and resvs
+  manually.
+- Add chm_sslonly extension, cmode +S for SSL/TLS only channels.
+- Add chm_operonly extension, cmode +O for IRCop only channels.
+- Add chm_adminonly extension, cmode +A for server admin only channels.
+- Various code cleanups.
+
+-- charybdis-3.0.4
+
+- Fix a crash on certain recent versions of Ubuntu.
+- Allow 127.x.y.z for DNSBL replies instead of just 127.0.0.x.
+- Various documentation improvements.
+
+-- charybdis-3.0.3
+
+- Fix IPv6 D:lines
+- Fix rejectcache and unknown_count.
+- Fix genssl.sh.
+- Fix ident for SSL/TLS connections.
+- Fix SSL/TLS bugs for servers with more than about 100 connections.
+- Small bugfixes.
+
+-- charybdis-3.0.2
+
+- Improve OLIST extension error messages.
+- Improve some kline error checking.
+- Avoid timing out clients if we are still waiting for a DNSBL lookup.
+- Fix resolver hangs with epoll.
+- Fix compilation without zlib.
+
+-- charybdis-3.0.1
+
+- Fix occasional hung clients with kqueue.
+- Fix a rare ssld crash.
+- Fix a bug that could cause incorrect connect failure reasons to be
+  reported.
+- Make the IRCd work on MacOS X again.
+
+-- charybdis-3.0.0
+
+- Port the IRCd to libratbox, which has improved our portability and allows
+  us to reuse low-level code instead of maintaining our own.
+- Change configuration of maximum number of clients to ircd-ratbox 3 way.
+- Add adminwall from ircd-ratbox, as an extension.
+- Add client and server-to-server SSL, read example.conf for setup.
+- Replace servlink with ssld (also for ziplinks).
+- A new extban, $z, has been added for ssl users (extensions/extb_ssl.so).
+- A new compatibility channel mode, +R, has been added, it sets
+  +q/-q $~a (extensions/chm_operonly_compat.so). This is similar to
+  the +R seen in ircd-seven.
+- A new compatibility channel mode, +S, has been added, it sets
+  +b/-b $~z (extensions/chm_sslonly_compat.so).
+- A new compatibility channel mode, +O, has been added, it sets
+  +iI/-iI $o (extensions/chm_operonly_compat.so).
+- Add remote D:lines. Note that these are not enabled by default.
+- Remove EFnet-style G:lines. Noone appears to use these.
+- Remove idle time checking (auto disconnecting users idle too long).
+- Display a notice to clients when the IRCd is shut down using SIGTERM.
+- Some error messages have been clarified to enhance usability.
+- Close the link to servers that send invalid nicks (e.g. nicklen mismatches).
+  Formerly the users were killed from the network.
+- Enable topicburst by default in connect{}.
+- Fix a potential desync which can happen with oper override.
+- Remove "deopped" flag (TS5 legacy).
+- Use 127.0.0.1 as nameserver if none can be found in /etc/resolv.conf.
+- Only accept 127.0.0.x as a dnsbl listing.
+- Change cloaking module (same as 2.2.1, different from 2.2.0).
+- Make some more server notices about failed remote connect attempts
+  network wide.
+- Make some server notices about flooders and TS delta network wide.
+- Remove redundant "<server> had been connected for <time>" server notice.
+- Add resv oper privilege to control /resv, /unresv and cmode +L and +P,
+  enabled by default.
+- Add mass_notice oper privilege to control global notices and /wallops,
+  enabled by default.
+- Rework unkline/undline/unxline/unresv so they show the exact item removed
+  and do not rehash bans.
+- Show opers a list of recently (<24hrs) split servers in /map.
+- Add /privs command, shows effective privileges of a client.
+
 -- charybdis-2.2.0
 
+- The I/O code has been reworked, file descriptor metadata is stored in a
+  hashtable and the maximum number of clients can now be set in ircd.conf.
+- Improve error checking and error messages for kline/dline/xline/resv files.
+- Allow kline ipv6:address, unkline some.host and unkline ipv6:address
+  without *@.
+- Add accountability (wallops, log) to OKICK extension.
+- Add opernick to OPME/OMODE/OJOIN log messages.
+- Add use_forward option, allows disabling cmode +fFQ and umode +Q.
+- Add keyword substitution to DNSBL reasons, making it possible to show
+  things like the user's IP address in the reason.
+- Use sendto_one_notice() more.
+- Server notices about kills now include the victim's nick!user@host instead
+  of just nick.
+- Include real hostname in Closing Link message for unknown connections
+  that have sent USER, in particular banned users.
+- Add some documentation about the SASL client protocol.
+- Change spambot, flooder and jupe joiner notices from host to orighost.
+- Remove the last remains of server hostmasking (this made it possible to
+  have multiple servers with similar names appear as a single server).
+- Keep bitmasks of modularized umodes reserved forever to the letter,
+  avoiding problems when reloading umode modules in a different order.
+- Fix -logfile.
+- Update to the new revision (v8) of the TS6 spec, this fixes problems with
+  joins reversing certain mode changes crossing them. This interoperates
+  with older versions.
+- Put "End of Channel Quiet List" at the end of +q lists.
+- Fix invisible count getting desynched from reality if the act of opering
+  up sets -i or +i.
+- Don't leak auth{} spoofed IP addresses in +f notices.
+- Shorten quit/part/kick reasons to avoid quit reasons overflowing the
+  client exiting server notice (from TOPICLEN to 260).
+- Fix some cases where 10 char usernames lose their final character.
+- Move username check after xline and dnsbl checks, so it will not complain
+  to opers about clients who are xlined or blacklisted anyway (both of
+  which silently reject).
+- Remove invite_ops_only config option, forcing it to YES.
+- Allow /invite (but not invex) to override +r, +l, +j in addition to +i.
+- Add several new extensions, such as createoperonly.
+- Merge whois notice extensions into one and move it from snomask +y to +W.
+
 -- charybdis-2.1.2
 
 - Fix bug that could cause all hostmangled users to be exempted when a
@@ -28,7 +377,7 @@ See LICENSE for licensing details (GPL v2).
 
 -- charybdis-2.1.0
 
-- Our official website is now http;//www.ircd-charybdis.org/.
+- Our official website is now http://www.ircd-charybdis.org/.
 - Make RPL_ISUPPORT (005 numeric) modularizable.
 - Also do forwarding if the channel limit (+l) is exceeded.
 - Don't count opers on service{} servers in /lusers.
@@ -326,7 +675,8 @@ See LICENSE for licensing details (GPL v2).
 BUGS: Major bugs in this release are listed in BUGS
 
 BUG REPORTS: If you run this code and encounter problems, you must report
-via IRC to irc.atheme.net, #athemenet-dev.
+via IRC to irc.atheme.org, #charybdis. For specific bugs you can use
+http://bugs-meta.atheme.org/ (Charybdis project).
 
 Please include a gdb backtrace and keep the core file, binaries and 
 modules in case the developers need them.
@@ -334,5 +684,5 @@ modules in case the developers need them.
 Other files recommended for reading: BUGS, README.FIRST, INSTALL
 
 --------------------------------------------------------------------------------
-$Id: NEWS 3145 2007-01-25 06:45:04Z nenolod $
+$Id: NEWS 3496 2007-05-30 10:22:01Z jilles $