391 lines
19 KiB
Plaintext
391 lines
19 KiB
Plaintext
|
|
ngIRCd - Next Generation IRC Server
|
|
|
|
(c)2001-2010 Alexander Barton,
|
|
alex@barton.de, http://www.barton.de/
|
|
|
|
ngIRCd is free software and published under the
|
|
terms of the GNU General Public License.
|
|
|
|
-- NEWS --
|
|
|
|
|
|
ngIRCd Release 17 (2010-11-07)
|
|
|
|
- doc: change path names in sample-ngircd.conf depending on sysconfdir
|
|
|
|
ngIRCd 17~rc2 (2010-10-25)
|
|
- Generate ngIRCd version number from GIT tag.
|
|
- Make sourcecode compatible with ansi2knr again. This allows to compile
|
|
ngIRCd using a pre-ANSI K&R C compiler again.
|
|
|
|
ngIRCd 17~rc1 (2010-10-11)
|
|
- New configuration option "NoZeroConf" to disable service registration at
|
|
runtime even if ngIRCd is compiled with support for ZeroConf (e.g. using
|
|
Howl, Avahi or on Mac OS X).
|
|
- New configuration option "SyslogFacility" to define the syslog "facility"
|
|
(the "target"), to which ngIRCd should send its 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.
|
|
- Dump the "internal server state" (configured servers, established
|
|
connections and known clients) to the console or syslog when receiving
|
|
the SIGUSR2 signal and debug mode is enabled.
|
|
- Enable the daemon to disable and enable "debug mode" on runtime using
|
|
signal SIGUSR1, when debug code is compiled in, not only on startup
|
|
using the command line parameters.
|
|
- Implement user mode "x": hostname cloaking (closes: #102).
|
|
- Change MOTD file handling: ngIRCd now caches the contens of the MOTD
|
|
file, so the daemon now requires a HUP signal or REHASH command to
|
|
re-read the MOTD file when its content changed.
|
|
- Allow IRC ops to change channel modes even without OperServerMode set.
|
|
- Allow IRC operators to use MODE command on any channel (closes: #100).
|
|
- New configuration option "NoPAM" to disable PAM.
|
|
- Implement asynchronous user authentication using PAM, please see the
|
|
file doc/PAM.txt for details.
|
|
- Add some documentation for using BOPM with ngIRCd, see doc/Bopm.txt.
|
|
- Implement user mode "c": receive connect/disconnect NOTICEs. Note that
|
|
this new mode requires the user to be an IRC operator.
|
|
- Show SSL status in WHOIS output, numeric 275.
|
|
|
|
ngIRCd Release 16 (2010-05-02)
|
|
|
|
ngIRCd 16~rc2 (2010-04-25)
|
|
- Enhace connection statistics counters: display total number of served
|
|
connections on daemon shutdown and when a new client connects using
|
|
the new numeric RPL_STATSCONN (250).
|
|
|
|
ngIRCd 16~rc1 (2010-03-25)
|
|
- Implement WEBIRC command used by some Web-IRC frontends. The password
|
|
required to secure this command must be configured using the new
|
|
"WebircPassword" variable in the ngircd.conf file.
|
|
- Remove limit on max number of configured irc operators.
|
|
- A new channel mode "secure connections only" (+z) has been implemented:
|
|
Only clients using a SSL encrypted connection to the server are allowed
|
|
to join such a channel.
|
|
But please note three things: a) already joined clients are not checked
|
|
when setting this mode, b) IRC operators are always allowed to join
|
|
every channel, and c) remote clients using a server not supporting this
|
|
mode are not checked either and therefore always allowed to join.
|
|
|
|
ngIRCd Release 15 (2009-11-07)
|
|
|
|
ngIRCd 15~rc1 (2009-10-15)
|
|
- Do not add default listening port (6667) if SSL ports were specified, so
|
|
ngIRCd can be configured to only accept SSL-encrypted connections now.
|
|
- Enable IRC operators to use the IRC command SQUIT (insted of the already
|
|
implemented but non-standard DISCONNECT command).
|
|
- New configuration option "AllowRemoteOper" (disabled by default) that
|
|
enables remote IRC operators to use the IRC commands SQUIT and CONNECT
|
|
on the local server.
|
|
- Enforce upper limit on maximum number of handled commands. This implements
|
|
a throttling scheme: an IRC client can send up to 3 commands or 256 bytes
|
|
per second before a one second pause is enforced.
|
|
|
|
ngIRCd Release 14.1 (2009-05-05)
|
|
|
|
- Security: fix remotely triggerable crash in SSL/TLS code.
|
|
- Debian: build ngircd-full-dbg package.
|
|
- Allow ping timeout quit messages to show the timeout value.
|
|
|
|
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 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.
|
|
- Support for SSL-encrypted server-server and client-server links using
|
|
OpenSSL (configure: --with-openssl) or GNUTLS (configure: --with-gnutls).
|
|
New ngircd.conf(5) options: SSLPorts, SSLKeyFile, SSLKeyFilePassword,
|
|
SSLCertFile, SSLDHFile, and SSLConnect.
|
|
- Server local channels have been implemented, prefix "&", that are only
|
|
visible to users of the same server and are not visible in the network.
|
|
In addition ngIRCd creates a "special" channel &SERVER on startup and logs
|
|
all the messages to it that a user with mode +s receives.
|
|
- New make target "osxpkg" to build a Mac OS X installer package.
|
|
- New configuration option "NoIdent" to disable IDENT lookups even if the
|
|
daemon is compiled with IDENT support.
|
|
|
|
ngIRCd 0.12.1 (2008-07-09)
|
|
|
|
- Add option aliases -V (for --version) and -h (for --help).
|
|
- 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,
|
|
but ngircd will print a warning if they are used in the config file.
|
|
|
|
ngIRCd 0.12.0 (2008-05-13)
|
|
|
|
ngIRCd 0.12.0-pre2 (2008-04-29)
|
|
- IPv6: Add config options to disable ipv4/ipv6 support.
|
|
|
|
ngIRCd 0.12.0-pre1 (2008-04-20)
|
|
- Add IPv6 support.
|
|
- Install a LaunchDaemon script to start/stop ngIRCd on Mac OS X.
|
|
- Implemented IRC commands INFO, SUMMON (dummy), and USERS (dummy) and
|
|
enhanced test suite to check these commands. (Dana Dahlstrom)
|
|
- IRC_WHO now supports search patterns and will test this against user
|
|
nickname/servername/hostname, etc. as required by RFC 2812, Section 3.6.1.
|
|
(reported by Dana Dahlstrom)
|
|
- Implement RFC 2812 handling of "0" argument to 'JOIN': must be treated
|
|
as if the user had sent PART commands for all channels the user is a
|
|
member of. (Dana Dahlstrom)
|
|
- Allow NOTICEs to be sent to a channel. (Fabian Schlager)
|
|
|
|
ngIRCd 0.11.0 (2008-01-15)
|
|
|
|
- Add support for /STAT u (server uptime) command.
|
|
- New [Server] configuration Option "Bind" allows to specify
|
|
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).
|
|
- Added new server configuration option "Passive" for "Server" blocks to
|
|
disable automatic outgoing connections (similar to -p option to ngircd,
|
|
but only for the specified server). (Tassilo Schweyer)
|
|
- Added support for the WALLOPS command. Usage is restricted to IRC
|
|
operators.
|
|
|
|
ngIRCd 0.10.2 (2007-06-08)
|
|
|
|
- Predefined channel configuration now allows specification of channel key
|
|
(mode k) and maximum user count (mode l): variables "Key" and "MaxUsers".
|
|
- When using the epoll() IO interface, compile in the select() interface as
|
|
well and fall back to it when epoll() isn't available on runtime.
|
|
- Added support for IO APIs "poll()" and "/dev/poll".
|
|
|
|
ngIRCd 0.10.1 (2006-12-17)
|
|
|
|
- Allow PASS syntax defined in RFC 1459 for server links, too.
|
|
- New configuration option "PredefChannelsOnly": if set, clients can only
|
|
join predefined channels.
|
|
|
|
ngIRCd 0.10.0 (2006-10-01)
|
|
|
|
ngIRCd 0.10.0-pre1 (2006-08-02)
|
|
- Enhanced DIE to accept a single parameter ("comment text") which is sent
|
|
to all locally connected clients before the server goes down.
|
|
- JOIN now supports more than one channel key at a time.
|
|
- Implemented numeric "333": Time and user name who set a channel topic.
|
|
- Channel topics are no longer limited to 127 characters: now the only limit
|
|
is the maximum length of an IRC command, i. e. 512 bytes (in practice, this
|
|
limits the topic to about 490 characters due to protocol overhead).
|
|
- Reverse DNS lookup code now checks the result by doing an additional
|
|
lookup to prevent spoofing.
|
|
- Added new IO layer which (optionally) supports epoll() and kqueue() in
|
|
addition to the select() interface.
|
|
|
|
ngIRCd 0.9.0 (2005-07-24)
|
|
|
|
- Never run with root privileges but always switch the user ID.
|
|
- Make "netsplit" messages RFC compliant.
|
|
- Implemented the IRC function "WHOWAS".
|
|
- New configuration option "OperServerMode" to enable a workaround needed
|
|
when running an network with ircd2 servers and "OperCanUseMode" enabled
|
|
to prevent the ircd2 daemon to drop mode changes of IRC operators.
|
|
Patch by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
|
|
- Implemented support for "secret channels" (channel mode "s").
|
|
- New configuration option "Mask" for [Operator] sections to limit OPER
|
|
commands to users with a specific IRC mask. Patch from Florian Westphal.
|
|
- New configuration variable "PidFile", section "[Global]": if defined,
|
|
the server writes its process ID (PID) to this file. Default: off.
|
|
Idea of 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). The available
|
|
API will be autodetected when you call "./configure --with-rendezvous".
|
|
|
|
ngIRCd 0.8.0 (2004-06-26)
|
|
|
|
- Two new configuration options: "ChrootDir" and "MotdPhrase", thanks to
|
|
Benjamin Pineau <ben@zouh.org>. Now you can force the daemon to change
|
|
its root and working directory to something "safe". MotdPhrase is used
|
|
to define an "MOTD string" instead of a whole file, useful if the
|
|
"real" MOTD file would be outside the "jail".
|
|
- INVITE- and BAN-lists become synchronized between IRC+ servers when
|
|
establishing new connections, if the peer supports this as well.
|
|
- The type of service (TOS) of all sockets is set to "interactive" now.
|
|
- Added short command line option "-t" as alternative to "--configtest".
|
|
- Added optional support for "IDENT" lookups on incoming connections. You
|
|
have to enable this function with the ./configure switch "--with-ident".
|
|
The default is not to do IDENT lookups.
|
|
|
|
ngIRCd 0.7.5 (2003-07-11)
|
|
|
|
- New configuration variable "MaxConnectionsIP" to limit the number of
|
|
simultaneous connections from a single IP that the server will accept.
|
|
This configuration options lowers the risk of denial of service attacks
|
|
(DoS), the default is 5 connections per client IP.
|
|
- Added new configuration variable "Listen" to bind all listening
|
|
sockets of the server to a single IP address.
|
|
|
|
ngIRCd 0.7.1 (2003-07-18)
|
|
|
|
- Added support for GNU/Hurd.
|
|
|
|
ngIRCd 0.7.0 (2003-05-01)
|
|
|
|
- New command CONNECT to enable and add server links. The syntax is not
|
|
RFC-compatible: use "CONNECT <name> <port>" to enable and connect an
|
|
configured server and "CONNECT <name> <port> <host> <mypwd> <peerpwd>"
|
|
to add a new server (ngIRCd tries to connect new servers only once!).
|
|
- Added DISCONNECT command ("DISCONNECT <name>") to disable servers.
|
|
- New command TRACE (you can trace only servers at the moment).
|
|
- New command HELP that lists all understood commands.
|
|
- ngIRCd can register itself with Rendezvous: to enable support pass the
|
|
new switch "--with-rendezvous" to configure.
|
|
- Added support for TCP Wrappers library: pass "--with-tcp-wrappers" to
|
|
configure to enable it.
|
|
- Changed some configure options to use "--with"/"--without" as prefix
|
|
instead of "--enable"/"--disable": "--without-syslog", "--without-zlib",
|
|
"--with-tcp-wrappers", and "--with-rendezvous".
|
|
- Enhanced manual pages ngircd(8) and ngircd.conf(5).
|
|
- Documentation is now installed in $(datadir)/doc/ngircd.
|
|
|
|
|
|
Older news (sorry, only available in german language):
|
|
|
|
ngIRCd 0.6.0, 2002-12-24
|
|
|
|
- beim Schliessen einer Verbindung zeigt der Server nun vor dem ERROR
|
|
noch eine Statistik ueber die empfangene und gesendete Datenmenge an.
|
|
- Connection-Strukturen werden nun "pool-weise" verwaltet; der Pool wird
|
|
bei Bedarf bis zu einem konfigurierten Limit vergroessert.
|
|
- Mit der neuen Konfigurationsvariable "MaxConnections" (Sekion "Global")
|
|
kann die maximale Anzahl gleichzeitiger Verbindungen begrenzt werden.
|
|
Der Default ist -1, "unlimitiert".
|
|
- der Server erkennt nun, ob bereits eine eingehende Verbindung von einem
|
|
Peer-Server besteht und versucht dann nicht mehr, selber eine eigene
|
|
ausgehende Verbindung zu diesem auufzubauen. Dadurch kann nun auf beiden
|
|
Servern in der Konfiguration ein Port fuer den Connect konfiguriert
|
|
werden (beide Server versuchen sich dann gegenseitig zu connectieren).
|
|
- Server identifizieren sich nun mit asyncronen Passwoertern, d.h. das
|
|
Passwort, welches A an B schickt, kann ein anderes sein als das, welches
|
|
B als Antwort an A sendet. In der Konfig.-Datei, Abschnitt "Server",
|
|
wurde "Password" dazu durch "MyPassword" und "PeerPassword" ersetzt.
|
|
- Der Server kann nun zur Laufzeit die Konfiguration neu einlesen: dies
|
|
macht er nach dem Befehl REHASH oder wenn ein HUP-Signal empfangen wird.
|
|
- Server-Server-Links koennen nun komprimiert werden, dazu wird die zlib
|
|
(www.zlib.org) benoetigt. Unterstuetzt die Gegenseite die Komprimierung
|
|
nicht, wird automatisch unkomprimiert kommuniziert. Das Verfahren ist
|
|
kompatibel mit dem Original-ircd 2.10.3, d.h. beide Server koennen
|
|
miteinander ueber komprimiert Links kommunizieren.
|
|
- neue Konfigurations-Variable "MaxJoins": Hiermit kann die maximale Zahl
|
|
der Channels, in denen ein User Mitglied sein kann, begrent werden.
|
|
- neue Channel-Modes l (User-Limit) und k (Channel-Key) implementiert.
|
|
|
|
ngIRCd 0.5.0, 20.09.2002
|
|
|
|
- AIX (3.2.5), HP-UX (10.20), IRIX (6.5), NetBSD (1.5.3/m68k) und Solaris
|
|
(2.5.1, 2.6) gehoeren nun auch zu den unterstuetzten Platformen.
|
|
- Unter A/UX (und evtl. weiteren Systemen) kompiliert der ngIRCd nun mit
|
|
dem "nativen" (ggf. pre-ANSI) Compiler.
|
|
- "persistente Channels" (Mode 'P') implementiert: diese koennen in der
|
|
Konfigurationsdatei definiert werden (Sektion "Channel", vgl. Beispiel-
|
|
Konfiguration "sample-ngircd.conf") und bleiben auch dann bestehen,
|
|
wenn kein User mehr im Channel ist.
|
|
- neue IRC-Befehle: KICK, INVITE, ADMIN, CHANINFO; LIST wurde erweitert.
|
|
Mit dem neuen Befehl CHANINFO syncronisieren Server, die das IRC+-
|
|
Protokoll unterstuetzen, Channel-Modes und Topics. Fuer den ADMIN-Befehl
|
|
gibt es neue Konfigurationsoptionen (Sektion "Global"): "AdminInfo1",
|
|
"AdminInfo2" und "AdminEMail".
|
|
- Invite- und Ban-Lists implementiert.
|
|
- neue Konfigurationsoption "OperCanUseMode" (Sektion "Global"):
|
|
ist sie aktiv, koennen IRC-Operatoren immer Channel-Modes setzen.
|
|
- "Test-Suite" begonnen: mit "make check" wird sie durchlaufen.
|
|
|
|
ngIRCd 0.4.2, 29.04.2002
|
|
|
|
- IRC-Funktion LIST implementiert; bisher werden allerdings noch keine
|
|
Regular Expressions (bis auf "*") unterstuetzt.
|
|
|
|
ngIRCd 0.4.0, 01.04.2002
|
|
|
|
- WHO implementiert (bisher ohne komplette Unterstuetzung von Masks).
|
|
- stderr wird nun in eine Datei umgelenkt (/ngircd-<PID>.err).
|
|
Laeuft der Server nicht im Debug-Modus, so wird diese bei Programm-
|
|
ende geloescht. Sollte der Server abstuerzen, finden sich hier evtl.
|
|
zusaetzliche Informationen.
|
|
- Server-Gruppen implementiert: es wird immer nur zu einem Server in
|
|
einer Gruppe eine Verbindung aufgebaut, klappt es beim ersten Server
|
|
nicht, so wird der naechste probiert.
|
|
- Clients und Channels werden nicht mehr ueber ihren Namen, sondern
|
|
einen Hash-Wert gesucht: sollte deutlich schneller sein.
|
|
- neuer Kommandozeilen-Parameter "--configtest": die Konfiguration wird
|
|
gelesen und die dann verwendeten Werte angezeigt.
|
|
- Client-Mode "s" (Server Notices) implementiert.
|
|
- mit dem neuen Kommandozeilen-Parameter "--config"/"-f" kann eine
|
|
alternative Konfigurationsdatei angegeben werden.
|
|
- nach dem Start kann der ngIRCd, wenn er mit root-Rechten laeuft,
|
|
zu einer anderen User-ID und Group-ID wechseln.
|
|
|
|
ngIRCd 0.3.0, 02.03.2002
|
|
|
|
- bekommt der Server ein HUP-Signal, so startet er neu -- genau so, wie
|
|
er auf den IRC-Befehl RESTART reagiert.
|
|
- neuer Kommandozeilen-Schalter "--passive" (-p): wird er angegeben, so
|
|
verbindet sich der ngIRCd nicht mehr automatisch zu anderen Servern.
|
|
Zum Debuggen manchmal ganz praktisch :-)
|
|
- neue Befehle VERSION und KILL implementiert. NAMES korrigiert.
|
|
- Anpassungen an A/UX: gehoert nun auch zu den unterstuetzten Platformen.
|
|
- AWAY (und der User-Mode 'a') ist nun implementiert.
|
|
- der ngIRCd unterstuetzt nun Channel-Topics (TOPIC-Befehl).
|
|
- Channel- und Nicknames werden nun ordentlich validiert.
|
|
|
|
ngIRCd 0.2.0, 15.02.2002
|
|
|
|
- Begonnen Channel-Modes und User-Channel-Modes zu implementieren: der
|
|
Server versteht an User-Modes o und v, beachtet letzteres allerdings
|
|
noch nirgends. Bekannte (aber nicht beachtete!) Channel-Modes sind
|
|
bisher a, m, n, p, q, s und t. Diese Modes werden von Usern ange-
|
|
nommen, von anderen Servern werden auch unbekannte Modes uebernommen.
|
|
- Nach dem Connect eines Users werden LUSERS-Informationen angezeigt.
|
|
|
|
ngIRCd 0.1.0, 29.01.2002
|
|
|
|
- Channels implementiert, bisher jedoch noch ohne Channel-Modes, d.h.
|
|
es gibt keine Channel-Ops, kein Topic, kein "topic lock" etc. pp.
|
|
Chatten in Channels ist aber natuerlich moeglich ;-)
|
|
Dadurch zum Teil groessere Aenderungen an bisherigen Funktionen.
|
|
- neue Befehle fuer Channles: JOIN, PART und NJOIN.
|
|
- FAQ.txt in doc/ begonnen.
|
|
|
|
ngIRCd 0.0.3, 16.01.2002
|
|
|
|
- Server-Links vollstaendig implementiert: der ngIRCd kann nun auch
|
|
"Sub-Server" haben, also sowohl als Leaf-Node als auch Hub in einem
|
|
IRC-Netzwerk arbeiten.
|
|
- WHOIS wird nun immer an den "Original-Server" weitergeleitet.
|
|
- Parser handhabt Leerzeichen zw. Parametern nun etwas "lockerer".
|
|
- Kommandozeilen-Parser: Debug- und No-Daemon-Modus, Hilfe.
|
|
- ngIRCd wandelt sich nun in einen Daemon (Hintergrundprozess) um.
|
|
- neue Befehle: LUSERS, LINKS.
|
|
|
|
ngIRCd 0.0.2, 06.01.2002
|
|
|
|
- neuer Aufbau der Konfigurationsdatei,
|
|
- mehrere IRC-Operatoren koennen konfiguriert werden,
|
|
- Server-Links teilweise implementiert. Bisher kann der ngIRCd jedoch
|
|
nur "leafed server" sein, d.h. keine "Client-Server" haben.
|
|
|
|
ngIRCd 0.0.1, 31.12.2001
|
|
|
|
- erste oeffentliche Version von ngIRCd als "public preview" :-)
|
|
|
|
|
|
--
|
|
$Id: NEWS,v 1.88 2008/02/26 22:05:42 fw Exp $
|