Commit Briefs

Alexander Barton

Don't include doc/CVS.txt in distribution archive, use doc/GIT.txt now! (tags/rel-0-12-0-pre1)


Alexander Barton

ngIRCd 0.12.0-pre1



Alexander Barton

Updated copyright notice to read "2001-2008".


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.



Florian Westphal

Channel_Mode: Remove duplicate code.

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



Florian Westphal

Channel_Mode: Re-indent switch.

No functional changes were made.








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.


Alexander Barton

Updated Xcode project file.


Alexander Barton

Convert CVS commands to their git equivalents.

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



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


Alexander Barton

Include Mac OS X Xcode project in distribution archives.

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


Alexander Barton

Moved .cvsignore files to .gitignore

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


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?


Florian Westphal

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

We already have way too many.



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.


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.



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.


Florian Westphal

Updated ChangeLog to include 0.11.1.


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.


Florian Westphal

Channel_Mode cleanups

- better indentation - move answering request into seperate function.




Florian Westphal

Added new test files to Xcode project.




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.


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.


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)


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.


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



Florian Westphal

Updated NEWS to reflect ChangeLog.


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]


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.


Florian Westphal

Updated NEWS to reflect ChangeLog.


Florian Westphal

Fix wrong strncpy usage if CVSDATE defined

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


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


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.




Alexander Barton

Document NoDNS configuration option.


Florian Westphal

IRC_PART could reference invalid memory.


Alexander Barton

Remove entry about ngircd failing on Linux 2.4:

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


Alexander Barton

Updated NEWS and ChangeLog files.




Florian Westphal

kqueue: check for EV_ERROR in .flags

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




Florian Westphal

implement '/STAT u' (uptime)


Florian Westphal

Fix fmt string: int, not long


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


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.



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.



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.



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.


Alexander Barton

Remove some bogus files from project ...


Alexander Barton

Update Mac OS X Xcode project file for Xcode 3.

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





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


Florian Westphal

Document NoDNS Option in changelog



Florian Westphal

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

if any of those values was set to 0.


Alexander Barton

Updates NEWS to reflect changes in CVS HEAD




Alexander Barton

Updated Mac OS X project file for Xcode.



Florian Westphal

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

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


Alexander Barton

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

already defined by some environment variables.





Florian Westphal

we now support /WALLOPS



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


Florian Westphal

last fix accidentially broke reconnect timer.


Florian Westphal

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

is in progress.





Alexander Barton

Updated config.guess and config.sub.


Alexander Barton

Add note to INSTALL document.


Alexander Barton

Updated ChangeLog.





Alexander Barton

Make Zip_Flush() more graceful.





Florian Westphal

fix compressed server links


Alexander Barton

2007 :-)


Alexander Barton

Updated documentation.


Florian Westphal

- change return type of Conn_InitListeners to unsigned

- remove minor whitespace damage


Florian Westphal

put parentheses around argument



Florian Westphal

return false instead of NULL in error path



Florian Westphal

fix broken IO_DEBUG build





Alexander Barton

distclean: remove "html" folder.






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.



Alexander Barton

Added LSB compliant header.





Florian Westphal

revert to last good revision again 8-/



Florian Westphal

fix possibe buffer-off-by one





Florian Westphal

add PredefChannelsOnly option to man page


Florian Westphal

minor cleanup


Florian Westphal

remove unused function Channel_PCount


Florian Westphal

moved invite/ban lists to channel structure


Florian Westphal

fix RPL_LOCALUSERS_MSG (%ld -> %lu)


Florian Westphal

Log(LOG_DEBUG, .. -> LogDebug()


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.



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.




Florian Westphal

channel maxusers now unsigned long



Florian Westphal

Client_IsValidNick: no need to strcpy.


Florian Westphal

Channel_Join was severely broken.




Florian Westphal

add test for strcspn.




Alexander Barton

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

Removed client status CLIENT_GOTPASSSERVER.


Alexander Barton

Enhanced ISUPPORT message (numeric 005).


Alexander Barton

Updated files from ngIRCd 0.10.0.





Florian Westphal

simplify io_library_init*


Florian Westphal

add support for the poll() interface


Florian Westphal

cleanup


Florian Westphal

fix embarassing fileptr leak



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.


Alexander Barton

Updated documentation.


Florian Westphal

fix gcc 4.1 -fstack-protector detection.



Florian Westphal

-whitespace damage


Florian Westphal

simplify Resolve_Read().


Alexander Barton

Updated platform list once more ...


Alexander Barton

Updated platform list.



Florian Westphal

check if compiler supports inline keyword.


Alexander Barton

Added support for Solaris 11.



Alexander Barton

Updated debian changelog.



Alexander Barton

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

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




Alexander Barton

Validate "ServerName" variable.


Alexander Barton

Updated documentation.





Alexander Barton

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



Alexander Barton

Updated some patch names on Arthur.


Alexander Barton

Updated copyright notice ;-)


