]> arthur.barton.de Git - ngircd-web.git/commitdiff
Updated documentation files (from branch-0-10-x).
authorAlexander Barton <alex@barton.de>
Thu, 3 Aug 2006 13:18:38 +0000 (13:18 +0000)
committerAlexander Barton <alex@barton.de>
Thu, 3 Aug 2006 13:18:38 +0000 (13:18 +0000)
doc/CVS.txt
doc/ChangeLog
doc/FAQ.txt
doc/INSTALL
doc/NEWS
doc/Platforms.txt
doc/Protocol.txt
doc/README
doc/sample-ngircd.conf

index 97696c812855e45dea68d290863aa04c01db14e1..05d170baf0ba15b7eeb88bf9953d8ff42d0350eb 100644 (file)
@@ -1,7 +1,7 @@
 
                      ngIRCd - Next Generation IRC Server
 
-                      (c)2001-2003 by Alexander Barton,
+                        (c)2001-2006 Alexander Barton,
                     alex@barton.de, http://www.barton.de/
 
                ngIRCd is free software and published under the
@@ -47,8 +47,8 @@ Updating the CVS tree:
 You can update a single file or the complete source tree.
 
 
-III. Write Access
-~~~~~~~~~~~~~~~~~
+II. Write Access
+~~~~~~~~~~~~~~~~
 If you want to contribute a couple of patches and write access to the CVS
 repository would be handy, please contact Alex Barton, <alex@barton.de>.
 
index f648225fef9fc8b934cce846d0269ed75448cc42..2812581815c39032237b67c6552da59a1526426d 100644 (file)
@@ -1,7 +1,7 @@
 
                      ngIRCd - Next Generation IRC Server
 
-                        (c)2001-2005 Alexander Barton,
+                        (c)2001-2006 Alexander Barton,
                     alex@barton.de, http://www.barton.de/
 
                ngIRCd is free software and published under the
                                -- ChangeLog --
 
 
+ngIRCd 0.10.0-pre1 (2006-08-02)
+
+  - Validate "ServerName" (see RFC 2812, section 2.3.1).
+  - Enhanced DIE to accept a single parameter ("comment text") which is sent
+    to all locally connected clients before the server goes down.
+  - The ngIRCd handles time shifts backwards more gracefully now (the
+    timeout handling doesn't disconnect clients by mistake any more).
+  - Internal: Restructured connection handling (the connection ID is equal
+    to the file descriptor of the connection).
+  - Internal: Simplified resolver code.
+  - JOIN now supports more than one channel key at a time.
+  - Implemented numeric "333": Time and user name who set a channel topic.
+  - 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.
+  - Removed unnecessary #define of "LOCAL", now use plain C "static" instead.
+  - 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.2 (2005-10-15)
 
-  - Fixed a bug that could cause the damon to crash when outgoing server
+  - Fixed a bug that could cause the daemon to crash when outgoing server
     connections can't be established.
   - Fixed a bug that caused the daemon to leak file descriptors when no
     resolver subprocesses could be created.
@@ -32,7 +57,7 @@ ngIRCd 0.9.0 (2005-07-24)
   ngIRCd 0.9.0-pre1 (2005-07-09)
   - Fixed maximum length of user names, now allow up to 9 characters.
   - Cut off oversized IRC messages that should be sent to the network instead
-    of shuttding down the (wrong) connection.
+    of shutting down the (wrong) connection.
   - Don't generate error messages for unknown commands received before the
     client is registered with the server (like the original ircd).
   - Never run with root privileges but always switch the user ID.
index 1e42903b9618d1a3ffc10b76d89a90bac8526d49..e17f5fceb9cc828ed4380a69a2e651a136c17c0e 100644 (file)
@@ -62,6 +62,15 @@ A: On Linux/glibc with chroot enabled you need to put some libraries inside
    is to either disable chroot support or to link against dietlibc instead
    of glibc. (tnx to Sebastian Siewior)
 
+Q: I am running Linux and ngircd dies on startup with the follwing errors:
+   IO subsystem: epoll (hint size 100, initial maxfd 100, masterfd -1).
+   Cannot initialize IO routines: Function not implemented
+   Server isn't listening on a single port!
+   ngircd exiting due to fatal errors!
+A: epoll is only supported on 2.6 Linux kernels. Either use a 2.6 kernel, or
+   re-run configure with the --without-epoll parameter. After configure
+   completed, you should see select() being listed as IO backend:
+   '(I/O backend: "select()"').
 
 IV. Bugs!?
 ~~~~~~~~~~
