Commits


ngIRCd release 13~rc1


Fix double minus signs in manual pages This patch fixes the following lintian(1) warning: "Manual page seems to contain a hyphen where a minus sign was intended. '-' chars are interpreted as hyphens (U+2010) by groff, not as minus signs (U+002D). Since options to programs use minus signs (U+002D), this means for example in UTF-8 locales that you cannot cut&paste options, nor search for them easily. '-' must be escaped ('\-') to be interpreted as minus."


Debian package ("make deb"): fix some lintian(1) warnings


Change formatting of some log messages - Fix formatting of some log messages, mostly punctuation. - cb_Connect_to_Server(): don't use string concatenation, because it is not supported by pre-ANSI C compilers ...


Fix pem_passwd_cb(): unused variable "rwflag" (OpenSSL) This patch fixes the following warning of GCC (version 4.3.2) in function pem_passwd_cb() when compiling with OpenSSL support and without debug code: conn-ssl.c: In function 'pem_passwd_cb': conn-ssl.c:122: warning: unused parameter 'rwflag'


New configuration option "NoIdent" to disable IDENT lookups The new configuration option "NoIdent" in ngircd.conf can be used to disable IDENT lookups even when the ngIRCd daemon is compiled with IDENT lookups enabled.


Implement the IRC command "SERVLIST" The IRC command "SERVLIST" lists all the registered services, see RFC 2811, section 3.5.1. The syntax is "SERVLIST [<mask> [<type>]]". The parameter <type> is not used by ngIRCd at the moment, all registered services are of type 0 (which is the default when omitted).


Updated NEWS and ChangeLog, using NEWS for news only :-)


Create local &SERVER channel and log server messages to it ngIRCd now creates a server-local channel &SERVER with channel modes +mnPt (moderated, no messages from outside the channel, persistent and with the topic locked) and logs all the messages to it that a user with mode +s ("server messages") receives. If an IRC operator withdraws the +P ("persistent") mode and the &SERVER channel is freed because of no members, nothing special happens. The channel can be recerated any time later and ngIRCd would begin logging to it again.


Implement local channels (prefix "&") This patch implements server-local channels, prefix "&", that are only visible to users of the same local server and not in the network. Patch written by Scott Perry (2008-06-04), see: - http://arthur.barton.de/cgi-bin/bugzilla/show_bug.cgi?id=87 - http://arthur.barton.de/cgi-bin/bugzilla/attachment.cgi?id=24&action=view


Added some missing files of GIT tree to distribution archives The following bits and bytes were not included in distribution archives: - contrib: ngindent, ngircd.sh - contrib/Debian: ngircd.postinst - contrib/MacOSX: preinstall.sh, postinstall.sh - doc/src: Doxyfile, header.inc.html, footer.inc.html, ngircd-doc.css - src/portab: splint.h


Test suite: start two servers and test server-server links I changed the test suite to start two test servers (on port 6789 and 6790), so server-server links can be tested as well for which I included the new test script "server-link-test.e". In addition the documentation of the test suite (src/testsuite/README) has been updated and is more complete now.


Add conf-ssl.h to "noinst_HEADERS" conf-ssl.h must be listed in "noinst_HEADERS" so that it becomes included in distribution archives generated by "make dist" and "make distcheck".


Re-add CVE identifiers to ChangeLog. I'm lame. My last commit removed all the CVE numbers recently added in commit 598df0758 to the ChangeLog ... shame on me! See all the CVE entries of ngIRCd at: <http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ngircd>


Updated NEWS and ChangeLog to include 0.12.1 and the development version


Connection counter: count outgoing connections as well. This patch lets ngIRCd count outgoing connections as well as incoming connections (up to now only outgoing connections have been counted). This change is required because the Conn_Close() function doesn't know whether it closes an outgoing connection or not and therefore would decrement the counter below zero when an outgoing connection existed -- which would trigger an assert() call ... Please note that this patch changes the (so far undocumented but now fixed) behaviour of the "MaxConnections" configuration option to account the sum of the in- and outbound connections!


Ignore numeric 020 ("please wait while we process your coinnection") Some servers send the numeric 020 ("please wait while we process your connection") when a client connects. This is no useful information for this server, so we simply ignore it :-)


GNUTLS: define new API types when installed library is too old This patch enables ngIRCd to use GNUTLS in really old versions, tested with version 1.0.16, that don't define the "new" data types ending in xxx_t. LIBGNUTLS_VERSION_MAJOR isn't defined there as well, so we use it to test if we must define the new types on our own.


Console log: output timestamp (seconds since start) for resolver, too


Console log: output timestamp (seconds since start of daemon)


conn-ssl.c: work around gnutls API problems on 64 bit platforms Alexander Barton reported a compiler warning on 64-bit platforms: cc1: warnings being treated as errors conn-ssl.c: In function 'ConnSSL_Init_SSL': conn-ssl.c:403: error: cast to pointer from integer of different size Unfortunately, I couldn't find a real solution; the GNUTLS API expects 'gnutls_transport_ptr_t' (which is void*), but the default push/pull functions (send/recv) expect an int. The only alternative solution is to pass in an address to the file descriptor, then add send/recv wrappers that expect a pointer. What a mess[tm].


GIT: don't ignore cvs-version.{h|new}, because it isn't used any more.


Fix ForwardLookup(): "ISO C90 forbids specifying subobject to initialize" This patch fixes the following warning of GCC (version 4.3.2) in function ForwardLookup(): resolve.c: In function 'ForwardLookup': resolve.c:282: warning: ISO C90 forbids specifying subobject to initialize resolve.c:284: warning: ISO C90 forbids specifying subobject to initialize resolve.c:285: warning: ISO C90 forbids specifying subobject to initialize


Fix ConnSSL_LogCertInfo(): unused variable "cred" (GNUTLS) This patch fixes the following warning of GCC (version 4.3.2) in function ConnSSL_LogCertInfo() when compiling with GNUTLS support: conn-ssl.c: In function 'ConnSSL_LogCertInfo': conn-ssl.c:542: warning: unused variable 'cred'


Debian: build ngircd-full with support for GNU TLS and IPv6.