Alexander Barton

Updated autoconf helper scripts.


Alexander Barton

Added ngindent.


Florian Westphal

remove fd from io_event structure



Alexander Barton

Sorted channel modes alphabetically.





Florian Westphal

make splint complain less...



Alexander Barton

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

and added "time shift" bug fix.


Alexander Barton

Handle time shifts backwards gracefully.



Florian Westphal

kqueue fix.





Florian Westphal

Fix Connection Pool resizing.



Florian Westphal

changes some comments, minor cleanup


Alexander Barton

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


Alexander Barton

Mostly whitespace fixes.



Florian Westphal

fix ngt_TrimStr(), fix format string


Alexander Barton

ngt_TrimStr(): code cleanup.



Florian Westphal

corrected return value



Florian Westphal

s/gehoert//




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.



Florian Westphal

changed connection structure to array-api


Florian Westphal

new Function: LogDebug()



Florian Westphal

Make connid same as connection fd.


Florian Westphal

removed obsolete "int Conn_MaxFD"


Florian Westphal

simplify IRC_Show_MOTD()









Alexander Barton

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


Alexander Barton

Minor whitespace fixes.


Alexander Barton

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

by Conn_Close() a few lines above.


Alexander Barton

Adjusted ChangeLog for ngIRCd release 0.9.2.


Alexander Barton

Updated autoconf helper scripts.






Florian Westphal

merge new resolver code





Alexander Barton

Removed obsolete debug message.


Alexander Barton

Set one second penalty on unknown commands.


Alexander Barton

Add debug code to Conn_SetPenalty().



Alexander Barton

Updated build configurations.





Florian Westphal

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


Alexander Barton

Updated copyright notice.


Florian Westphal

small formatting change





Florian Westphal

reformatted Handle_SERVER()






Florian Westphal

reformatted a few lines.


Florian Westphal

check if gcc supports -fstack-protector


Florian Westphal

use size_t for array length variables


Florian Westphal

use size_t instead of unsigned int.



Alexander Barton

Added prefix to connection statistic NOTICE.



Florian Westphal

remove unneeded variable "bool action"


Florian Westphal

fix embarassing cut&paste error



Alexander Barton

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

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



Florian Westphal

fix handling of empty requests


Alexander Barton

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

the counter if data is received and disconnect clients earlier.


Florian Westphal

removed misleading const qualifier


Alexander Barton

Two spelling fixes.


Alexander Barton

Forgot to mention last change ...




Alexander Barton

Fixed parameter description of CHANINFO.



Alexander Barton

Updated ChangeLog (from 0.9.1 branch).



Alexander Barton

Fixed line lengths ...



Alexander Barton

Made test script run a longer time.


Alexander Barton

Set timeout.


Alexander Barton

Detect source directory correctly.


Alexander Barton

Added start script for FreeBSD.


Alexander Barton

Updated URL and some minor changes.


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]


Alexander Barton

Removed some line feeds in debug statements.



Alexander Barton

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

not necessary for this constants.


Alexander Barton

Fixed line wrapping.



Florian Westphal

add topic length changelog entry



Florian Westphal

changed RES_STAT buffer to array


Florian Westphal

add array_cat0_temporary() and array_init()


Alexander Barton

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


Alexander Barton

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





Florian Westphal

add reverse lookup check








Alexander Barton

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

target "srcdoc" to generate the documentation using Doxygen.



Florian Westphal

change Handle_OPERATOR() formatting



Alexander Barton

Cleaned up some log messages.


Alexander Barton

Brought some debug log messages "in line".


Alexander Barton

Reformatted some comments.


