X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=ChangeLog;h=1e2392e8a2cebd2ca3a4f422209b246fb792611f;hp=ad80a66838009d646562d1d39ad933a5c9e7f466;hb=8ff153d7d40e4933e5ac66016ac30d35cbde3227;hpb=06b63278754464792529ee0594dc218fa02b4c44 diff --git a/ChangeLog b/ChangeLog index ad80a668..1e2392e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,14 +9,155 @@ -- ChangeLog -- -ngIRCd Release 19.1 +ngIRCd + + - New configuration option "MaxListSize" to configure the maximum number + of channels returned by a LIST command. The default is 100, as before. + - Implement user mode "b", "block messages": when a user has set mode "b", + all private messages and notices to this user are blocked if they don't + originate from a registered user, an IRC Op, server or service. The + originator gets an error numeric sent back in this case, + ERR_NONONREG_MSG (486), which is used by UnrealIRCd, too. (Closes #144) + - WHOIS: Not only show RPL_WHOISHOST_MSG to local IRC operators, but show + it to all IRC operators in the network. And don't show it to anybody if + the "more privacy" configuration option is enabled. (Closes #134) + - Test suite: make expect scripts more verbose displaying dots for each + reply of the server that it is waiting for. + - WHOIS: Implement numeric RPL_WHOISMODES_MSG (379) and show user modes in + the reply of the WHOIS command for the user himself or, if MorePrivacy + isn't set, for request initiated by an IRC operator. (Closes #129) + - Implement channel mode "V" (invite disallow): If the new channel mode + "V" is set, the INVITE command becomes invalid and all clients get the + new ERR_NOINVITE_MSG (518) reply. (Closes #143) + - KICK-protect IRC services. + - Implement channel mode "Q" and user mode "q": Both modes protect users + from channel kicks: only IRC operators and servers can kick users having + mode "q" or in channels with mode "Q". (Closes #141) + - Debian: require "telnet" or "telnet-ssl" for building and enable + CHARCONV in ngircd-full[-dbg] variants. + - Send RPL_REHASHING (382) numeric if a REHASH command was accepted. + - Fix spelling and variable names in some log messages. + - Allow users to "cloak" their hostname only when the configuration + variable "CloakHostModeX" (introduced in 19.2) is set. Otherwise, only + IRC operators, other servers, and services are allowed to set the user + mode "+x": this prevents regular users from changing their hostmask to + the name of the IRC server itself, which confused quite a few people ;-) + (Closes #133) + - New configuration option "OperChanPAutoOp": If disabled, IRC operators + don't become channel operators in persistent channels when joining. + Enabled by default, which has been the behavior of ngIRCd up to this + patch. (Closes #135) + - Allow IRC operators to see secret (+s) channels in LIST command as long + as the "MorePrivacy" configuration option isn't enabled in the + configuration file. (Closes #136) + - Enhance build system: Support new (>=1.12) and old (<=1.11) GNU automake + versions, update checks for required and optional features, enable + colored test output of automake (if available), rename configure.in to + more modern configure.ac, include .mailmap and all build-system files in + distribution archives and no longer require a GIT tree to detect the + correct version string. + - Update documentation: add doc/Contributing.txt and include version + numbers in doc/Modes.txt. + - Free all listen ports on initialization: now listen ports can be + reconfigured on runtime using a configuration reload. + - Initialize SSL when needed only, and disable SSL on errors. + - Implement new (optional) IRC+ "CHARCONV" command to set a client + character set that the server translates all messages to/from UTF-8. + This feature requires the "libiconv" library and must be enabled using + the new "--with-iconv" option of the ./configure script. See + doc/Protocol.txt for details. (Closes #109) + - Allow limited punctuation in usernames, for better PAM integration. + - Correctly re-initialize signal handlers on RESTART commands. + - Show a warning on startup if the configuration file is not a full path: + ngIRCd is a long-running process and changes its working directory to + "/" to not block mounted filesystems and the like when running as daemon + ("not in the foreground"); therefore the path to the configuration file + must be relative to "/" (or the chroot() directory), which basically is + "not relative", to ensure that "kill -HUP" and the "REHASH" command work + as expected later on. (Closes #127) + - Make the "&SERVER" channel definable in a [Channel] configuration block, + which enables server operators to overwrite the built-in topic and + channel modes. (Closes #131) + - Don't limit list size of "WHO #channel" commands, because it makes no + sense to not return all the users in that channel, so I removed the + check. But if there are more than MAX_RPL_WHO(25) replies, the client + requesting the list will be "penalized" one second more, then 2 in + total. (Closes #125) + - Make ngIRCd buildable using the kqueue() IO interface on FreeBSD 4.x. + - Fix the "NoticeAuth" configuration option when using SSL connections and + enhance the message to show the hostname and IDENT reply of the client. + - Introduce numeric RPL_HOSTHIDDEN_MSG (396): This numeric is sent to the + client each time it changes its displayed hostname using "MODE +/-x", + and if "CloakHost" is set right after the MOTD has been sent. + - Fix USERHOST not displaying the correctly cloaked hostname. + - Implement user mode "B" ("Bot flag"): it is settable and unsettable by + every (non-restricted) client. This is how Unreal and InspIRCd do + behave, and so do we :-) + - Dynamically allocate memory for connection passwords: This a) saves + memory for clients not using passwords at all and b) allows for + "arbitrarily" long passwords. + - Implement channel mode "M": Only the server, identified users and IRC + operators are able to talk in such a channel. + - Block nicknames that are reserved for services and are defined using the + configuration variable "ServiceMask" in "Server" blocks; And this + variable now can handle more than one mask separated by commas. + - Now "make uninstall" removes the installed "ngircd.conf" file, if it is + still equal to our "sample-ngircd.conf" file and therefore hasn't been + modified by the user. If it has been modified, it isn't removed and a + notice is displayed to the user. And "make install" now displays a + message when no ngircd.conf file exists and the "sample-ngircd.conf" + file will be installed as a starting point. + - Add contrib/ngircd.service, a systemd service file for ngircd. + - Implemented XOP channel user modes: "Half Op" ("+h", prefix "%") can set + the channel modes +imntvIbek and kick all +v and normal users; "Admin" + ("+a", prefix "&") can set channel modes +imntvIbekoRsz and kick all +o, + +h, +v and normal users; and "Owner" ("+q", prefix "~") can set channel + modes +imntvIbekoRsz and kick all +a, +o, +h, +v and normal users. + - Implement hashed cloaked hostnames for both the "CloakHost" and + "CloakHostModeX" configuration options: now the admin can use the new + '%x' placeholder to insert a hashed version of the clients hostname, + and the new configuration option "CloakHostSalt" defines the salt for + the hash function. When "CloakHostSalt" is not set (the default), a + random salt will be generated after each server restart. (Closes #133) + +ngIRCd Release 19.2 (2012-06-19) + + - doc/Capabilities.txt: document "multi-prefix" capability + + ngIRCd 19.2~rc1 (2012-06-13) + - New configuration option "CloakHostModeX" to configure the hostname + that gets used for IRC clients which have user mode "+x" enabled. + Up to now, the name of the IRC server itself has been used for this, + which still is the default when "CloakHostModeX" isn't set. + - Correctly handle asynchronously re-established server links: a race + condition could let the daemon loose track of an already re-established + incoming server link while preparing its own outgoing connection. + Peers that both try to connect each other could have been affected. + - Log a debug message when SIGUSR2 is handled in debug mode. + - Only allow alphanumeric characters in user-supplied user names of + USER command and IDENT replies. + - Change wording of "TLS initialized" message to make it more consistent. + - Don't leak file descriptors on error path when creating "PID files". + - Add missing mode "r" to CHANMODES in 005 "ISUPPORT" numeric. + - Update doc/Modes.txt and doc/Platforms.txt documents. + - contrib/platformtest.sh: correctly detect Open64 C compiler and handle + "CC=xxx MAKE=yyy ./platformtest.sh" calling convention. + - 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 + handlers to return more than one "class prefix" to the client. + - Update Xcode project files: reference missing documentation files. + - Fix: Don't ignore "permission denied" errors when enabling chroot. + - FAQ: enhance description of chroot setup. + +ngIRCd Release 19.1 (2012-03-19) - Fix gcc warning (v4.6.3), initialize "list" variable to NULL. - Fix typos: "recieved" -> "received", "Please not" -> "Please note", and fix lintian(1) warning ""hyphen-used-as-minus-sign", too. - - Really include _all_ patchtes to build the Anope module into the + - Really include _all_ patches to build the Anope module into the distribution archive ... ooops! - - getpid.sh: Fix testcase error for Debian using sbuild(1). + - getpid.sh: Fix test case error for Debian using sbuild(1). - Don't log "ngIRCd hello message" two times when starting up. ngIRCd Release 19 (2012-02-29) @@ -28,7 +169,7 @@ ngIRCd Release 19 (2012-02-29) - Fix building ngIRCd with old gcc versions (e. g. 2.7.2). - Correctly re-open syslog logging after reading of configuration file: Syslog logging has been initialized before reading the - configuraton, so ngIRCd always used the default facility and ignored + configuration, so ngIRCd always used the default facility and ignored the "SyslogFacility" configuration option ... Thanks to Patrik Schindler for reporting this issue! @@ -39,7 +180,7 @@ ngIRCd Release 19 (2012-02-29) - Log more information about server synchronization. - Update preliminary ngIRCd protocol module for Anope 1.9.6, which now is the only supported version. - - New numeric RPL_WHOISHOST_MSG(378), which returns the DNS hostname + - New numeric RPL_WHOISHOST_MSG(378), which returns the DNS host name (if available) and the IP address of a client in the WHOIS reply. Only the user itself and local IRC operators get this numeric. - Implement channel exception list (mode 'e'). This allows a channel @@ -85,7 +226,7 @@ ngIRCd Release 19 (2012-02-29) commands: this reduces the possibility of flooding channels with commands like "PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit. Problem noticed by Cahata, thanks! - - Display correct error message when "Server{UID|GID}" variabe in the + - Display correct error message when "Server{UID|GID}" variable in the configuration file is invalid (not a number and no existing user). - Update Copyright notices for 2012 :-) - JOIN command: don't stop handling of channel lists when a single @@ -127,8 +268,8 @@ ngIRCd Release 19 (2012-02-29) - ./configure: Fix logic and quoting of poll() detection code: only use poll() when poll.h exists as well. - Suppress 'Can't create pre-defined channel: invalid name: ""' message. - - whois-test: handle local hostname = "localhost.localdomain" using the - pattern "localhost*" for valid local hostnames. + - whois-test: handle local host name = "localhost.localdomain" using the + pattern "localhost*" for valid local host names. - sample-ngircd.conf: show correct default for "PAM" variable: The default of "PAM" is "yes" when ngIRCd has been configured to use it, so show the correct default value in the sample configuration file. @@ -242,8 +383,8 @@ ngIRCd Release 18 (2011-07-10) variable description. - Don't use "the.net" in sample-ngircd.conf, use "example.net". - Terminate incoming connections on HTTP commands "GET" and "POST". - - New configuration option "CloakHost": when set, this hostname is used for - every client instead of the real DNS hostname (or IP address). + - New configuration option "CloakHost": when set, this host name is used for + every client instead of the real DNS host name (or IP address). - New configuration option "CloakUserToNick": when enabled, ngIRCd sets every clients' user name to their nick name and hides the user name supplied by the IRC client. @@ -348,7 +489,7 @@ ngIRCd Release 17 (2010-11-07) - configure script: correctly indent IPv6 yes/no summary output. - Don't reset My_Connections[Idx].lastping when reading data, so the client lag debug-output is working again. - - Implement user mode "x": hostname cloaking (closes: #102). + - Implement user mode "x": host name cloaking (closes: #102). - Make configure switch "--docdir" work (closes: #108). - Reformat and update FAQ.txt a little bit. - INSTALL: mention SSL, IPv6, and changed handling of MotdFile. @@ -453,7 +594,7 @@ ngIRCd Release 14.1 (2009-05-05) - Allow ping timeout quit messages to show the timeout value. - Fix error handling on compressed links. - Fix server list announcement. - - Do not remove hostnames from info text. + - Do not remove host names from info text. ngIRCd Release 14 (2009-04-20) @@ -549,7 +690,7 @@ ngIRCd 0.12.0 (2008-05-13) - RPL_WHOREPLY messages generated by IRC_WHO didn't include flags (*,@,+). (Dana Dahlstrom) - IRC_WHO now supports search patterns and will test this against user - nickname/servername/hostname, etc. as required by RFC 2812, Section 3.6.1. + nickname/server name/host name, etc. as required by RFC 2812, Section 3.6.1. (reported by Dana Dahlstrom) - Add test cases for "WHO" command. (Dana Dahlstrom) - Implement RFC 2812 handling of "0" argument to 'JOIN': must be treated @@ -572,7 +713,7 @@ ngIRCd 0.11.0 (2008-01-15) ngircd to crash [from HEAD]. (CVE-2008-0285) ngIRCd 0.11.0-pre1 (2008-01-02) - - Use dotted-decimal IP address if hostname is >= 64. + - Use dotted-decimal IP address if host name is >= 64. - Add support for /STAT u (server uptime) command. - New [Server] configuration Option "Bind" allows to specify the source IP address to use when connecting to remote server. @@ -798,7 +939,7 @@ ngIRCd 0.8.0 (2004-06-26) original ircd exactly: the unnecessary but missing ":" before the last parameter has been added. - Fixed TRACE: don't output "Serv" lines for ourself; display more info. - - Results of the resolver (hostnames and IDENT names) are discarded after + - Results of the resolver (host names and IDENT names) are discarded after the client is successfully registered with the server. - Better logging while establishing and shutting down connections. - The type of service (TOS) of all sockets is set to "interactive" now.