]> arthur.barton.de Git - ngircd-alex.git/blobdiff - ChangeLog
Document new configuration option "MaxListSize"
[ngircd-alex.git] / ChangeLog
index ad80a66838009d646562d1d39ad933a5c9e7f466..1e2392e8a2cebd2ca3a4f422209b246fb792611f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
                                -- ChangeLog --
 
 
                                -- 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.
 
   - 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!
     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)
   - 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
   - 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!
 
     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.
   - 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
     (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!
     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
     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.
   - ./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.
   - 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".
     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.
   - 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.
   - 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.
   - 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.
   - 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)
 
 
 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
   - 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
     (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)
     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.
   - 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.
     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.
     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.