Fix the cb_clientserver_ssl() callback function to not read in and store SSL
encrypted client data before the asynchronous DNS resolver sub-process has
finished: This could have resulted in discarding the resolved client hostname
and IDENT reply afterwards, because in some situations (timing dependent) the
NICK and USER commands could have already been read in from the client,
stored in the buffer, and been processed.
Thanks to Julian Brost for reporting the issue and testing, and to Federico
G. Schwindt <fgsch@lodoss.net> for helping to debug it!
* bug153-ServerMask:
Update irc-info.c to use irc-macros.h
Add new irc-macros.h to project
irc-info.c: add/streamline function documentation comments
irc-info: move static functions at the top of the file
Implement new function Client_SearchServer()
Conflicts:
src/ngircd/irc-info.c
On some installations iconv_open() is actually libiconv_open().
iconv_open() is the glibc version while libiconv_open() is the libiconv
version. This patch enables ngIRCd to detect both cases.
Tested on OpenBSD 5.1.
Closes bug #151.
Test if the user that it is to be kicked is on the channel before user
channel modes are tested. Otherwise assert( cl2chan != NULL ); in
line 742 would fail and stop the service.
This fixes the following warning using Apple LLVM version 4.2
(clang-425.0.24) on OS X:
src/ngircd/conn.c:157:9: Implicit conversion loses integer
precision: 'long' to 'int'
The "@" character isn't allowed in IRC usernames, because it is the
separator between user name and hostname in IRC masks:
<nickname>!<username>@<hostname>
This patch accepts user names including "@" characters, saves the
unmodified name for authentication but stores only the part in front
of the "@" character as "IRC user name". And the latter is how
ircd2.11, Bahamut, and irc-seven behave as well.
Closes bug #155.
* systemd:
ngircd.sock: explicitely bind to IPv4 and IPv6 addresses
Show address and port of sockets passed-in by systemd(8)
Check type of sockets passed-in by systemd(8)
Adjust severity levels of some log messages
New configuration option "IdleTimeout": exit daemon when idle
Implement support for systemd(8) "socket activation"
contrib/README: add more files
This patch makes sure that ngIRCd doesn't try to handle sockets of
unsupported types, for example of AF_INET6 sockets when ngIRCd isn't
compiled with support for IPv6 ...
* HelpText: (22 commits)
Commands.txt: Update description of the "USERS" command
Commands.txt: Update description of the "SUMMON" command
Commands.txt: Update description of the "SERVLIST" command
Commands.txt: Update description of the "WHOWAS" command
Commands.txt: Update description of the "WHOIS" command
Commands.txt: Update description of the "WHO" command
Commands.txt: Update description of the "VERSION" command
Commands.txt: Update description of the "USERHOST" command
Commands.txt: Update description of the "TIME" command
Commands.txt: Update description of the "STATS" command
Commands.txt: Update description of the "NAMES" command
Commands.txt: Update description of the "MOTD" command
Commands.txt: Update description of the "LUSERS" command
Commands.txt: Update description of the "LINKS" command
Commands.txt: Update description of the "ISON" command
Commands.txt: Update description of the "INFO" command
Commands.txt: Update description of the "ADMIN" command
Commands.txt: Add description for the "CHARCONV" command
Commands.txt: Add description for the "CAP" command
Commands.txt: Import descriptions from "rbose/command_help"
...