]> arthur.barton.de Git - ngircd-alex.git/blobdiff - ChangeLog
Update Xcode project for latest Xcode version (10.0)
[ngircd-alex.git] / ChangeLog
index b39ef88b0a69309fa1aeb9c68c2e2af3bf9a5a88..3ee3db61b05f45653f15634503a49d2da7f45942 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2015 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.
 
                                -- ChangeLog --
 
 
-ngIRCd 23
+ngIRCd 25
+
+  ngIRCd 25~rc1 (2018-08-11)
+  - Update config.guess (2018-03-08) and config.sub (2018-03-08) files.
+  - Correctly retry to establish an outgoing connections when forking of the
+    resolver sub-process failed (for example because of lack of free memory).
+    Until now, such a connection was never retried once this error was hit.
+    Thanks to Robert Obermeier for reporting this bug!
+    Closes #243.
+  - Fix a "use after free" bug which can be triggered on a newly established
+    connection when the daemon handles an ERROR command received from the peer
+    during client login. Thanks a lot to Joseph Bisch <joseph.bisch@gmail.com>
+    for discovering and reporting this issue!
+  - Only send TOPIC updates to a channel when the topic actually changed:
+    This prevents the channel from becoming flooded by unnecessary 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!
+  - Fix some compiler warnings.
+  - Add contrib/ngircd.logcheck: Some sample logcheck(8) rules.
+  - 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.
+  - Don't forward KILLs to other servers if they've been blocked locally:
+    This prevents clients from killing IRC services, for example.
+    Closes #238 and #239.
+  - Fix a cross-compiler issue related to the Get_Error() function.
+    Closes #240 and #241.
+  - Update ./doc/Services.txt, enhance configuration examples.
+
+ngIRCd 24 (2017-01-20)
+
+  - Make sure that ./contrib/platformtest.sh aborts when ./autogen.sh fails.
+  - Update config.guess (2016-10-02) and config.sub (2016-11-04) files.
+  - Build Debian packages with OpenSSL instead of GnuTLS: OpenSSL allows
+    to reload used certificates on runtime for example (which is very
+    useful when using Let's Encrypt), and therefore is preferred. And
+    explicitly specify the "source format".
+  - Fix handling of connection pool allocation and enlargement: up to now,
+    the daemon only enlarged its connection pool when accepting new incoming
+    client or server connections, not when establishing new outgoing server
+    links, which could lead to problems when hitting the configured limit,
+    see "MaxConnections". Thanks to Lukas Braun (k00mi) for reporting this!
+    Closes #231.
+
+  ngIRCd 24~rc1 (2017-01-07)
+  - Enhance systemd service file, and install it in Debian package.
+  - Update configuration of Debian package.
+  - 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.
+  - Fix sending of entry duration (no negative values!) when synchronizing
+    "x-lines" (G-LINES).
+  - List expiration (G-LINES): use same log level as when setting, and log
+    this event to the &SERVER channel, too.
+  - 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) ...
+  - Make scripts and init-files in ./contrib executable.
+  - Fix building ngIRCd with OpenSSL 1.1. Thanks to Christoph Biedl
+    <ngircd.anoy@manchmal.in-ulm.de> for the patch!
+  - Fix code indentation warnings of gcc 6.2.
+  - Update config.guess (2016-04-02) and config.sub (2016-03-30) files.
+  - Fix warnings of the "shellcheck" linter in autogen.sh, contrib/ngindent
+    and contrib/platformtest.sh.
+  - 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 <christian@quelltextlich.at> for the
+    patch, closes #226.
+  - Add an ".editorconfig" file to the project.
+  - Travis-CI: use "container-based infrastructure".
+  - Limit the number of message targets, 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.
+  - Test suite: Add new test for server-server logins.
+  - contrib/ngindent: Fix shebang line.
+  - Make contrib/platformtest.sh script more portable, and only show
+    "runs=Y" when the test suite really has been passed successfully.
+  - Code cleanup in the NJON handler and the function killing clients as
+    well as the function sending messages to a "mask" (cleaner code, more
+    fault tolerant, better code comments).
+  - Update and enhance documentation: README file, doc/Platforms.txt,
+    doc/Modes.txt, doc/Commands.txt, doc/PAM.txt.
+  - Fix NJOIN not propagating "half ops" status: ngIRCd tested for the wrong
+    prefix of "half ops" when processing NJOIN commands and therefore never
+    classified a remote user as "half op".
+    Thanks to wowaname for pointing this out on #ngircd!
+
+ngIRCd 23 (2015-11-16)
+
+  - Explicitly cast time_t to long when printing it out: this prevents
+    wrong sized data types on platforms where time_t doesn't equal a
+    long any more, for example on OpenBSD (which would result in garbled
+    output on those platforms).
+  - contrib/Debian/changelog: Fix email address.
+  - Documentation: Spelling fixes; update doc/Platforms.txt.
 
   ngIRCd 23~rc1 (2015-09-06)
   - Add ".clang_complete" file, which is used by the "linter-clang" package
@@ -29,7 +150,7 @@ ngIRCd 23
   - 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 behaviour in Charybdis, IRCD-Hybrid, InspIRCd
+    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
@@ -44,14 +165,14 @@ ngIRCd 23
     clients, including Pidgin and stunnel 5.06, to reuse a session.
     Patch by Tom Ryder <tom@sanctum.geek.nz>, thanks! Closes #182.
   - Keep track of who placed bans, invites, and excepts.