Florian Westphal

removed unneeded variable "bsize"


Florian Westphal

add better error checks for io_ routines


Florian Westphal

removed unneeded return statement


Florian Westphal

fix embarassing buffer-off-by one


Florian Westphal

make Conn_NewListener local to conn.c


Florian Westphal

made a few config options unsigned.



Florian Westphal

s/strcpy/strlcpy/


Florian Westphal

minor cosmetic changes


Florian Westphal

removed some Debug-Code.


Florian Westphal

io_library_shutdown: return void


Alexander Barton

Updated some URLs in the documentation.


Alexander Barton

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

Solves problems with Cygwin.



Alexander Barton

Updated documentation.


Alexander Barton

Added "doc/Zeroconf.txt" to distribution.


Alexander Barton

Renamed "Rendezvous" to "Zeroconf".


Alexander Barton

New section "runtime".


Alexander Barton

Whitespace fixes.


Florian Westphal

safemult_uint(): return bool


Florian Westphal

document b0rken resolver on GNU/Linux


Florian Westphal

new buffer/IO API.


Florian Westphal

test for epoll and kqueue support


Florian Westphal

use new io event API.


Florian Westphal

use dynamically sized unzip/zip buffer


Florian Westphal

new io/buffer api.



Florian Westphal

use dynamic io buffers


Florian Westphal

use new buffer API


Florian Westphal

cleanup, use new io layer.


Florian Westphal

add new IO layer


Florian Westphal

add new buffer abstraction layer


Florian Westphal

removed Resolve_Init()



Alexander Barton

Updated documentation.




Alexander Barton

Prepare documentation for release 0.9.0 ...




Alexander Barton

Updated URLs.



Alexander Barton

Get rid of Log_SetDaemonized().


Florian Westphal

removed global variable NGIRCd_NoDaemon


Florian Westphal

put badchars back in





Florian Westphal

s/sprintf/snprintf


Florian Westphal

use strlcpy


Florian Westphal

remove unneeded strpy()


Florian Westphal

startup: fork only once, never run with uid 0





Florian Westphal

Make sure SimpleMessage() sends <= 512 chars






Alexander Barton

New function Client_StartTime().


Alexander Barton

Updated manual pages.


Florian Westphal

send RFC compliant netsplit messages.




Alexander Barton

Added some Doxygen documentation.




Florian Westphal

minor cleanup


Alexander Barton

Handle splint errors more gracefully.


Alexander Barton

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

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


Alexander Barton

Added version information to summary text.


Alexander Barton

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

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


Alexander Barton

New function Client_RegisterWhowas().


Alexander Barton

Implemented IRC function "WHOWAS".




Alexander Barton

New defines MAX_WHOWAS and DEFAULT_WHOWAS.


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



Alexander Barton

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

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


Alexander Barton

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

the client.h header file.


Alexander Barton

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

files from a header file!).


Alexander Barton

Added missing #include of "defines.h".


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.


Florian Westphal

removed "my_connects" fd_set.


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.



Florian Westphal

fix spelling



Florian Westphal

use strdup() to add oper hostname mask.



Florian Westphal

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


Florian Westphal

check for strdup()


Alexander Barton

Used a spellchecker :-)


Alexander Barton

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



Alexander Barton

Added "-unrecog" to splint command line.


Alexander Barton

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

warnings related to the used command line in the output.


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.




Alexander Barton

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

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




Alexander Barton

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

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


Alexander Barton

Use tabulator, not 8 spaces ...



Alexander Barton

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

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






Florian Westphal

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

use stdbool.h / inttypes.h if available.



Florian Westphal

removed unneeded log.h include.




Alexander Barton

Fixed too long lines.


Alexander Barton

New configuration option "OperServerMode".




Alexander Barton

Added missing include of "match.h".





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




Alexander Barton

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



Alexander Barton

Whitespace fixes.




Alexander Barton

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

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



Alexander Barton

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

insetead on server startup. By Florian Westphal.


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





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


Alexander Barton

ngIRCd 0.8.3.




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)


Alexander Barton

Updated ChangeLog for 0.8.2.


Alexander Barton

Updated config.sub and config.guess


Alexander Barton

We are in the year 2005 now! :-)


Alexander Barton

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

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


Alexander Barton

Updated list of contributors.



