about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
2008-11-13Test suite: start two servers and test server-server linksAlexander Barton
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.
2008-11-13Add conf-ssl.h to "noinst_HEADERS"Alexander Barton
conf-ssl.h must be listed in "noinst_HEADERS" so that it becomes included in distribution archives generated by "make dist" and "make distcheck".
2008-11-12Connection counter: count outgoing connections as well.Alexander Barton
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!
2008-11-11Ignore numeric 020 ("please wait while we process your coinnection")Alexander Barton
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 :-)
2008-11-11GNUTLS: define new API types when installed library is too oldAlexander Barton
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.
2008-11-11Console log: output timestamp (seconds since start) for resolver, tooAlexander Barton
2008-11-10Console log: output timestamp (seconds since start of daemon)Alexander Barton
2008-10-29conn-ssl.c: work around gnutls API problems on 64 bit platformsFlorian Westphal
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].
2008-10-29GIT: don't ignore cvs-version.{h|new}, because it isn't used any more.Alexander Barton
2008-10-19Fix ForwardLookup(): "ISO C90 forbids specifying subobject to initialize"Alexander Barton
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
2008-10-19Fix ConnSSL_LogCertInfo(): unused variable "cred" (GNUTLS)Alexander Barton
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'
2008-09-23Enable KICK to be handled from remote servers and from services.Alexander Barton
2008-09-23Respect RFC 1459 compatibility mode when announcing channels (no NJOIN).Alexander Barton
2008-09-23Announce IRC services in the network.Alexander Barton
This patch - introduces a new server flag "S" to indicate that the server can handle the SERVICE command (on server links), - implements the IRC command "SERVICE" for server-server links, - uses the "SERVICE" command to announce IRC services when a new server connects to it, - and fixes the Send_Message() function to let it send messages to services using a "target mask". If the remote server doesn't indicate that it can handle the "SERVICE" command (it has not set the "S" flag), services are announced as regular users as before.
2008-09-23Change Introduce_Client() to set the correct client type (user/service).Alexander Barton
2008-09-23Convert SQUERY to PRIVMSG on RFC 1459 compliant links.Alexander Barton
2008-09-23Don't allow SQUERY to send to "target masks" and channels; only services!Alexander Barton
2008-09-23Fix PRIVMSG/NOTICE handler (II): keep command when forwarding to channels.Alexander Barton
- new function ngt_UpperStr(). - change Channel_Write() to take command name and error flag. - remove now unneeded function Channel_Notice().
2008-09-23New function ngt_UpperStr()Alexander Barton
2008-09-23Fix PRIVMSG/NOTICE handler Send_Message(): don't forward NOTICE as PRIVMSG.Alexander Barton
2008-09-23Make real use of the CLIENT_SERVICE client type.Alexander Barton
This patch enables ngIRCd to handle IRC services as real services, and not as "fake users": - Set correct client type CLIENT_SERVICE for services, - Change log messages to include correct client type, - PRIVMSG: allow users to send messages to services, - Send services nick names to other servers (as users). Please note that this patch doesn't announce services as services in the network, but as regular users (as before). Only the local server knows of services as services (see LUSERS command, for example). It is up to one of the next patches to fix this and to introduce the SERVICE command in server to server communication. The propagation of services as regular users between servers doesn't limit the functionality of the IRC services and will be the fallback for servers that don't support "real" services propagation in the future.
2008-09-23Allow IRC services to change their nick names.Alexander Barton
2008-09-23New function Client_TypeText() and Destroy_UserOrService().Alexander Barton
Client_TypeText() is used to get correct naming ("Client", "Service", ...) for log messages, and Destroy_UserOrService() is used to correctly destroy user and services clients.
2008-09-23Send_Message(): really enforce target client type.Alexander Barton
2008-09-23Allow ngIRCd to detect services connected to an "virtual services server".Alexander Barton
Introduce a new configuration variable "ServiceMask" in SERVER blocks to define a mask matching nick names that should be treated as services. Regular servers don't need this parameter (leave it empty, the default), but you should set it to "*Serv" when connection ircservices, for example. This patch allows ngIRCd to detect services, it doesn't change the functionality: you only get different log messages ;-)
2008-09-23Centralize logging functions in Introduce_Client().Alexander Barton
2008-09-23Get rid of INTRO_INFO structure again: we don't need it at all!Alexander Barton
All the required information is already stored in the CLIENT structure of new new connection, so pass this to Introduce_Client() and don't invent an unneeded new structure ...
2008-09-23Announce_User(): support RFC 1459 compatibility mode.Alexander Barton
2008-09-23Introduce_Client(): send MODES in RFC 1459 mode, too.Alexander Barton
2008-09-23numeric.c: whitespace fixes ...Alexander Barton
2008-09-23Server links: detect RFC 1459 mode direct after SERVER commandAlexander Barton
This patch allows ngIRCd to detect right after receiving the SERVER command from the peer whether the RFC 1459 compatibility mode must be used or not. And it fixes the announcement of users during establishing new server links with such peers.
2008-09-23Send and handle NICK+USER commands for user registration (RFC 1459).Alexander Barton
This patch enables ngIRCd to deal with NICK and USER commands following RFC 1459 to register new clients, and to send these commands instead of one full NICK command as specified in RFC 2813 on connections that are in RFC 1459 compatibility mode. Can be useful for e. g. IRC services that simulate a RFC 1459 server.
2008-09-23New function IRC_WriteStrServersPrefixFlag_CB() using a callback function.Alexander Barton
2008-09-23New function Introduce_Client() to announce new local and remote users.Alexander Barton
2008-09-23New connection option CONN_RFC1459.Alexander Barton
This new connection option CONN_RFC1459 indicates that the peer on this link only supports the IRC protocol as defined in RFC 1459 and that the compatibility mode (e. g. for outgoing commands like NICK) should be used.
2008-09-23New global function Conn_SetOption().Alexander Barton
2008-09-23USER: servers and services can alter user information after registration.Alexander Barton
This is required to do RFC 1459 style user registration on server links, and is used by some services packages, too. See RFC 1459 section 4.1.3.
2008-09-23NICK: allow servers and services to use RFC 1459 syntax (2 parameters).Alexander Barton
This patch allows servers and services to call the NICK command using the syntax defined in RFC 1459 to register new users, with only two parameters. See section 4.1.2. Useful for some services packages, which emulate this protocol.
2008-09-23Whitespace fixes: remove trailing tabulator characters.Alexander Barton
2008-09-15conn-ssl.c: don't append a newline to ConnSSL_GetCipherInfoFlorian Westphal
2008-09-13TLS/SSL support: code changes.Florian Westphal
This adds the required code to enable ssl/tls support during compile and run time, respectively.
2008-09-13TLS/SSL support: core files.Florian Westphal
Contains support for both OpenSSL and GNU TLS. Certificate Authentification is not yet supported.
2008-08-30Fix handling of MaxConnections optionFlorian Westphal
Config option claimed to be 'number of connections' but in reality this was treated as 'largest file descriptor allowed'. This also fixes another bug in New_connection, where the ng_ipaddr_tostr_r error path was missing a return statement.
2008-08-18Include "mcheck.h" when using mtrace().Alexander Barton
2008-08-17SECURITY: Fixed a message handling bug which could crash the daemon.Alexander Barton
Some message targets could lead to a NULL pointer dereference and therefore could crash the daemon (denial of service). (cherry picked from commit e493ad2d30ff80bca2556cde2212e367cb006517)
2008-08-13Enable GNU libc "memory tracing" when compiled with debug code.Alexander Barton
This patch lets ngIRCd activate "memory tracing" of the GNU libc when compiled with debug code (configure: --enable-debug) and the functionality is available on the system. (http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html)
2008-08-01Make ngIRCd compile and run on NeXTSTEP 3.3 and OPENSTEP 4.2Alexander Barton
by Steven D. Blackford <kb7sqi@aol.com>: "I wanted to let you know that I've done a quick port of ngircd-0.12.0 for NEXTSTEP3.3/OPENSTEP4.2. There wasn't a lot of changes required to get it to compile clean, but I did make the necessary changes so that I didn't have to use -posix flag. The NeXT has a pretty buggy POSIX implementation so I always try to work around it. :-) Anway, here's the changes required to get it to compile."
2008-07-27GIT: added src/testsuite/message-test to ignore list.Alexander Barton
2008-07-27Fix Validate_Args(): unused parameter "Idx" and "Req"Alexander Barton
This patch fixes the following error message of GCC (tested with version 4.3.0) when not compiling ngIRCd in "strict RFC" mode: parse.c: In function "Validate_Args": parse.c:341: error: unused parameter "Idx" parse.c:341: error: unused parameter "Req"
2008-07-27message-test: Disable two tests using "localhost" as host nameAlexander Barton
Some operating systems, for example OpenBSD and OpenSolaris, use "localhost.<domain>" instead of just "localhost" for 127.0.0.1, so the "message-test" using "localhost" failed on such systems. Don't have an idee how to make this work on all platforms ... :-/ So I simply disabled the two affected tests to make the testsuite run on OpenBSD and OpenSolaris again.