Commit Briefs

74631fa728 Alexander Barton

ngIRCd Release 25 (tags/rel-25)


1d4f80b422 Alexander Barton

Platforms.txt: Add and update systems

- Update x86_64/apple/darwin16.5.0 (Apple clang 8.1) - Add x86_64/apple/darwin17.7.0 (Apple clang 10.0) - Add x86_64/apple/darwin18.2.0 (Apple clang 10.0) - Add x86_64/unknown/haiku (gcc 7.3) - Update x86_64/pc/linux-gnu (gcc 6.3.0)


fe01ef9a51 Alexander Barton

Fix documentation of MotdPhrase length (#254)

The max length is actually 126 (< 127), since the check errors out if length >= 127. See <https://github.com/ngircd/ngircd/blob/master/src/ngircd/conf.c#L1487>. I didn't look through the history to see when the change happened. I just happened to find during a migration that my 140 character MOTD didn't work. Update sample configuration file as well as the man page.


96bad2b861 Alexander Barton

2019!


456eea6f18 GitHub

Implement new configuration option "MaxPenaltyTime" (#251)

This option configures the maximum penalty time increase in seconds, per penalty event. Set to -1 for no limit (the default), 0 to disable penalties altogether. ngIRCd doesn't use penalty increases higher than 2 seconds during normal operation, so values higher than 1 rarely make sense. Disabling (or reducing) penalties can greatly speed up "make check" runs for example, see below, but are mostly a debugging feature and normally not meant to be used on production systems! Some example timings running "make check" from my macOS workstation: - MaxPenaltyTime not set: 4:41,79s - "MaxPenaltyTime = 1": 3:14,71s - "MaxPenaltyTime = 0": 25,46s Closes #249.


7690716e4f Alexander Barton

Fix compilation without deprecated OpenSSL APIs (#252)


c97fb2e93e Alexander Barton

Update Xcode project for latest Xcode version (10.0)


c8162a80be Alexander Barton

Fix some compiler warnings of Apple Xcode/Clang

For example: * src/ngircd/irc-login.c:102:21: Implicit conversion loses integer precision: 'int' to 'char' * src/ngircd/conn.c:1084:9: Implicit conversion turns floating-point number into integer: 'double' to 'bool' * src/tool/tool.c:85:10: Implicit conversion loses integer precision: 'int' to 'char'


e8e04b4c8f Alexander Barton

Fix typos/errors/... in file comments

Found by Xcode/Clang code analyzer. No functional changes.


a38eea8987 Alexander Barton

Update doc/Protocol.txt for IRCv3 WEBIRC extension

See commit d0f9d3d92.


d0f9d3d92e Alexander Barton

Allow a 5th parameter in WEBIRC

According to an IRCv3 extension, the 5th parameter can be used for extra flags that are fine to ignore for now, but limiting WEBIRC params to 4 causes a syntax error. See https://github.com/ircv3/ircv3-ideas/issues/12 for more information. This closes #247.


bb4101cd6c Alexander Barton

Update HowToRelease.txt: Include the website


e29e15ca27 Alexander Barton

Platforms.txt: Add and update systems

- Update x86_64/unknown/freebsd10.0 (FreeBSD clang 3.3) - Add x86_64/unknown/freebsd10.3 (FreeBSD clang 3.4) - Update i386/pc/solaris2.11 (gcc 4.8.2) - Add mipsel/openwrt/linux-uclibc (gcc 4.8) [cross-compiler] - Add x86_64/pc/linux-gnu (gcc 5.4.0) [Win10/WSL] - Platforms.txt: Update "pre-ANSI compiler" foot note. Thanks to Götz Hoffart <goetz@hoffart.de>!


8bd88be8ad Alexander Barton

ngIRCd Release 25~rc1 (tags/rel-25-rc1)


fb760d9473 Alexander Barton

Update and fix logcheck(8) rules


7f2d21f962 Alexander Barton

Update config.guess and config.sub to recent versions

- config.guess: 2018-03-08 - config.sub: 2018-03-08


6af9476cad Alexander Barton

Initialize listening socket: Streamline error message


263c5edb60 Alexander Barton

Update NEWS and ChangeLog files


b4f7aae67e Alexander Barton

Correctly retry outgoing conenctions when forking a resolver failed

When ngIRCd failed to spawn a new resolver subprocess, the connection structure was still marked as "SERVER_WAIT", and no new attempt to connect to this server was made. Thanks to Robert Obermeier for reporting this bug! Closes #243.


798de94d65 Alexander Barton

Fix use-after-free while handling ERROR during client login

This patch fixes a "use after free" bug which is hit while processing ERROR commands while a new client is logging into the server, which leads to only the CLIENT structure becoming freed, but not the CONNECTION structure, too. And this leads to the daemon accessing the already freed CLIENT structure later on ... So now IRC_ERROR() uses the correct function Conn_Close() to correctly free both structures. The CONNECTION structure is cleaned up later on, and the freed CLIENT structure can't be overwritten during normal operations, therefore this bug normally can't crash (DoS) the service -- but you can easily hit it when using the GCC option "-fsanitize=address", or run ngIRCd with Valgrind. Thanks a lot to Joseph Bisch <joseph.bisch@gmail.com> for discovering and reporting this issue!


ac341176da Alexander Barton

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!)


6a622c0084 Alexander Barton

Update Xcode project for latest Xcode version (9.2)

This includes adding missing and deleting obsolete file references.


91ef17aba2 Alexander Barton

Use .mailmap to fix spelling of Götz Hoffart


13761f1ec9 Alexander Barton

Little code cleanups, better comments


03acae970d Alexander Barton

User mode "C": Allow messages from servers, services, and IRC Ops

Update user mode "C" handling ("Only users that share a channel are allowed to send messages") to behave like user mode "b" ("block private messages and notices") and therefore allow messages from servers, services, and IRC Operators, too. Change proposed by "wowaname" in #ngircd, thanks!