Commit Briefs
ngIRCd Release 26 (tags/rel-26)
ngIRCd Release 26~rc2 (tags/rel-26-rc2)
Don't send invalid CHANINFO commands when no key is set
It can happen that a channel is +k, but no key is set: for example by misconfiguring a pre-defined channel. In this case, ngIRCd sent an invalud CHANINFO command ("CHANINFO #test +Pk 0 :'", note the unset key represented by the two spaces) to its peers. Fix this and enhance the CHANINFO documentation.
Update description texts
Bring them in line with the updated texts on the homepage.
IRC_SERVER: Make sure that the client sent a prefix
The SERVER command is only valid with a prefix when received from other servers, so make sure that there is one and disconnect the peer if not (instead of crashing ...). This obsoletes PR #275. Thanks Hilko Bengen (hillu) for finding & reporting this as well for the patch & pull request! But I think this is the "more correct" fix.
Enhance debug logging for PONG commands
Distinguish between expected and unexpected PONG commands.
Fix PING-PONG handling when processing backlog in read buffers
Prior to this commit, the PONG wasn't registered correctly, becauuse the "last ping" time was set to time(NULL), which could be bigger than the "last data" time stamp, for example when handling the read buffer took more than 1 second -- and this resulted in the PONG time out kicking in effectively disconnecting a newly linked server for example, because ngIRCd thought it was still waiting for a PONG: last data < last ping. Now the "last ping" value has three possible values: 0: new connection, no PING, no PONG so far. 1: got a PONG, no longer waiting for a PONG. <t>: time stamp of last sent out PING command.
Revert "Set the "last data" time to "last ping" time when updating the latter"
This patch completely broke the PING-PONG logic: now ngIRCd never disconnects any stale peers but keeps sending out PINGs over and over again ... The real issue (server disconnects right after connect) will be fixed in the next commit, but let's revert to the somewhat "half-broken but 'known' state" first ... This reverts commit 79a917f954bef8089967786bd3597a6e5ff5c336.
testsuite: Add missing files to EXTRA_DIST
26~rc1 as extracted from tarball cannot be built/tested with SSL support because of a missing script and certificates.
ngIRCd Release 26~rc1 (tags/rel-26-rc1)
Update config.guess and config.sub to recent versions
- config.guess: 2020-04-26 - config.sub: 2020-05-04 And set both scripts +x, they are executable.
Allow more characters per line in MOTD and help text files
Change the line buffer in the Read_TextFile() function from 127 to COMMAND_LEN (=512) bytes. Lines can't even get that long, because they have to be prefixed before being sent to the client, so this is a sane maximum. This allows for even more "fancy" and "wider" MOTDs :-) Closes #271.
Show allowed channel types in ISUPPORT(005) numeric only
Don't show the static list of all possibly available channel types ... Closes #273.
Platforms.txt: Add x86_64/apple/darwin19.0.0
- Add x86_64/apple/darwin19.0.0 (Apple clang 11.0)
Update Platforms.txt
- Update powerpc/apple/darwin8.11.0 (gcc 4.0.1) - Add mips/sgi/irix6.5 (SGI C compiler) - Add mipsel/unknown/netbsd8.0 (gcc 5.5.0) Thanks to Götz Hoffart <goetz@hoffart.de>!