This fixes commit 6cbe1308 which only killed the connection when the
spoofed prefix itself belonged to a non-server client.
(cherry picked from commit 5009ab3e8c5a6fe7db5c5ad1d3fdc8aecfc64b55)
Fix the following two errors emitted by the Apple K&R C compiler
on Apple A/UX:
"./class.c", line 47: no automatic aggregate initialization
"./class.c", line 47: illegal lhs of assignment operator
"./conf.c", line 1052: syntax error
Tested on A/UX 3.1.1.
(cherry picked from commit a4ed90ba9af1dce4df3f57f6a7c84097000c7256)
The cloaked IRC mask of a user is his visible mask, so the daemon has
to use it for generating the "one time" entries for the invite list of
the given channel.
Without this patch, ngIRCd records the real IRC mask which will never
match while the target client is "+x", and even worse, will disclose
the real mask on "MODE #channel +I" commands :-/
Bug reported by Cahata on #ngircd, thanks!
(cherry picked from commit 20b52fe33dc3387d50790ed6da8c47c34277527a)
Add missing #include's and static variables.
Problem spotted on OpenBSD.
(cherry picked from commit e747fe92775f577a38f8dd681f7a58f751348f5e)
Conflicts:
configure.ng
src/portab/portabtest.c
If libwrap becomes added earlier, other tests may fail because of not all
external variables required by libwrap are available when linking: for
example allow_severity and deny_severity.
This patch adds generic support for the LDFLAGS_END and LIBS_END variables
(CFLAGS_END has been implemented already).
Problem spotted on OpenBSD.
(cherry picked from commit 0f85c4c6a70a71c935af9c28e2c469ea4b66220a)
Conflicts:
configure.ng
When DNS lookups are disabled, don't set the hostname received by the
WEBIRC command, but use the IP address instead.
Reported by Toni Spets <toni.spets@iki.fi>, thanks!
Closes bug #167.
(cherry picked from commit 1a628fff51fcfddde391e6c0f27686835e1b6d2e)
At least AIX 4.3.3 and 5.1 have a broken implementation of getaddrinfo()
which doesn't handle "0" as numeric service correctly. This patch adds
a configure check for this case and changes all calling functions to only
use getaddrinfo() if it "works".
See <http://www.stacken.kth.se/lists/heimdal-discuss/2004-05/msg00059.html>
(cherry picked from commit b8433e9261c516d7b8743b33681050b6666192e5)
Conflicts:
configure.ng
This fixes the following error when compiling without zlib support:
irc.c: In function ‘Option_String’:
irc.c:487: error: ‘options’ undeclared (first use in this function)
Reported by "der_baer" on #ngircd.
(cherry picked from commit 4ab688c5e82281c4d9ad2a4498523b1722c1f738)
FreeBSD prior to 10.0 does not automatically stir on fork(). Same with
current NetBSD. If arc4random_stir() is present assume is needed and
call it instead of srand().
This fixes the following warning on OpenBSD 5.3:
ngircd.o(.text+0xeb4): In function `main':
src/ngircd/ngircd.c:300: warning: strcat() is almost always misused,
please use strlcat()
Thanks to Götz Hoffart for reporting this!
Kill all clients that match a new GLINE/KLINE mask and genrate apropriate
KILL commands. These KILL commands can be superfluous, but are required
when the IRC Operator isn't allowd to set remote G-Lines or if there are
older servers in the network that don't kill clients on GLINE/KLINE.
Closes bug #156.