ngIRCd - Next Generation IRC Server
- (c)2001-2008 Alexander Barton,
+ (c)2001-2009 Alexander Barton,
alex@barton.de, http://www.barton.de/
ngIRCd is free software and published under the
-- ChangeLog --
+ngIRCd Release 14 (2009-04-20)
+
+ - Display IPv6 addresses as "[<addr>]" when accepting connections.
+
+ ngIRCd 14~rc1 (2009-03-29)
+ - Updated Debian/Linux init script (see contrib/Debian/ngircd.init).
+ - Allow creation of persistent modeless channels.
+ - The INFO command reports the compile time now (if available).
+ - Spell check and enhance ngIRCd manual pages.
+ - Channel mode changes: break on syntax errors in MODE command.
+ - Support individual channel keys for pre-defined channels: introduce
+ new configuration variable "KeyFile" in [Channel] sections in ngircd.conf,
+ here a file can be configured for each pre-defined channel which contains
+ individual channel keys for different users.
+ - Remove limit on maximum number of predefined channels in ngircd.conf.
+ - Updated ngircd.spec file for building RPM packages.
+ - Add new and missing files to Mac OS X Xcode project, and update project.
+ - Reject masks with wildcard after last dot.
+ - TLS/SSL: remove useless error message when ssl connection is closed.
+ - Fix memory leak when a encrypted and compressed server link goes down.
+ (closes bug #95, reported by Christoph, fiesh@fiesh.homeip.net)
+ - Fix handling of channels containing dots.
+ (closes ug #93, reported by Gonosz Csiga)
+
ngIRCd Release 13 (2008-12-25)
- Updated documentation, especially doc/Services.txt and doc/SSL.txt.
- Make the test suite work on OpenSolaris.
ngIRCd 13~rc1 (2008-11-21):
- - New version numer scheme :-)
- - Initial support for IRC services, using a RFC1459 styel interface,
+ - New version number scheme :-)
+ - Initial support for IRC services, using a RFC1459 style interface,
tested with IRCServices (http://www.ircservices.za.net/) version 5.1.13.
For this to work, ngIRCd now supports server-server links conforming
to RFC 1459. New ngircd.conf(5) option: ServiceMask.
- Update ngIRCd manual pages
- Add option aliases -V (for --version) and -h (for --help).
- Fix 'no-ipv6' compile error.
- - Make Listen parameter a comma-seperated list of addresses. This also
+ - Make Listen parameter a comma-separated 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,
- Fix Bug: 85: "WHO #SecretChannel" that user is not a member of now returns
proper RPL_ENDOFWHO_MSG instead of nothing. (Ali Shemiran)
- - Fix complie on FreeBSD 5.4 and AIX.
- - If bind() fails, also print ip address and not just the port number.
+ - Fix compile on FreeBSD 5.4 and AIX.
+ - If bind() fails, also print IP address and not just the port number.
ngIRCd 0.12.0-pre2 (2008-04-29)
- - IPv6: Add config options to disabe ipv4/ipv6 support.
+ - IPv6: Add config options to disable ipv4/ipv6 support.
- Don't include doc/CVS.txt in distribution archive, use doc/GIT.txt now!
- Documentation: get rid of some more references to CVS, switch to GIT.
- Get rid of cvs-version.* and CVSDATE definition.
- Use dotted-decimal IP address if hostname is >= 64.
- Add support for /STAT u (server uptime) command.
- New [Server] configuration Option "Bind" allows to specify
- the source ip adress to use when connecting to remote server.
+ the source IP address to use when connecting to remote server.
- 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).
+ enable server to recognize numeric 005 (ISUPPORT) and 376 (ENDOFMOTD).
See doc/Protocol.txt for details.
- Re-added doc/SSL.txt to distribution -- got lost somewhere!?
- Fixes the wrong logging output when nested servers are introduced
- Better error reporting to clients on connect.
- Enhanced manual pages ngircd(8) and ngircd.conf(5).
- Documentation is now installed in $(datadir)/doc/ngircd.
- - Enhanced hanling of NJOIN in case of nick collisions.
+ - Enhanced handling of NJOIN in case of nick collisions.
ngIRCd 0.6.1, 2003-01-21
ngIRCd - Next Generation IRC Server
- (c)2001-2008 Alexander Barton,
+ (c)2001-2009 Alexander Barton,
alex@barton.de, http://www.barton.de/
ngIRCd is free software and published under the
-- NEWS --
+ngIRCd Release 14 (2009-04-20)
+
+ ngIRCd 14~rc1 (2009-03-29)
+ - Allow creation of persistent modeless channels.
+ - The INFO command reports the compile time now (if available).
+ - Support individual channel keys for pre-defined channels: introduce
+ new configuration variable "KeyFile" in [Channel] sections in ngircd.conf,
+ here a file can be configured for each pre-defined channel which contains
+ individual channel keys for different users.
+ - Remove limit on maximum number of predefined channels in ngircd.conf.
+
ngIRCd Release 13 (2008-12-25)
ngIRCd 13~rc1 (2008-11-21):
- - New version numer scheme :-)
- - Initial support for IRC services, using a RFC1459 styel interface,
+ - New version number scheme :-)
+ - Initial support for IRC services, using a RFC1459 style interface,
tested with IRCServices (http://www.ircservices.za.net/) version 5.1.13.
For this to work, ngIRCd now supports server-server links conforming
to RFC 1459. New ngircd.conf(5) option: ServiceMask.
ngIRCd 0.12.1 (2008-07-09)
- Add option aliases -V (for --version) and -h (for --help).
- - Make Listen parameter a comma-seperated list of addresses. This also
+ - Make Listen parameter a comma-separated 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,
ngIRCd 0.12.0 (2008-05-13)
ngIRCd 0.12.0-pre2 (2008-04-29)
- - IPv6: Add config options to disabe ipv4/ipv6 support.
+ - IPv6: Add config options to disable ipv4/ipv6 support.
ngIRCd 0.12.0-pre1 (2008-04-20)
- Add IPv6 support.
- Add support for /STAT u (server uptime) command.
- New [Server] configuration Option "Bind" allows to specify
- the source ip adress to use when connecting to remote server.
+ the source IP address to use when connecting to remote server.
- New configuration option "MaxNickLength" to specify the allowed maximum
length of user nick names. Note: must be unique in an IRC network!
- Numeric 317: implemented "signon time" (displayed in WHOIS result).
ftp://arthur.barton.de/pub/unix/aux/libraries/libUTIL-2.1.tar.gz
This library contains functions that are common on other UNIX
- systems but not on A/UX e.g. memmove(), strerror() und strdup().
+ systems but not on A/UX e.g. memmove(), strerror() and strdup().
After installation of these packages just do a "./configure" and "make" to
the 'config.status' script. Better rename /bin/sh to /bin/sh.AUX and
replace it by a symbolic link to /bin/ksh (ln -s /bin/ksh /bin/sh as
root).
- These procedure should'nt cause you into problems and is recommended
+ These procedure shouldn't cause you into problems and is recommended
even if you don't use ngIRCd.
--
select(): Bad file descriptor!
Es sieht leider so aus, als ob das select() von BeOS nicht mit File-Handles
-von Pipes verschiedener Prozesse umgehen kann: sobald der Resolver asyncron
+von Pipes verschiedener Prozesse umgehen kann: sobald der Resolver asynchron
gestartet wird, also Pipe-Handles im select() vorhanden sind, fuehrt das zu
obiger Meldung.
--with-openssl enable SSL support using OpenSSL
--with-gnutls enable SSL support using GnuTLS
-You need a SSL certificate, see below for how to create a self-signed one.
+You also need a key/certificate, see below for how to create a self-signed one.
+From a feature point of view, ngIRCds support for both libraries is
+comparable. The only major difference (at this time) is that ngircd with gnutls
+does not support password protected private keys.
Configuration
~~~~~~~~~~~~~
Alternate approach using stunnel(1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Alternatively (or if you are using ngIRCd without compiled without support
+Alternatively (or if you are using ngIRCd compiled without support
for GnuTLS/OpenSSL), you can use external programs/tools like stunnel(1) to
get SSL encrypted connections:
That's it.
Don't forget to activate ssl support in your irc client ;)
+ The main drawback of this approach compared to using builtin ssl
+ is that from ngIRCds point of view, all ssl-enabled client connections will
+ originate from the host running stunnel.
=== snip ===
of the newer Avahi[5] library.
When calling the configure script using the "--with-zeroconf" switch the
-avalable API will be autodetected and the required additional libraries will
+available API will be autodetected and the required additional libraries will
be linked to the ngircd binary as required.
ngIRCd then registers a DNS-SD service for each port it is listening on using
# Diffie-Hellman parameters
;SSLDHFile = /usr/local/etc/ngircd/ssl/dhparams.pem
- # comma seperated list of IP addresses on which the server should
+ # comma separated list of IP addresses on which the server should
# listen. Default values are:
# "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0"
# so the server listens on all IP addresses of the system by default.
# Connect to the remote server using TLS/SSL (Default: false)
;SSLConnect = yes
- # Define a (case insensitive) mask matching nick names that sould be
+ # Define a (case insensitive) mask matching nick names that should be
# treated as IRC services when introduced via this remote server.
# REGULAR SERVERS DON'T NEED this parameter, so leave it empty
# (which is the default).
# When you are connecting IRC services which mask as a IRC server
# and which use "virtual users" to communicate with, for example
- # "NickServ" amd "ChanServ", you should set this parameter to
+ # "NickServ" and "ChanServ", you should set this parameter to
# something like "*Serv".
;ServiceMask = *Serv
# initial channel password (mode k)
;Key = Secret
+ # Key file, syntax for each line: "<user>:<nick>:<key>".
+ # Default: none.
+ ;KeyFile = /etc/ngircd/#chan.key
+
# maximum users per channel (mode l)
;MaxUsers = 23