index f16fb1fe87d542cc6b4eed8d1fbdd3511686962b..ea67bd2fa15b98e27afea6c614227b58711b8779 100644 (file)
@@ -1,7 +1,7 @@
 
                      ngIRCd - Next Generation IRC Server
 
-                      (c)2001-2004 by Alexander Barton,
+                      (c)2001-2006 by Alexander Barton,
                     alex@barton.de, http://www.barton.de/
 
                ngIRCd is free software and published under the
 I. Upgrade Information
 ~~~~~~~~~~~~~~~~~~~~~~
 
+Differences to version 0.9.x
+
+- The option of the configure script to enable support for Zeroconf/Bonjour/
+  Rendezvous/WhateverItIsNamedToday has been renamed:
+    --with-rendezvous  ->  --with-zeroconf
+
 Differences to version 0.8.x
 
 - The maximum length of passwords has been raised to 20 characters (instead
@@ -121,7 +127,59 @@ This files will be installed by default:
 - /usr/local/share/doc/ngircd/: documentation
 
 
-II. Useful make-targets
+III. Additional features
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following optional features can be compiled into the daemon by passing
+options to the "configure" script. Most options can handle a <path> argument
+which will be used to search for the required libraries and header files in
+the given paths ("<path>/lib/...", "<path>/include/...") in addition to the
+standard locations.
+
+* Syslog Logging (autodetected by default): 
+  --with-syslog[=<path>] / --without-syslog
+
+  Enable (disable) support for logging to "syslog", which should be
+  available on most modern UNIX-like operating systems by default.
+
+* ZLib Compression (autodetected by default):
+  --with-zlib[=<path>] / --without-zlib
+
+  Enable (disable) support for compressed server-server links.
+  The Z compression library ("libz") is required for this option.
+  
+* IO Backend (autodetected by default):
+  --with-epoll[=<path>] / --without-epoll
+  --with-kqueue[=<path>] / --without-kqueue  
+
+  ngIRCd can use three different IO "backends": the "old school" select()
+  API which should be supported by most UNIX-like operating systems, or the
+  more efficient and flexible epoll() (Linux 2.6) or kqueue() (BSD) APIs.
+  By default the IO backend is autodetected, but you can use "--without-xxx"
+  to disable a more enhanced API and force the daemon to use select().
+
+* IDENT-Support:
+  --with-ident[=<path>]
+
+  Include support for IDENT ("AUTH") lookups. The "ident" library is
+  required for this option.
+
+* ZeroConf Support:
+  --with-zeroconf[=<path>] 
+
+  Compile ngIRCd with support for ZeroConf multicast DNS service registration.
+  Either the Apple ZeroConf implementation (e. g. Mac OS X) or the Howl
+  library is required. Which one is available is autodetected.
+
+* TCP-Wrappers:
+  --with-tcp-wrappers[=<path>] 
+
+  Include support for Wietse Venemas "TCP Wrappers" to limit client access
+  to the daemon, for example by using "/etc/hosts.{allow|deny}".
+  The "libwrap" is required for this option.
+
+
+IV. Useful make-targets
 ~~~~~~~~~~~~~~~~~~~~~~~
 
 The Makefile produced by the configure-script contains always these useful
@@ -137,8 +195,8 @@ targets:
    next step: -> ./autogen.sh
 
 
-III. Sample configuration file ngircd.conf
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+V. Sample configuration file ngircd.conf
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 In the sample configuration file, there are comments beginning with "#" OR
 ";" -- this is only for the better understanding of the file.
@@ -158,7 +216,7 @@ The meaning of the variables in the configuration file is explained in the
 and in the "ngircd.conf" manual page.
 
 
-IV. Command line options
+VI. Command line options
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
 These parameters could be passed to the ngIRCd:
index 0bb882dcdccd7e181681c246a2ab961a752e97a6..57af7d67621332cf457d96dbb7d9d6eb22696830 100644 (file)
--- a/doc/NEWS
+++ b/doc/NEWS
@@ -1,7 +1,7 @@
 
                      ngIRCd - Next Generation IRC Server
 
-                        (c)2001-2005 Alexander Barton,
+                        (c)2001-2006 Alexander Barton,
                     alex@barton.de, http://www.barton.de/
 
                ngIRCd is free software and published under the
                                   -- NEWS --
 
 
-ngIRCd 0.9.0
+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.
index 5122f036e9e8165525b39752fd9fd845fd4f68dc..1d46e4304813600744bf9ec467576664904c3bd7 100644 (file)
@@ -26,11 +26,13 @@ list can be updated. Thanks for your help!
                                                                     | | | |
 Platform                    Compiler     ngIRCd     Date     Tester C M T R See
 --------------------------- ------------ ---------- -------- ------ - - - - ---
+alpha/unknown/netbsd3.0     gcc 3.3.3    CVSHEAD    06-05-07 fw     Y Y Y Y (3)                
 hppa/unknown/openbsd3.5     gcc 2.95.3   CVSHEAD    04-05-25 alex   Y Y Y Y
 hppa1.1/unknown/linux-gnu   gcc 3.3.3    0.8.0      04-05-30 alex   Y Y Y Y
 hppa2.0/unknown/linux-gnu   gcc 3.3.5    0.9.x-CVS  05-06-27 alex   Y Y Y Y
 i386/pc/solaris2.9          gcc 3.2.2    CVSHEAD    04-02-24 alex   Y Y Y Y
 i386/unknown/freebsd5.2.1   gcc 3.3.3    0.8.0      04-05-30 alex   Y Y Y Y
+i386/unknown/freebsd6.1     gcc 3.4.4    CVSHEAD    06-05-07 fw     Y Y Y Y (4)
 i386/unknown/gnu0.3         gcc 3.3.3    0.8.0      04-05-30 alex   Y Y n Y
 i386/unknown/netbsdelf1.6.1 gcc 2.95.3   CVSHEAD    04-02-24 alex   Y Y Y Y
 i686/pc/cygwin              gcc 3.3.1    0.8.0      04-05-30 alex   Y Y n Y
@@ -41,6 +43,7 @@ m68k/hp/hp-ux9.10           Orig. HPUX   0.7.x-CVS  03-04-30 goetz  Y Y Y Y
 m88k/dg/dgux5.4R3.10        gcc 2.5.8    CVSHEAD    04-03-15 alex   Y Y ? ?
 powerpc/apple/darwin6.5     gcc 3.1      0.7.x-CVS  03-04-23 alex   Y Y Y Y
 powerpc/apple/darwin7.4.0   gcc 3.3      0.8.0      04-05-30 alex   Y Y Y Y
+powerpc/apple/darwin7.9.0   gcc 3.3      CVSHEAD    06-05-07 fw     Y Y Y Y (3)
 powerpc/apple/darwin8.1.0   gcc 4.0      0.9.x-CVS  05-06-27 alex   Y Y Y Y
 powerpc/unknown/linux-gnu   gcc 3.3.3    0.8.0      04-05-30 alex   Y Y Y Y
 sparc/sun/solaris2.6        gcc 2.95.3   0.7.x-CVS  03-04-22 alex   Y Y Y Y
@@ -59,7 +62,8 @@ Notes
 
 (2) This compiler is an pre-ANSI C compiler, therefore the source code is
     automatically converted using the included ansi2knr tool while building.
-                       
+(3) kqueue() IO backend                        
+(4) 6.1-PRERELEASE
 
 -- 
 $Id$
index c740a72b9f5d65a4a9ba2e6bb9b9bca85ad9e72e..c9929c95eb60bea1d3128a020fa6aaf201535e8a 100644 (file)
@@ -93,7 +93,7 @@ defined in RFC 2813, section 4.1.1.
 II.2 Exchange channel-modes, topics, and persistent channels
 
      Command: CHANINFO
-  Parameters: <channel> +<modes> <key> <maxusers> [<topic>]
+  Parameters: <channel> +<modes> <key> <limit> [<topic>]
      Used by: servers only
 
 CHANINFO is used by servers to inform each other about a channel: its
index 5264739ea795d912ee05d7f5e9bd05f7a23ee7c0..00971567537ffda2f834b98a8cf962dc5139f343 100644 (file)
@@ -1,7 +1,7 @@
 
                      ngIRCd - Next Generation IRC Server
 
-                        (c)2001-2005 Alexander Barton,
+                        (c)2001-2006 Alexander Barton,
                     alex@barton.de, http://www.barton.de/
 
                ngIRCd is free software and published under the
index b872e04926af3e9de3a8363b80e034348b508c49..6ae0fc63747067f7bfb8e9a0340e55934972f745 100644 (file)
@@ -7,25 +7,25 @@
 # Comments are started with "#" or ";".
 #
 # Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the
-# server interpreted the configuration file as expected!
+# server interprets the configuration file as expected!
 #
 
 [Global]
        # The [Global] section of this file is used to define the main
        # configuration of the server, like the server name and the ports
        # on which the server should be listening.
-       
+
        # Server name in the IRC network, must contain at least one dot
        # (".") and be unique in the IRC network. Required!
        Name = irc.the.net
-       
+
        # Info text of the server. This will be shown by WHOIS and
        # LINKS requests for example.
        Info = Server Info Text
 
        # Global password for all users needed to connect to the server
        ;Password = abc
-       
+
        # Information about the server and the administrator, used by the
        # ADMIN command. Not required by server but by RFC!
        ;AdminInfo1 = Description
@@ -39,7 +39,7 @@
        # IP address on which the server should listen. (Default: empty,
        # so the server listens on all IP addresses of the system)
        ;Listen = 1.2.3.4
-       
+
        # Text file with the "message of the day" (MOTD). This message will
        # be shown to all users connecting to the server:
        ;MotdFile = /usr/local/etc/ngircd.motd
        # Mask IRC Operator mode requests as if they were coming from the
        # server? (This is a compatibility hack for ircd-irc2 servers)
        ;OperServerMode = no
-       
+
        # Maximum number of simultaneous connection the server is allowed
        # to accept (<=0: unlimited):
        ;MaxConnections = -1
-       
+
        # Maximum number of simultaneous connections from a single IP address
        # the server will accept (<=0: unlimited):
        ;MaxConnectionsIP = 5
 [Operator]
        # [Operator] sections are used to define IRC Operators. There may be
        # more than one [Operator] block, one for each local operator.
-       
+
        # ID of the operator (may be different of the nick name)
        ;Name = TheOper
 
        # configure a port for the connection, then this ngircd tries to
        # connect to to the other server on the given port; if not it waits
        # for the other server to connect.
-       # There may be more than one server block.
+       # There may be more than one server block, one for each server.
        #
        # Server Groups:
        # The ngIRCd allows "server groups": You can assign an "ID" to every
        # group won't answer, the ngIRCd tries to connect to the next server
        # in the given group. But the ngircd never tries to connect to two
        # servers with the same group ID.
-       
-       # IRC name of the server
+
+       # IRC name of the remote server, must match the "Name" variable in
+       # the [Global] section of the other server (when using ngIRCd).
        ;Name = irc2.the.net
-   
-       # Internet host name of the peer
+  
+       # Internet host name or IP address of the peer (only required when
+       # this server should establish the connection).
        ;Host = connect-to-host.the.net
 
        # Port of the server to which the ngIRCd should connect. If you
        # assign no port the ngIRCd waits for incoming connections.
-       ;Port = 6666
+       ;Port = 6667
 
        # Own password for the connection. This password has to be configured
        # as "PeerPassword" on the other server.
        # Foreign password for this connection. This password has to be
        # configured as "MyPassword" on the other server.
        ;PeerPassword = PeerSecret
-       
+
        # Group of this server (optional)
        ;Group = 123
 
        # persist when there are no more members left.
        # Persistent channels are marked with the mode 'P', which can be set
        # and unset by IRC operators like other modes on the fly.
-       # There may be more than one [Channel] block.
-       
+       # There may be more than one [Channel] block, one for each channel.
+
        # Name of the channel
        ;Name = #TheName
 
        # Topic for this channel
        ;Topic = a great topic
-       
+
        # Initial channel modes
        ;Modes = tn