Commit Briefs

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!


8f0c705029 Alexander Barton

portab/Makefile: Split list into separate lines


d803ff0525 Alexander Barton

configure.ng: Split list into separate lines


3559940e4a Alexander Barton

Update NEWS and ChangeLog files


34bdb0d98a Alexander Barton

2018!


7ed22d0b22 Alexander Barton

Fix compiler warning in ForwardLookup()

When compiling without "working getaddrinfo()", the "af" parameter of ForwardLookup() is unused by that function. Mark it as such! This prevents the following compiler warning: resolve.c:235:56: warning: unused parameter ‘af’ [-Wunused-parameter]


d9f81ac669 Alexander Barton

Fix compiler warning in Option_String()

When compiling ngIRCd without support for SSL and without support for ZLIB, gcc outputs the following warning: irc.c:493:9: warning: variable ‘options’ set but not used [-Wunused-but-set-variable] Fix it by providing a dummy function in this case.


7207bef418 Alexander Barton

Fix Get_Error() usage, take II

This should fix the following compiler warning: resolve.c:113:1: warning: ‘Get_Error’ defined but not used [-Wunused-function] Which can happen, because the logic of commit 543f44bf isn't sufficient: Get_Error() is only used when neither HAVE_WORKING_GETADDRINFO nor HAVE_GETNAMEINFO are set ... Enhances 543f44bf. Closes #241.


619a3f3ff2 Alexander Barton

contrib/ngircd.logcheck: Add sample logcheck(8) rules


05640f9285 GitHub

Allow IRC Ops and remote servers to KILL service clients (#242)

In the end, service clients behave like regular users, therefore IRC operators and servers should be able to KILL them: for example to resolve nick collisions. This is related to #238.


e009fc87d5 Alexander Barton

Don't forward KILLs to other servers if they've been blocked locally

This prevents clients from killing IRC services, for example. Closes #238. Closes #239.


c37d6971d6 Alexander Barton

Update AUTHORS file


ddeb7b20eb GitHub

Merge pull request #240 from bkuhls/fix_Get_Error

Fix Get_Error usage


543f44bff8 Bernd Kuhls

Fix Get_error usage

The usage of Get_Error is guarded by "ifdef h_errno" in this file, the definition of this function should follow the same rules. Fixes a build error when cross-compiling: https://github.com/ngircd/ngircd/issues/223