| Age | Commit message (Collapse) | Author |
|
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!
|
|
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.
|
|
|
|
It should be "host:port"!
|
|
|
|
Use "NOTICE *" before registration instead of "NOTICE AUTH".
|
|
This should be more efficient.
|
|
Channel mode N (users on this channel can't change their nick)
|
|
|
|
The old name is still supported for compatibility reasons.
|
|
AUTH is a valid nickname so sending notices to it is probably not
a good idea. Use * as the target instead as done with numerics
when the nick is not available.
This mimics the behaviour in Charybdis, IRCD-Hybrid, InspIRCd 2.2,
Plexus 4, etc.
|
|
|
|
Reconnecting to ngIRCd 22.1 built with OpenSSL with some OpenSSL
clients, including Pidgin and stunnel 5.06, attempts to reuse a session
and fails due to the absence of this line.
The error message in syslog from ngIRCd is:
> SSL protocol error: SSL_accept (error:140D9115:SSL
> routines:SSL_GET_PREV_SESSION:session id context uninitialized)
This patch appears to fix the problem for both Pidgin and stunnel; it
may work for other OpenSSL clients that attempt to re-use sessions.
* <https://github.com/ngircd/ngircd/issues/182>
* <https://developer.pidgin.im/ticket/11568>
* <https://www.openssl.org/docs/ssl/SSL_CTX_set_session_id_context.html>
|
|
|
|
|
|
|
|
* LucentW/master:
Fix with oneshot invites
Fixed building issues\
Implement timestamp tracking of invites
Keep track of who placed bans/invites/excepts
IRC operators w/OperCanMode can kick anyone [already cherry-picked]
Closes #203, Closes #205.
|
|
For example, Interix is missing this function, which prevented
ngIRCd to build on this platform. When setgroups(3) isn't available,
a warning message is issued when ngIRCd starts up.
|
|
Closes #202.
(cherry picked from commit 10c7ba99e73b42ec8c4c191ccdae60bdd35bba7d)
|
|
lightIRC and other clients expecting RPL_LISTSTART should now behave correctly.
Closes #207.
(cherry picked from commit 0680ce5fd99bc643651d1433bcdaf271aeb73c46)
|
|
This should finally implement correctly oneshot invites sent via /INVITE
|
|
Up to now, only the the string ("haystack") became lowercased and was
the compared to the pattern ("needle") -- which failed, when the pattern
itself wasn't all lowercase ...
|
|
- Update documentation in ngircd.conf(5)
- LIST: Don't hide channels for IRC Ops when "MorePrivacy" is in effect
- WHOIS: Don't hide IP addresses/hostnames when "MorePrivacy" is in effect
Closes #198
|
|
Now builds cleanly. Pass all tests from make check.
|
|
Now lists nodes also have the "onlyonce" field, since the valid_until is
used to keep the timestamp of placing. Found no references to onlyonce
or about valid_until being == 1, though, so it might be unused, but
still available for other enhancements.
|
|
Implements #203.
WARNING: it does not track the time of placement of invites, since the
time_t is already used as a flag for single use invites!
|
|
|
|
|
|
(also updated the copyright date on the txt I edited)
|
|
Implements enhancement requested in issue #179
|
|
Implement ERR_USERNOTONSERV(504) numeric and make sure that the
target user is on the same server when inviting other users to
local ("&") channels.
ircd-ratbox uses the ERR_USERNOTONSERV(504) numeric for this, and I
think this is a good idea -- other IRC daemons (like ircu) silently
drop such impossible invites, but thats not a big benefit ...
Idea by Cahata, thanks! Closes #183.
|
|
This prevents flooding of the target client.
This closes #186. Reported by Cahata, thanks!
|
|
Up to now when receiving a MODE command, ngIRCd only reported the channel
creation time to clients that were members of the channel. This patch
reports the channel creation time to all clients, regardless if they are
joined to that channel or not.
At least ircd-seven behaves like this.
This closes #188. Thanks Cahata!
|
|
|
|
No other IRC daemon seems to do this (today?), don't remember why
ngIRCd did it in the first place ...
Closes #185.
Reported by Cahata in #ngircd, thanks!
|
|
The logic is reversed ...
This bug has been introduced by commit c74115f2, "Simplify mode checking on
channels and users within a channel", ngIRCd releases 21, 21.1, and 22 are
affected :-(
Problem reported by Cahata in #ngircd, Thanks!
|
|
|
|
Up to now, ngIRCd doesn't send a valid IRC command at all, oops!
|
|
|
|
The prefix confuses WeeChat, at least, which doesn't send an appropriate
PONG in the case ...
Debugging and patch by "wowaname" on #ngircd, thanks!
|
|
Pointed out by "wowaname" in #ngircd, thanks!
|
|
|
|
This results in a new connection attempt as soon as possible.
|
|
|
|
|
|
* alex/TestsuiteNoDNS:
Test suite: Don't use DNS lookups
|
|
Idea, initial patch, and testing by Christoph Biedl
<ngircd.anoy@manchmal.in-ulm.de>
|
|
The invite-, ban-, and except lists are affected by this change,
as well as G-Lines an K-Lines.
Problem pointed out by "wowaname" on #ngircd, thanks!
|
|
Up to now, ban, invite, and G-Line lists have been synced between servers
while linking -- but obviously nobody noticed that except list have been
missing ever since. Until now.
Thanks to "j4jackj", who reported this issue in #ngircd.
|
|
|