about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2009-10-17configtest: print ssl config options even when unsetFlorian Westphal
Print "SSLOptionVar =" instead of omitting the option when running --configtest with ssl enabled. This better matches the behaviour of other options, e.g. ChrootDir.
2009-10-15ngIRCd release 15~rc1 rel-15-rc1Alexander Barton
2009-10-03Updated NEWS and ChangeLog filesAlexander Barton
2009-09-30Make sure forwarded CONNECT commands are handled correctlyAlexander Barton
2009-09-30Generate WALLOPS message on operator-generated SQUITAlexander Barton
2009-09-30Enable SQUIT command for IRC OperatorsAlexander Barton
This patch enables IRC Operators to use the SQUIT command as specified in RFC 2812, section 3.1.8 "Squit". When forwarding SQUIT commands, the server connected to the target will drop the connection (not the target server itself!). Please note: - the configuration option "AllowRemoteOper" mus be enabled on the server disconnecting the target to allow forwarding of SQUIT commands. - if the remote server is configured to establish the connection, it will just do this; so the disconnect is not permanent in this case!
2009-09-30Xcode: added new op.{c|h} to project fileAlexander Barton
2009-09-30Use functions provided by op.c "module"Alexander Barton
Local functions Check_Oper() and No_Privileges() have been replaced by global functions in op.c "module": Op_Check() and Op_NoPrivileges().
2009-09-30New "module" op.c/op.h for IRC operator related functionsAlexander Barton
The new "module" op.c is used to implement functions related to IRC Ops. At the moment, these two functions are available: - Op_Check() to check for a valid IRC Op, and - Op_NoPrivileges() to generate "permission denied" messages.
2009-09-30Allow forwarding of CONNECT commands.Alexander Barton
The syntax of the CONNECT command now is: - CONNECT <server-id> - CONNECT <server-id> <port> - CONNECT <server-id> <port> <target> - CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd> - CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd> <target> Note: the configuration option "AllowRemoteOper" mus be enabled on the target server to allow forwarding of CONNECT commands.
2009-09-30Check_Oper(): check origin of forwarded messages instead of server.Alexander Barton
2009-09-30No_Privileges(): handle forwarded messages.Alexander Barton
2009-09-30IRC_SendWallops(): support format string and variable parameter lists.Alexander Barton
2009-09-30CONNECT, DISCONNECT: generate WALLOPS messagesAlexander Barton
2009-09-30New function IRC_SendWallops().Alexander Barton
Implement new global function IRC_SendWallops() that can be called by other functions to generate WALLOPS messages to users with +w mode.
2009-09-30Code cleanup of IRC_DISCONNECT().Alexander Barton
2009-09-30Code cleanup of IRC_SQUIT() in preparation to deal with bug #73.Alexander Barton
2009-09-30New local functions Check_Oper() and No_Privileges().Alexander Barton
2009-09-30Bad_OperPass(): code cleanup.Alexander Barton
2009-09-30New configuration option "AllowRemoteOper"Alexander Barton
Added new configuration option "AllowRemoteOper" to control whether remote IRC operators are allowed to use administrative commands that affect this server or not This commit introduces the configuration variable, but actually no function is using it. That's up for the next patches to come ...
2009-09-26fix assertion failure in ng_ipaddr.cFlorian Westphal
when building with debugging enabled, but without ipv6 support, ngircd dumped core when loading a config file that specified an ipv6 listen address. ngircd: ng_ipaddr.c:45: ng_ipaddr_init: Assertion `sizeof(*addr) >= res0->ai_addrlen' failed.
2009-09-20configtest: complain when ssl keys are not readableFlorian Westphal
2009-09-14Check for sockaddr_in.sin_len and initialize itAlexander Barton
Test for sockaddr_in.sin_len and initialize it to the correct value which some systems (notably Mac OS X) require. Note: this code path is only relevant when not using getaddrinfo().
2009-09-14Always use get{addr|name}info() when availableAlexander Barton
Both getaddrinfo() and getnameinfo() are now used always when available, and not only when compiling ngIRCd with support for IPv6. This not only enables ngIRCd to handle multiple addresses per hostname when compiled without support for IPv6, but fixes binding ngIRCd to IP addresses on Mac OS X (and probably other BSD-based systems) as well: these systems require that sockaddr_in is zeroed out and sockaddr_in.sin_len is set to sizeof(sockaddr_in) like that: src/ipaddr/ng_ipaddr.c, line 54: assert(ip_str); + memset(addr, 0, sizeof *addr); + addr->sin4.sin_len = sizeof(addr->sin4); addr->sin4.sin_family = AF_INET; But this would break all the systems not using sockaddr_in.sin_len, for example Linux -- so we assume that all these systems provide getaddrinfo() and use that for now.
2009-09-14Xcode: add "debug" configuration to projectAlexander Barton
2009-09-12Fix cb_connserver() to handle aborted outgoing connectionsAlexander Barton
A configured server could have been removed while a connection apptempt is still in progress. So the cb_connserver() callback has to test if the server configuration record is still valid.
2009-09-11conn.c: fix more sizeof(..dst_addr) misuseFlorian Westphal
the wrong sizeof() usage fixed in d76910ce7b9fad5679b7c614ed086e036560e37d (conn.c: fix resolver server address backlog) was a bit more widespread, fix all others, too.
2009-09-11resolve.c: fix valgrind 'uninitialized memory' warningFlorian Westphal
fix the following warning generated by valgrind if ipv6 is enabled: Syscall param write(buf) points to uninitialised byte(s) at 0x4000982: (within /lib/ld-2.9.so) by 0x80681A8: Resolve_Name (resolve.c:477) by 0x805439F: Conn_Handler (conn.c:1658) by 0x804AA7C: main (ngircd.c:331) The warning is because ng_ipaddr_t can be a union, and only the necessary parts are initialised. The callers know what part of the union is valid, so this is not a bug.
2009-09-11conn.c: fix resolver server address backlogFlorian Westphal
if more than one ip address is returned for a single host name, ngircd is supposed to try other addresses in case connect() to the first address returned fails for some reason. Alexander Barton noticed that this did not work at all, as the additional results were not stored.
2009-09-11Fix "implicit conversion shortens 64-bit value" warningAlexander Barton
This patch fixes the following gcc warning in our sources: "implicit conversion shortens 64-bit value into a 32-bit value"
2009-09-11Xcode: use gcc 4.0 for Mac OS X 10.4 compatibilityAlexander Barton
2009-09-11Channel_Mode(): fix return code of functionAlexander Barton
Fix error handling of Channel_Mode() to return the correct connection status ("connected"/"disconnected") insted of always returning success.
2009-09-11IRC_SERVER(): code cleanup, remove unneeded variableAlexander Barton
2009-09-10IRC_PASS(): remove unnecessary variable initializationAlexander Barton
2009-09-10Conn_Close(): remove unused variable "txt"Alexander Barton
2009-09-10Mac OS X: fix test for packagemaker(1) tool in MakefileAlexander Barton
2009-09-02Fix --with-{openssl|gnutls} to accept path namesAlexander Barton
This patch fixes --with-openssl and --with-gnutls and enables both to accept path names, so that you can use "./configure --with-XXX=/path". All the other --with-XXX parameters support this already.
2009-08-31do not add default listening port if ssl ports were specifiedFlorian Westphal
Cosmo Kastemaa reported that its impossible to create an ssl-only setup, as ngircd binds to port 6667 by default, even if setting "Ports =". Only add the default port if _both_ "Ports" and "SSLPorts" are unspecified. Fixes bugzilla #98.
2009-08-29Fix LSB header of Debian init scriptAlexander Barton
2009-08-16Use AM_SILENT_RULES([yes]), if availableAlexander Barton
Starting with GNU automake 1.11 "AM_SILENT_RULES([yes])" is available to make the build process less verbose ("Linux 2.6 style") which helps to spot warning and error messages. So we use it if it is available.
2009-08-12Update NEWS and ChangeLog for next releaseAlexander Barton
2009-08-04Updated doc/Platforms.txtAlexander Barton
2009-08-04New script contrib/platformtest.shAlexander Barton
This script analyzes the build process of ngIRCd and generates output suitable for inclusion in doc/Platforms.txt.
2009-07-22doc/Platforms.txt: ngircd builds on hppa2.0w-hp-hpux11.11 targetFlorian Westphal
Goetz Hoffart reports successful compile on HPUX/HPPA (on ngircd mailing list): Target: hppa2.0w-hp-hpux11.11 Compiler: gcc Compiler flags: -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -D_XOPEN_SOURCE_EXTENDED -DSYSCONFDIR='"$(sysconfdir)"' Libraries: -lz -lnsl Syslog support: yes Enable debug code: no zlib compression: yes IRC sniffer: no Use TCP Wrappers: no Strict RFC mode: no Zeroconf support: no IRC+ protocol: yes IDENT support: no I/O backend: "poll()" IPv6 protocol: no SSL support: no
2009-07-17Client_CheckID(): fix connection informationAlexander Barton
This patch fixes the following silly log messages: 'ID "XXX" already registered (on connection -1)!' If the ID is already registered on a local connection, the local connection ID is printed; and if the ID is connected via a remote server, "via network" is displayed.
2009-07-17Fix return code of Conf_EnableServer()Alexander Barton
Conf_EnableServer() only reports success if all required variables, including host name and port, are set for the specific server.
2009-06-08AUTHORS: update my email addressFlorian Westphal
2009-06-05add section and rfc number to comment about QUIT errorFlorian Westphal
2009-05-25enforce upper limit on maximum number of handled commandsFlorian Westphal
reported on #ngircd: pasting lots of lines into a channel can kill off many people on the channel if the read buffer is drained quickly enough and the client-side TCP can't keep up with the incoming data. This implements a throttling scheme: - an irc client may send up to 3 commands per second before a one second pause is enforced. - an irc client may send up to 256 bytes per second before a one second pause is enforced. After discussion with Alexander Barton, server <-> server links are treated specially: There is no artificial limit on the number of bytes sent per second, and up to 10 commands are processed per second before a pause is enforced. It may be neccessary to make those limits tuneable to accomondate larger networks, but for now they are compile time values.
2009-05-17conn.c: fix NumConnections imbalanceFlorian Westphal
New_Server() can call Conn_Close() in its error paths, but that function decrements the number of current active connections. Thus we need to increment it earlier.