Alexander Barton

Fixed a typo in variable name ...


Alexander Barton

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

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


Alexander Barton

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

wrote functions for common error messages.



Alexander Barton

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

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


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


Alexander Barton

Translated source code comments.




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


Alexander Barton

Added URLs for stunnel.


Alexander Barton

Added documentation for SSL support.


Alexander Barton

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

[Channel] section in the configuration file.


Alexander Barton

Fixed wrong port number in example.



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


Alexander Barton

Updated documentation for release 0.8.1


Alexander Barton

Updated config.guess and config.sub


Alexander Barton

Updated documentation ...



Alexander Barton

Updated list of supported/tested platforms.


Alexander Barton

Fixed spelling mistake.


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.



Alexander Barton

Added some missing words: "address" :-)



Alexander Barton

Added functions.inc to EXTRA_DIST files.


Alexander Barton

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

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



Alexander Barton

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


Alexander Barton

Updated documentation.


Alexander Barton

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

the binary is executable after reading this file.


Alexander Barton

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

of this user.


Alexander Barton

Updated documentation :-)


Alexander Barton

Enhanced messages and exit codes.


Alexander Barton

Added all test scripts to target "all".


Alexander Barton

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

fork child processes ...



Alexander Barton

Added detection of flags for ps(1).






Alexander Barton

Set $srcdir if not already set by make.



Alexander Barton

Added preliminary README text.


Alexander Barton

Information about configuring ngIRCd.



Alexander Barton

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

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


Alexander Barton

Updated documentation: note ngIRCd 0.8.0 :-)


Alexander Barton

Added cast to integer for Solaris.


Alexander Barton

Updated documentation.



Alexander Barton

Added "hppa/unknown/openbsd3.5".


Alexander Barton

Updated documentation.




Alexander Barton

Updated documentation.



Alexander Barton

"make clean" works better now.


Alexander Barton

New Debian version.



Alexander Barton

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

resolver sub-processes in debug mode.


Alexander Barton

Enhanced output of "make lint".


Alexander Barton

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

variables "ChrootDir" and "MotdPhrase".


Alexander Barton

Overview of "contributed" files.


Alexander Barton

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




Alexander Barton

Updated documentation.


Alexander Barton

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

and BAN-lists.


Alexander Barton

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

BAN-lists when establishing new server links.


Alexander Barton

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

server flag "L". And better debug logging.


Alexander Barton

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

mask is already known.



Alexander Barton

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

when closing down connections.




Alexander Barton

New debian package.


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


Alexander Barton

Updated XCode project for Mac OS X.


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.




Alexander Barton

New debian package ;-)






Alexander Barton

Added missing "return 0" ... oops.


Alexander Barton

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

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


Alexander Barton

New upstream version.


Alexander Barton

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

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





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.


Alexander Barton

New Debian version.



Alexander Barton

Better logging while establishing and shutting down connections.

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


Alexander Barton

Updated list of supported operating systems.


Alexander Barton

Updated statistics :-)


Alexander Barton

Updated documentation (-t switch).


Alexander Barton

Included updates of ngIRCd 0.7.7


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.


Alexander Barton

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

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


Alexander Barton

New debian version.










Alexander Barton

Adjusted copyright notice to include 2004.


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.



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


Alexander Barton

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

removed by "make maintainer-clean".



Alexander Barton

Added IDENT option to version string.




Alexander Barton

Fixed error messages related to server name configuration; updated

sample configuration file. (from 0.7.x)


Alexander Barton

Changes for version 0.7.6




Alexander Barton

Extended version reporting of CVS builds.





Alexander Barton

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


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


Alexander Barton

Fixed test suite: allow more connections ;-)


Alexander Barton

Fixed and enhanced penalty handling; changed internal time resoluiton of

the server to one second. Code cleanup.


Alexander Barton

New configuration option "MaxConnectionsIP".







Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.


Alexander Barton

Fixed typo in debug output.



Alexander Barton

New Debian package for 0.7.1


Alexander Barton

Updated documentation (for release 0.7.1).


Alexander Barton

Updated documentation.




Alexander Barton

Updated debian changelog.




Alexander Barton

Updated ChangeLog.



Alexander Barton

Added SunOS 5.7 (Solaris 7).


Alexander Barton

- Updated documentation.


