Commit Briefs

bc1ac7fbc5 Alexander Barton

ngIRCd release 15~rc1 (tags/rel-15-rc1)


37e950a40c Alexander Barton

Updated NEWS and ChangeLog files


55c04e691d Alexander Barton

Make sure forwarded CONNECT commands are handled correctly


881b9af251 Alexander Barton

Generate WALLOPS message on operator-generated SQUIT


294320ed62 Alexander Barton

Enable SQUIT command for IRC Operators

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!


03b70229eb Alexander Barton

Xcode: added new op.{c|h} to project file


9918dfc1d5 Alexander Barton

Use functions provided by op.c "module"

Local functions Check_Oper() and No_Privileges() have been replaced by global functions in op.c "module": Op_Check() and Op_NoPrivileges().


e46cf64cc1 Alexander Barton

New "module" op.c/op.h for IRC operator related functions

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.


113bd34878 Alexander Barton

Allow forwarding of CONNECT commands.

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.



45b1a45c97 Alexander Barton

No_Privileges(): handle forwarded messages.



30b584c2e8 Alexander Barton

CONNECT, DISCONNECT: generate WALLOPS messages


eaaf0c3bd5 Alexander Barton

New function IRC_SendWallops().

Implement new global function IRC_SendWallops() that can be called by other functions to generate WALLOPS messages to users with +w mode.


9a7499af8b Alexander Barton

Code cleanup of IRC_DISCONNECT().



926204cacd Alexander Barton

New local functions Check_Oper() and No_Privileges().


3bf0c6f3b9 Alexander Barton

Bad_OperPass(): code cleanup.


f78b0c61e9 Alexander Barton

New configuration option "AllowRemoteOper"

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 ...


fa09883c72 Florian Westphal

fix assertion failure in ng_ipaddr.c

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.


affa03b277 Florian Westphal

configtest: complain when ssl keys are not readable


5b1efaee67 Alexander Barton

Check for sockaddr_in.sin_len and initialize it

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().


d5f80b2a8d Alexander Barton

Always use get{addr|name}info() when available

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.


60fc4d6335 Alexander Barton

Xcode: add "debug" configuration to project


536538968c Alexander Barton

Fix cb_connserver() to handle aborted outgoing connections

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.


4daf780f01 Florian Westphal

conn.c: fix more sizeof(..dst_addr) misuse

the wrong sizeof() usage fixed in d76910ce7b9fad5679b7c614ed086e036560e37d (conn.c: fix resolver server address backlog) was a bit more widespread, fix all others, too.


ed72bf4ceb Florian Westphal

resolve.c: fix valgrind 'uninitialized memory' warning

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.


d76910ce7b Florian Westphal

conn.c: fix resolver server address backlog

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.


8fd0e29d46 Alexander Barton

Fix "implicit conversion shortens 64-bit value" warning

This patch fixes the following gcc warning in our sources: "implicit conversion shortens 64-bit value into a 32-bit value"


bfa48f3448 Alexander Barton

Xcode: use gcc 4.0 for Mac OS X 10.4 compatibility


66c6458ae7 Alexander Barton

Channel_Mode(): fix return code of function

Fix error handling of Channel_Mode() to return the correct connection status ("connected"/"disconnected") insted of always returning success.


3b37ad334b Alexander Barton

IRC_SERVER(): code cleanup, remove unneeded variable


c191ea53a9 Alexander Barton

IRC_PASS(): remove unnecessary variable initialization


e1598e2670 Alexander Barton

Conn_Close(): remove unused variable "txt"


44acf41cc1 Alexander Barton

Mac OS X: fix test for packagemaker(1) tool in Makefile


933da741c6 Alexander Barton

Fix --with-{openssl|gnutls} to accept path names

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.


cf7e19193b Florian Westphal

do not add default listening port if ssl ports were specified

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.


5f1e43416a Alexander Barton

Fix LSB header of Debian init script


5debe20509 Alexander Barton

Use AM_SILENT_RULES([yes]), if available

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.


a7eef6666b Alexander Barton

Update NEWS and ChangeLog for next release


56a8abc253 Alexander Barton

Updated doc/Platforms.txt


21bb2bd658 Alexander Barton

New script contrib/platformtest.sh

This script analyzes the build process of ngIRCd and generates output suitable for inclusion in doc/Platforms.txt.


bddfd67550 Florian Westphal

doc/Platforms.txt: ngircd builds on hppa2.0w-hp-hpux11.11 target

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


805bf03490 Alexander Barton

Client_CheckID(): fix connection information

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.


63cbc6cd42 Alexander Barton

Fix return code of Conf_EnableServer()

Conf_EnableServer() only reports success if all required variables, including host name and port, are set for the specific server.


b3cacf86df Florian Westphal

AUTHORS: update my email address


0ef94edad7 Florian Westphal

add section and rfc number to comment about QUIT error


643ae1b48b Florian Westphal

enforce upper limit on maximum number of handled commands

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.


9b1c47220f Florian Westphal

conn.c: fix NumConnections imbalance

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.



f31c3a3aa2 Florian Westphal

SSL/TLS: fix error path in gnutls ssl ctx allocation


b0931f322b Florian Westphal

manpage: move SSLConnect option to the right section


5196e9bcb1 Florian Westphal

SSL/TLS: remove redundant asserts/ifdefs


57aa64e117 Florian Westphal

SSL/TLS: proper indentation, remove erroneous comment


fd7e85b798 Alexander Barton

Update copyright notice, it's 2009 already!


b1852f3029 Alexander Barton

Updated Debian "changelog" file for ngIRCd 14.1 (tags/rel-14-1)


822c1e9265 Alexander Barton

ngIRCd release 14.1


5b4a3eda08 Alexander Barton

Added start/stop script for Red Hat based distributions

Script contributed by Naoya Nakazawa <naoya@sanow.net>.


a83554b572 Alexander Barton

Renamed contrib/ngircd.sh to contrib/ngircd-bsd.sh


627b0b713c Alexander Barton

security: fix remotely triggerable crash in SSL/TLS code

When a server is running with SSL/TLS support compiled in, it is trivial to crash the server by sending an MOTD request via another server in the network. - ONLY servers without ssl/tls support compiled in are not affected. Disabling SSL in the configuration (no ssl listening ports, etc) does NOT help. - servers that are running standalone (i.e., not connected to any other servers) are not affected, either. This affects all ngircd releases since ngircd 13 (earlier versions have no SSL/TLS support).


95428a72ff Alexander Barton

Fixed "Conflicts:" line in debian/control: missing comma


6b83d1740e Alexander Barton

Debian: build ngircd-full-dbg package

In addition to the "ngircd" and "ngircd-full" packages a new package named "ngircd-full-dbg" is build: this package contains all the features of the "full" package but includes debug code and both the --debug and --sniffer options and the resulting binaries are _not_ stripped.


c8bba8e5c3 Alexander Barton

debian/rules: whitespace fixes


37359799eb Florian Westphal

Fix server list announcement

