about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2016-05-07Add an ".editorconfig" file to the projectAlexander Barton
2016-01-16Platforms.txt: Remove x86_64/unknown/linux-gnu, tcc 0.9.25Alexander Barton
This combination had been successfully tested with ngIRCd 21, but after further investigation didn't build correctly: it seems as if tcc fails to correctly link external libraries (e. g. ngipaddr). Astonishingly the test suite passed nevertheless, with garbled output, but without the daemon crashing!? When using tcc with ngIRCd 23 (and current master), the test suite fails completely because the daemon crashes ... (which actually is good!)
2016-01-16Platforms.txt: Add systemsAlexander Barton
- Add armv7l/unk./linux-gnueabihf (gcc 4.9.2) - Add x86_64/unknown/linux-gnu (icc 16)
2016-01-10Travis-CI: use "container-based infrastructure"Alexander Barton
See <https://docs.travis-ci.com/user/migrating-from-legacy/> for details.
2016-01-10platformtest.sh: Delete ngIRCd binary before test runAlexander Barton
This ensures that we definitely don't test an old binary later on ...
2016-01-10platformtest.sh: Only show "runs=Y" when test suite succeededAlexander Barton
Display "?" in the "runs" colum when the simple "run test" succeeded but the test suite failed. And display a message to double check the actual status, because it is somewhat unclear, if the daemon actually "works" or not in this case.
2016-01-07Platforms.txt: Add and update systemsAlexander Barton
- Add i386/pc/minix (clang 3.4) - Update i686/pc/cygwin (gcc 4.9.3) - Add x86_64/apple/darwin15.2.0 (Apple clang 7.0)
2016-01-07Send_Message: Fix handling of "empty" targetsAlexander Barton
Clients can specify multiple targets for the "PRIVMSG", "NOTICE", and "SQUERY" commands, separated by commas (e. g. "PRIVMSG a,#b,c :text"). Since commit 49ab79d0 ("Limit the number of message targes, and suppress duplicates"), ngIRCd crashed when the client sent the separator character only as target(s), e. g. "," or ",,,," etc.! This patch fixes the bug and adds a test case for this issue. Thanks to Florian Westphal <fw@strlen.de> for spotting the issue!
2016-01-06Update README fileAlexander Barton
2016-01-06Platforms.txt: Add and update systemsAlexander Barton
- Update i586/pc/interix3.5 (gcc 3.3) - Add i686/pc/linux-gnu (gcc 2.6.3) - Add i686/pc/linux-gnu (gcc 2.95.2) Thanks to Götz Hoffart <goetz@hoffart.de>!
2016-01-06platformtest.sh: Use $LOGNAME instead of $USERAlexander Barton
LOGNAME is more standard than USER.
2016-01-04Update copyright notices for 2016Alexander Barton
2016-01-04Limit the number of message targes, and suppress duplicatesAlexander Barton
This prevents an user from flooding the server using commands like this: PRIVMSG nick1,nick1,nick1,... Duplicate targets are suppressed silently (channels and clients). In addition, the maximum number of targets per PRIVMSG/NOTICE/... command are limited to MAX_HNDL_TARGETS (25). If there are more, the daemon sends the new 407 (ERR_TOOMANYTARGETS_MSG) numeric, containing the first target that hasn't been handled any more. Closes #187.
2016-01-04Add "_MSG" postfix to ERR_WILDTOPLEVEL_MSGAlexander Barton
2016-01-04Commands.txt, PRIVMSG: Fix "server mask" descriptionAlexander Barton
2016-01-04Enahnce comments for Send_Message() and Send_Message_Mask()Alexander Barton
No functional changes.
2016-01-04Get rid of unclever assert() in Send_Message_Mask()Alexander Barton
Either we use assert() to _guarantee_ a certain condition, or we use if(...) to test for it. But never both. So get rid of the assert() in Send_Message_Mask() and handle the case that the target mask doesn't contain a dot (".") as regular error, don't require the caller to assure that any more. This polishes commit 5a312824. Please note: The test in Send_Message() is still _required_ to detect whether the target is a channel (no dot) or a "target mask" (at least one dot)!
2015-12-30Test suite: Add new test for server-server loginsAlexander Barton
This test detects the recent NJOIN breakage, for example ...
2015-12-30Fix NJOIN handler killing all clientsAlexander Barton
This bug has been introduced by commit 1e386fb7ac which had the logic reversed :-( Reported by "ninguno" in #ngircd, thanks a lot!
2015-12-19contrib/ngindent: Fix shebang lineAlexander Barton
2015-12-19contrib/platformtest.sh: Warn when external tools are missingAlexander Barton
2015-12-19contrib/platformtest.sh: Make script more portableAlexander Barton
2015-12-19Platforms.txt: Add and update systemsAlexander Barton
- Update i386/unknown/openbsd3.5 (gcc 2.95.3) - Update i686/pc/linux-gnu (gcc 2.7.2.1) - Add x86_64/unknown/linux-gnu (gcc 5.3.0) Thanks to Götz Hoffart <goetz@hoffart.de>!
2015-12-19doc/Platforms.txt: Sort listAlexander Barton
2015-12-13Make NJOIN handler more fault-tolerantAlexander Barton
Don't crash the daemon when the NJOIN handler can't join the new client to a channel (when the Channel_Join() function failed) but try to KILL this client -- which is the only possible reaction besides crashing: otherwise the network would get out of sync.
2015-12-13IRC_KillClient(): Don't break when called without "Client"Alexander Barton
The IRC_KillClient() function is documented to handle the case that the "Client" structure is NULL, so make sure that this actually works and can't crash the daemon. Please note: The current code doesn't make use of this feature, so this fix is definitely the "right" thing to do but doesn't fix an actual problem.
2015-12-13IRC_NJOIN(): Code cleanupAlexander Barton
No functional changes.
2015-12-13Modes.txt: Add "name prefixes" to channel user mode descriptionAlexander Barton
2015-12-13Fix NJOIN not propagating "half ops" statusAlexander Barton
ngIRCd tested for the wrong prefix of "half ops" when processing NJOIN commands and therefore never classified a remote user as "half op". Thanks to wowaname for pointing this out on #ngircd!
2015-11-16ngIRCd Release 23 rel-23Alexander Barton
2015-11-15Update ChangeLog fileAlexander Barton
2015-11-15Update doc/Platforms.txtAlexander Barton
2015-11-15Explicitly cast time_t to long when printing it outAlexander Barton
This prevents wrong sizes data types on platforms where time_t doesn't equal a long any more, for example on OpenBSD.
2015-09-11contrib/Debian/changelog: Fix email addressAlexander Barton
2015-09-06Documentation: Spelling fixesAlexander Barton
2015-09-06ngIRCd Release 23~rc1 rel-23-rc1Alexander Barton
2015-09-06Update AUTHORS and .mailmap fileAlexander Barton
And add a note to doc/HowToRelease.txt to not forget to update the list of authors in the future ...
2015-09-03Update ChangeLog fileAlexander Barton
2015-09-03Add ".clang_complete" fileAlexander Barton
This file is used of the "linter-clang" package of the Atom editor, for example.
2015-09-03Make server-to-server protocol more robustAlexander Barton
Now ngIRCd catches more errors on the server-to-server (S2S) protocol that could crash the daemon before. This hasn't been a real problem because the IRC S2S protocol is "trusted" by design, but the behavior is much better now. Thanks to wowaname on #ngircd for pointing this out!
2015-08-27platformtest.sh: Fix quotingAlexander Barton
2015-08-27autogen.sh: Fix parameter quotingAlexander Barton
2015-08-27ngircd.init: Fix non-POSIX "==" test operatorAlexander Barton
2015-08-26Reproducible buildsChristoph Biedl
At the moment ngircd fails the tests for reproducible builds in Debian since it uses the __DATE__ and __TIME__ macros for the INFO command. Instead of patching this out I decided to implement an optional constant BIRTHTIME that allows you to set a time stamp for the "Birth Date" information, in seconds since the epoch, like in export CFLAGS += -DBIRTHTIME=$(shell date +%s --date="2015/08/15 23:42:22") In the future, Debian will provide a SOURCE_DATE_EPOCH environment variable, dealing with the situation until then will be my job. The time format was taken from the NGIRCd_StartStr formatting in ngircd.c so the "Birth Date" and "On-line since" lines in the INFO output look similar: :irc.example.net 371 nick :ngIRCd 22.1-IDENT+IPv6+IRCPLUS+PAM+SSL+SYSLOG+ZLIB-x86_64/pc/linux-gnu :irc.example.net 371 nick :Birth Date: Tue Aug 25 2015 at 18:11:11 (CEST) :irc.example.net 371 nick :On-line since Tue Aug 25 2015 at 18:11:33 (CEST) :irc.example.net 374 nick :End of INFO list The format of the time stamped is changed, but as far as I can tell, there's no rule that is violated by that. Bonus level: Reformat the messages so the time stamps are aligned.
2015-08-14Update systemd service fileAlexander Barton
2015-08-07Update NEWS and ChangeLog filesAlexander Barton
2015-08-01Whitespace fixes (no functional changes)Alexander Barton
2015-08-01Fix debug message "Client ... is closing connection"Alexander Barton
It should be "host:port"!
2015-08-01INSTALL: Add deprecation notice for "PredefChannelsOnly"Alexander Barton
Obviously I forgot to list this for ngIRCd 21 ... oops!
2015-08-01"NoticeAuth" configuration variable is deprecated now!Alexander Barton