Commit Briefs
ngIRCd Release 26.1 (origin/master, tags/rel-26.1)
Update config.guess and config.sub to recent versions
- config.guess: 2020-12-22 - config.sub: 2020-12-22
Update Platforms.txt
- Add aarch64/apple/darwin (Apple CLang 12.0.0) - Add x86_64/unknown/openbsd6.7 (gcc 4.2.1) Thanks to Götz Hoffart <goetz@hoffart.de>
2021! :-)
Happy new year!
Explicitely cast Conf_MaxPenaltyTime (time_t) to "long"
This fixes the following compiler warning, for example on OpenBSD: conf.c: In function 'Conf_Test': conf.c:391: warning: format '%ld' expects type 'long int', but argument 2 has type 'time_t' Thanks to Götz Hoffart for reporting this!
Don't set AI_ADDRCONFIG, even when it exists
Basically, the issue described in #281 is that the test suite uses the IPv4 address 127.0.0.1 on an IPv6-only host. But this is the "safest" thing to do in (almost) all other setups: relaying on DNS host names makes things even more complex, as different systems map 127.0.0.1 differently (including the reverse lookup; that's why we switched to 127.0.0.1 back in 2014, see commit 3f807e10457). But with AI_ADDRCONFIG set, on an IPv6-only host, we prevent 127.0.0.1 to get translated properly, even when the loopback interface has this address configured! So don't set it any more. The drawback is that the resolver possibly returns more addresses now, even of an unsupported/not connected address family; but this shouldn't do much harm in practice, as ngIRCd iterates over all returned addresses while trying to establish an outgoing connection. Closes #281.
Revert "Show allowed channel types in ISUPPORT(005) numeric only"
The ISUPPORT(005) numeric lists only channel prefixes which are listed in the "AllowedChannelTypes" configuration option. And if this is the empty string ("") for example, this now results in IRC clients assuming "oh, no channel prefix characters at all, so no channels at all, so no PRIVMSG can go to any channel" -- which is not the case when there are pre-defined channel set up or other servers still having channels! So "allowed channel types" != "supported channel types", and we always have to list all supported ones in the ISUPPORT(005) numeric! This reverts commit 4b7e8db418340576c95f1edad8470b66d6fe886d. Closes #285.
Test suite: Wait 2 seconds after reloading the daemon
On reload, all listening ports are closed, configuration updated, and then opened again. Which leads to subsequent tests running while the daemon isn't listening on any ports, and that's why the tests fail. The "proper" way whould be to loop and check for open ports, but waiting is what the start-server.sh script does right now, so stick with this in reload-server.sh for now as well. This fixes the issue, at least on my RaspberryPi ... Closes #280.
Update Platforms.txt
- Update powerpc/apple/darwin8.11.0 (gcc 4.0.1) - Add x86_64/apple/darwin19.6.0 (Apple clang 12.0.0) - Add x86_64/unknown/freebsd12.1 (FreeBSD clang 8.0.1) - Update x86_64/pc/linux-gnu (gcc 8.3.0) - Add x86_64/unknown/netbsd9.0 (gcc 7.4.0) - Add x86_64/unknown/openbsd6.6 (gcc 4.2.1) - Add x86_64/unknown/openbsd6.6 (OpenBSD clang 8.0.1) Thanks to Götz Hoffart <goetz@hoffart.de> for the PowerPC test!
Fixed Atheme Links
.org and not .net
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.