summary refs log tree commit diff
AgeCommit message (Collapse)Author
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
2019-12-07contrib/README: Add nglog.sh script to the listAlexander Barton
2019-12-07contrib/nglog.sh: Use bright colors for warning & error messagesAlexander Barton
2019-12-07contrib/ngindent.sh: Enhance and rename scriptAlexander Barton
Add more GNU indent options for better results, and add the ".sh" suffix to bring this script in line with the others in the contrib/ folder.
2019-12-02Update install documentation: libgnutls-devWindree
According https://packages.debian.org/search?keywords=libgnutls28-dev in Ubuntu and Debian libgnutls-dev package name is libgnutls28-dev Closes #264. Thanks Windree!
2019-11-10Add simple log colorization script: ./contrib/nglog.shAlexander Barton
This script parses the log output of ngircd(8), and colorizes the messages accoring to their log level. Example usage: ngircd -f $PWD/doc/sample-ngircd.conf -np | ./contrib/nglog.sh
2019-11-10Log received signals (using strsignal(3), when available)Alexander Barton
2019-11-03Make test suite compatible with HaikuAlexander Barton
2019-11-03Add VIM "swap files" (*.swp) to .gitignore fileAlexander Barton
2019-09-09Fix hostmask cloaking bug, don't cloak multiple timesJRMU
Previously, each server would cloak every user's hostmask. The problem is that if a network has more than one server, then a user's hostmask would get cloaked twice. This patch ensures that a server only cloaks the hostmask if it has not yet been cloaked (the period indicates it's still an IP address). Closes #228.
2019-07-21Fix some typos (documentation files, ngircd.conf manual page, ...)Alexander Barton
Spotted by Étienne Mollier <etienne.mollier@mailoo.org> and Christoph Biedl <debian.axhn@manchmal.in-ulm.de>, see Debian bug #932462 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932462). Thank you!
2019-07-01Make sure HAVE_LIBSSL is defined, even when using pkg-configAlexander Barton
Without this, the configure script assumes and states that OpenSSL will be used, but the code won't include support for it because there we use the "HAVE_LIBSSL" define to test for it ("#ifdef HAVE_LIBSSL"). So define the latter when pkg-config(1) is used, too. This fixes #257, a regression introduced by commit ad86a41ee :-/
2019-06-29Enlage buffers of info texts to 128 bytes.Alexander Barton
This includes: - "Real name" of a client (4th filed of the USER command). - Server info text ("Info" configuration option). - Admin info texts and email address ("AdminInfo1", "AdminInfo2" and "AdminEmail" configuration options). - Network name ("Network" configuration option). The limit was 64 bytes before ... Closes #258.
2019-06-29Add ".vscode" to .gitignore fileAlexander Barton
2019-06-29Streamline handling of invalid and unset server nameAlexander Barton
Don't exit during runtime (REHASH command, HUP signal), because the server name can't be changed in this case anyway and the new invalid name will be ignored.
2019-06-29Fix and extend documentation a little bitAlexander Barton
- Fix syntax of LINKS amd LIST commands. - Whitespace and spelling fixes. - Add some more information about IRCv3 support.
2019-06-29Slightly reoder startup steps, and enhance loggingAlexander Barton
- Show name of configuration file at the beginning of start up. - Add a message when ngIRCd is ready, including its host name. - Show name of configuration file on REHASH (SIGHUP), too. - Change level of "done message" to NOTICE, like "starting" & "ready". - Initialize IO functions before channels, connections, clients, ...
2019-04-20Update autogen.sh & INSTALL for pkg-config requirementsAlexander Barton
2019-04-20configure.ng: use pkg-config to find PpenSSL dependenciesFabrice Fontaine
OpenSSL can depends on lz or latomic so use pkg-config to find those dependencies and fallback to existing mechanism. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Closes #256.
2019-01-28ngircd.conf.5: Fix wording as suggested by lintianChristoph Biedl
2019-01-23ngIRCd Release 25 rel-25Alexander Barton
2019-01-23Platforms.txt: Add and update systemsAlexander Barton
- 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)
2019-01-03Fix documentation of MotdPhrase length (#254)shankari
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.
2019-01-022019!Alexander Barton
2018-11-28Implement new configuration option "MaxPenaltyTime" (#251)Alexander Barton
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.
2018-11-28Fix compilation without deprecated OpenSSL APIs (#252)Rosen Penev
2018-10-30Update Xcode project for latest Xcode version (10.0)Alexander Barton
2018-10-30Fix some compiler warnings of Apple Xcode/ClangAlexander Barton
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'