about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2020-05-07Platforms.txt: Add x86_64/apple/darwin19.0.0Alexander Barton
- Add x86_64/apple/darwin19.0.0 (Apple clang 11.0)
2020-05-07Update Platforms.txtAlexander Barton
- 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>!
2020-05-07SSL test server: Use port 6790, like "test server #2"Alexander Barton
Don't use the "standard" IRC SSL port 6697, as this easily collides with real (ng)IRCd instances running on the same machine. And by reusing port 6790, which is already used by the "test server #2", we don't need any other port than the test suite already uses.
2020-05-06Git: Ignore generated files of SSL testsAlexander Barton
2020-05-06Merge pull request #269 from hillu/gnutls-reload-certAlexander Barton
Add support for GnuTLS certificate reload. Thanks a lot, Hilko Bengen!
2020-05-04Update Client_SetHostname() to not use strpbrk()Alexander Barton
Not sure about the portability of strpbrk() in really ancient OS, and this was the only place where it became used recently in ngIRCd ... So let's play it safe! ;-)
2020-05-04Allow hostmask cloaking when rDNS is disabledmichi
2020-05-04Don't wait for the network when read buffers possibly hold commandsAlexander Barton
There is no point in waiting up to one second for the network receiving new data when there is still a read buffer holding at least one command; we shouldn't waste time but handle it immediately!
2020-05-04Handle commands in the read buffer before reading more dataAlexander Barton
If there are more bytes in the read buffer already than a single valid IRC command can get long (513 bytes, COMMAND_LEN), wait for this/those command(s) to be handled first and don't try to read even more data from the network (which most probably would overflow the read buffer of this connection soon).
2020-05-04Read_Request(): Clean up code and add some more commentsAlexander Barton
No functional changes.
2020-05-04Revert "Increase read buffer size for server connections"Alexander Barton
This reverts commit c6e3c13f27744971fcb1d2de4e561d3bcdaa5aed. This sounded like the right approach at first, but I'm not that sure that it really makes sense to have different sizes of read buffers: the per-connection read buffer only needs to keep data that is needed to parse one full command, be it plain text, encrypted and/or compressed. Then ngIRCd should handle this one command, move leftover data to the beginning of the buffer and read the next chunk from the network that is missing to get the next complete command (512 bytes at max). So I revert this for now and try to fix the logic in Read_Request(), which is broken nevertheless, as it results in servers becoming disconnected during "server burst" when "big" lists are transferred.
2020-05-03Correctly use Config_Error() instead of Log() in Read_Config()Alexander Barton
The name of the Config_Error() function is misleading: it is not only used to show configuraton errors, but all messages shown during normal operation as well as for "config testing": it takes care of the correct formatting of the messages (syslog, forground logging, config testing). This fixes commit bb1d014abad8.
2020-05-03contrib/nglog.sh: Looks like GNU awk (gawk) is needed ...Alexander Barton
2020-05-03Update Travis-CI configuration, "sudo" is depreactedAlexander Barton
2020-05-03Log G-/K-Line changes only when not initiated by a serverAlexander Barton
This prevents the log from becomming spammed during "net bursts".
2020-05-03Set the "last data" time to "last ping" time when updating the latterAlexander Barton
This is required because the PING can be received quite a bit earlier than it is actually handled, for example during "server burst" or other heavy operations: So the times won't match and PING-PONG logic would become garbled, because we test for "last ping > last data" to determine if a PING already was sent or not.
2020-04-25updating testsuite to support ssl-testsJohann Hartwig Hauschild
2020-04-20INSTALL.md: Add not about removed legacy optionsAlexander Barton
2020-04-20Makefile.am: Replace make with ${MAKE} (#270)sam_c
Fixes warnings such as: "warning: jobserver unavailable: using -j1. Add `+' to parent make rule." Signed-off-by: Sam James (sam_c) <sam@cmpct.info>
2020-04-20Update AUTHORS fileAlexander Barton
2020-04-20ChangeLog: Add missing patch attributionAlexander Barton
2020-04-20Update NEWS and ChangeLog filesAlexander Barton
2020-04-20contrib/nglog.sh: Use bash(1) as interpreterAlexander Barton
bash(1) is required to handle the forking and output redirection connectly, sh(1) -- at least dash(1) on Debian -- fails ... This fixes the last commit, 14777c18c.
2020-04-20contrib/nglog.sh: Fork awk(1), deal better with signals (CTRL-C)Alexander Barton
2020-04-20Update Xcode project for latest Xcode version (11.4.1)Alexander Barton
2020-04-20Remove legacy configuration optionsmichi
Remove legacy configuration options and related functions that have been marked for removal for some time: - PredefChannelsOnly (v22) - NoticeAuth (v24) - NoXXX (v19) - Old '[GLOBAL]' section handling (v19)
2020-04-20Increase read buffer size for server connectionsmichi
This applies the same logic we have for write buffers to distinguish between server and client connections and sets the maximum buffer size accordingly. As a result peering with servers with many GLINE/KLINEs does not kill the connecting server connection anymore.
2020-04-20Fix recursion bug on write errormichi
Depending on the stack size, too many clients on the same channel quitting at the same time would trigger a crash due to too many recursive calls to Conn_Close().
2020-04-20Fix hostmask cloaking bug for IPv6 toomichi
2020-04-20Unbreak GCC 10 (-fno-common) buildmichi
2020-04-19GnuTLS: Eliminate memory leaks for DH parameters, priorities cacheHilko Bengen
The DH parameters reference has to be stored next to the x509_cred which holds a reference to it.
2020-04-17Add support for GnuTLS certificate reloadHilko Bengen
This requires keeping track of currently active certificates, so those are stored separately, along with a reference counter, and discarded when they are no longer in use.
2020-03-29Update documentation to reflect "[Channel]->Modes" changesAlexander Barton
No longer mention "[Channel]->Key" and "[Channel]->MaxUsers".
2020-03-29Convert INSTALL and README files to MarkdownAlexander Barton
This requires some changes to the build system, for example to comply with the expectations of the GNU autoconf/automake tools ...
2020-03-29Add deprecation warnings for "Key" and "MaxUsers" in [Channel]Alexander Barton
2020-03-29Test suite: Test multiple "Modes" lines in [Channel] sectionsAlexander Barton
2020-03-29Predefined channles: Fix handling of legacy configuration optionsAlexander Barton
Fix the handling of legacy "Key" and "MaxUsers" [Channel] settings: - Activate them before evaluating the "Modes" parameter, to allow the latter to override those legacy options. - Enforce setting the respective +k/+l mode(s) to support the legacy "Mode = kl" notation, which was valid but is an invalid MODE string: key and limit are missing! So set them manually when "k" or "l" are detected in the first MODE parameter. - Sort modes +kl alphabetically, adjust test suite accordingly.
2020-03-29Enhance logging while setting up predefined channelsAlexander Barton
2020-03-29Allow multiple "Modes =" lines per [Channel] sectionmichi
2020-03-28Evaluate initial channel modesmichi
Allow setting arbitrary channel modes in the config file. Closes #55.
2020-03-28Xcode: add missing files in src/testsuite, and sort themAlexander Barton
2020-03-22Add "FNC" (forced nick changes) to ISUPPORT(005) numericAlexander Barton
Most probably this doesn't make any difference to any client, but it seems correct. See <http://www.irc.org/tech_docs/005.html> for details.
2020-02-15Fix memory leak in portabtest Check_strtok_r()Alexander Barton
Fix the following Clang "LeakSanitizer" error (which isn't quite relevant in this test program, but anyway): ERROR: LeakSanitizer: detected memory leaks Direct leak of 7 byte(s) in 1 object(s) allocated from: #0 0x7f8c4d022810 in strdup (/lib/x86_64-linux-gnu/libasan.so.5+0x3a810) #1 0x5601a801491a in Check_strtok_r (/net/arthur/home/alex/Develop/ngIRCd/ngIRCd.git/src/portab/portabtest+0x291a) #2 0x5601a8014d77 in main (/net/arthur/home/alex/Develop/ngIRCd/ngIRCd.git/src/portab/portabtest+0x2d77) #3 0x7f8c4c69009a in __libc_start_main ../csu/libc-start.c:308 SUMMARY: AddressSanitizer: 7 byte(s) leaked in 1 allocation(s). FAIL: portabtest
2020-02-15Reuse old SSL key if loading a new one failedmichi
2020-02-11Update Xcode project for latest Xcode version (11.3.1)Alexander Barton
2020-02-11Remove outdated OpenBSD/NetBSD systrace.policyAlexander Barton
Systrace was removed from OpenBSD and NetBSD, so remove this (old and outdated?) configuration file from the ./contrib directory. See <https://en.wikipedia.org/wiki/Systrace>. Thanks to "michi" for pointing this out on #ngircd!
2020-01-212020!Alexander Barton
2019-12-31Enhance handling of command line errors, and "--help" & "--version"Alexander Barton
Return with exit code 0 ("no error") when "--help" or "--version" was used (this resulted in exit code 1, "error" before). And exit with code 2 ("command line error") for all invalid command line options, and show the error message on stderr (message was printed to stdout before, and exit code was 1, "generic error"). This new behaviour is more in line with the GNU "coding standards", see <https://www.gnu.org/prep/standards/html_node/_002d_002dhelp.html>.
2019-12-16Fix and update Xcode projectAlexander Barton
- Reference correct contrib/Makefile.am file - Correctly sort contrib/nglog.sh - Add "ORGANIZATIONNAME" setting
2019-12-16Update ngindent.sh name in Makefile and Xcode project, tooAlexander Barton