When ngircd announces the list of currently known servers to a new (connecting) server, it sent the introducer of the servers instead of the top server. Assuming this network: irc1.example.com |--irc2.example.com | `--irc3.example.com | `--irc4.example.com `--irc5.example.com When irc4 connects to irc3, irc3 tells irc4 that irc5 was connected to irc2. (irc2 had introduced irc5 to irc3; but thats not what ngircd should have sent to the new server). This also placed users on the wrong servers.


4a14fb252d Alexander Barton

Doxygen: update source code repository link to GIT


9b59f043c8 Florian Westphal

allow ping timeout quit messages to show the timeout value


b545d38ae4 Florian Westphal

irc-server: do not remove hostnames from info text

that code does not really make sense -- the info text is freely cofngiureable and des not follow a specific format. Also, that "+2" might have caused invalid memory accesses.


84eaed6c9a Florian Westphal

conn-zip: fix error handling

callers of (Un)Zip_Buffer() assume that the function closes the connection on error. However, this was not always the case.


544b9884f4 Florian Westphal

remove or translate old comments


5e16b6df2d Florian Westphal

client.c: remove unecessary comments


ea041b8838 Florian Westphal

add const qualifier to pointers where possible


68835a1d1a Alexander Barton

ngIRCd release 14 (tags/rel-14)


54879b432b Alexander Barton

Display IPv6 addresses as "[<addr>]" when accepting connections.

With this patch ngIRCd displays IPv6 addresses as "[<addr>]:<port>" when accepting new connections and later, if no successful DNS lookup could be made (or DNS is disabled altogether).


d9355d53f8 Alexander Barton

Xcode: #define include __DATE__ in VERSION

Change VERSION to include the __DATE__ when compiling from within Xcode. When building using "make xcode" or "make osxpkg" VERSION already is defined to the "real" version number set in configure.in.



166ab3925e Alexander Barton

Fix up last Debian changelog entry


1f6a5744f6 Alexander Barton

ngIRCd release 14~rc1 (tags/rel-14-rc1)


156569d263 Alexander Barton

Updated NEWS and ChangeLog files


c3a8d6a73e Alexander Barton

Updated Debian/Linux init script

- PidFile, ServerUID and ServerGID are read from actual server configuration - Exit code and behaviour is more LSB compliant - New "status" and "test" sub-functions


3a7d59c1ac Florian Westphal

misspelling in ERR_NORECIPIENT reply


51b88b12f3 Alexander Barton

Add missing contributors to AUTHORS file


ea35ba74b6 Florian Westphal

testsuite: add more predefined channels to server config

make sure it creates & and +, and accepts channel names without a special character (ngircd should treat 'Name = chan' as 'Name = #chan').


2d4361d088 Florian Westphal

allow creation of persistent modeless channels


e9e7fc33f1 Florian Westphal

add and use Channel_IsModeless()

avoid "name[0] == '+'" where possible, having Channel_IsModeless() makes things much more obvious.


c09742c518 Alexander Barton

Enhance INFO command to report compile time, if available


c56ab96270 Alexander Barton

Update NEWS and ChangeLog files


0a9608a26f Alexander Barton

Channel mode changes: break on error

Don't echo multiple syntax error messages (461) on invalid commands, but break after the first one. In addition, this solves corrupted 'Unknown mode "+' messages.


dee89c2355 Alexander Barton

Channel_Mode(): code cleanup (no functional changes)


b8c6dd503f Florian Westphal

TLS/SSL: remove useless error message when ssl connection is closed

When using OpenSSL, the following annoying "error" message was logged whenever an encrypted connection was shut down in a orderly fashion: TLS/SSL Connection shutdown: ConnSSL_Read: Unable to determine error of course, this isn't an error at all.


66d6c3c84b Florian Westphal

update ChangeLog.


2fce4667a8 Florian Westphal

SSL/TLS: clear all ssl realted flags on shutdown

one ssl related flags was not cleared on ssl shutdown. introduce and use CONN_SSL_FLAGS_ALL to zap them all.


c6a43fbaf0 Florian Westphal

TLS/SSL: fix memory leak when using compressed server links with ssl

commit 6bc2d3d06e9cb4da68ea4b63d9b6b219d88ab927 (New connection option CONN_RFC1459) forgot to adjust the ssl bitmasks. The result is that when a compressed AND encrypted server link goes down the memory allocated by zlib and the r/w buffers are no longer free'd as the previous ConnSSL_Free() would then also remove the CONN_ZIP flag from the flag mask.


3be9c477be Alexander Barton

Fix spelling of log message: "channek" vs. "channel" ...


d09094812f Alexander Barton

Channel key file: store file name and open on each access.

Store the file name of channel key files and reopen them on each access (on each JOIN command) insted of just storing the file handles. This eliminates the special requirements (no delete) and makes sure that always the actual file contents are used in all circumstances.


c5000694d1 Alexander Barton

Support individual channel keys for pre-defined channels.

This patch introduces the new configuration variable "KeyFile" for [Channel] sections in ngircd.conf. Here a file can be configured for each pre-defined channel which contains individual channel keys for different users. This file is line-based and must have the following syntax: <user>:<nick>:<key> <user> and <nick> can contain the wildcard character "*". Please not that these channel keys are only in effect, when the channel has a regular key set using channel mode "k"!


2c1b6280fa Alexander Barton

RFC 2812, sec. 3.3.1: really check for the last dot

This fixes commit 5a3128243f4b60 and makes the test suite ("make check") run again without errors.


5a3128243f Florian Westphal

irc.c: reject masks with wildcard after last dot

RFC 2812 says in section 3.3.1 ("Private Messages"): The mask MUST have at least 1 (one) "." in it and no wildcards following the last ".".


95e8320ca9 Florian Westphal

irc.c: Fix handling of channels containing dots

commit 2546a13ad2949192eb70bf21e114ec60af287ee4 ('Cumulative Message Patch') broke PRIVMSG to channels containing dots. Fix this by switching evaluation order: Check first if the target matches a existing channel and only do a check for target masks if that failed. PRIVMSG with host/server masks is described in RFC 2812, section 3.3.1. Makes one wonder how a server is _really_ supposed to tell the difference between hostmasks and channel names. Sigh.


8f46681bc8 Alexander Barton

Update ngircd.spec file

- Change Copyright to License - Update URL - Make BuildRoot use %{_tmppath} macro - Add basic BuildRequires - Compile with zlib and openssl - Install all docs in standard document location Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>


1c7b9dbe93 Florian Westphal

remove unneeded LOG_DEBUG when not compiling with DEBUG support

when ngircd is build without DEBUG enabled, LOG_DEBUG messages are always discarded. To avoid the extra code, ngircd has a LogDebug() wrapper which gets removed by the compiler when compiling without DEBUG defined. Update a few functings which were using the Log(LOG_DEBUG, .. interface directly without #ifdef DEBUG guards. text data bss dec hex filename 127748 1900 28280 157928 268e8 ngircd.before 126836 1896 28280 157012 26554 ngircd.after


0acef7c598 Florian Westphal

documentation: gnutls does not support password-protected privkeys

already mentioned in man page and sample config file, but for completeness also document it in doc/SSL.txt.


00c8dfa8be Alexander Barton

Mac OS X: update texts for Mac OS X Installer.app


75243ffb37 Alexander Barton

Xcode: build ngIRCd with IPv6 support on Mac OS X


5468ba3744 Alexander Barton

Xcode: get release number dynamically; new make target "xcode-clean".

- make target "xcode" now detects the release number stored in the configure.in file and passes it to Xcode. - new make target "xcode-clean" which removes all files generated by "make xcode" and removes the Xcode build directory.


eb159e0a8d Alexander Barton

Xcode: define TARGET_VENDOR and TARGET_OS


df3473c9c1 Alexander Barton

Add new and missing files to Mac OS X Xcode project



175f0af979 Alexander Barton

Clean up channel allocation table on shutdown/restart.

Silly bug: the condition of a while() loop in the Channel_Exit() function used the wrong variable and therefore got never executed ... This bug is in the code since the beginning (see commit bb19cfda in 2002); shame on me!


40a0e9abbe Alexander Barton

Add Channel_Free().

Central function to free a channel structure and all its resources (invite/ban lists, topic, ...).


0659503afd Alexander Barton

Clean up (reformat and comment) Delete_Channel() function.


18efc7469c Alexander Barton

Free topic array on channel deletion.

The topic array in the CHANNEL structure must be free()'d before the channel itself becomes deleted.


fd9266df78 Alexander Barton

Fix spelling in some documents.


0e4e22a7a6 Alexander Barton

Allow pre-defined server local channels ("&").


9d20397470 Alexander Barton

Spell check and enhance ngIRCd manual pages.


307cdce908 Florian Westphal

man ngircd.conf: line break missing before the SSLConnect description

reported by Christoph Biedl.


dc9f42dc3c Florian Westphal

defines.h: remove MAX_LISTEN_PORTS, MAX_SERVICES

_SERVICES was never used; _LISTEN_PORTS is a leftover from commit 51ccb5928ad1453b0593fedd934298384d09e619 ('internal changes needed for future ssl support').


a971047bc5 Florian Westphal

Remove limit on max number of predefined channels.

This resolves Bugzilla Bug 68 ('Too many pre-defined channels configured.')


6500d443fc Florian Westphal

channel.c: constify a few function arguments.


d26a283ea9 Florian Westphal

use %ld as format specifier for posix data types

in the same vein as the earlier commit: cast posix data types (pid_t, ...) to long and use %ld as format specifier. This will avoid problems when sizeof(int) != sizeof(type). We could also cast to int, but this might truncate the value.


4b83a23d9d Alexander Barton

ngIRCd release 13 (tags/rel-13)


8a94ec9728 Florian Westphal

don't print pid_t type with %ld format specifier

Reported by Christoph Biedl: ngircd[21581]: Running as user irc(39), group irc(39), with PID 140733193409613. cast pid_t to long to avoid this. While we are there, cast uid_t and gid_t, too.


e5fea5380d Alexander Barton

Update the date ("Dec 2008") of the manual pages.


9a82ca0d6b Alexander Barton

doc/Platforms.txt: added x86_64/unknown/linux-gnu


e573f54b0c Alexander Barton

doc/Platforms.txt: update list of tested platforms.


e070d93f64 Alexander Barton

doc/SSL.txt: enhance documentation.



85ce82e504 Alexander Barton

Testsuite start-server.sh: return correct exit code.

src/testsuite/start-server.sh returns 0 when no errors occurred and the daemon has been startet and 1 on errors. Always returning 0 is wrong ...



56cf95278e Alexander Barton

doc/Services.txt: document using ngIRCd with IRC Services.


d0b2526a01 Alexander Barton

sample-ngircd.conf: remove now unused CVS "$Id$"


7cf9d93aee Alexander Barton

ngIRCd release 13~rc1 (tags/rel-13-rc1)


ffc5f93ef5 Alexander Barton

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."


97d97ef5c4 Alexander Barton

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


2eb564ccaa Alexander Barton

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 ...


14baf64f41 Alexander Barton

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'


4c113d8850 Alexander Barton

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.


3243d9ee44 Alexander Barton

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).


672b391523 Alexander Barton

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


0eda085f1e Alexander Barton

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.


2cc21caf32 Alexander Barton

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


7b69bc2ae8 Alexander Barton

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


7ad167f4c4 Alexander Barton

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.


920d0636ff Alexander Barton

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".


54e6a2dce5 Alexander Barton

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>



9f067a059d Alexander Barton

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!


5a91d62100 Alexander Barton

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 :-)


3a5b7b63ae Alexander Barton

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.



027cf22267 Alexander Barton

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


125c05fba0 Florian Westphal

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].



34b2f0085d Alexander Barton

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


ce2541a826 Alexander Barton

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'


d44a7dac26 Alexander Barton

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


475ce1e93c Alexander Barton

Debian: make sure that /var/run/ircd is owned by user "irc".


0cba8f362a Alexander Barton

GIT: Ignore Debian-related generated files.

Added files that become generated while building Debian GNU/Linux packages of ngIRCd to the .gitignore lists.


afd65bc728 Alexander Barton

Updated config.{guess|sub} to version 2008-01-16.




1d6dcb25c4 Alexander Barton

Document the server flag "S": SERVICE command is supported.


178f9cbdac Alexander Barton

Announce IRC services in the network.

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.



28e9888764 Alexander Barton

Convert SQUERY to PRIVMSG on RFC 1459 compliant links.



3913de3cff Alexander Barton

Fix PRIVMSG/NOTICE handler (II): keep command when forwarding to channels.

- new function ngt_UpperStr(). - change Channel_Write() to take command name and error flag. - remove now unneeded function Channel_Notice().


91e87a3705 Alexander Barton

New function ngt_UpperStr()



d93030ad27 Alexander Barton

Make real use of the CLIENT_SERVICE client type.

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.


4e125fb67c Alexander Barton

Allow IRC services to change their nick names.


33f32dbd67 Alexander Barton

New function Client_TypeText() and Destroy_UserOrService().

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.


74aac88dbf Alexander Barton

Send_Message(): really enforce target client type.



02d7623074 Alexander Barton

Allow ngIRCd to detect services connected to an "virtual services server".

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 ;-)


c5342fb467 Alexander Barton

Centralize logging functions in Introduce_Client().


557be8c56b Alexander Barton

Get rid of INTRO_INFO structure again: we don't need it at all!

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 ...


687784d276 Alexander Barton

Announce_User(): support RFC 1459 compatibility mode.


92603f7c80 Alexander Barton

Introduce_Client(): send MODES in RFC 1459 mode, too.


d070ec08ab Alexander Barton

numeric.c: whitespace fixes ...


a60465be3e Alexander Barton

Server links: detect RFC 1459 mode direct after SERVER command

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.


14048c4717 Alexander Barton

Send and handle NICK+USER commands for user registration (RFC 1459).

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.




6bc2d3d06e Alexander Barton

New connection option CONN_RFC1459.

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.


a5735f68d7 Alexander Barton

New global function Conn_SetOption().


13f1d57e84 Alexander Barton

USER: servers and services can alter user information after registration.

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.


068d43352d Alexander Barton

NICK: allow servers and services to use RFC 1459 syntax (2 parameters).

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.


e56bd8ff89 Alexander Barton

Whitespace fixes: remove trailing tabulator characters.


2fce881d96 Florian Westphal

conn-ssl.c: don't append a newline to ConnSSL_GetCipherInfo


ef3327d372 Florian Westphal

TLS/SSL support: code changes.

This adds the required code to enable ssl/tls support during compile and run time, respectively.


ebf5edfd87 Florian Westphal

TLS/SSL support: documentation.


bdd44eb0ab Florian Westphal

TLS/SSL support: core files.

Contains support for both OpenSSL and GNU TLS. Certificate Authentification is not yet supported.


c997e04325 Florian Westphal

Fix handling of MaxConnections option

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.


2c2c93e311 Alexander Barton

Include "mcheck.h" when using mtrace().


41a23d20e4 Alexander Barton

SECURITY: Fixed a message handling bug which could crash the daemon.

Some message targets could lead to a NULL pointer dereference and therefore could crash the daemon (denial of service). (cherry picked from commit e493ad2d30ff80bca2556cde2212e367cb006517)


c769cbecb6 Alexander Barton

Enable GNU libc "memory tracing" when compiled with debug code.

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)


707cc42dec Alexander Barton

New make target: "osxpkg" to create an Mac OS X installer package.

This patch adds a new make target, "osxpkg", to the main Makefile which gereates a Apple Mac OS X installer package of ngIRCd. The packagemaker(1) project bundle is stored in contrib/MacOSX/ngIRCd.pmdoc.


30f1ed211d Alexander Barton

Clean up Mac OS X Xcode environment.

- Remove obsolete contrib/MacOSX/cvs-version.h - Change SDK to 10.4



598df07584 Alexander Barton

Added CVE identifiers to ChangeLog.

see http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ngircd



dfc3de131c Alexander Barton

Make ngIRCd compile and run on NeXTSTEP 3.3 and OPENSTEP 4.2

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."


338c643250 Alexander Barton

Merge branch 'master' of git://ngircd.barton.de/ngircd



0ca8156efd Florian Westphal

FAQ: add entry about /OPER and OperCanUseMode


ccbbd7d1a5 Alexander Barton

GIT: added src/testsuite/message-test to ignore list.


e5cf73b9ee Alexander Barton

Fix Validate_Args(): unused parameter "Idx" and "Req"

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"


5df56111c4 Alexander Barton

message-test: Disable two tests using "localhost" as host name

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.


e5174c629c Alexander Barton

Fix Send_Message(): "lastCurrentTarget" may be used uninitialized

This patch fixes the following warning of GCC 4.3.1: irc.c: In function "Send_Message": irc.c:315: error: "lastCurrentTarget" may be used uninitialized in this function


3358ad07d7 Alexander Barton

Fix t_diff(): declaration of 'div' shadows a global declaration

This patch fixes the following GCC warning message: irc-info.c:422: warning: declaration of 'div' shadows a global declaration




d4eb55c79f Alexander Barton

Cleaned up PRIVMSG and NOTICE patches.


2546a13ad2 Alexander Barton

Cumulative Message Patch


b92a7627f3 Alexander Barton

Don't allow empty channel names ("#") in strict RFC mode.

This closes Bug #88. Patch proposed by Eric <egrunow@ucsd.edu>, but with wrong length comparision: please note that Channel_IsValidName() checks the name INCLUDING the prefix, so the test must be length<=1!


258143897c Alexander Barton

Return 461 (syntax error) on "JOIN :" and "PART :"

Up to this patch ngIRCd did not return any result (GIT master) or a badly formated 403 (":irc.server 403 test :No such channel" [note the two spaces!], branch-0-12-x) on the above commands, this patch changes the behaviour to reflect ircd 2.11 which returns 461 in both cases.


477f2fd9e7 Alexander Barton

Channel_Join(): Code cleanup.



3f01324160 Alexander Barton

Fixes to misc-test: accept "localhost.<domain>" as well as "localhost"

Some operating systems, for example OpenBSD, use "localhost.<domain>" instead of "localhost", so the "who-test" expecting "localhost" failed on such systems. (Please see 149859c5fecc..., which fixes this for the who-test already)


4467d127c2 Alexander Barton

Revert "dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]"

- Solaris needs both -lsocket _and_ -lnsl - A/UX needs -lUTIL "... which totally sucks because we'd link libnsl on Linux, too (where its not needed at all). So, we have to figure out how to tell autocrap to NOT put -lnsl there unless it exports a symbol we need. This also means that [...] has to be reverted (or done properly)." -- Florian Westphal @ #ngircd This reverts commit 2b14234abc252383679bae2d23861b773dc9713e.


2b14234abc Alexander Barton

dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]

(they use none of its symbols). So, rip out that AC_CHECK_LIB cruft, pointed out by Christoph Biedl. If there are platforms that really need that we should only link when we actually use these libraries.


b945726ac2 Alexander Barton

Merge autogen.sh changes

Merge commit 'alex/master'


da160d020e Alexander Barton

autogen.sh: Don't set AUTO{CONF|MAKE}_VERSION and WANT_AUTO{CONF|MAKE}

On some systems (for example Gentoo Linux, FreeBSD, and OpenBSD), these variables are used to select which version of GNU automake and autoconf to use, but we shouldn't depend on a specific version -- instead we should use the "system default". So probably it is up to the user to set these variables accordingly to set up some wrapper scripts of his operating system distribution.


71562ebe57 Florian Westphal

Translated comments from German to English


b95345731e Alexander Barton

autogen.sh: correctly test for and export ACLOCAL variable


258e39e89f Alexander Barton

Fix GCC warnings for possibly uninitialized variables in IRC_JOIN

This patch fixes the following two warnings of GCC 4.2.4: irc-channel.c: In function "IRC_JOIN": irc-channel.c:185: warning: "lastkey" may be used uninitialized in this function irc-channel.c:185: warning: "lastchan" may be used uninitialized in this function


e142c50ae6 Alexander Barton

GIT: added src/src/config.h.in~ to ignore list.


a84f7dcee5 Alexander Barton

Allow mixed line terminations (CR+LF/CR/LF) in non-RFC-compliant mode

Up to now ngIRCd accepted CR+LF as well as a single CR or LF in "non RFC compliant" mode (the default). But ngIRCd became confused when it received data containing mixed line endings (e. g. "111\r222\n333\r\n"). This patch enables ngIRCd (in "non RFC compliant" mode) to detect CR+LF, CR, and LF as equally good line termination sequences and to always end the command after the first one detected. Some clients (for exmaple Trilian) are that ... broken to send such mixed line terminations ... First patch proposed by Scott Perry <scperry@ucsd.edu>, Thanks to Ali Shemiran <ashemira@ucsd.edu> for testing!


8644cbf197 Alexander Barton

Don't allow stray \r or \n in command parameters

If ngircd receives an input line like "COMMAND arg\nIRRELEVANT\r\n", "arg\nIRRELEVANT" is passed as an argument to COMMAND. This can lead to output like: :ngircd.test.server 322 nick #chan 1 : topicwithprecedingnewline :ngircd.test.server 322 nick #nxtchan 1 : [..] Worse, this allows clients to piggyback irc commands, e.g. "TOPIC #a :test\n:fake!~a@nonexistant JOIN :#a\r\n", which causes the client to receive a JOIN command during /LIST output. Bug reported by Scott Perry, first patch by Florian Westphal.


4c121f277d Alexander Barton

GIT: ignore de.barton.ngircd.plist, it is a generated file.


12f5b0579b Alexander Barton

ngircd.init: use LSB logging functions, if available.


6f7b669bec Alexander Barton

--configtest: return non-zero exit code if there are errors


951314cb79 Alexander Barton

Handle_Buffer(): code cleanup.

Both callers ignore the return code of this function, so get rid of it, but make sure that the client is disconnected on errors.


d360871394 Alexander Barton

Conn_Handler(): cleanup code, add/translate comments.

In addition, the "timeout" variable has been removed because it is unnecessary today: Handle_Buffer() handles all the data it can handle, and io_dispatch() returns immediately when new data is available. So we don't have to double-check but better sleep. Pointed out by Florian.


b90f71ca2a Florian Westphal

Use strtok_r instead of strchr in IRC_JOIN.

This patch does significant cleanup on the join code by using strtok_r instead of mangling strchr to parse channel names and keys in parallel when a JOIN command contains a list of channels and keys. Also adds an strtok_r implementation to libportab.



73f7201ab3 Florian Westphal

configure.in: don't check for "obvious" standard functions.

Drop checks for the following C standard functions: malloc, memmove, memset, realloc, strchr, strcspn, strerror, strstr. Rationale: These are standard K&R/C89 functions, no point in ''making sure they exist''.


956bbe2c28 Alexander Barton

Reset client idle time on NICK, JOIN, and PART


e19f7a8c19 Florian Westphal

Remove ListenIPv4/ListenIPv6 options.

Use "Listen = list,of,addresses" instead.


4ed2cb1a02 Florian Westphal

make Listen parameter a comma-seperated list of addresses.

this also obsoletes ListenIPv4 and ListenIPv6 options. If Listen is unset, it is treated as Listen="::,0.0.0.0". Note: ListenIPv4 and ListenIPv6 options are still recognized, but ngircd will print a warning if they are used in the config file. Also, some plattforms require that ai_socktype is set in the getaddrinfo() hints structure.


818a206a42 Alexander Barton

Add option aliases -V (for --version) and -h (for --help).

This patch adds -h and -V short options (to complement the usage). It is based on a patch attached to Debian bug #466063, see <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466063>. Idea by Jari Aalto <jari.aalto@cante.net>, patch adapted by Alexander Barton <alex@barton.de>.


1d9067b019 Florian Westphal

Add FAQ entry for 'Where is the log file'?


5d87f6ba80 Florian Westphal

Add tests for MOTD, VERSION, TIME, USERHOST

The misc-test.e file is also somewhat reorganized and commented here. Patch from Brandon Beresini, Bryan Caldwell and Dana Dahlstrom.


7cf187c09f Alexander Barton

Updated list of authors (AUTHORS file)


9486bc7465 Alexander Barton

Update master development branch

- use "dev" instead of "HEAD" as "version number", - update ChangeLog and NEWS to reflect the 0.12.0 release.


d02b083543 Alexander Barton

Merge commit 'aad49bd260494878aed6795c7a897ad1d28c3082'


70254a5553 Florian Westphal

This patch implements a (maybe) compliant WHOWAS command.

It is hard to test this in the test suite because we 1) shouldn't rely on previous tests populating WHOWAS and 2) don't connect a user for more than 30 seconds. Also makes WHOWAS return ERR_NONICKNAMEGIVEN_MSG as implied by RFC.


aad49bd260 Alexander Barton

Update ngIRCd manual pages

- Update timestamp, - enhance some phrasing, - and fix "Passive" ([Server]) formatting.



d90cc7add0 Alexander Barton

GIT: ignore symbolic links to tests in testsuite directory

Added symbolic links to new tests (invite-test, join-test, and kick-test) to .gitignore file.


149859c5fe Alexander Barton

Fixes to who-test: accept "localhost.<domain>" as well as "localhost"

Some operating systems, for example OpenBSD, use "localhost.<domain>" instead of "localhost", so the "who-test" expecting "localhost" failed on such systems.


d9c26f3aeb Florian Westphal

ng_ipaddr.h must include netinet/in.h.

compile on FreeBSD 5.4 failed with: ./../ipaddr/ng_ipaddr.h:34: error: field `sin4' has incomplete type Reported and tested by Jefferson S Almeida.



