X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/9563aa5c9d7dc9589e18692c5ba799b7f6b30605..0284952c9f6edad14e18ce588cb21eb04d92c91f:/NEWS diff --git a/NEWS b/NEWS index 2307711..630d3d8 100644 --- a/NEWS +++ b/NEWS @@ -1,21 +1,397 @@ -This is charybdis 3.0.0, Copyright (c) 2005-2008 Charybdis team. +This is ShadowIRCd 6.2, Copyright (c) 2005-2010 ShadowIRCd team. See LICENSE for licensing details (GPL v2). +-- shadowircd-6.2.0 + +configuration +- add channel::hide_channel_below_users - Channels with a user count lower + than the valude of this option will not be shown by default in /LIST. +- add channel::admin_on_channel_create - If enabled, gives users creating + new channels +ao in that channel instead of just +o. +- add channel::disabledmodes - This allows opers to disallow users from + using certain channelmodes. This is only read on startup and your services + and remote servers must be configured the same otherwise desyncs will occur. +- add many services aliases for new Atheme services. +opers +- when users get hit by a DNSBL, this is now shown in the snotes. +other +- change kicknorejoin to not be a config option and be hardcoded to 2 seconds + because a longer time is kind of pointless. +- Many new features and improvements from charybdis 3.3.0. See below for + information about all that. +code +- many bugfixes and various cleanups. + +-- 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. + +-- shadowircd-6.1.0 + +new configuration options +- general::static_quit - Quit message to display for all users (not opers). +- general::no_part_messages - If this option is set to no, the ircd will not + display PART messages/reasons from users. +- general::true_no_oper_flood - Turns off *ALL* flood protection for opers. + Instead of command flooding being 4x what it is for a user with no_oper_flood, + there is no limit at all. This option also allows opers to flood channels/users + so if you do set it, be extremely careful. +- serverinfo::helpchan and helpurl - These are 2 config options that tell users, + when they do /quote help (with no extra parameters) the official network help + channel and a special URL for help. If these options are disabled, the users + will just get the help index and that's it on /quote help. +- general::default_ident_timeout - Allows you to set the default ident timeout + in the ircd.conf instead of it being hardcoded and only settable with /SET. + +new commands +- CYCLE #channel - server-side CYCLE, also called HOP in some clients/servers. + Parts the user from the given channel, then joins them to it immediately after. + Enabled by loading extensions/m_cycle. + +opers +- Override no longer alows overriding opers to talk through +q, +m, etc. + If you need to talk through one of these modes, its recommended to remove + the offending mode or give yourself voice/ops. +- OLIST now shows channel modes so opers can easily see which channels are + +s and see which channels have oper-only channel modes set. +- RESTART and DIE now can be executed remotely. See the appropriate helpfiles + for details. +- All module management commands (MODLOAD, MODLIST, MODUNLOAD, MODRELOAD and + MODRESTART) can be executed remotely. See the appropriate helpfile for + details. +- OMODE can now set and unset +ah. +- OJOIN now works with !#channel and %#channel. +- Staff channelmodes (+AO) now require chanops to set. +- OPERHOST option added to SET. You can now use SET to change the default + operhost that operators get upon opering up, though like the + general::default_operhost config option it will not override the + operator::vhost config option. + +other +- Added a strip_unprintable function to make evasion of cmodes +G and +K + less trivial. +- Massive helpfile updates. +- Added SVSJOIN s2s command. This allows things like atheme's ns_ajoin + to work on shadowircd. +- Added BAN stuff (propogated bans on burst) from charybdis trunk. This + can be disabled and the old behavior can be used by setting the + general::use_propogated_bans option to no. +- The --enable-small-net configure option is now enabled by default. + If you wish to disable small net mode, pass --disable-small-net to + configure. +- New channel mode adding API has been added from charybdis trunk. +- NOTICE/PRIVMSG @#channel and +#channel now go to admin/halfop as well + as chanop. + +-- shadowircd-6.0.0 + +new modes +- Add umode +C (no CTCP). +- Add umode +V, users with this mode set will never recieve channel invites + from other users. +- Add umode +B which identifies users as being bots in /whois. +- Add umode +G which disallows users from messaging you unless you're both + on at least one channel together. This can be "overridden" with /accept. +- Add cmode +T which blocks all notices to the channel. +- Add cmode +D which blocks all actions (/me's) from being sent to the channel. +- Add cmode +E which disallows channel ops from kicking users. +- Add cmode +N which disallows users from changing their nick while they're on + a channel with this mode set. +- Add cmode +K (norepeat) which will block repeated messages, regardless of + who they're from. +- Add cmode +G which blocks messages containing 50% or more capital letters + from being sent to the channel. +- Add cmode +J which disallows a kicked user from rejoining within 'X' seconds + of them being kicked, where 'X' is the variable of the channel::kick_no_rejoin_time + configuration option. +- Add cmodes +a and +h (admin and halfop, respectively). There are 2 extra + prefixes to more finely-grain the status of staff members in your channels. + They can be enabled or disabled in the configuration file with the options + channel::use_halfop and channel::use_admin. + +new configuration options +- auth::autojoin - This option will specify what channels users in a matching + auth {} block will automatically join on connect to your server/network. +- auth::autojoin_opers - This option will specify what channels opers in a + matching auth {} block will automatically join on oper up (/oper). +- channel::cycle_host_change - This option defines whether or not users + will cycle (part and rejoin) the channels they're in when their host changes. + This can be annoying to some people, but disabling it can cause client desyncs. +- channel::host_in_topic - This option defines whether or not a host setter's + full host or just their nick will be shown on /TOPIC. +- channel::use_local_channels - With this option, you can enable/disable + support for local channels on your server/network. +- channel::exemptchanops - This option defines what channel modes channel + operators are exempt from, channel modes usable in this option are: cCDTNGK. +- general::secret_channels_in_whois - This option defines whether or not opers + can see secret channels that a user is in when whoising them. Secret channels + will show up in the whois prefixed with *. If this option is disabled, opers + will still be able to see secret channels a user is in with the /SPYWHOIS + command. +- Enabled a few popular extensions by default, added a few extensions to the + example config files that were missing, add a few more services aliases + by default, enable ip_cloaking by default and get rid of all the old + ip_cloaking modules. + +opers +- Users' umodes are shown when you whois them. +- swhois support - Adds a mostly free-form line of text to opers' whois + if one is set in their operator {} block. +- custom operstring - Instead of showing the IRC operator or IRC administrator + oper strings, you can customize what it shows in each oper's operator {} + block. +- host-on-oper - Give a vhost to operators upon oper up. Can be defined + generally, then the general option may be overridden by each operator {} + block. +- operoverride - Oper override works very differently in ShadowIRCd compared + to all other IRCd's which support oper override. In ShadowIRCd, to be able + to override, you must have the oper:override privledge and you must then + set umode +p on yourself. The p umode will automatically expire and un-set + itself after a time set in the configuration option general::expire_override_time. +- immune - Adds cmode +M. Opers can set this on a channel (even if they don't + have ops) without the channel's ops or other users seeing (only opers see + this mode at all.) It disallows anyone in the channel from kicking opers. +- OACCEPT/callerid override - In ShadowIRCd 6, opers no longer can simply PM + users that have umodes +g or +G set and the oper is not on their accept list. + To allow opers to still be able to PM users in this situation, OACCEPT has been + added. OACCEPT is a new extension that enables the command /oaccept + which adds a piece of metadata to that use which will allow you to PM them. + +other +- Changed default NICKLEN to 31 (from 15) to fit more closely with other + IRCd's. +- Rebrand many things from Charybdis to ShadowIRCd. +- Move the m_force module to extensions. +- Add a metadata framework. Currently used for swhois, custom operstring, + OACCEPT, cmode +J, cmode +K. + +-- 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 " 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. + +-- 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 . +- SCAN UMODES GLOBAL NO-LIST 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 -- The IRCd has been ported to libratbox, which has improved our portability. -- Client SSL and Server-to-Server SSL are now available, read the example.conf - for setup. -- A new extban, $z, has been added for ssl users. +- 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. This is similar to the +R seen in ircd-seven. + +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. + +b/-b $~z (extensions/chm_sslonly_compat.so). - A new compatibility channel mode, +O, has been added, it sets - +iI/-iI $o. -- The /privs command has been added which shows you your privileges and - access level. -- Many error messages have been clarified to enhance usability. + +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 " had been connected for