X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=NEWS;h=628a6f010dfa06c07d72adbd5de18f6d46575fe3;hp=785ce03bb323e52b8c5229f646c355ea0880ed61;hb=c97fb2e93e9c7d66b1ce70fa681a762d1f430521;hpb=1b349b05d5040de19921f087785310dfe24ef5df diff --git a/NEWS b/NEWS index 785ce03b..628a6f01 100644 --- a/NEWS +++ b/NEWS @@ -2,15 +2,199 @@ ngIRCd - Next Generation IRC Server http://ngircd.barton.de/ - (c)2001-2013 Alexander Barton and Contributors. + (c)2001-2018 Alexander Barton and Contributors. ngIRCd is free software and published under the terms of the GNU General Public License. -- NEWS -- - -ngIRCd 21~rc1 (2013-10-05) - +ngIRCd 25 + + ngIRCd 25~rc1 (2018-08-11) + - Only send TOPIC updates to a channel when the topic actually changed: + This prevents the channel from becoming flooded by unecessary TOPIC update + messages, that can happen when IRC services try to enforce a certain topic + but which is already set (at least on the local server), for example. + Therefore still forward it to all servers, but don't inform local clients + (still update setter and timestamp information, though!). + - Update Xcode project for latest Xcode version (9.2). This includes adding + missing and deleting obsolete file references. + - Handle user mode "C" ("Only users that share a channel are allowed to send + messages") like user mode "b" ("block private messages and notices"): allow + messages from servers, services, and IRC Operators, too. Change proposed by + "wowaname" back in 2015 in #ngircd, thanks! + - Allow IRC Ops and remote servers to KILL service clients: such clients + behave like regular users, therefore IRC operators and servers should be + able to KILL them: for example to resolve nick collisions. + Closes #242. + +ngIRCd 24 (2017-01-20) + + ngIRCd 24~rc1 (2017-01-07) + - Log privilege violations and failed OPER request with log level "error" + and send it to the "&SERVER" channel, too. + - Immediately shut down connection when receiving an "ERROR" command, + don't wait for the peer to close the connection. This allows the daemon + to forward the received "ERROR" message in the network, instead of the + very generic "client closed connection" message. + - Explicitly forbid remote servers to modify "x-lines" (G-LINES) when the + "AllowRemoteOper" configuration option isn't set, even when the command + seems to originate from the remote server itself: this prevents GLINE's + to become set during server handshake in this case (what wouldn't be + possible during regular runtime when a remote IRC Op sends the command) + and what can't be undone by IRC Ops later on (because of the missing + "AllowRemoteOper" option) ... + - Update Xcode project for latest Xcode version (8.0), and fix "duplicate + symbols" error messages when building (linking) the binary. + - Add "Documentation" variables to systemd configuration files. + - Make sure that SYSCONFDIR is always set, which can be handy when + using source code linters when ./configure hasn't been run already. + - Add the new "PAMServiceName" configuration option to specify the name + used as PAM service name. This setting allows to run multiple ngIRCd + instances with different PAM configurations for each instance. + Thanks to Christian Aistleitner for the + patch, closes #226. + - Add an ".editorconfig" file to the project. + - Limit the number of message target, and suppress duplicates: This + prevents an user from flooding the server using commands like this: + "PRIVMSG nick1,nick1,nick1,...". + Duplicate targets are suppressed silently (channels and clients). + In addition, the maximum number of targets per PRIVMSG, NOTICE, ... + command are limited to MAX_HNDL_TARGETS (25). If there are more, the + daemon sends the new 407 (ERR_TOOMANYTARGETS_MSG) numeric, containing + the first target that hasn't been handled any more. Closes #187. + - Make contrib/platformtest.sh script more portable, and only show + "runs=Y" when the test suite really has been passed successfully. + +ngIRCd 23 (2015-11-16) + + ngIRCd 23~rc1 (2015-09-06) + - Use "NOTICE *" before registration instead of "NOTICE AUTH". "AUTH" is + a valid nickname so sending notices to it is probably not a good idea. + Use "*" as the target instead as done with numerics when the nick is not + available. This mimics the behavior in Charybdis, IRCD-Hybrid, InspIRCd + 2.2, Plexus 4, etc. Closes #217. + The "NoticeAuth" configuration variable (ngircd.conf) has been renamed + to "NoticeBeforeRegistration" accordingly, but the old name is still + supported for compatibility reasons. + - Implement new channel mode "N" (regular users can't change their nick + name while on this channel). Closes #214. + - Keep track of who placed bans, invites, and excepts. + Idea and implementation by LucentW, Thanks! Closes #203. + - Implement numeric RPL_LISTSTART(321). lightIRC and other clients + expecting RPL_LISTSTART should now behave correctly. + Idea and implementation by LucentW, Thanks! Closes #207. + - Streamline the effect of "MorePrivacy" option: Update documentation + in ngircd.conf(5); don't hide channels for IRC Ops on LIST and don't + hide IP addresses/hostnames on WHOIS when "MorePrivacy" is in effect. + This closes #198. + - IRC operators now can kick anyone when "OperCanMode" is set. + Idea and implementation by LucentW, Thanks! Closes #202. + - Implement user mode "I": Hide channels on WHOIS: this mode prevents + ngIRCd from showing channels on WHOIS (IRC Operators can always see + the channel list). + Idea and implementation by LucentW, Thanks! Closes #197. + - INVITE command: Implement ERR_USERNOTONSERV(504) numeric and make sure + that the target user is on the same server when inviting other users + to local ("&") channels. + Idea by Cahata, thanks! Closes #183. + - MODE command: Always report channel creation time. Up to now when + receiving a MODE command, ngIRCd only reported the channel creation + time to clients that were members of the channel. This patch reports + the channel creation time to all clients, regardless if they are joined + to that channel or not. At least ircd-seven behaves like this. + This closes #188. Reported by Cahata, thanks! + +ngIRCd 22.1 (2015-04-06) + + - Update "CipherList" to not enable SSLv3 by default. Idea, initial patch, + and testing by Christoph Biedl . + - Change ngIRCd test suite not to use DNS lookups: Different operating + systems do behave quite differently when doing DNS lookups, for example + "127.0.0.1" sometimes resolves to "localhost" and sometimes to + "localhost.localdomain" (for example OpenBSD). And other OS resolve + "localhost" to the real host name (for example Cygwin). So not using + DNS at all makes the test site much more portable. + +ngIRCd 22 (2014-10-11) + + - Match all list patterns case-insensitive: this affects the invite-, + ban-, and except lists, as well as G-Lines an K-Lines. + Problem pointed out by "wowaname" on #ngircd, thanks! + + ngIRCd 22~rc1 (2014-09-29) + - Sync "except lists" between servers: Up to now, ban, invite, and G-Line + lists have been synced between servers while linking -- but obviously + nobody noticed that except list have been missing ever since. Until now. + Thanks to "j4jackj", who reported this issue in #ngircd. + - Allow longer user names (up to 63 characters) for authentication. + - Increase MAX_SERVERS from 16 to 64: There are installations out there + that would like to configure more than 16 links per server, so increase + this limit. Best would be to get rid of MAX_SERVERS altogether and make + if fully dynamic, but start with this quick and dirty hack ... + - Test suite/platformtest.sh: Detect when tests have been skipped. + - Allow "DefaultUserModes" to set all possible modes, including modes only + settable by IRC Operators. + - Implement user mode "F": "relaxed flood protection". Clients with mode + "F" set are allowed to rapidly send data to the daemon. This mode is only + settable by IRC Operators and can cause problems in the network -- so be + careful and only set it on "trusted" clients! + User mode "F" is used by Bahamut for this purpose, for example. + - Use server password when PAM is compiled in but disabled. + - Streamline punctuation of log messages. + - Return ISUPPORT(005) numerics on "VERSION". This is how ircd-seven, + Charybdis, Hybrid, and InspIRCd behave, for example. + - configure: Only link "contrib/Debian" if it exists, which isn't the case + on "VPATH builds", for example. + - Show the account name in WHOIS. This uses the same numeric as Charybdis + and ircu families: WHOISLOGGEDIN(330). + - Pattern matching: Remove "range matching" in our pattern matching code + using the "[...]" syntax, because [ and ] are valid characters in nick + names and one has to quote them currently using the "\" character, which + is quite unexpected for users. + - platformtest.sh: New option "-x", don't regenerate build system and + allow using separate source and build trees. + - Test suite: explicitly enable glibc memory checking. + - Make "MODE -k" handling more robust and compatible, send "fake '*' key" + in all replies. + - portabtest: Actually test the functions snprintf(), strlcpy(), strlcat(), + and vsnprintf() for correctness, not only existence (which was quite + useless, because if they weren't available, the program could not have + been linked at all ...). + - Implement new configuration option "Network": it is used to set the + (completely optional) "network name", to which this instance of the + daemon belongs. When set, this name is used in the ISUPPORT(005) numeric + which is sent to all clients connecting to the server after logging in. + - Update doc/Platforms.txt. + - Various code cleanups, remove unused code, streamline error handling. + Remove all imp.h and exp.h header files, support non-standard vsnprintf() + return codes, and fix some K&R C portability issues. Streamline + DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIP definitions. + - Increase penalty time to 10 seconds when handling OPER commands with an + invalid password. + +ngIRCd 21.1 (2014-03-25) + + - Don't ignore but use the server password when PAM is compiled in but + disabled. Thanks to Roy Sindre Norangshol ! + - doc/Platforms.txt: Update from master branch. + - doc/Services.txt: Update information for Anope 2.x. + - configure: add support for the LDFLAGS_END and LIBS_END variables to add + linker flags and libraries at the end of the configure run (CFLAGS_END has + been implemented already). + - Update Copyright notices for 2014 :-) + +ngIRCd 21 (2013-10-30) + + - Call arc4random_stir() in forked subprocesses, when available. This + is required by FreeBSD <10 and current NetBSD at least to correctly + initialize the "arc4" random number generator on these platforms. + + ngIRCd 21~rc2 (2013-10-20) + - Report the correct configuration file name on configuration errors, + support longer configuration lines, and warn when lines are truncated. + + ngIRCd 21~rc1 (2013-10-05) - Actually KILL clients on GLINE/KLINE. (Closes bug #156) - Add support to show all user links using the "STATS L" (uppercase) command (restricted to IRC Operators). @@ -188,7 +372,7 @@ ngIRCd 20 (2012-12-17) the hash function. When "CloakHostSalt" is not set (the default), a random salt will be generated after each server restart. -ngIRCd Release 19.2 (2012-06-19) +ngIRCd 19.2 (2012-06-19) ngIRCd 19.2~rc1 (2012-06-13) - New configuration option "CloakHostModeX" to configure the hostname @@ -197,15 +381,15 @@ ngIRCd Release 19.2 (2012-06-19) which still is the default when "CloakHostModeX" isn't set. - Add instructions for setting up Atheme IRC services. - Implement support for IRC capability handling, the new "CAP" command, - and capablity "multi-prefix" which allows both the NAME and WHO command + and capability "multi-prefix" which allows both the NAME and WHO command handlers to return more than one "class prefix" to the client. -ngIRCd Release 19.1 (2012-03-19) +ngIRCd 19.1 (2012-03-19) - Really include _all_ patches to build the Anope module into the distribution archive ... ooops! -ngIRCd Release 19 (2012-02-29) +ngIRCd 19 (2012-02-29) ngIRCd 19~rc1 (2012-02-12) - Update preliminary ngIRCd protocol module for Anope 1.9.6, which now @@ -273,7 +457,7 @@ ngIRCd Release 19 (2012-02-29) argument. Like unknown user and channel modes, these modes are saved and forwarded to other servers, but ignored otherwise. -ngIRCd Release 18 (2011-07-10) +ngIRCd 18 (2011-07-10) - Add preliminary ngIRCd protocol module for Anope 1.9 to contrib/Anope/. @@ -348,19 +532,19 @@ ngIRCd Release 18 (2011-07-10) vice-versa). The defaults are adjusted accordingly and the old variables in [Global] are still accepted, so there is no functional change. -ngIRCd Release 17.1 (2010-12-19) +ngIRCd 17.1 (2010-12-19) - Don't log critical (or worse) messages to stderr - Remove "error file" when compiled with debug code enabled - New numeric 329: get channel creation time on "MODE #chan" commands -ngIRCd Release 17 (2010-11-07) +ngIRCd 17 (2010-11-07) - doc: change path names in sample-ngircd.conf depending on sysconfdir ngIRCd 17~rc2 (2010-10-25) - Generate ngIRCd version number from GIT tag. - - Make sourcecode compatible with ansi2knr again. This allows to compile + - Make source code compatible with ansi2knr again. This allows to compile ngIRCd using a pre-ANSI K&R C compiler again. ngIRCd 17~rc1 (2010-10-11) @@ -369,7 +553,7 @@ ngIRCd Release 17 (2010-11-07) Howl, Avahi or on Mac OS X). - New configuration option "SyslogFacility" to define the syslog "facility" (the "target"), to which ngIRCd should send its log messages. - Possible values are system dependant, but most probably "auth", "daemon", + Possible values are system dependent, but most probably "auth", "daemon", "user" and "local1" through "local7" are possible values; see syslog(3). Default is "local5" for historical reasons. - Dump the "internal server state" (configured servers, established @@ -379,7 +563,7 @@ ngIRCd Release 17 (2010-11-07) signal SIGUSR1, when debug code is compiled in, not only on startup using the command line parameters. - Implement user mode "x": host name cloaking (closes: #102). - - Change MOTD file handling: ngIRCd now caches the contens of the MOTD + - Change MOTD file handling: ngIRCd now caches the contents of the MOTD file, so the daemon now requires a HUP signal or REHASH command to re-read the MOTD file when its content changed. - Allow IRC ops to change channel modes even without OperServerMode set. @@ -392,10 +576,10 @@ ngIRCd Release 17 (2010-11-07) this new mode requires the user to be an IRC operator. - Show SSL status in WHOIS output, numeric 275. -ngIRCd Release 16 (2010-05-02) +ngIRCd 16 (2010-05-02) ngIRCd 16~rc2 (2010-04-25) - - Enhace connection statistics counters: display total number of served + - Enhance connection statistics counters: display total number of served connections on daemon shutdown and when a new client connects using the new numeric RPL_STATSCONN (250). @@ -412,12 +596,12 @@ ngIRCd Release 16 (2010-05-02) every channel, and c) remote clients using a server not supporting this mode are not checked either and therefore always allowed to join. -ngIRCd Release 15 (2009-11-07) +ngIRCd 15 (2009-11-07) ngIRCd 15~rc1 (2009-10-15) - Do not add default listening port (6667) if SSL ports were specified, so ngIRCd can be configured to only accept SSL-encrypted connections now. - - Enable IRC operators to use the IRC command SQUIT (insted of the already + - Enable IRC operators to use the IRC command SQUIT (instead of the already implemented but non-standard DISCONNECT command). - New configuration option "AllowRemoteOper" (disabled by default) that enables remote IRC operators to use the IRC commands SQUIT and CONNECT @@ -426,13 +610,13 @@ ngIRCd Release 15 (2009-11-07) a throttling scheme: an IRC client can send up to 3 commands or 256 bytes per second before a one second pause is enforced. -ngIRCd Release 14.1 (2009-05-05) +ngIRCd 14.1 (2009-05-05) - Security: fix remotely triggerable crash in SSL/TLS code. - Debian: build ngircd-full-dbg package. - Allow ping timeout quit messages to show the timeout value. -ngIRCd Release 14 (2009-04-20) +ngIRCd 14 (2009-04-20) ngIRCd 14~rc1 (2009-03-29) - Allow creation of persistent modeless channels. @@ -443,7 +627,7 @@ ngIRCd Release 14 (2009-04-20) individual channel keys for different users. - Remove limit on maximum number of predefined channels in ngircd.conf. -ngIRCd Release 13 (2008-12-25) +ngIRCd 13 (2008-12-25) ngIRCd 13~rc1 (2008-11-21): - New version number scheme :-) @@ -575,7 +759,7 @@ ngIRCd 0.7.5 (2003-07-11) (DoS), the default is 5 connections per client IP. - Added new configuration variable "Listen" to bind all listening sockets of the server to a single IP address. - + ngIRCd 0.7.1 (2003-07-18) - Added support for GNU/Hurd. @@ -600,9 +784,9 @@ ngIRCd 0.7.0 (2003-05-01) - Documentation is now installed in $(datadir)/doc/ngircd. -Older news (sorry, only available in german language): +Older news (sorry, only available in German language): -ngIRCd 0.6.0, 2002-12-24 +ngIRCd 0.6.0, 24.12.2002 - beim Schliessen einer Verbindung zeigt der Server nun vor dem ERROR noch eine Statistik ueber die empfangene und gesendete Datenmenge an.