12cd554af1 Florian Westphal

Fix secret channel information leak

/who on a secret channel that the user is not a member of now returns proper RPL_ENDOFWHO_MSG instead of nothing.


5cf5ba31eb Alexander Barton

Added Cygwin uid kludge. (verified working)


75b719a0c8 Florian Westphal

Anglified and improved comments in channel.c and channel.h

[Dana Dahlstrom: repair tab/space conversion in patch]


4e56e5341f Alexander Barton

Implement IRC commands SERVICE, SERVLIST, and SQUERY as dummy functions

SERVICE, SERVLIST, and SQUERY are required by RFC 2812 (it states in section 3 that "all commands described in this section MUST be implemented by any server for this protocol." -- So we implement them without (much) actual functionality ...


3895b42d1b Florian Westphal

Add invite-test.e to test suite.


6c81ffaece Florian Westphal

Tests for the INVITE command.


97cc58fb13 Florian Westphal

Invite: prefix last argument with colon when necessary.


c63d8fd051 Florian Westphal

tests for JOIN and various replies

Brandon Beresini sent me a patch yesterday adding tests for JOIN under various circumstances, which I believe he worked on with Bryan Caldwell and Ali Shemiran. I made a few modifications; the result is below.


3d8eda9c86 Florian Westphal

Allow KICK to handle comma-delimited lists (of channels, nicks).

includes test cases. [fw@strlen.de: - move code around to avoid duplication - use const where possible - integrate test case]



faf9b6ea16 Florian Westphal

Fixes to who-test: accept any ident, escape some '*' flags.

This prevents who-test.e from failing when ngircd is performing ident lookups and an ident server is running.


452fb28394 Florian Westphal

IRC_INVITE: coding style cleanup.


0428a1c4ea Florian Westphal

Constify some of Channel_Kick()s arguments.


98a8ea105c Florian Westphal

constify Client_Search() argument.


83bfdddf99 Alexander Barton

Allow IRC ops to ignore channel limits when joining

Allow IRC ops to ignore any channel limit (bans, invite only etc.) when they want to join a channel.


2a790861a1 Alexander Barton

Handle 1-character messages terminated with CR or LF correctly

Code cleanup and fix for Bug #83, "ngIRCd chokes on 1-character messages" in function Handle_Buffer(): the buffer is now correctly cleared when ngIRCd receives 1-character messages terminated with either CR or LF (in violation to RFC 2812, section 2.3 "Messages", 5th paragraph).


4e507881f3 Alexander Barton

On AIX (for example) socklen_t is defined in sys/socket.h

On AIX and probably other systems socklen_t is defined in sys/socket.h, so we have to include it here explicitly (tested by Florian).


f7c2e8223f Alexander Barton

Always enable modeless channels.

Modeless channels (+channels) are described in RFC 2811; so my modifications to 530112b114ffa7d5352c0733790ddf90253f41f9 ('Add support for modeless channels') to disable +channels for --strict-rfc configurations were wrong. This reverts those changes.


60acc62af7 Alexander Barton

Prevent GIT to complain about opless-channel-test link


530112b114 Alexander Barton

Add support for modeless channels

Add support for modeless channels (+channels). [fw@strlen.de: - integrate test cases - don't support +channels when compiled with --strict-rfc - do not set +o mode for channel creator - force +nt mode when channel is created ]


6cfc56064e Alexander Barton

Updated NEWS and ChangeLog for ngIRCd 0.12.0-pre2.


4a81367dac Alexander Barton

--configtest: fix missing whitespace at "ConnectIPv4" option.


8c425945a2 Alexander Barton

--enable-ipv6: fix indentation in ./configure --help output.


bb6ee46892 Alexander Barton

Merge branch 'master' of git://git.breakpoint.cc/fw/ngircd-fw


9194319399 Alexander Barton

Testsuite: remove erroneous ConfUID setting in config file.

The config file for ngircds test suite contained obsolete ConfUID/ConfGID settings, causing ngircd to needlesly complain when started as non-root (which is hopefully the _normal_ case...)


22fa782be7 Florian Westphal

IPv6: Add config options to disabe ipv4/ipv6 support.

This also enables ipv6-only setups.


33b1204349 Alexander Barton

Get rid of cvs-version.* and CVSDATE definition.

(cherry picked from commit b187fac244f4e14705f882ba7c43eef0238e2830)


2f6d7a649c Alexander Barton

Don't include doc/CVS.txt in distribution archive, use doc/GIT.txt now!

(cherry picked from commit a8e0eb62e9dce81ca4a5c5911428561b90bf2c6e)


09968ee843 Alexander Barton

Documentation: get rid of some more references to CVS, switch to GIT.

(cherry picked from commit 6e9389b86c906c53a7797b8ced87a19195e16333)


7df90846e1 Alexander Barton

Synchronized branch-0-12-x (ngIRCd 0.12.0-pre1) with master.

(cherry picked from commit 4ea29329674ff8ec6d772991a57c146b5d78d2ad)


523a6fad09 Alexander Barton

Report ERR_NOTONCHANNEL when trying to part a channel one is not member of.

When trying to part a channel ("PART #channel") the client is not member of the daemon now correctly reports the numeric ERR_NOTONCHANNEL (442) insted of ERR_NOSUCHCHANNEL (403).


92a9092208 Alexander Barton

Updated NEWS and ChangeLog for upcoming 0.12.0-pre1 release.


54b17fc201 Alexander Barton

Channel_Part(): Code and comment cleanup.


a0efcdccfa Alexander Barton

Updated copyright notice to read "2001-2008".


25f48a2a34 Alexander Barton

IRC_PART(): code and comment cleanup.


012aeca32b Alexander Barton

Added make target "testsuite"

This make target runs the testsuite located in src/testsuite without running alle the other tests that "make check" would run.



8df445316a Florian Westphal

Channel_Mode: Remove duplicate code.

Incidentially, this doesn't even change the generated code...


11af32466f Florian Westphal

Channel_Mode: change order of if (set) and if (client) check.


5538115537 Florian Westphal

Channel_Mode: Re-indent switch.

No functional changes were made.



796dcf6a62 Florian Westphal

Channel_Mode: unify 'b' and 'I' switch/case handling.


6b0c094809 Florian Westphal

Channel_Mode: Unify Del_Invite and Del_Ban handler


b36fc3b095 Florian Westphal

Constify Lists_MakeMask argument and return type.


2dd51a98e4 Florian Westphal

Channel_Mode: Unify Add_Invite and Add_Ban handler


761ae2b1a4 Alexander Barton

Enable more compiler warnings when using Xcode.


87cae1465b Alexander Barton

GIT should ignore user preferences files inside Xcode projects.

Added filter for GIT to ignore Xcode user preferences files (*.mode1v3 and *.pbxuser) which are automatically generated inside the project bundle when opened in Xcode.


b7135ea76a Alexander Barton

Updated Xcode project file.


248f8e0b70 Alexander Barton

Convert CVS commands to their git equivalents.

Also mention that patches should be sent to the mailing list.



7c82cc236b Alexander Barton

Include Mac OS X Xcode project in distribution archives. (Part 2)

I forgot to include the new Makefile.am in contrib/MacOSX/ngIRCd.xcodeproj/ ...


307f8abd74 Alexander Barton

Include Mac OS X Xcode project in distribution archives.

Oops, it has not been included since ... ages??


bc63064d5c Alexander Barton

Moved .cvsignore files to .gitignore

Since we are using GIT starting from now, I converted all the .cvsignore files to .gitignore files.


be844d74d3 Florian Westphal

Fix client.c sparse warnings.

client.c:72:6: warning: symbol 'Max_Users' was not declared. Should it be static? client.c:72:21: warning: symbol 'My_Max_Users' was not declared. Should it be static?


637d739285 Florian Westphal

io.c: kill select FD_SETSIZE sanity check in io_library_init.

We already have way too many.



7f44a2ad1c Florian Westphal

io.c: try to cut down the number of ifdefs.

consolidate backend-specific helpers and add empty statinc inle stubs in the ifndef case to let the compiler remove the functions at compile time.


abb1abeb77 Florian Westphal

Do not exit unconditionally if config file cannot be opened

ngircd will exit if the config file cannot be opened. While thats okay if ngircd starts up for the first time, it isn't when we are re-reading the config file after a /REHASH or SIGHUP.



feb31e4200 Florian Westphal

IPv6 support.

all references to struct sockaddr/in_addr have been removed from src/ngircd. libngipaddr (in src/ipaddr/) hides all the gory details. See src/ipaddr/ng_ipaddr.h for API description.


c31ad221a6 Florian Westphal

Updated ChangeLog to include 0.11.1.


44cdf1b1ca Florian Westphal

Fix sending of JOINs between servers.

This does hit only operators that join a channel with at least 2 servers active in the net the server the oper connects to sends "channel^Go" to the other servers the other server first searches for the channel and then strips the modes from the channel name he has to do the other way round: first strip and then check the channel name.


e710e8ae37 Florian Westphal

Channel_Mode cleanups

- better indentation - move answering request into seperate function.


89ba1bdcba Florian Westphal

LaunchDaemon plist for Mac OS X/Darwin launchd.



ec80cc99c6 Florian Westphal

Added new test files to Xcode project.




2f71fbb2a1 Florian Westphal

Include flags in RPL_WHOREPLY messages.

RPL_WHOREPLY messages generated by IRC_WHO don't include flags (*,@,+) that should appear according to this description: http://www.mishscript.de/reference/rawhelp3.htm#raw352 Other IRC servers do include the flags. Modify who-test.e to expose missing flags, modify ngircd-test.conf to accommodate who-test.e, and fix irc-info.c to correct these problems.


1784180bf3 Florian Westphal

Don't send trailing space in MODE messages

Under some circumstances ngIRCd currently issues a channel MODE message with a trailing space after the last parameter, which isn't permitted by the grammar in RFC 2812 section 2.3.1: http://tools.ietf.org/html/rfc2812#section-2.3.1 The following patch modifies mode-test.e to expose this, and modifies irc-mode.c to correct it.


634ef8c131 Florian Westphal

IRC_JOIN cleanups.

- put sending of mode and forwarding of JOIN to other clients into seperate function. - put sending of topic/channel names into seperate function. - put access check into seperate function. - translate/remove remaining german comments. - stop if JOIN to a channel in a list (JOIN #a,#,b,#c...) fails (This doesn't change the behaviour: skip-to-next-channel-on-error did never work as intended)


4d152b771e Florian Westphal

Make IRC_WHO also search username/servername/hostname.

Dana Dahlstrom reported that IRC_WHO did not follow RFC 2812, Section 3.6.1. Specifically: - IRC_WHO did not send "G" flag instead if "H" if client was away - did not search username/servername/hostname etc. if argument was not a channel. Fix all of the above and tidy things up a bit. Also add IRC_WHO test script contributed by Dana.


c634303765 Florian Westphal

Remove duplicate Channel_FirstChannelOf().

noticed there's a way to make the loop slightly more elegant. [fw@strlen.de: Extra () to silence gcc.]


cb0d594e61 Florian Westphal

Make Channel_Part name and reason parameters 'const'.


000a227a74 Florian Westphal

Updated NEWS to reflect ChangeLog.


6bd35bf090 Florian Westphal

Implement RFC 2812 handling of "0" argument to JOIN

The students in my software-engineering class are writing IRC clients in Java, and I'm running ngIRCd as a sandbox for them to play in. We noticed ngIRCd doesn't obey the "JOIN 0" command specified in RFC 2812: JOIN 0 ; Leave all currently joined channels. http://tools.ietf.org/html/rfc2812#section-3.2.1 I believe the following patch addresses this. Cheers! [fw@strlen.de: put it into a seperate function]


3022d7cff3 Florian Westphal

Don't use Client_Type after command has been processed.

This caused a read from already free'd memory, if the processed command (IRC_QUIT) calls Client_Destroy.


f86ce17f1c Florian Westphal

Updated NEWS to reflect ChangeLog.


42db159d26 Florian Westphal

Fix wrong strncpy usage if CVSDATE defined

Hello_User() used strncpy with overlapping src/dest. Use memmove instead.


59b19ea6a3 Florian Westphal

This adds support for sending NOTICEs to a channel.

[also see Bug #70 in ngircd bugzilla]. Based on a patch by Fabian Schlager <fabian.schlager@gmail.com>.


4add9c29ed Florian Westphal

[Parser]: Fix minor sparse warnings

parse.c:56:9: warning: symbol 'My_Commands' was not declared. Should it be static? parse.c:107:9: warning: symbol 'My_Numerics' was not declared. Should it be static? Also move handling of numerics into a seperate helper function.



56256535c5 Alexander Barton

Updated Debian changelog [from 0.10.x; 0.11.x]


35b6f3997c Alexander Barton

Document NoDNS configuration option.


463c5cb7c5 Florian Westphal

IRC_PART could reference invalid memory.


7548aa089c Alexander Barton

Remove entry about ngircd failing on Linux 2.4:

ngircd can now fall back to select. [from 0.11.x]


478a8c01f9 Alexander Barton

Updated NEWS and ChangeLog files.



91a6fffaa0 Florian Westphal

io_event_disable: return if event-to-disable is already off


2ce5b734bd Florian Westphal

kqueue: check for EV_ERROR in .flags

if kevent() returns events, check for EV_ERROR in event flags, too.



4715ccf9ca Florian Westphal

Fix format string in error path: didn't print strerror(errno)


8974e90552 Florian Westphal

implement '/STAT u' (uptime)


2fe13f0a45 Florian Westphal

Fix fmt string: int, not long


20ce56cc5b Florian Westphal

include <arpa/inet.h> inside tool.h

In file included from hash.c:24: ../tool/tool.h:27: warning: `struct in_addr' declared inside parameter list


47a0379e2b Florian Westphal

remove ip-string from Conf_Server struct

struct Conf_Server stored the ip address to connect to in dotted-decimal notation; but we only need this for connect() so long-time storage isn't necessary.


37563537a9 Florian Westphal

document new "Bind" server config option in changelog.


82d32ffb28 Florian Westphal

bind ListenAddress for outgoing connections

ngircd would always use INADDR_ANY for outgoing connections; which might not be desirable. Added new [Server] option "Bind" to set source ip.


024588dbe7 Alexander Barton

Funktions to handle numerics sent to the server.


47ca178a21 Alexander Barton

Introduce option to configure the maximum nick name lenth in ngircd.conf

- New configuration option "MaxNickLength" to specify the allowed maximum length of user nick names. Note: must be unique in an IRC network! - Enhanced the IRC+ protocol to support an enhanced "server handshake" and enable server to recognice numeric 005 (ISUPPORT) and 376 (ENDOFMOTD). See doc/Protocol.txt for details.


12db0bdc4f Alexander Barton

Re-added doc/SSL.txt to distribution -- got lost somewhere!?


53b98fd7e9 Alexander Barton

Fixes the wrong logging output when nested servers are introduced

to the network as well as the wrong output of the LINKS command.


c7d4d85666 Alexander Barton

Remove some bogus files from project ...


4659dae6eb Alexander Barton

Update Mac OS X Xcode project file for Xcode 3.

Allow building of ngIRCd using Xcode 3 without running ./configure.


68f896eee0 Alexander Barton

Adjust test suite to be usable on HP/UX 11.11 :-)


06bfb3adfb Alexander Barton

Fix code to compile using K&R C compiler and ansi2kr again.


2f305331a1 Florian Westphal

add tiny note about ngircd using syslog(3) by default.


ad7361dfe0 Florian Westphal

if ngircd doesn't run chrooted, it tries to chdir

to the users working directory (as returned by getpwuid()). Failing to chdir to that directory isn't an error; so log with LOG_INFO and prefix the message with "Notice".


e47c9d750f Florian Westphal

Document NoDNS Option in changelog


001c00b273 Florian Westphal

New config option NoDNS: disables all DNS queries.


b861f536b2 Florian Westphal

configtest would still print "-1" for MaxConnections, MaxConnectionsIP and MaxJoins

if any of those values was set to 0.


877bcc55f2 Alexander Barton

Updates NEWS to reflect changes in CVS HEAD


8f162f4e17 Alexander Barton

Fixed propagation of channel mode 'P' on server links.



137a139112 Alexander Barton

Updated Mac OS X project file for Xcode.



d223b587e4 Florian Westphal

accoring to comments in the code, MaxConnections, MaxConnectionsIP and MaxJoins

options allow setting values < 0 -- this isn't the case. Comments adjusted.


77939c382d Alexander Barton

Updated preferred automake version to 1.9. Only set preferences if not

already defined by some environment variables.


f586052f2b Alexander Barton

Made pointer to the mailing list more prominent.



9021ea2070 Alexander Barton

Updated documentation ("Passive" option, for example).


640367e886 Florian Westphal

we now support /WALLOPS


4b9e52eb4d Florian Westphal

implement /WALLOPS as described in RFC 2812, section 4.7.


69081851ac Alexander Barton

SECURITY: Fixed a severe bug in handling JOIN commands, which could

cause the server to crash. Thanks to Sebastian Vesper, <net@veoson.net>.


efcca62a35 Florian Westphal

last fix accidentially broke reconnect timer.


cd65e0a56e Florian Westphal

Don't connect to a server if a connection to another server within the same group

is in progress.



fd1091541b Alexander Barton

Updated documentation to include changes of ngIRCd 0.10.2.


5675be4cd9 Florian Westphal

fix compile /w gcc 2.95 (reported by Tassilo Schweyer)


f1486e6a53 Alexander Barton

Updated config.guess and config.sub.


22a9ed6694 Alexander Barton

Add note to INSTALL document.


ddf56cbe5f Alexander Barton

Updated ChangeLog.



5930a29197 Alexander Barton

Zip_Flush(): close the connection in all error cases.



44afe042d1 Alexander Barton

Make Zip_Flush() more graceful.



63e89ceb21 Florian Westphal

make needlesly global function Conn_Write static.



508b55126f Florian Westphal

fix compressed server links


9f65979979 Alexander Barton

2007 :-)


2e34ddae53 Alexander Barton

Updated documentation.


09deb857ce Florian Westphal

- change return type of Conn_InitListeners to unsigned

- remove minor whitespace damage


8c14d397ba Florian Westphal

put parentheses around argument


99eab1e216 Florian Westphal

if we can't bind a socket we now Log the port number, too.


c93d089736 Florian Westphal

return false instead of NULL in error path



ea2a4b3370 Florian Westphal

fix broken IO_DEBUG build


f9b9850662 Florian Westphal

io_event_add: return if eventtype is already registered.




40199e0b56 Alexander Barton

distclean: remove "html" folder.


95b7dbcc18 Alexander Barton

Updated documentation, refer to all the supported IO APIs.


43f8d149bb Alexander Barton

added "portabtest" binary to list of files to ignore.


949a4ef793 Alexander Barton

Added .cvsignore files to hide generated files from CVS.



5c78230283 Alexander Barton

New configure option "--without-select"; when usin epoll() IO API include

support for select() as well by default and fall back on runtime when needed.


ee568cc444 Alexander Barton

Only "fiddle" with /etc/ngircd in "configure" stage.


2d9a3ec484 Alexander Barton

Added LSB compliant header.





40226d26b2 Florian Westphal

revert to last good revision again 8-/


d2f7d3087d Florian Westphal

do not call Conn_Close when io_event_create fails


3f1e03edd9 Florian Westphal

fix possibe buffer-off-by one


23e7f7f0dd Florian Westphal

don't call Resolve_Shutdown() when io_event_create fails


f36746a4d0 Alexander Barton

Updated ChangeLog/NEWS to reflect release of ngIRCd 0.10.1.


8cb0e3af68 Florian Westphal

removed errouneous FD_SETSIZE limit when not using select()


eb3ddace46 Florian Westphal

add PredefChannelsOnly option to man page


5040d56489 Florian Westphal

minor cleanup


fb0fbe908d Florian Westphal

remove unused function Channel_PCount


fa7bb2790a Florian Westphal

moved invite/ban lists to channel structure


5877bca4bc Florian Westphal

fix RPL_LOCALUSERS_MSG (%ld -> %lu)


37602d1523 Florian Westphal

Log(LOG_DEBUG, .. -> LogDebug()


a09034563a Florian Westphal

predefined channels MUST start with '#', but this is not very intuitive,

since # is also used as a comment character in ngircd.conf. Thus we prefix the name with '#' if it is missing.


5b35b101f2 Alexander Barton

Fixed validation of server names containing digits.


058d3085a9 Florian Westphal

New configuration option "PredefChannelsOnly": if set, make

all JOINs to-non existants channel return ERR_BANNEDFROMCHAN_MSG, restricting users to those channels defined in the config file.


74883f57da Alexander Barton

Added OpenBSD/ppc to list of tested platforms.



6e105bf87e Florian Westphal

channel maxusers now unsigned long


61966a6088 Florian Westphal

add const qualifier to Hash() and Matche() Arguments


27c96632f1 Florian Westphal

Client_IsValidNick: no need to strcpy.


4108e16be6 Florian Westphal

Channel_Join was severely broken.




fb0c7ad252 Florian Westphal

add test for strcspn.


d8950c5dd0 Florian Westphal

cleaned up Channel_IsValidName (now uses strcspn())



27d947fb7d Alexander Barton

Allow PASS syntax defined in RFC 1459 for server links, too.

Removed client status CLIENT_GOTPASSSERVER.


bed98979dc Alexander Barton

Enhanced ISUPPORT message (numeric 005).


bddb4914b4 Alexander Barton

Updated files from ngIRCd 0.10.0.




639eb40035 Florian Westphal

Added support for the /dev/poll i/o interface.


0d6f9d4e3e Florian Westphal

simplify io_library_init*


147de9dfa9 Florian Westphal

add support for the poll() interface


f6e729443e Florian Westphal

cleanup


e426c131c7 Florian Westphal

fix embarassing fileptr leak


b9661ae65d Alexander Barton

Updated autoconf helper scripts to version as of 2006-07-02.


035f7fb2fe Florian Westphal

only test for stack smashing protector if we are using gcc;

use -fstack-protector-all for the test to make sure the guard variable is added.


1b2c228de5 Alexander Barton

Updated documentation.


4d7d1d23be Florian Westphal

fix gcc 4.1 -fstack-protector detection.


e2aacff7d4 Florian Westphal

s/Log(LOG_DEBUG/LogDebug(/ , translated comments, etc.


0eccdbc137 Florian Westphal

-whitespace damage


939ee6a39b Florian Westphal

simplify Resolve_Read().


8423b89996 Alexander Barton

Updated platform list once more ...


7d87318b04 Alexander Barton

Updated platform list.



7378860aea Florian Westphal

check if compiler supports inline keyword.


6eb3f3055d Alexander Barton

Added support for Solaris 11.


c888c81adf Alexander Barton

Synchronized documentation with branch-0-10-x ...


fac4682212 Alexander Barton

Updated debian changelog.


47026e14ce Alexander Barton

Don't assert() when a pre-defined channel has no topic.


63626449f8 Alexander Barton

Flag the format parameter of LogDebug() as "unused" when not compiling with

debug code to avoid gcc warnings. Added some documentation comments.


184eb1c54b Alexander Barton

Removed unused variable "ret" when using the select() API.



f1f94f07e1 Alexander Barton

Validate "ServerName" variable.


c8fd051e06 Alexander Barton

Updated documentation.




0d5fc770d3 Alexander Barton

Output some debug messages only if DEBUG_ZIP is #define'd.


5590f8624b Alexander Barton

Don't include conn.h, conn-func.h is enough.


fdc7ae22e9 Alexander Barton

Updated CVS URLs; enhanced documentation a little bit.


179d61c588 Alexander Barton

Updated some patch names on Arthur.


47e581e453 Alexander Barton

Updated copyright notice ;-)


65573d7a07 Alexander Barton

Updated autoconf helper scripts.


155056f386 Alexander Barton

Added ngindent.


3833f8aae3 Florian Westphal

remove fd from io_event structure



e9e1fa459b Alexander Barton

Sorted channel modes alphabetically.


581f5479a2 Alexander Barton

Detect the Avahi "howl-compatibility" as well as Howl itself.




0a3f562f36 Florian Westphal

make splint complain less...



a65eb347ec Alexander Barton

Removed kqueue bug fix (never released), rephrased some internal changes,

and added "time shift" bug fix.


2af87e9152 Alexander Barton

Handle time shifts backwards gracefully.


d0045afb09 Florian Westphal

kqueue now tested on NetBSD3.0, FreeBSD6 and Darwin7.9.0


1f5bdaec84 Florian Westphal

kqueue fix.



4a2eea2939 Florian Westphal

minor cleanup, removed unneeded check in safemult_sizet



5d0ba011c7 Florian Westphal

Fix Connection Pool resizing.



8067bab106 Florian Westphal

changes some comments, minor cleanup


097c7bd741 Alexander Barton

Fix up ngt_TrimStr() once more ... :-/


c7bd9da446 Alexander Barton

Mostly whitespace fixes.



bebfbedf3f Florian Westphal

fix ngt_TrimStr(), fix format string


cba9270845 Alexander Barton

ngt_TrimStr(): code cleanup.


2a9ffe7037 Florian Westphal

use strlcat return value; don't call time() repeatedly.


4000e01b28 Florian Westphal

corrected return value


68d3d36dd6 Florian Westphal

removed silly if (foo) { if (foo){ }} statement


eedfc35bbc Florian Westphal

s/gehoert//


d39d3ec4b9 Florian Westphal

Client_RegisterWhowas(): call time() only once


79dfd60a0c Alexander Barton

Don't use "awk" directly, instead use $(AWK) variable.


29ad5e0d94 Alexander Barton

Moved now local prototype of Client_New() to C file, renamed it to

Init_New_Client() and cleaned up some code and comments.


7e8ac0afcf Florian Westphal

Client_New() not used outside client.c -> static


93df629b69 Florian Westphal

changed connection structure to array-api


66060dbce9 Florian Westphal

new Function: LogDebug()



a17745d6d7 Florian Westphal

Make connid same as connection fd.


1249acfdba Florian Westphal

removed obsolete "int Conn_MaxFD"


c8fb6a2258 Florian Westphal

simplify IRC_Show_MOTD()






e1b9409e63 Florian Westphal

add FAQ entry about epoll(): Function not implemented error




bd043449f2 Alexander Barton

Don't remove doc/src on "make distclean".


0570e13cac Alexander Barton

Minor whitespace fixes.


6b21249151 Alexander Barton

Remove direct call of Conf_UnsetServer(): it's already indirectly called

by Conn_Close() a few lines above.


4f8d646e2a Alexander Barton

Adjusted ChangeLog for ngIRCd release 0.9.2.


ac55a80d9f Alexander Barton

Updated autoconf helper scripts.




b65358b17c Florian Westphal

avoid 2nd time() call in Check_Servers(), improve comments


e9f3e69f36 Florian Westphal

use io_close instead of plain close in Conn_ExitListeners()


5b2364b236 Florian Westphal

merge new resolver code


4db29b0076 Florian Westphal

Minimal changes (needed for merging resolver changes)


0aae3ec5d7 Florian Westphal

Mostly formatting; changes needed for SSL merge



ab3ac4e466 Alexander Barton

Removed obsolete debug message.


4d18ac83a2 Alexander Barton

Set one second penalty on unknown commands.


660b529c10 Alexander Barton

Add debug code to Conn_SetPenalty().


565129f992 Florian Westphal

io_close(): explicitly remove fd from epoll set


b2a3bc3257 Alexander Barton

Updated build configurations.


bcf8a5bee6 Alexander Barton

Updated XCode project files to XCode version 2.1.




6444442931 Florian Westphal

fix fd leak (happens on failure of fork() ).


e899c75d7e Alexander Barton

Updated copyright notice.


cae9a3aee5 Florian Westphal

small formatting change


e708790566 Alexander Barton

JOIN now supports more than one channel key at a time.


0dd0015d16 Florian Westphal

Mention ':' MyPassword restriction in man page.



9275dc4dc4 Florian Westphal

reformatted Handle_SERVER()


af9123fd82 Alexander Barton

Cleaned up some code, comments and log/debug messages.





c65343e719 Florian Westphal

reformatted a few lines.


a7197f579c Florian Westphal

check if gcc supports -fstack-protector


30c11b2313 Florian Westphal

use size_t for array length variables


b7033e1478 Florian Westphal

use size_t instead of unsigned int.


db992975eb Florian Westphal

last cleanup accidentally broke kqueue backend.


c12dc45f17 Alexander Barton

Added prefix to connection statistic NOTICE.



58b8fb5d12 Florian Westphal

remove unneeded variable "bool action"


8efeae1714 Florian Westphal

fix embarassing cut&paste error


21ad5dcfff Florian Westphal

array_cat0_temporary(): removed confusing DEBUG messages


4074fd9149 Alexander Barton

Enhanced the handler for PING and PONG commands: fix forwarding and enable

back-passing of a client supplied additional argument of PING.



a2cdc08c39 Florian Westphal

fix handling of empty requests


e728bd2e1a Alexander Barton

Changed handling of timeouts for unregistered connections: don't reset

the counter if data is received and disconnect clients earlier.


12e288c062 Florian Westphal

removed misleading const qualifier


733e15bb64 Alexander Barton

Two spelling fixes.


99544e8d5d Alexander Barton

Forgot to mention last change ...


f36337fab3 Florian Westphal

fix kevent() warning on powerpc-apple-darwin8-gcc-4.0.0


1a46b37bd5 Florian Westphal

remove unneeded call io_event_kqueue_commit_cache()


5f87474a74 Alexander Barton

Fixed parameter description of CHANINFO.



d5c5d2a37f Alexander Barton

Updated ChangeLog (from 0.9.1 branch).



a6d1d26a43 Alexander Barton

Fixed line lengths ...



ae6e6616a6 Alexander Barton

Made test script run a longer time.


a5915f75c9 Alexander Barton

Set timeout.


f2ba8abec5 Alexander Barton

Detect source directory correctly.


701c259394 Alexander Barton

Added start script for FreeBSD.


a32b404863 Alexander Barton

Updated URL and some minor changes.


b15d906dff Alexander Barton

The KILL command killed much more than desired (including server links!)

when the target user is connected to a remote server. [from 0.9.x]


1c14e2e0a2 Alexander Barton

Removed some line feeds in debug statements.



b61407713d Alexander Barton

Removed "U" unsignet suffix: caused problems with older compilers and is

not necessary for this constants.


b120c2a271 Alexander Barton

Fixed line wrapping.


51ccb5928a Florian Westphal

internal changes needed for future ssl support


890c3d9d72 Florian Westphal

add topic length changelog entry



46a191caf6 Florian Westphal

changed RES_STAT buffer to array


20ff63a8a1 Florian Westphal

add array_cat0_temporary() and array_init()


21a067e0b1 Alexander Barton

Updated documentation from CVS branch-0-9-x.


8c7521af25 Alexander Barton

Updated Debian changelog from branch-0-9-x.



2e794a6943 Florian Westphal

Reverse lookup now checks result by additional forward lookup



6ecccd2644 Florian Westphal

add reverse lookup check



74cb2e2768 Alexander Barton

Eliminate some compiler warnings ("unused parameter").


e5097bf2e6 Alexander Barton

Added style definitions for source code listings.


3237d28bfb Alexander Barton

New subdirectory "doc/src" for the source code documentation.


317841529b Alexander Barton

Moved "srcdoc" target from src/Makefile to doc/Makefile.



d6e6350523 Alexander Barton

New subdirectory "src" for the source code documentation, and new make

target "srcdoc" to generate the documentation using Doxygen.


7036111a6c Alexander Barton

New files for the Doxygen source code documentation system.


987559e46d Florian Westphal

change Handle_OPERATOR() formatting


fca29bfa23 Florian Westphal

prevent io_masterfd leak when library_init() is called twice


63db3daafe Alexander Barton

Cleaned up some log messages.


2e858755c5 Alexander Barton

Brought some debug log messages "in line".


b682a5e485 Alexander Barton

Reformatted some comments.


efbfe4ae83 Florian Westphal

removed unneeded variable "bsize"


c92e57fec3 Florian Westphal

add better error checks for io_ routines


ca130e6db6 Florian Westphal

removed unneeded return statement


248d75e566 Florian Westphal

fix embarassing buffer-off-by one


4715b17106 Florian Westphal

make Conn_NewListener local to conn.c


70facb7f6e Florian Westphal

made a few config options unsigned.


76604f847a Florian Westphal

change assertions to stop splint from complaining


c7693f625e Florian Westphal

s/strcpy/strlcpy/


e50d049074 Florian Westphal

minor cosmetic changes


dd003e23b7 Florian Westphal

removed some Debug-Code.


178b564c51 Florian Westphal

io_library_shutdown: return void


b976ec032f Alexander Barton

Updated some URLs in the documentation.


8916b201fa Alexander Barton

Only setuid()/setgid() if it differs from current UID/GID.

Solves problems with Cygwin.



0e2f5a4f3d Alexander Barton

Updated documentation.


78692f1e87 Alexander Barton

Added "doc/Zeroconf.txt" to distribution.


02b0a51517 Alexander Barton

Renamed "Rendezvous" to "Zeroconf".


a874c26c25 Alexander Barton

New section "runtime".


1eca0aea4f Alexander Barton

Whitespace fixes.


7b5a1bbe3c Florian Westphal

safemult_uint(): return bool


b88e97f193 Florian Westphal

document b0rken resolver on GNU/Linux


6b4ecf8c83 Florian Westphal

new buffer/IO API.


6093af49d5 Florian Westphal

test for epoll and kqueue support


0d180a913f Florian Westphal

use new io event API.


60ae9c827e Florian Westphal

use dynamically sized unzip/zip buffer


c857e9c887 Florian Westphal

new io/buffer api.


579fce1831 Florian Westphal

remove FD_SETSIZE check (now in io_* functions)


2bf77fb0c3 Florian Westphal

use dynamic io buffers


774c6cda4d Florian Westphal

use new buffer API


afef7dee82 Florian Westphal

cleanup, use new io layer.


7eca418465 Florian Westphal

add new IO layer


ebbf92898e Florian Westphal

add new buffer abstraction layer


733ef4c815 Florian Westphal

removed Resolve_Init()



ccb747cb3b Alexander Barton

Updated documentation.



43d644ed92 Alexander Barton

Code and comment cleanups, new #define "CUT_TXTSUFFIX".


eeccc193dd Alexander Barton

Prepare documentation for release 0.9.0 ...




117a9e21e7 Alexander Barton

Updated URLs.



de395db8e3 Alexander Barton

Get rid of Log_SetDaemonized().


dbea187373 Florian Westphal

removed global variable NGIRCd_NoDaemon


d81dab99fa Florian Westphal

put badchars back in


9dc5e50226 Florian Westphal

fix embarassing cut&paste error (add missing } )


c06c815c28 Florian Westphal

fix "Can't get user information for UID" error message


04169f34cf Florian Westphal

only chdir() to users home when running as daemon


aec535c8b6 Florian Westphal

s/sprintf/snprintf


2d4dd33627 Florian Westphal

use strlcpy


b0699efdab Florian Westphal

remove unneeded strpy()


1ca8bb5255 Florian Westphal

startup: fork only once, never run with uid 0


bc2dac3c74 Florian Westphal

startup: fork only once, never run with uid 0.



fcf65beea4 Florian Westphal

changed formatting to match ngircd coding style


1cf8ccd8fe Florian Westphal

Make sure SimpleMessage() sends <= 512 chars


74424cb1a5 Florian Westphal

set 3 second penalty after failed /oper command.





a4660f40db Alexander Barton

New function Client_StartTime().


9fa9c1fdda Alexander Barton

Updated manual pages.


cac9f279fa Florian Westphal

send RFC compliant netsplit messages.



ae98008c1c Florian Westphal

remove Try_Write(), Call Handle_Write() directly instead.


45404a1644 Alexander Barton

Added some Doxygen documentation.



8ac701d6c8 Florian Westphal

add FreeRes_stat(), wait for resolver timeout.


158bf554c3 Florian Westphal

minor cleanup


9c3c7e5a09 Alexander Barton

Handle splint errors more gracefully.


cd0dc8627d Alexander Barton

Don't exit server if closing of a socket fails; instead ignore it and

pray that this will be "the right thing" ...


44fdde7610 Alexander Barton

Added version information to summary text.


95f8b963a6 Alexander Barton

Reformatted and documented code of the first part of the IRC_NICK()

function; and register WHOWAS entries on nickname changes, too.


1aeaf64c66 Alexander Barton

New function Client_RegisterWhowas().


06caecb0c4 Alexander Barton

Implemented IRC function "WHOWAS".




9f247ebd5a Alexander Barton

New defines MAX_WHOWAS and DEFAULT_WHOWAS.


dd9b4bc956 Alexander Barton

Away status texts set due to "a"-Modes received from other servers have

been fixed: the status text of the server has been set instead of the away status text of the client (most probably introduced by patch 1.36).


6f97dd4938 Alexander Barton

Remove "doc/src" directory on "make distclean".


a02f25a810 Alexander Barton

Added #include of "defines.h", necessary due to removal of the #include of

"defines.h" in the client.h header file.


aa25cd7da2 Alexander Barton

Reorder #includes, necessary due to removal of #include "defines.h" in

the client.h header file.


70fcdf1b5c Alexander Barton

Removed "invalid" #include of "defines.h" (don't include further header

files from a header file!).


dfe662ad45 Alexander Barton

Added missing #include of "defines.h".


7daa7fb278 Florian Westphal

removed Conn_UnsetOption() function. It was not used anymore.

removed Conn_SetOption(). replaced its only call (in conn-zip.c) with Conn_OPTION_ADD() macro.


e7c2c86aee Florian Westphal

removed "my_connects" fd_set.


c4bc2114c9 Florian Westphal

conn.h: option filed in CONNECTION struct is now UINT16.

conn-func.h: add accessor Macros Conn_OPTION_ADD( conn, CONN_OPTION ) Conn_OPTION_DEL( conn, CONN_OPTION ) Conn_OPTION_ISSET( conn, CONN_OPTION ) To add, remove or test for a certain option field attribute (e.g. CONN_ISCLOSING) These Macros should be used instead of accessing conn->options directly.


129a22a29b Alexander Barton

Cleaned up (and documented) the IRC_KILL() function.


8304210c06 Florian Westphal

fix spelling



77faf14b29 Florian Westphal

use strdup() to add oper hostname mask.



b4363162ce Florian Westphal

s/malloc(x*y)/calloc(x,y)/


873edc6311 Florian Westphal

check for strdup()


6ed37415fc Alexander Barton

Used a spellchecker :-)


55fadbfb1d Alexander Barton

Fixed wrong location of "Doxyfile" ... argl.



dec7eba531 Alexander Barton

Added "-unrecog" to splint command line.


b0ae15e01d Alexander Barton

Target "lint": check whether splint command is available and suppress

warnings related to the used command line in the output.


43ba1bc805 Alexander Barton

Two new targets: "srcdoc" to generate Doxygen source documentation, and

"xcode" to build ngIRCd using the Xcode command line tools on Mac OS X.




0545288ebd Alexander Barton

New build style "deployment", cleaned up options for build style

"development" (enabled "ZeroLink") and fixed path of "ngircd.spec".




f6df13d5f8 Alexander Barton

When validationg the configuration file wait for a keypress only if both

stdin and(!) stdout are valid tty's.


f56a1bdf20 Alexander Barton

Use tabulator, not 8 spaces ...



a822153309 Alexander Barton

Enhanced configure script: now you can pass an (optional) search path

to all --with-XXX parameters, e. g. "--with-ident=/opt/ident".




bfba1f37ed Florian Westphal

Init_Conn_Struct(): Zero structure using memset().


374f90f392 Florian Westphal

Add notice about typedef removal and stdbool.h/inttypes.h


8adff59223 Florian Westphal

Remove INT, LONG, BOOLEAN, STATIC, CONST, CHAR datatypes.

use stdbool.h / inttypes.h if available.



8a2ed0a75f Florian Westphal

removed unneeded log.h include.


5fdd5be12b Alexander Barton

Added login of Florian ("fw") to AUTHORS list.



1869766331 Alexander Barton

Fixed too long lines.


1d08d51e2e Alexander Barton

New configuration option "OperServerMode".


5e929effca Alexander Barton

New function New_Res_Stat() to initialize RES_STAT structure.



e7f8782831 Alexander Barton

Added missing include of "match.h".


4ef172d603 Alexander Barton

Implemented support for "secret channels" (channel mode "s").



8579b2a1e5 Alexander Barton

Clean up the mode handling code: remove redundant parts ...


3da942e237 Alexander Barton

Updated to latest strl{cat|cpy} code of rsync:

- Make sure that strlcpy() returns the right value when the bufsize is 0. - Fixed a bug in strlcat() where it would not properly detect a no-change condition if called with an initial string longer than the specified size limit (due to an unsigned var's inability to go negative). Patch by Florian Westphal, <westphal@foo.fh-furtwangen.de>.


bcb6cf3ffa Alexander Barton

Added AUTOMAKE_VERSION and AUTOCONF_VERSION (for OpenBSD).



ba19fb8ff4 Alexander Barton

Enable Pidfile /var/run/ircd/ngircd.pid



ec30cd4e5f Alexander Barton

Whitespace fixes.




9537542647 Alexander Barton

Write "error file" (/tmp/ngircd-XXX.err) only if compiled with debug

code ("--enable-debug") and running as daemon process.


0993ff81bb Alexander Barton

Added a note about the change of the maximum password length.


894cd2cd68 Alexander Barton

Don't create version information string each time a client connects but

insetead on server startup. By Florian Westphal.


c16d1b03aa Alexander Barton

Added an empty /etc/ngircd/ngircd.motd to the packages. And ngircd.conf

becomes modified to enable the PID file (/var/run/ircd/ngircd.cond) and to change the user and group to "irc".


451315643f Alexander Barton

Set owner and group of /var/run/ircd to "irc:irc".


d77182e7a6 Alexander Barton

Updated debian changelog file from branch-0-8-x ...



112102b10c Alexander Barton

New configuration variable "PidFile", section "[Global]": if defined,

the server writes its process ID (PID) to this file. Default: off. Idea by Florian Westphal, <westphal@foo.fh-furtwangen.de>.


ae63ed04c5 Alexander Barton

ngIRCd 0.8.3.


85acb82469 Alexander Barton

Use ngt_TrimLastChr() where useful, by Florian Westphal.


51d09fb4f7 Alexander Barton

Add ngt_TrimLastChr() to header file. By Florian Westphal.


8308c170db Alexander Barton

Fixed a bug that could case a root exploit when the daemon is compiled

to do IDENT lookups and is logging to syslog. Bug discovered by CoKi, <coki@nosystem.com.ar>, thanks a lot! (http://www.nosystem.com.ar/advisories/advisory-11.txt)


07fe19889b Alexander Barton

Updated ChangeLog for 0.8.2.


0c293ae988 Alexander Barton

Updated config.sub and config.guess


18c92d9de7 Alexander Barton

We are in the year 2005 now! :-)


2440ed080c Alexander Barton

Fixed a buffer overflow that could cause the daemon to crash. Bug found

by Florian Westphal, <westphal@foo.fh-furtwangen.de>.


669da58715 Alexander Barton

Updated list of contributors.



34e912d9f2 Alexander Barton

Fixed a typo in variable name ...


44172a8c7f Alexander Barton

Fixed a possible buffer underrun when reading the MOTD file. Thanks to

Florian Westphal, <westphal@foo.fh-furtwangen.de>.


a6d7fb8739 Alexander Barton

Code cleanups from Florian Westphal, <westphal@foo.fh-furtwangen.de>:

wrote functions for common error messages.



a40a026d15 Alexander Barton

Fixed detection of IRC lines which are too long to send. Detected by

Florian Westphal, <westphal@foo.fh-furtwangen.de>.


6c5f4beb53 Alexander Barton

Fixed return values of our own implementation of strlcpy(). The code has

been taken from rsync and they fixed it, but we didn't until today :-/


26b0ddf200 Alexander Barton

Translated source code comments.


b6690df2be Alexander Barton

Raised the maximum length of passwords to 20 characters.



429b5f3ec9 Alexander Barton

Fixed a memory leak when resizing the connection pool and realloc() failed.

Now we don't fall back to malloc(), which should be sane anyway. Patch from Florian Westphal, <westphal@foo.fh-furtwangen.de>.


81bacda627 Alexander Barton

Added URLs for stunnel.


6960cb4c38 Alexander Barton

Added documentation for SSL support.


7b61b34c56 Alexander Barton

Make more clear that there can be more than one [Operator], [Server] and

[Channel] section in the configuration file.


386d3b9e67 Alexander Barton

Fixed wrong port number in example.


5049c5c694 Alexander Barton

Don't use a POSIX thread for the Howl "run loop".


292879aca4 Alexander Barton

Added support for the Howl (http://www.porchdogsoft.com/products/howl/)

Rendezvous API, in addition to the API of Apple (Mac OS X).


dcb9e2a004 Alexander Barton

Updated documentation for release 0.8.1


0d10c60b31 Alexander Barton

Updated config.guess and config.sub


08e0b277bc Alexander Barton

Updated documentation ...


58736b3902 Alexander Barton

Fixed indentation and added some more debug code.


f7354cdf28 Alexander Barton

Updated list of supported/tested platforms.


196f27c4ad Alexander Barton

Fixed spelling mistake.


c1f32e8214 Alexander Barton

Made ngIRCd compile on HP/UX 10.20 with native HP pre-ANSI C compiler and

most probably other older C compilers on other systems.



c79fa28a66 Alexander Barton

Added some missing words: "address" :-)



ceafdf109b Alexander Barton

Added functions.inc to EXTRA_DIST files.


450251f082 Alexander Barton

Fixed echo without newline for systems not understanding "echo -n"; added

new file "functions.inc" for functions usable by all test scripts.



b04a526a19 Alexander Barton

Fixed wrong exit code check of "kill -0".


2f195a07b2 Alexander Barton

Updated documentation.


f38eeedfd7 Alexander Barton

Fxied name of "default file" for ngircd-full package. And do the test if

the binary is executable after reading this file.


8ca1e4d548 Alexander Barton

If ServerUID is defined change the working directory to the home directory

of this user.


e07cc4bb63 Alexander Barton

Updated documentation :-)


c5bdd86f96 Alexander Barton

Enhanced messages and exit codes.


aa26e2ef36 Alexander Barton

Added all test scripts to target "all".


9445962237 Alexander Barton

Changed text "test scripts" to "processes": some versions of expect(1)

fork child processes ...



f7a4d03ba2 Alexander Barton

Added detection of flags for ps(1).




7ec11de523 Alexander Barton

Two new scripts: test-loop.sh and wait-tests.sh


18eb92a72b Alexander Barton

Added support for looping and other enhancements.


9ddb934784 Alexander Barton

Set $srcdir if not already set by make.



02b8e51562 Alexander Barton

Added preliminary README text.


d27196e334 Alexander Barton

Information about configuring ngIRCd.



88258070c4 Alexander Barton

Added missing commas to debian control file, fixes bug #56.

Thanks to Kevin Otte (nivex@nivex.net) for the patch.


beb4edd3cf Alexander Barton

Updated documentation: note ngIRCd 0.8.0 :-)


364ff7087d Alexander Barton

Added cast to integer for Solaris.


0b3ee07a2a Alexander Barton

Updated documentation.


a49a580a77 Alexander Barton

Fixed wrong buffer size calculation for resolver results.


7080e9f83c Alexander Barton

Added "hppa/unknown/openbsd3.5".


59a48bfa1f Alexander Barton

Updated documentation.


42e8063a32 Alexander Barton

Enhanced ./configure checks for required C header files.



d8f47ed195 Alexander Barton

Updated documentation.


d7c975e8d8 Alexander Barton

"make maintainer-clean" removes Makefile.in now.


bf21dd1578 Alexander Barton

"make clean" works better now.


9013f56451 Alexander Barton

New Debian version.


3012c232eb Alexander Barton

Fixed resolver when using IDENT lookups, cleaned up code.


26390c60fb Alexander Barton

Added PID to all log messages on the console; enhanced logging of

resolver sub-processes in debug mode.


cdb039672c Alexander Barton

Enhanced output of "make lint".


7281b8dd4d Alexander Barton

New "chroot" feature (from Benjamin Pineau), introducing new configuration

variables "ChrootDir" and "MotdPhrase".


39fc76c4e4 Alexander Barton

Overview of "contributed" files.


a6d51c3a9e Alexander Barton

Added "README" and "systrace.policy" files.



47701feb08 Alexander Barton

New debian version including updates from CVS HEAD.


59b903f3bb Alexander Barton

Updated documentation.


d433eb3896 Alexander Barton

Add flag "L" to default IRC+ server flags: synchronize INVITE-

and BAN-lists.


c1e9841118 Alexander Barton

Document new server flag "L": synchronize INVITE- and

BAN-lists when establishing new server links.


dd59820051 Alexander Barton

Synchronize INVITE- and BAN-lists if the peer requests it:

server flag "L". And better debug logging.


967476799f Alexander Barton

Don't send MODE changes when origin is a server and

mask is already known.


6b1e322865 Alexander Barton

New functions: Lists_SendInvites(), Lists_IsInviteEntry(),


1d8da4b525 Alexander Barton

Fixed a wrong assert() which could cause the daemon to exit spuriously

when closing down connections.


292c7bd4c0 Alexander Barton

Better logging of decompression errors returned by zlib.


558fe6b453 Alexander Barton

Special handling for HP/UX: define _XOPEN_SOURCE_EXTENDED ...


bed119c9e5 Alexander Barton

New debian package.


64d330b726 Alexander Barton

Fixed handling of already existent entries in invite and ban lists:

the attempt to add an already existent entry is no error, it must be propagated across servers (but not added to the list!).


cc25c52048 Alexander Barton

Updated XCode project for Mac OS X.


233210b906 Alexander Barton

Servers other than the destination server didn't clean up the invite

list of an "invite-only" channel properly when an INVITE'd user joined.



b225081c2b Alexander Barton

Added DG/UX (m88k/dg/dgux5.4R3.10) to the list.


30bbc5e1e1 Alexander Barton

New debian package ;-)


0c07eb71a7 Alexander Barton

Updated manual page to reflect changes in daemon.



8212662d9d Alexander Barton

Enhanced autogen.sh script; added "inline" documentation.



af77ce70b6 Alexander Barton

Added missing "return 0" ... oops.


507a9e9cb3 Alexander Barton

Reworked configure system: it should be more compatible to most systems

now, and it should even be more flexible and faster :-)


779446298c Alexander Barton

New upstream version.


cb76d96efb Alexander Barton

Fixed some warnings of non-gcc-compilers (e. g. original Apple compiler on

A/UX): "warning: illegal pointer combination, op =".


de1489b39b Alexander Barton

Updated tests to reflect last changes to MODE behaviour.




56227abc5e Alexander Barton

Changed the reply of the MODE command to match the syntax of the original

ircd exactly: the unnecessary but missing ":" before the last parameter has been added.


f9e651b333 Alexander Barton

New Debian version.



33f4e6763b Alexander Barton

Better logging while establishing and shutting down connections.

Results of the resolver are now discarded after the client is registered.


eaa550d690 Alexander Barton

Updated list of supported operating systems.


f275c66e95 Alexander Barton

Updated statistics :-)


17fffea873 Alexander Barton

Updated documentation (-t switch).


1e3363d2a4 Alexander Barton

Included updates of ngIRCd 0.7.7


6667bb6b77 Alexander Barton

The info text ("real name") of users is set to "-" if none has been

specified using the USER command (e. g. "USER user * * :"). Reason: the original ircd doesn't like empty ones and would KILL such users.


b90bedbcb2 Alexander Barton

Fixed (optional) TCP Wrapper test which was broken and could result in

false results. Thanks to Fuminori Tanizaki <tany@mcnet.ad.jp>!


c2a154a33e Alexander Barton

New debian version.


6bbc086760 Alexander Barton

Updated some copyright notices to include the year 2004.




c53903eb3f Alexander Barton

Use "__attribute__" only if gcc is at least version 2.7


57c7e23622 Alexander Barton

Added #include for strings.h to fix compiler warnings.



6cafa16a56 Alexander Barton

Fixed order of #include's: time.h moves up! ;-)


5589ebd9c3 Alexander Barton

Clean up files for "ngircd-full" package, too ...


f645e5b62e Alexander Barton

Adjusted copyright notice to include 2004.


ad07c94c8d Alexander Barton

Restructured debian packaging system: now there are two packages, a "standard"

version that includes all the default options and a "full" version that additionally includes support for TCP wrappers and IDENT lookups.


5a9c04619f Alexander Barton

Changes for new source code layout: contrib/Debian/.


ed94d5d5cd Alexander Barton

Removed outdated Mac OS X ProjectBuilder project files (will be re-added

and updated for XCode soon); moved the debian/ directory to contrib/Debian/.


ea076a28f2 Alexander Barton

Added some files to the maintainer-clean-local target which havn't beed

removed by "make maintainer-clean".



cb6279f102 Alexander Barton

Added IDENT option to version string.



c40592d2ce Alexander Barton

Removed "USE_" prefixes of configuration #defines.


05170bc94c Alexander Barton

Fixed error messages related to server name configuration; updated

sample configuration file. (from 0.7.x)


07ad774f0a Alexander Barton

Changes for version 0.7.6



ff2c1efae8 Alexander Barton

Fixed abort() when inviting users to nonexistent channels.


05e2c0f048 Alexander Barton

Extended version reporting of CVS builds.



606cdb69bf Alexander Barton

Updated RPM and Debian package description and configuration.


a5695e7ef8 Alexander Barton

Updated config.guess and config.sub to new upstream versions.


2978b5edff Alexander Barton

Changes from branch-0-7-x for version 0.7.5.


be79fabcbf Alexander Barton

Fixed ban behavior: users which are banned from a channel can't no longer

send PRIVMSG's to this channel (fixes Bug #47).


ec2f16fa16 Alexander Barton

Fixed test suite: allow more connections ;-)


7b6e26628a Alexander Barton

Fixed and enhanced penalty handling; changed internal time resoluiton of

the server to one second. Code cleanup.


2981fe9eb7 Alexander Barton

New configuration option "MaxConnectionsIP".


20d002e155 Alexander Barton

Fixed build problems under Mac OS X 10.3 "Panther".




d8f3c2b42b Alexander Barton

Suppress misleading error message of diff during make run.



eb6113fc33 Alexander Barton

Updated documentation.


166c610957 Alexander Barton

Updated documentation.


b9f16c9635 Alexander Barton

Fixed typo in debug output.


1ed708ef39 Alexander Barton

Enhanced testsuite, should run under GNU/Hurd now.


5e4124d38d Alexander Barton

New Debian package for 0.7.1


0d00ce6e38 Alexander Barton

Updated documentation (for release 0.7.1).


057df41a9b Alexander Barton

Updated documentation.


5eb89619d6 Alexander Barton

Added debian packaging files from branch-0-7-x to HEAD.


6e03626eed Alexander Barton

Included debian/-subdirectory into build system.


d9efbe80e1 Alexander Barton

Updated debian changelog.




3f602e5a25 Alexander Barton

Updated ChangeLog.


6647da58fc Alexander Barton

NJOIN: Fixed propagation of user channel modes.


225a338139 Alexander Barton

Added SunOS 5.7 (Solaris 7).


bfdf17ff32 Alexander Barton

- Updated documentation.


260b8e5f36 Alexander Barton

VERSION shows the CVS date if apropriate now.


9a009b24da Alexander Barton

Fixed a compiler warning related to an unnecessary assert().


83765a5a34 Alexander Barton

Updated documentation.


bdc08ae28e Alexander Barton

Updated documentation.


34ede2a91a Alexander Barton

Added support for GNU/Hurd.


0424747e95 Alexander Barton

Made Makefiles more compatible with "make -j<N>".


8d5e170091 Alexander Barton

Fixed typo: .IT instead of the correct.TP ...


68ee133f87 Alexander Barton

Changed version string to "CVSHEAD".


27cd1e0d05 Alexander Barton

Updated documentation (ngIRCd 0.7.0).


3dc4c92553 Goetz Hoffart

Added HP-UX 9.10/m68k.


188e95f680 Goetz Hoffart

Fixed small typo.


c5f4e9d095 Goetz Hoffart

Added "Why should I use ngIRCd?"


e541da2a8f Alexander Barton

"ServerName" is checked better now: a dot (".") is required.


e55399c667 Alexander Barton

The KILL comand verifies and logs more parameters.


e7102559b9 Alexander Barton

Updated documentation.


32f8eb46ee Alexander Barton

Updated documentation.



927e626f03 Alexander Barton

Documented missing "Password" variable in section "[Global]".


277a048f4f Alexander Barton

Updated documentation.


dd0b37690b Alexander Barton

Updated documentation.


83194a23a3 Alexander Barton

The server tried to connect to other servers only once when DNS or socket

failures occured.


a1ff081b8a Alexander Barton

Updated documentation.


e1c70a3c93 Alexander Barton

Disabling "-ansi" on Cygwin: system headers are incompatible.


c43d47d69c Alexander Barton

Updated documentation: added i686/pc/cygwin platform.



090756523e Alexander Barton

Updated documentation.


8497d28fba Alexander Barton

Updated documentation.


cef95681ff Alexander Barton

Added new documentation file "Platforms.txt".


52a24c4bbd Alexander Barton

New documentation file doc/Platforms.txt included.


e2968dd98d Alexander Barton

Updated documentation.


79b9592f27 Alexander Barton

Updated documentation.


0551f688f6 Alexander Barton

Made scripts mor portable (run on SunOS 5.6 now).


c74ac55832 Alexander Barton

Updated documentation.


b4dc216db3 Alexander Barton

Added defines for SunOS (5.6).


cbf87971a4 Alexander Barton

Made setting of WANT_AUTOMAKE more portable.


4d656d12e9 Alexander Barton

Updated documentation. (tags/rel-0-7-0-pre1)


da78dc4785 Alexander Barton

Updated documentation.


bd52d4e49c Goetz Hoffart

Fixed tabs to spaces.


e0345e5e0a Goetz Hoffart

Translated documentation from German to English.


c1dd86d702 Alexander Barton

Updated documentation.


b25faf3c2a Alexander Barton

Updated documentation.


384d6b894a Alexander Barton

Translated Protocol.txt to english.


a061668b1a Alexander Barton

Added implicit initialisation of "i" in Conf_GetServer to workaround a egcs

2.91.66 bug which claims that this valiable could be used uninitialized.


489d8c5cd0 Alexander Barton

Removed unportable %z formater in strftime().


daa996f177 Alexander Barton

Added missing prototype for dummy_snprintf().


7deacbaa11 Alexander Barton

Added missing include for <sys/select.h>.


c3dfd63bf3 Alexander Barton

Fixed up some castings.


f5b91cd03d Alexander Barton

Added some defines for Linux/glibc, reverted unused test for poll(), and

enhanced summary output.



4ef6dae1cd Alexander Barton

Updated documentation.


0b91df05e0 Alexander Barton

Fixed spelling mistake :-)


feafb6cb2e Alexander Barton

Don't forward NJOIN's for unknown nick names.


0391d35a67 Alexander Barton

Translated success message :-)


a93b4d9789 Alexander Barton

Updated documentation.


eefa1b1c64 Alexander Barton

Added WANT_AUTOMAKE=1.6 to autogen.sh.


016e547daa Alexander Barton

Re-corrected test for CVS version.


b588eaed02 Alexander Barton

Corrected path for documentation files in summary output.


36e0345ce6 Alexander Barton

Changed documentation directory to ".../share/doc/ngIRCd" (and removed the

variable PACKAGE for better Debian automake-1.4 compatibility).



935ffd0dc0 Alexander Barton

Updated documentation.


fa54e6e2a4 Alexander Barton

Added documentation path to summary output.



47faa8595a Alexander Barton

Install documentation files in $(datadir)/doc/ngircd.


9ab97b29ae Alexander Barton

Fixed up bad test during unregistering of services.



02a22611be Alexander Barton

Clean up duplicate servers correctly.


59a0fb8cd9 Alexander Barton

New function Conn_SyncServerStruct().



8291e10b96 Alexander Barton

Translated documentation to english.


312e4aeb86 Alexander Barton

Updated documentation.




5f19a9418e Alexander Barton

Updated Mac OS X project for Project Builder.


3858e28e07 Alexander Barton

Fixed a "checking for ..." text string.