Alexander Barton

VERSION shows the CVS date if apropriate now.



Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.


Alexander Barton

Added support for GNU/Hurd.



Alexander Barton

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


Alexander Barton

Changed version string to "CVSHEAD".


Alexander Barton

Updated documentation (ngIRCd 0.7.0).


Goetz Hoffart

Added HP-UX 9.10/m68k.


Goetz Hoffart

Fixed small typo.


Goetz Hoffart

Added "Why should I use ngIRCd?"




Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.




Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.


Alexander Barton

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

failures occured.


Alexander Barton

Updated documentation.





Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.


Alexander Barton

Added new documentation file "Platforms.txt".



Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.



Alexander Barton

Updated documentation.


Alexander Barton

Added defines for SunOS (5.6).


Alexander Barton

Made setting of WANT_AUTOMAKE more portable.


Alexander Barton

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


Alexander Barton

Updated documentation.


Goetz Hoffart

Fixed tabs to spaces.



Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.


Alexander Barton

Translated Protocol.txt to english.


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.


Alexander Barton

Removed unportable %z formater in strftime().


Alexander Barton

Added missing prototype for dummy_snprintf().


Alexander Barton

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


Alexander Barton

Fixed up some castings.


Alexander Barton

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

enhanced summary output.



Alexander Barton

Updated documentation.


Alexander Barton

Fixed spelling mistake :-)


Alexander Barton

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


Alexander Barton

Translated success message :-)


Alexander Barton

Updated documentation.


Alexander Barton

Added WANT_AUTOMAKE=1.6 to autogen.sh.


Alexander Barton

Re-corrected test for CVS version.



Alexander Barton

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

variable PACKAGE for better Debian automake-1.4 compatibility).



Alexander Barton

Updated documentation.


Alexander Barton

Added documentation path to summary output.






Alexander Barton

Clean up duplicate servers correctly.


Alexander Barton

New function Conn_SyncServerStruct().



Alexander Barton

Translated documentation to english.


Alexander Barton

Updated documentation.




Alexander Barton

Updated Mac OS X project for Project Builder.


Alexander Barton

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




Alexander Barton

- Updated documentation.



Alexander Barton

Updated documentation.



Alexander Barton

Updated manual page.


Alexander Barton

Updated manual page.


Alexander Barton

Updated documentation.


Alexander Barton

Updated and enhanced the daemon manual page.


Alexander Barton

Fixed some spelling mistakes.



Alexander Barton

Updated documentation: translated headers ...


Alexander Barton

Updated documentation.


Alexander Barton

Translated & updated documentation.


Alexander Barton

Updated documentation.



Alexander Barton

Enlarged buffer for version string ;-)


Alexander Barton

Updated documentation.


Alexander Barton

Added support for TCP Wrappers; redesigned configuration result output;

Changed some "--enable"/"--disable" switches to "--with"/"--without".


Alexander Barton

Added support for TCP Wrappers.


Alexander Barton

Updated documentation.


Alexander Barton

Updated documentation.


Alexander Barton

- better compatibility


Alexander Barton

- Added optional support for Rendezvous.


Alexander Barton

- New constant RENDEZVOUS_TYPE.



Alexander Barton

- Updated documentation.


Alexander Barton

- Added new source module "rendezvous".


Alexander Barton

- Updated documentation.



Alexander Barton

- new link "option" constant: CONN_ISCLOSING


Alexander Barton

- Updated documentation.



Alexander Barton

Updated documentation.


Alexander Barton

The server didn't validate wheather the "target" client of a channel

user mode change is a valid channel member or not.


Alexander Barton

- Updated documentation.



Alexander Barton

- Updated documentation.



Alexander Barton

- New function Client_DestroyNow().



Alexander Barton

- Added "HELP" command.


Alexander Barton

- Updated documentation.


Alexander Barton

- Updated documentation.


Alexander Barton

- Added support for "TRACE" command.


Alexander Barton

- Updated documentation.



Alexander Barton

- Updated documentation.



Alexander Barton

- removed needless warning/info message.


Alexander Barton

- Updated documentation.



Alexander Barton

- Updated documentation.







Alexander Barton

- Changed semantics of Client_SetAway().


Alexander Barton

- Updated documentation.



Alexander Barton

- Updated documentation.


