summary refs log tree commit diff
AgeCommit message (Collapse)Author
2013-10-20ngIRCd Release 21~rc2 rel-21-rc2Alexander Barton
2013-10-20platformtest.sh: Detect clang compilersAlexander Barton
2013-10-17Add support for longer config linesFederico G. Schwindt
With the introduction of CipherList we could have longer config lines. Handle up to 1024 bytes and warn if the line will be truncated.
2013-10-17Report the correct file on errorFederico G. Schwindt
2013-10-16doc/Platforms.txt: Add Open64 and tcc C compilers on LinuxAlexander Barton
Thanks to Götz Hoffart!
2013-10-16platformtest.sh: Detect tcc compilerAlexander Barton
2013-10-16Add support for arc4randomFederico G. Schwindt
If arc4random is present it will be used over the srand/rand interface. This fixes some warnings in OpenBSD-current.
2013-10-16Fix another strcat warning missed in commit 4c5b43Federico G. Schwindt
2013-10-14platformtest.sh: Clean up GIT source tree, when possibleAlexander Barton
2013-10-14platformtest.sh: Detect Apple LLVM (clang) compilerAlexander Barton
2013-10-07Update (date of) manual pagesAlexander Barton
2013-10-07ChnageLog file: even more spelling fixes ...Alexander Barton
2013-10-07INSTALL file: Update "Upgrade Information"Alexander Barton
2013-10-07Fix spelling in NEWS and ChangeLog filesAlexander Barton
2013-10-07ngircd.c, main(): use strlcat() instead of strcat()Alexander Barton
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!
2013-10-05ngIRCd Release 21~rc1 rel-21-rc1Alexander Barton
2013-10-02Update NEWS and ChangeLog filesAlexander Barton
2013-10-01Actually KILL clients on GLINE/KLINEAlexander Barton
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.
2013-10-01Don't forward KILL commands for unknown clientsAlexander Barton
2013-10-01New function IRC_KillClient() to kill clientsAlexander Barton
The old local function Kill_Nick() in irc.c has been an ugly hack. This patch implements a generic function for killing clients. Adjust all callers of Kill_Nick() and respect the return code!
2013-09-26Adjust log messages for invalid and spoofed prefixesAlexander Barton
Now invalid prefixes aren't logged no more when originating from an other server (besides in debug mode), and spoofed prefixes are correctly logged using LOG_WARNING (from an other server) or LOG_ERR (from a client) levels. In addition, the log message texts have been adjusted to better reflect what will happen: commands with invalid prefixes are ignored and logged, commands with spoofed prefixes will result in the client being disconncted (regular users) or the command being ignored (other servers). This cleans up logging of commands related to already KILL'ed clients.
2013-09-25Remove CLIENT.oper_by_my, Client_SetOperByMe() and Client_OperByMe()Alexander Barton
All places where Client_OperByMe() is used can either be converted to Client_HasMode(Client, 'o') or Op_Check(). And Op_Check() itself can use the connection handle for deciding whether the IRC Operator is a local user or not.
2013-09-24Add support to show user links using "STATS L"Federico G. Schwindt
Change "stats L" to show servers and user links and restrict it to IRC Operators.
2013-09-24Log an error (not info) when working directory can't be changedAlexander Barton
2013-09-19doc/PAM.txt: add a slightly more useful exampleAlexander Barton
2013-09-17Change the certificate fingerprint digest to sha256Federico G. Schwindt
While here correct some indentation.
2013-09-17Change cipher defaultsFederico G. Schwindt
Switch cipher defaults to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS).
2013-09-16Merge remote-tracking branch 'alex/bug162-SSLCipherList'Alexander Barton
* alex/bug162-SSLCipherList: Cipher list selection for GnuTLS ConnSSL_Init_SSL(): correctly set CONN_SSL flag Cipher list selection for OpenSSL ConnSSL_InitLibrary(): Code cleanup
2013-09-16Fix server reconnectionFederico G. Schwindt
In some error cases conn_id will be left as SERVER_WAIT and subsequently ignored in Check_Servers(). Ensure conn_id is set to NONE before returning from New_Server() if we couldn't establish the connection. Prompted by a report from gabrielgi-at-gmail-dot-com.
2013-09-16Don't ignore SSL-related errors during startupAlexander Barton
Without this patch, ngIRCd ignores SSL-related messages and continues to start up but only listens on plain text communication ports -- and this most probably isn't what the administrator wanted ... Closes bug #163.
2013-09-15Cipher list selection for GnuTLSAlexander Barton
This patch implements the missing functionality for cipher list selection using GnuTLS (our OpenSSL code has this already).
2013-09-15ConnSSL_Init_SSL(): correctly set CONN_SSL flagAlexander Barton
The CONN_SSL flag must be set before any calls to ConnSSL_Free()!
2013-09-15Cipher list selection for OpenSSLAlexander Barton
This patch introduces the possibility to arbitrarily select ciphers which should be promoted resp. declined when establishing a SSL connection with a client by implementing the new configuration option "CipherList". By default, OpenSSL would accept low and medium strength and RC-4 ciphers, which nowadays are known to be broken. This patch only implements the feature for OpenSSL. A GnuTLS counterpart has to be implemented in another patch ... Original patch by Bastian <bastian-ngircd@t6l.de>. Closes bug #162.
2013-09-15ConnSSL_InitLibrary(): Code cleanupAlexander Barton
2013-09-07TRACE: fix error message when there are too many parametersAlexander Barton
ircd 2.11 ignores additional parameters silently, but I don't think that this is the correct behaviour either ...
2013-09-07IRC_SetPenalty(): Code cleanupAlexander Barton
2013-09-06Add more penalty timesFederico G. Schwindt
Ensure before every numeric 461 there is a call to IRC_SetPenalty().
2013-09-06Rework check for number of parametersFederico G. Schwindt
Move most of the checks that return numeric 461 into Handle_Request().
2013-09-05Reorder checksFederico G. Schwindt
Move oper and Conf_MorePrivacy checks after checking the number of parameters.
2013-09-05Move the IRC_SetPenalty() call after the assertsFederico G. Schwindt
2013-09-05Correct numeric returned by whoisFederico G. Schwindt
As per RFC whois should return 431 if no nick is provided. While here convert upper check to use irc-macros. As a bonus we get to set the penalty for free.
2013-09-05Minor cosmetic changeFederico G. Schwindt
Add a define to indicate any client. While I'm here use hex values instead of decimal, it's somewhat clearer that they could be OR'ed together.
2013-09-05Commands.txt: Document proprietary DIE <message> parameterAlexander Barton
2013-09-03getpid.sh: use /bin/pidof when availableAlexander Barton
2013-09-03Don't enforce channel types for other serversAlexander Barton
The configuration option "AllowedChannelTypes" must only be enforced for regular clients and not for remote servers. Channels created by other servres are always allowed, because they already exist and the daemon must stay in sync with the network.
2013-09-02Only log "IDENT ... no result" when IDENT was looked upAlexander Barton
Without this patch, ngIRCd logged the "IDENT lookup for connection X: no result"-message even when IDENT lookups have been disabled using the "Ident = no" configuration option, which is a little bit misleading. Reported by "btwe" in #ngircd.
2013-08-31ngircd: use setgid/setuid errno value in error pathFlorian Westphal
Need to use saved errno value as strerror argument, else you get bogus output ('success') in the log message.
2013-08-31Show connection flag "s" (SSL) in RPL_TRACE{LINK|SERVER}Alexander Barton
Now you can check if a server-to-server link is SSL-encrypted or not using the IRC "TRACE" command. Idea by Götz Hoffart, thanks!
2013-08-27Change away to be allocated dynamicallyFederico G. Schwindt
2013-08-27Ignore "operation not permitted" while dropping groupsAlexander Barton
Without this exception, you can't start ngIRCd as user any more, it is analog to setting the user and group ID.