Commit Briefs
ngIRCd Release 26.1 (origin/master, tags/rel-26.1)
2021! :-)
Happy new year!
ngIRCd Release 26 (tags/rel-26)
ngIRCd Release 26~rc2 (tags/rel-26-rc2)
ngIRCd Release 26~rc1 (tags/rel-26-rc1)
Fix some typos (documentation files, ngircd.conf manual page, ...)
Spotted by Étienne Mollier <etienne.mollier@mailoo.org> and Christoph Biedl <debian.axhn@manchmal.in-ulm.de>, see Debian bug #932462 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932462). Thank you!
ngIRCd Release 25 (tags/rel-25)
ngIRCd Release 25~rc1 (tags/rel-25-rc1)
ngIRCd Release 24 (tags/rel-24)
ngIRCd Release 24~rc1 (tags/rel-24-rc1)
ngIRCd Release 23 (tags/rel-23)
ngIRCd Release 23~rc1 (tags/rel-23-rc1)
ngIRCd Release 22.1 (tags/rel-22.1)
ngIRCd Release 22 (tags/rel-22)
ngIRCd Release 22~rc1 (tags/rel-22-rc1)
ngIRCd Release 21.1
(cherry picked from commit ee28e76df2a73f3bb4bcf69c644eae9a10298a58)
ngIRCd Release 21 (tags/rel-21)
ngIRCd Release 21~rc2 (tags/rel-21-rc2)
ngIRCd Release 21~rc1 (tags/rel-21-rc1)
ngIRCd Release 20.3
(cherry picked from commit bb6e2779636aa6d74bbff474880829f0183a3c94) Conflicts: ChangeLog NEWS
ngIRCd Release 20.2
(cherry picked from commit c45d9dd1f08fddb95fa01d62c69848cd753a3161)
ngIRCd Release 20.1 (tags/rel-20.1)
ngIRCd Release 20 (tags/rel-20)
ngIRCd 20~rc1 (tags/rel-20-rc1)
ngIRCd release 19.2 (tags/rel-19.2)
ngIRCd release 19.2~rc1 (tags/rel-19.2-rc1)
ngIRCd Release 19.1 (tags/rel-19.1)
ngIRCd release 19 (tags/rel-19)
ngIRCd release 19~rc1 (tags/rel-19-rc1)
Fixed some spelling errors in documentation and code comments
Thanks to Christoph Biedl!
ngIRCd release 18~rc2 (tags/rel-18-rc2)
ngIRCd release 18~rc1 (tags/rel-18-rc1)
Update copyright notices for 2010 :)
And update the NEWS and ChangeLog file as well.
ngIRCd release 17.1 (tags/rel-17.1)
ngIRCd release 17 (tags/rel-17)
ngIRCd Release 17~rc3 (tags/rel-17-rc3)
ngIRCd release 17~rc2 (tags/rel-17-rc2)
ngIRCd release 17~rc1 (tags/rel-17-rc1)
New configuration option "NoZeroConf" to disable ZeroConf registration
If ngIRCd is compiled to register its services using ZeroConf (e.g. using Howl, Avahi or on Mac OS X) this parameter can be used to disable service registration at runtime.
New configuration option "SyslogFacility"
The new option "SyslogFacility" deines the syslog "facility" to which ngIRCd should send log messages. Possible values are system dependant, but most probably "auth", "daemon", "user" and "local1" through "local7" are possible values; see syslog(3). Default is "local5" for historical reasons.
ngIRCd release 16 (tags/rel-16)
ngIRCd release 16~rc2 (tags/rel-16-rc2)
ngIRCd release 15~rc1 (tags/rel-15-rc1)
ngIRCd release 14 (tags/rel-14)
ngIRCd release 14~rc1 (tags/rel-14-rc1)
ngIRCd release 13 (tags/rel-13)
ngIRCd release 13~rc1 (tags/rel-13-rc1)
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.
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>
Added CVE identifiers to ChangeLog.
see http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ngircd
Update master development branch
- use "dev" instead of "HEAD" as "version number", - update ChangeLog and NEWS to reflect the 0.12.0 release.
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.
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 ...
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]
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).
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 ]
Documentation: get rid of some more references to CVS, switch to GIT.
(cherry picked from commit 6e9389b86c906c53a7797b8ced87a19195e16333)
Include Mac OS X Xcode project in distribution archives.
Oops, it has not been included since ... ages??
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.
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.
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.
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.
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.
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.
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]
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>.
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.
Fixes the wrong logging output when nested servers are introduced
to the network as well as the wrong output of the LINKS command.
SECURITY: Fixed a severe bug in handling JOIN commands, which could
cause the server to crash. Thanks to Sebastian Vesper, <net@veoson.net>.
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.
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.
Allow PASS syntax defined in RFC 1459 for server links, too.
Removed client status CLIENT_GOTPASSSERVER.
Removed kqueue bug fix (never released), rephrased some internal changes,
and added "time shift" bug fix.
Enhanced the handler for PING and PONG commands: fix forwarding and enable
back-passing of a client supplied additional argument of PING.
Changed handling of timeouts for unregistered connections: don't reset
the counter if data is received and disconnect clients earlier.
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]
Don't exit server if closing of a socket fails; instead ignore it and
pray that this will be "the right thing" ...
Enhanced configure script: now you can pass an (optional) search path
to all --with-XXX parameters, e. g. "--with-ident=/opt/ident".
Write "error file" (/tmp/ngircd-XXX.err) only if compiled with debug
code ("--enable-debug") and running as daemon process.
Don't create version information string each time a client connects but
insetead on server startup. By Florian Westphal.
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>.
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)
Fixed a buffer overflow that could cause the daemon to crash. Bug found
by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
Fixed a possible buffer underrun when reading the MOTD file. Thanks to
Florian Westphal, <westphal@foo.fh-furtwangen.de>.
Fixed detection of IRC lines which are too long to send. Detected by
Florian Westphal, <westphal@foo.fh-furtwangen.de>.
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 :-/
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>.
Added support for the Howl (http://www.porchdogsoft.com/products/howl/)
Rendezvous API, in addition to the API of Apple (Mac OS X).
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.
New "chroot" feature (from Benjamin Pineau), introducing new configuration
variables "ChrootDir" and "MotdPhrase".
Fixed a wrong assert() which could cause the daemon to exit spuriously
when closing down connections.
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.
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.
Better logging while establishing and shutting down connections.
Results of the resolver are now discarded after the client is registered.
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.
Fixed (optional) TCP Wrapper test which was broken and could result in
false results. Thanks to Fuminori Tanizaki <tany@mcnet.ad.jp>!
Fixed ban behavior: users which are banned from a channel can't no longer
send PRIVMSG's to this channel (fixes Bug #47).
Fixed and enhanced penalty handling; changed internal time resoluiton of
the server to one second. Code cleanup.
- Version 0.2.0 (tags/rel-0-2-0)