Alexander Barton

- Updated german documentation.


Alexander Barton

- Updated documentation.



Alexander Barton

- Check functions only on systems that support prototypes, elder cpmpilers

become confused instead!



Alexander Barton

- Link portabtest agains "true" library.


Alexander Barton

- Added missing PARAMS().



Alexander Barton

- Updated documentation.





Alexander Barton

- Updated documentation.



Alexander Barton

- Updated documentation.


Alexander Barton

- Fixed up command forwarding: only to servers!

- Forwarding of WHOIS was broken in some situations.



Alexander Barton

- Updated documentation.


Alexander Barton

- Changed "once"-server-config-flag into a generic flag.

- Changed semantics of "NGIRCd_Passive".


Alexander Barton

- New functions Conf_EnableServer(), Conf_DisableServer() and Conf_AddServer().

- Changed "once"-server-config-flag into a generic flag.


Alexander Barton

- New command DISCONNECT.


Alexander Barton

- New commands CONNECT and DISCONNECT.


Alexander Barton

- New commands CONNECT and DISCONNECT.

- Validate operator status before syntax checks.



Alexander Barton

- Updated documentation.





Alexander Barton

- Updated dokumentation.





Alexander Barton

- Fixed up some brackets ("[" and "]") ...



Alexander Barton

- Enhanced check for select() and poll().


Alexander Barton

- Removed needless include of <sys/select.h>.


Alexander Barton

- Added tests for <sys/poll.h> and poll().


Alexander Barton

- Fixed prefix of error messages of KILL.


Alexander Barton

- Updated documentation.


Alexander Barton

- If the server can't close a socket, it panics now.

- Quite enhanced logging :-)


Alexander Barton

- Nicer log messages ;-)


Alexander Barton

- KILL can't kill server-links any more.


Alexander Barton

- new message ERR_CANTKILLSERVER_MSG.


Alexander Barton

- Updated documentation.


Alexander Barton

- Updated documentation.


Alexander Barton

- fixed KILL: you can kill yourself now without crashing the server;

QUIT isn't send to other servers after the KILL any more.


Alexander Barton

- Updated documentation.






Alexander Barton

- include <sys/types.h>, if available.




Alexander Barton

- added prototypes for replacement functions.


Alexander Barton

- added tests for strlcpy() and strlcat().


Alexander Barton

- added tests for replacement functions.





Alexander Barton

- Updated documentation.




Alexander Barton

- Updated documentation.


Alexander Barton

- Updated documentation.



Alexander Barton

- new numeric on login: RPL_FEATURE




Alexander Barton

- Updated documentation.


Alexander Barton

- renamed variables to fit new signal handler.

- moved call to NGIRCd_Rehash() to Conn_Handler().



Alexander Barton

- New signal handler.


Alexander Barton

- Updated documentation.


Alexander Barton

- Updated documentation.



Alexander Barton

- fixed RPL_STATSCOMMANDS_MSG



Alexander Barton

- new function Parse_GetCommandStruct().




Alexander Barton

- Updated documentation.




Alexander Barton

- validate Conf_MaxConnections against FD_SETSIZE if available;

- fixed up some log messages and enhanced configuration validation.



Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- new constant RPL_YOURESERVICE_MSG, ERR_CHANNELISFULL_MSG, ERR_BADCHANNELKEY_MSG.

- fixed ERR_PASSWDMISMATCH_MSG.


Alexander Barton

- new constant MAX_SERVICES,

- added k and l modes to CHANMODES.




Alexander Barton

- fixed some error messages and prefixes.



Alexander Barton

- Updated documentation.


Alexander Barton

- fixed some parsing bugs.

- better logging.


Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- new (and much more flexible!) MODE parser



Alexander Barton

Dokumentation aktualisiert.


Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- fixed up Conf_MaxJoins test on JOIN.



Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- new message ERR_TOOMANYCHANNELS_MSG.



Alexander Barton

- new function Channel_CountForUser().



Alexander Barton

- removed old ID tag


Alexander Barton

- new file header format (in english);

- new file ident semantics.


Alexander Barton

- new file header format (in english).



Alexander Barton

- new file header format.



Alexander Barton

- new file header format.


Alexander Barton

- translated file header and comments to english;

- new file ident semantics.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- IRC Operators can KILL users now.