-    Idee and implementation by LucentW, Thanks! Closes #203.
+    Idea and implementation by LucentW, Thanks! Closes #203.
   - Make setgroups(3) function optional: For example, Interix is missing
     this function, which prevented ngIRCd to build on this platform. When
     setgroups(3) isn't available, a warning message is issued on startup.
   - Implement numeric RPL_LISTSTART(321). lightIRC and other clients
     expecting RPL_LISTSTART should now behave correctly.
-    Idee and implementation by LucentW, Thanks! Closes #207.
-  - Update ngircd.conf.5: "CloadUserToNick" hides user _and_ real name.
+    Idea and implementation by LucentW, Thanks! Closes #207.
+  - Update ngircd.conf.5: "CloakUserToNick" hides user _and_ real name.
     This closes #208.
   - Fix case insensitive pattern matching: Up to now, only the the input
     string became lowercased and was then compared to the pattern -- which
@@ -61,11 +182,11 @@ ngIRCd 23
     hide IP addresses/hostnames on WHOIS when "MorePrivacy" is in effect.
     This closes #198.
   - IRC operators now can kick anyone when "OperCanMode" is set.
-    Idee and implementation by LucentW, Thanks! Closes #202.
+    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).
-    Idee and implementation by LucentW, Thanks! Closes #197.
+    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.
@@ -630,7 +751,7 @@ ngIRCd 19.2 (2012-06-19)
     "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
+    and capability "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.
@@ -930,7 +1051,7 @@ ngIRCd 17 (2010-11-07)
   - contrib/platformtest.sh: make command name quoting consistent
 
   ngIRCd 17~rc3 (2010-10-27)
-  - Xcode builds: detect version number correctly, updateed project file
+  - Xcode builds: detect version number correctly, updated project file
     to use the Mac OS X 10.5.x SDK, disable pam_fail_delay() because it
     is only available starting with Mac OS X 10.6, and generate a default
     PAM configuration for the Mac OS X Installer.app package of ngIRCd.
@@ -942,7 +1063,7 @@ ngIRCd 17 (2010-11-07)
   ngIRCd 17~rc2 (2010-10-25)
   - ZeroConf: include header files missing since commit a988bbc86a.
   - 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.
   - ./configure: check if C compiler can compile ISO Standard C.
   - ./configure: check support for C prototypes again.
@@ -958,7 +1079,7 @@ ngIRCd 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
@@ -979,7 +1100,7 @@ ngIRCd 17 (2010-11-07)
   - Make configure switch "--docdir" work (closes: #108).
   - Reformat and update FAQ.txt a little bit.
   - INSTALL: mention SSL, IPv6, and changed handling of MotdFile.
-  - 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.
   - Startup: open /dev/null before chroot'ing the daemon.
@@ -1015,14 +1136,14 @@ ngIRCd 16 (2010-05-02)
   - Include netinet/{in.h, in_systm.h} when checking for netinet/ip.h
   - Only include <netinet/in_systm.h> if it exists
   - Updated doc/Platforms.txt
-  - 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).
 
   ngIRCd 16~rc1 (2010-03-25)
   - Various fixes to the build system and code cleanups.
   - contrib/platformtest.sh: Only show latest commit.
-  - Updatet doc/Platforms.txt, added new README-Interix.txt documenting
+  - Updated doc/Platforms.txt, added new README-Interix.txt documenting
     how to tun ngIRCd on Microsoft Services for UNIX (MS SFU, MS SUA).
   - Updated links to the ngIRCd homepage (bug tracker, mailing list).
   - Added missing modes to USERMODES #define
@@ -1050,7 +1171,7 @@ 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
@@ -1104,7 +1225,7 @@ ngIRCd 14 (2009-04-20)
   - Fix memory leak when a encrypted and compressed server link goes down.
     (closes bug #95, reported by Christoph, fiesh@fiesh.homeip.net)
   - Fix handling of channels containing dots.
-    (closes ug #93, reported by Gonosz Csiga)
+    (closes bug #93, reported by Gonosz Csiga)
 
 ngIRCd 13 (2008-12-25)
 
@@ -1334,7 +1455,7 @@ ngIRCd 0.9.0 (2005-07-24)
   - Fixed ./configure test for TCP Wrappers: now it runs on Mac OS X as well.
   - Enhanced configure script: now you can pass an (optional) search path
     to all --with-XXX parameters, e. g. "--with-ident=/opt/ident".
-  - Removed typedefs for the native C datatypes.
+  - Removed typedefs for the native C data types.
     Use stdbool.h / inttypes.h if available.
   - New configuration option "OperServerMode" to enable a workaround needed
     when running an network with ircd2 servers and "OperCanUseMode" enabled
@@ -1515,7 +1636,7 @@ ngIRCd 0.7.0 (2003-05-01)
     to add a new server (ngIRCd tries to connect new servers only once!).
   - Added DISCONNECT command ("DISCONNECT <name>") to disable servers.
   - Restructured the documentation: Now the main language is English. The
-    german documentation has been removed (until there is a maintainer).
+    German documentation has been removed (until there is a maintainer).
   - Enhanced killing of users caused by a nickname collision.
   - Better error detection for status code ("numerics") forwarding.
   - Moved tool functions to own library: "libngtool".
@@ -1556,7 +1677,7 @@ ngIRCd 0.6.1 (2003-01-21)
     member when changing his channel user modes which could crash ngIRCd.
 
 
-Older changes (sorry, only available in german language):
+Older changes (sorry, only available in German language):
 
 ngIRCd 0.6.0, 24.12.2002