summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
2011-07-10MorePrivacy: Don't register WHOWAS informationAlexander Barton
Citing an email from Florian to the ngIRCd mailing list: "I wonder what the expected behaviour is when Conf_MorePrivacy is changed from 'yes' to 'no' and the config is reloaded. At the moment, WHOWAS will start giving out information on Users that were connected during Conf_MorePrivacy=yes period. If this is not wanted, Client_RegisterWhowas() should be changed to not store a record when Conf_MorePrivacy is enabled." And I think it is "not wanted" :-)
2011-06-28GnuTLS: use 1024 (DH_BITS_MIN) as minimum size of the DH primeAlexander Barton
For outgoing connections, we use 2048 (DH_BITS) since commit 49b2d0e. This patch enables ngIRCd to accept incoming connections from other servers and clients that use at least 1024 bits (and no longer requires 2048 for incoming connections, too). Patch proposed by Florian Westphal.
2011-06-27hash: Use UINT32 instead of uint32_tAlexander Barton
2011-06-27hash: use more recent lookup3 algorithm instead of lookup2Florian Westphal
Bob Jenkins published a newer hash function in May 2006, it has better distribution. See http://burtleburtle.net/bob/hash/doobs.html for lengthy comparisions.
2011-06-26Use srand()/rand() instead of srandom()/random(); seems to be more portableAlexander Barton
2011-06-26Merge branch 'MorePrivacy'Alexander Barton
* MorePrivacy: New configuration opion "MorePrivacy" to "censor" some user information
2011-06-26Merge branch 'ScrubCTCP'Alexander Barton
* ScrubCTCP: Add documentation for "ScrubCTCP" configuration option New option to scrub incoming CTCP commands
2011-06-26Move SSL-related configuration variables to new [SSL] sectionAlexander Barton
2011-06-26CheckFileReadable(): only check when a filename is given ...Alexander Barton
2011-06-25PAM: make clear which "Password" config option is ignoredAlexander Barton
2011-06-25New configuration opion "MorePrivacy" to "censor" some user informationxor
this patch contains: * Fix for Conf_CloakUserToNick to make it conceal user details * Adds MorePrivacy-feature MorePrivacy censors some user information from being reported by the server. Signon time and idle time is censored. Part and quit messages are made to look the same. WHOWAS requests are silently dropped. All of this is useful if one wish to conceal users that access the ngircd servers from TOR or I2P.
2011-06-25New option to scrub incoming CTCP commandsxor
This patch makes it possible to scrub incomming CTCP commands from other servers and clients alike. The ngircd oper can enable it from the config file, by adding "ScrubCTCP = yes" under [OPTIONS]. It is default off. CTCP can be used to profile IRC users (get user clients name and version, and also their IP addresses). This is not something we like to happen when user pseudonymity/secrecy is important. The server silently drops incomming CTCP requests from both other servers and from users. The server that scrubs CTCP will not forward the CTCP requests to other servers in the network either, which can spell trouble if not every oper knows about the CTCP-scrubbing. Scrubbing CTCP commands also means that it is not possible to send files between users. There is one exception to the CTCP scrubbing performed: ACTION ("/me commands") requests are not scrubbed. ACTION is not dangerous to users (unless they use OTR, which does not encrypt CTCP requests) and most users would be confused if they were just dropped. A CTCP request looks like this: ctcp_char, COMMAND, arg0, arg1, arg2, .. argN, ctcp_char ctcp_char is 0x01. (just like bold is 0x02 and color is 0x03.) They are sent as part of a message and can be delivered to channels and users alike.
2011-06-25Testsuite: update configuration files for new config file formatAlexander Barton
2011-06-25Display configuration errors more prominent on "--configtest"Alexander Barton
2011-06-25conf.c: code cleanupAlexander Barton
2011-06-25Check for redability of SSL-related files like for MOTD fileAlexander Barton
Remove functions ssl_print_configvar() and ConfSSL_Puts(), introduce new function CheckFileReadable().
2011-06-25Restructure ngIRCd configuration, introduce [Limits] and [Options]Alexander Barton
The intention of this restructuring is to make the [Global] section much cleaner, so that it only contains variables that most installations must adjust to the local requirements. All the optional variables are moved to [Limits], for configurable limits and timers of ngIRCd, and [Options], for optional features. The old variables in the [Global] section are deprecated now, but still recognized.
2011-06-05conn: fix error handling when connecting to serverFlorian Westphal
The io_event_create error handling seems to miss a 'return' statement. Fix this by moving io_event_create() call around so we do not need the Conn_Close/Init calls in the error case.
2011-06-04ssl: gnutls: bump dh bitsize to 2048Florian Westphal
problem is that some clients refuse to connect to severs that only offer 1024. For interoperability it would be best to just use 4096, but that takes minutes, even on current hardware.
2011-05-06fix clang warning about dead storesFlorian Westphal
clang 'scan-build': Value stored to 'r' is never read Value stored to 'fd' is never read
2011-04-29parse: fix logical expression testing for non RFC1459 linksFlorian Westphal
parse.c:284: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' The expression looks dubious, this should probably be an if-not-set, then... test.
2011-04-29conn: avoid needlesly scary 'buffer overflow' messagesFlorian Westphal
When the write buffer space grows too large, ngircd has to disconnect the client to avoid wasting too much memory. ngircd logs this with a scary 'write buffer overflow' message. Change this to a more descriptive wording.
2011-04-29Only require server prefixes on non RFC1459 linksAlexander Barton
Not all servers (and services!) using the RFC1459 protocol style send prefixes on all commands; so don't require them to do so. This relaxes the requirements introduced by commit 15775e679.
2011-04-26Do reverse lookups using the AF of the incoming connectionAlexander Barton
This fixes errors like this one: Address mismatch: 2001:1234:abcd:1::1 != 192.168.1.1
2011-04-25resolve: fix reverse lookups of client connections with ConnectIPv6=noFlorian Westphal
We re-use the same helper function for both forward lookups (when we want to connect to a peer server) and for validation of reverse loopups (where we make a lookup on the hostname returned by a reverse lookup on the IP address that connected). Problem: When ConnectIPv6=no, the forward lookup helper sets the adderss family to AF_INET, and, if out client connected via ipv6, we fail to validate the result. Thus move the ConnectIPvX check out of the helper.
2011-04-12Doxygen'ify conf.cAlexander Barton
2011-04-12New function Config_Error_Section(); and code cleanupAlexander Barton
2011-04-12Add some type casts to random() and srandom() functionsAlexander Barton
This fixes two gcc warnings (on Mac OS X): "warning: implicit conversion shortens 64-bit value into a 32-bit value"
2011-03-28ngircd: improve rng initialisationFlorian Westphal
we do not need this for cryptographic purposes, but we can do better than plain srandom(getpid()). Also, keep in mind that rng state is inherited across fork(), so re-init it in the child.
2011-03-27Merge branch 'AuthPing'Alexander Barton
* AuthPing: Add documentation for "RequireAuthPing" configuration option New configuration option "RequireAuthPing": PING-PONG on login
2011-03-27New configuration option "RequireAuthPing": PING-PONG on loginAlexander Barton
When enabled, this configuration option lets ngIRCd send a PING with an numeric "token" to clients logging in; and it will not become registered in the network until the client responds with the correct PONG. This is used by QuakeNet for example (ircu/snircd), and looks like this: NICK nick :irc.example.net PING :1858979527 USER user . . :real name PONG 1858979527 :irc.example.net 001 nick :Welcome to the Internet Relay Network ...
2011-03-26Configuration: move "NoticeAuth" to GLOBAL sectionAlexander Barton
2011-03-25New configuration option "NoticeAuth": send NOTICE AUTH on connectAlexander Barton
When enabling "NoticeAuth" in the [Features] section, ngircd will send "NOTICE AUTH" messages on client connect like e.g. snircd (QuakeNet) does.
2011-03-25Warn when unknown variables are found in [Features] sectionAlexander Barton
2011-03-21Generate WALLOPS message on SQUIT from IRC operatorAlexander Barton
So SQUIT now behaves like CONNECT and DISCONNECT commands, when called by an IRC operator (and not received from an other server).
2011-03-21Commands received from other servers must have prefixesAlexander Barton
Make sure that all commands received from other servers do have valid prefixes. Only exceptions are PING and ERROR commands that can occure without prefixes when generated by the remote peer itself.
2011-03-21Allow servers to send more commands in the first 10 secodsAlexander Barton
This helps to speed up server login and network synchronisation.
2011-03-19IRC_CHANINFO(): Code cleanupAlexander Barton
2011-03-19Handle_GLOBAL(): don't use multi-line stringsAlexander Barton
They aren't supported by elder C compilers ...
2011-03-19Merge branches 'CloakUserHost', 'QuitOnHTTP' and 'bug72-WHOIS-List'Alexander Barton
* CloakUserHost: Add a note not to use a percent sign ("%") in CloakHost variable Rename ClientHost to CloakHost, and ClientUserNick to CloakUserToNick Don't use "the.net" in sample-ngircd.conf, use "example.net" ngircd.conf.5: document "ClientHost" and "ClientUserNick" Move "ClientHost" and "ClientUserNick" to end of [Global] section ClientUserNick setting ClientHost setting * QuitOnHTTP: Only "handle" HTTP commands on unregistered connections Don't use IRC_QUIT_HTTP() if STRICT_RFC is #define'd IRC_QUIT_HTTP(): enhance error message Move IRC_QUIT_HTTP() below IRC_QUIT() quit on HTTP commands: GET & POST * bug72-WHOIS-List: Add "whois-test" to testsuite and distribution archive Add support for up to 3 targets in WHOIS queries.
2011-03-19Rename ClientHost to CloakHost, and ClientUserNick to CloakUserToNickAlexander Barton
2011-03-19Add "whois-test" to testsuite and distribution archiveAlexander Barton
Test script proposed by Dana Dahlstrom, 2008-02-17. See <https://arthur.barton.de/bugzilla/show_bug.cgi?id=72> ...
2011-03-19Add support for up to 3 targets in WHOIS queries.Florian Westphal
also allow up to one wildcard query from local hosts. Follows ircd 2.10 implementation rather than RFC 2812. At most 10 entries are returned per wildcard expansion. WHOIS test cases by Dana Dahlstrom.
2011-03-17Only "handle" HTTP commands on unregistered connectionsAlexander Barton
2011-03-16Don't use IRC_QUIT_HTTP() if STRICT_RFC is #define'dAlexander Barton
2011-03-16IRC_QUIT_HTTP(): enhance error messageAlexander Barton
2011-03-16Move IRC_QUIT_HTTP() below IRC_QUIT()Alexander Barton
2011-03-16Move "ClientHost" and "ClientUserNick" to end of [Global] sectionAlexander Barton
2011-03-16ClientUserNick settingGabor Adam Toth
2011-03-16ClientHost settingGabor Adam Toth