Alexander Barton

- Logging von doppelten ID's verbessert.




Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- STATS: Unterfunktion "L" implementiert.


Alexander Barton

- neue Befehle: Conn_StartTime(), Conn_SendQ(), Conn_RecvQ(), Conn_SendMsg(),

Conn_RecvMsg(), Conn_SendBytes[Zip](), Conn_RecvBytes[Zip]().



Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Dokumentation aktualisiert.






Alexander Barton

- Parser auf Befehlstabelle umgestellt.





Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- beim Umschalten auf Kompression wurden evtl. bereits gelesene Daten nicht

entpackt, der Datenstrom war somit dann korrumpiert.


Alexander Barton

- Logging bei Prefix-Fehlern verbessert.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- neue Funktionen: Conn_SetOption(), Conn_UnsetOption(), Conn_Options().

- wenn mit zlib-Support: Conn_InitZip().




Alexander Barton

- Falsche Variable korrigiert ...


Alexander Barton

- nun ueberfluessige Meldung entfernt.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- neuer Befehl IRC_TIME().


Alexander Barton

- neuer IRC-Befehl "TIME".


Alexander Barton

- neue Konstante RPL_TIME_MSG.



Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- volle Lesebuffer und Timeouts behandelt Conn_Handle() nun besser.

- Handle_Buffer() liefert nun ein Ergebnis.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- select() in Try_Write() hat falschen (keinen!) Timeout verwendet;

- der Timeout fuer das select() in Conn_Handler() ist nun TIME_RES (=2).



Alexander Barton

- Dokumentation aktualisiert ...



Alexander Barton

- RELOAD in REHASH umbenannt.

- neue Funktion WHOWAS.


Alexander Barton

- IRC_RELOAD() in IRC_REHASH() umbenannt.


Alexander Barton

- neue Funktion IRC_WHOWAS() begonnen.



Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- neue Meldungen: RPL_STATSLINKINFO, RPL_STATSCOMMANDS, RPL_ENDOFSTATS,

RPL_WHOWASUSER, RPL_ENDOFWHOWAS und ERR_WASNOSUCHNICK.


Alexander Barton

- Dokumentation aktualisiert [RPL_UMODEIS]





Alexander Barton

- Dokumentation aktualisiert [RELOAD].


Alexander Barton

- neue Funktion NGIRCd_Reload().


Alexander Barton

- Listen-Sockets werden ueber neue Funktion Conn_InitListeners() erzeugt.

- neue Funktion NGIRCd_Reload(). - Logging bei empfangenen Signalen verbessert. - SIGHUP ruft nun NGIRCd_Reload() auf.


Alexander Barton

- neue Funktion IRC_RELOAD().



Alexander Barton

- bessere Log-Meldungen.



Alexander Barton

- neuer Befehl IRC_RELOAD().


Alexander Barton

- Befehle sortiert,

- neuer Befehl RELOAD.



Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- angenommene Socketes werden nun korrekt auf "non-blocking" gestellt;

- beim Senden und Empfangen wird EAGAIN ("Blockierung") nun abgefangen.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Fehler-Ausgaben verbessert (Prefix-Fehler).




Alexander Barton

- Rechtschreibfehler korrigiert ;-)




Alexander Barton

- ProjectBuilder-Projektdatei aktualisiert.



Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- unter HP-UX wird nun _XOPEN_SOURCE_EXTENDED definiert. Fuer den gcc

unter 11.11 ist dies erforderlich.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Dokumentation fuer A/UX ueberarbeitet.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Fehler-Handling von connect() gefixed: der Server kann sich nun auch

unter A/UX wieder zu anderen verbinden.


Alexander Barton

- Test-Suite an A/UX angepasst.


Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- Dokumentation aktualisiert bzw. begonnen.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- in ServerUID und ServerGID kann nun jeweils auch der Name (und nicht nur

die numerische ID) verwendet werden.


Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- Neue Funktion Conn_SetServer().

- Einige assert()'s aufgeraumt.


Alexander Barton

- neue Funktion Conn_SetServer().


Alexander Barton

- Dokumentation aktualisiert.



Alexander Barton

- falsche Konstante korrigiert ... *argl*!





Alexander Barton

- Dokumentation aktualisiert.


Alexander Barton

- Dokumentation aktualisiert.