Commit Briefs
ngIRCd Release 23 (tags/rel-23)
Explicitly cast time_t to long when printing it out
This prevents wrong sizes data types on platforms where time_t doesn't equal a long any more, for example on OpenBSD.
ngIRCd Release 23~rc1 (tags/rel-23-rc1)
Update AUTHORS and .mailmap file
And add a note to doc/HowToRelease.txt to not forget to update the list of authors in the future ...
Add ".clang_complete" file
This file is used of the "linter-clang" package of the Atom editor, for example.
Make server-to-server protocol more robust
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!
Reproducible builds
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.
Fix debug message "Client ... is closing connection"
It should be "host:port"!
INSTALL: Add deprecation notice for "PredefChannelsOnly"
Obviously I forgot to list this for ngIRCd 21 ... oops!
Merge pull request #217 from SaberUK/master+notice-auth
Use "NOTICE *" before registration instead of "NOTICE AUTH".
Rename NoticeAuth to NoticeBeforeRegistration.
The old name is still supported for compatibility reasons.
First check if channel has mode "N", then check membership
This should be more efficient.