]> arthur.barton.de Git - ngircd-web.git/commitdiff
Update doc/ directory
authorAlexander Barton <alex@barton.de>
Wed, 13 Jun 2012 10:15:06 +0000 (12:15 +0200)
committerAlexander Barton <alex@barton.de>
Wed, 13 Jun 2012 10:15:06 +0000 (12:15 +0200)
doc/Capabilities.txt [new file with mode: 0644]
doc/ChangeLog
doc/FAQ.txt
doc/INSTALL
doc/Modes.txt
doc/Platforms.txt
doc/Services.txt

diff --git a/doc/Capabilities.txt b/doc/Capabilities.txt
new file mode 100644 (file)
index 0000000..9a692ea
--- /dev/null
@@ -0,0 +1,23 @@
+
+                     ngIRCd - Next Generation IRC Server
+                           http://ngircd.barton.de/
+
+               (c)2001-2012 Alexander Barton and Contributors.
+               ngIRCd is free software and published under the
+                   terms of the GNU General Public License.
+
+                            -- Capabilities.txt --
+
+
+This document lists and describes the "IRC capabilities" that ngIRCd supports
+and can be requested by a IRC/IRCv3 client that supports the "CAP" command.
+
+ngIRCd implements the "IRC Client Capabilities Extension" as described here:
+<http://www.leeh.co.uk/draft-mitchell-irc-capabilities-02.html>
+
+
+I. Supported Capabilities
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+None. At the moment, ngIRCd supports the "CAP" command and its sub-commands
+but offers no capabilities that could be requested by a client.
index 5892b16e65c468f0d5f0d99bb1ba7ceb4ba43ee5..37fb0607fe072b650c5c661f074346294575566d 100644 (file)
@@ -9,14 +9,42 @@
                                -- ChangeLog --
 
 
+ngIRCd Release 19.2
+
+  ngIRCd 19.2~rc1 (2012-06-13)
+  - New configuration option "CloakHostModeX" to configure the hostname
+    that gets used for IRC clients which have user mode "+x" enabled.
+    Up to now, the name of the IRC server itself has been used for this,
+    which still is the default when "CloakHostModeX" isn't set.
+  - Correctly handle asynchronously re-established server links: a race
+    condition could let the daemon loose track of an already re-established
+    incoming server link while preparing its own outgoing connection.
+    Peers that both try to connect each other could have been affected.
+  - Log a debug message when SIGUSR2 is handled in debug mode.
+  - Only allow alphanumeric characters in user-supplied user names of
+    USER command and IDENT replies.
+  - Change wording of "TLS initialized" message to make it more consistent.
+  - Don't leak file descriptors on error path when creating "PID files".
+  - Add missing mode "r" to CHANMODES in 005 "ISUPPORT" numeric.
+  - Update doc/Modes.txt and doc/Platforms.txt documents.
+  - contrib/platformtest.sh: correctly detect Open64 C compiler and handle
+    "CC=xxx MAKE=yyy ./platformtest.sh" calling convention.
+  - Add instructions for setting up Atheme IRC services.
+  - Implement support for IRC capability handling, the new "CAP" command,
+    and capablity "multi-prefix" which allows both the NAME and        WHO command
+    handlers to return more than one "class prefix" to the client.
+  - Update Xcode project files: reference missing documentation files.
+  - Fix: Don't ignore "permission denied" errors when enabling chroot.
+  - FAQ: enhance description of chroot setup.
+
 ngIRCd Release 19.1 (2012-03-19)
 
   - Fix gcc warning (v4.6.3), initialize "list" variable to NULL.
   - Fix typos: "recieved" -> "received", "Please not" -> "Please note",
     and fix lintian(1) warning ""hyphen-used-as-minus-sign", too.
-  - Really include _all_ patchtes to build the Anope module into the
+  - Really include _all_ patches to build the Anope module into the
     distribution archive ... ooops!
-  - getpid.sh: Fix testcase error for Debian using sbuild(1).
+  - getpid.sh: Fix test case error for Debian using sbuild(1).
   - Don't log "ngIRCd hello message" two times when starting up.
 
 ngIRCd Release 19 (2012-02-29)
@@ -28,7 +56,7 @@ ngIRCd Release 19 (2012-02-29)
   - Fix building ngIRCd with old gcc versions (e. g. 2.7.2).
   - Correctly re-open syslog logging after reading of configuration
     file: Syslog logging has been initialized before reading the
-    configuraton, so ngIRCd always used the default facility and ignored
+    configuration, so ngIRCd always used the default facility and ignored
     the "SyslogFacility" configuration option ...
     Thanks to Patrik Schindler for reporting this issue!
 
@@ -39,7 +67,7 @@ ngIRCd Release 19 (2012-02-29)
   - Log more information about server synchronization.
   - Update preliminary ngIRCd protocol module for Anope 1.9.6, which now
     is the only supported version.
-  - New numeric RPL_WHOISHOST_MSG(378), which returns the DNS hostname
+  - New numeric RPL_WHOISHOST_MSG(378), which returns the DNS host name
     (if available) and the IP address of a client in the WHOIS reply.
     Only the user itself and local IRC operators get this numeric.
   - Implement channel exception list (mode 'e'). This allows a channel
@@ -85,7 +113,7 @@ ngIRCd Release 19 (2012-02-29)
     commands: this reduces the possibility of flooding channels with
     commands like "PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit.
     Problem noticed by Cahata, thanks!
-  - Display correct error message when "Server{UID|GID}" variabe in the
+  - Display correct error message when "Server{UID|GID}" variable in the
     configuration file is invalid (not a number and no existing user).
   - Update Copyright notices for 2012 :-)
   - JOIN command: don't stop handling of channel lists when a single
@@ -127,8 +155,8 @@ ngIRCd Release 19 (2012-02-29)
   - ./configure: Fix logic and quoting of poll() detection code: only use
     poll() when poll.h exists as well.
   - Suppress 'Can't create pre-defined channel: invalid name: ""' message.
-  - whois-test: handle local hostname = "localhost.localdomain" using the
-    pattern "localhost*" for valid local hostnames.
+  - whois-test: handle local host name = "localhost.localdomain" using the
+    pattern "localhost*" for valid local host names.
   - sample-ngircd.conf: show correct default for "PAM" variable: The
     default of "PAM" is "yes" when ngIRCd has been configured to use it,
     so show the correct default value in the sample configuration file.
@@ -242,8 +270,8 @@ ngIRCd Release 18 (2011-07-10)
     variable description.
   - Don't use "the.net" in sample-ngircd.conf, use "example.net".
   - Terminate incoming connections on HTTP commands "GET" and "POST".
-  - New configuration option "CloakHost": when set, this hostname is used for
-    every client instead of the real DNS hostname (or IP address).
+  - New configuration option "CloakHost": when set, this host name is used for
+    every client instead of the real DNS host name (or IP address).
   - New configuration option "CloakUserToNick": when enabled, ngIRCd sets
     every clients' user name to their nick name and hides the user name
     supplied by the IRC client.
@@ -348,7 +376,7 @@ ngIRCd Release 17 (2010-11-07)
   - configure script: correctly indent IPv6 yes/no summary output.
   - Don't reset My_Connections[Idx].lastping when reading data, so the
     client lag debug-output is working again.
-  - Implement user mode "x": hostname cloaking (closes: #102).
+  - Implement user mode "x": host name cloaking (closes: #102).
   - Make configure switch "--docdir" work (closes: #108).
   - Reformat and update FAQ.txt a little bit.
   - INSTALL: mention SSL, IPv6, and changed handling of MotdFile.
@@ -453,7 +481,7 @@ ngIRCd Release 14.1 (2009-05-05)
   - Allow ping timeout quit messages to show the timeout value.
   - Fix error handling on compressed links.
   - Fix server list announcement.
-  - Do not remove hostnames from info text.
+  - Do not remove host names from info text.
 
 ngIRCd Release 14 (2009-04-20)
 
@@ -549,7 +577,7 @@ ngIRCd 0.12.0 (2008-05-13)
   - RPL_WHOREPLY messages generated by IRC_WHO didn't include flags (*,@,+).
     (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.
+    nickname/server name/host name, etc. as required by RFC 2812, Section 3.6.1.
     (reported by Dana Dahlstrom)
   - Add test cases for "WHO" command. (Dana Dahlstrom)
   - Implement RFC 2812 handling of "0" argument to 'JOIN': must be treated
@@ -572,7 +600,7 @@ ngIRCd 0.11.0 (2008-01-15)
     ngircd to crash [from HEAD]. (CVE-2008-0285)
   
   ngIRCd 0.11.0-pre1 (2008-01-02)
-  - Use dotted-decimal IP address if hostname is >= 64.
+  - Use dotted-decimal IP address if host name is >= 64.
   - 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.
@@ -798,7 +826,7 @@ ngIRCd 0.8.0 (2004-06-26)
     original ircd exactly: the unnecessary but missing ":" before the last
     parameter has been added.
   - Fixed TRACE: don't output "Serv" lines for ourself; display more info.
-  - Results of the resolver (hostnames and IDENT names) are discarded after
+  - Results of the resolver (host names and IDENT names) are discarded after
     the client is successfully registered with the server.
   - Better logging while establishing and shutting down connections.
   - The type of service (TOS) of all sockets is set to "interactive" now.
index b7a1c94a8d47bee20766898651b098a112379aea..fe8510b536d51bd0024fa8d62af7ad3712d349e3 100644 (file)
@@ -64,11 +64,19 @@ A: ngIRCd does not write its own log file. Instead, ngIRCd uses syslog(3).
 
 Q: I cannot connect to remote peers when I use the chroot option, the
    following is logged: "Can't resolve example.com: unknown error!".
+A: see next question blow ...
+
+Q: When running ngIRCd inside a chroot, no IP addresses can be translated
+   in DNS names, errors like "Name or service not known" are logged.
 A: On Linux/glibc with chroot enabled you need to put some libraries inside
    the chroot as well, notably libnss_dns; maybe others. Unfortunately, even
-   linking ngIRCd statically does not help this. The only known workaround
-   is to either disable chroot support or to link against dietlibc instead
-   of glibc. (tnx to Sebastian Siewior)
+   linking ngIRCd statically does not help this. So you can either copy
+   all the required files into the chroot directory:
+     $ mkdir -p ./chroot/etc ./chroot/lib
+     $ cp -a /etc/hosts /etc/resolv.conf /etc/nsswitch.conf ./chroot/etc/
+     $ cp -a /lib/libresolv* /lib/libnss_* ./chroot/lib/
+   Or you can try to link ngIRCd against an other C library (like dietlibc)
+   that doesn't depend on NSS modules and/or these files.
 
 Q: I have added an [Oper] section, how do i log on as IRC operator?
 A: You can use the /OPER command in your IRC client to become an IRC operator.
index 45ebe993edef3ca2e9b3ad9c917c9cc99980ca82..4e1cd2fb7916e779824b1bb08077ff278061fd0c 100644 (file)
@@ -93,7 +93,8 @@ automake ("configure") should be no problem.
 The normal installation procedure after getting (and expanding) the source
 files (using a distribution archive or GIT) is as following:
 
-  1) ./autogen.sh      [only necessary when using GIT]
+  0) Satisfy prerequisites
+  1) ./autogen.sh  [only necessary when using GIT]
   2) ./configure
   3) make
   4) make install
@@ -114,6 +115,30 @@ possible options will be installed there. You'll find its template in the
 doc/ directory: sample-ngircd.conf.
 
 
+0): Satisfy prerequisites
+
+When building from source, you'll need some other software to build ngIRCd:
+for example a working C compiler, make tool, GNU automake and autoconf (only
+when not using a distribution archive), and a few libraries depending on the
+features you want to compile in (like IDENT support, SSL, and PAM).
+
+If you are using one of the "big" operating systems or Linux distributions,
+you can use the following commands to install all the required packages to
+build the sources including all optional features and to run the test suite:
+
+* RedHat / Fedora based distributions:
+
+  yum install \
+    autoconf automake expect gcc glibc-devel gnutls-devel \
+    libident-devel make pam-devel tcp_wrappers-devel telnet zlib-devel
+
+* Debian / Ubuntu based distributions:
+
+  apt-get install \
+    autoconf automake build-essential expect libgnutls-dev \
+    libident-dev libpam-dev libwrap0-dev libz-dev telnet
+
+
 1): "autogen.sh"
 
 The first step, autogen.sh, is only necessary if the configure-script isn't
index 0b0e488f46b212a306ec7ba01e694bf87575fe22..e47e2707244f9d30894c6b108357918468fa92af 100644 (file)
@@ -43,6 +43,7 @@ users to lists (e.g. "invite list", "ban list"), others have parameters
   mode since   description
 
   b    0.5.0   Add/remove a host mask to the ban list.
+  e    19      Add/remove a host mask to the exception list.
   i    0.5.0   Channel is "invite only".
   I    0.5.0   Add/remove a host mask to the invite list.
   k    0.6.0   Channel has a "key" (a password).
index 87c8039a6981f9e301b70fe2cd55050eeef49e28..b8e33b5f4b8f0e985cd189b5b3c2c924c4038463 100644 (file)
@@ -26,6 +26,7 @@ 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)
+armv6l/unkn./linux-gnueabi  gcc 4.4.5    19.1       12-06-04 goetz  Y Y Y Y (5)
 armv7l/unkn./linux-gnueabi  gcc 4.4.3    19.1       12-04-29 goetz  Y Y Y Y (5)
 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
@@ -36,7 +37,7 @@ i386/apple/darwin10.8.0     gcc 4.2.1    19         12-02-26 alex   Y Y Y Y (3)
 i386/apple/darwin11.3.0     gcc 4.2.1    19         12-02-26 alex   Y Y Y Y (3)
 i386/pc/solaris2.9          gcc 3.2.2    CVSHEAD    04-02-24 alex   Y Y Y Y
 i386/pc/solaris2.11         gcc 3.4.3    19         12-02-26 alex   Y Y N Y (4)
-i386/pc/solaris2.11         gcc 4.2.3    18         11-08-17 goetz  Y Y Y Y (4)
+i386/pc/solaris2.11         gcc 4.2.3    19.1       12-05-29 goetz  Y Y Y Y (4)
 i386/unknown/freebsd5.2.1   gcc 3.3.3    0.8.0      04-05-30 alex   Y Y Y Y
 i386/unknown/freebsd6.2     gcc 3.4.6    19         12-02-26 alex   Y Y Y Y (3)
 i386/unknown/freebsd7.3     gcc 4.2.1    19         12-02-26 alex   Y Y Y Y (3)
@@ -50,6 +51,7 @@ i386/unknown/openbsd3.9     gcc 3.3.5    0.10.0-p1  06-08-30 alex   Y Y Y Y (3)
 i386/unknown/openbsd4.1     gcc 3.3.5    16         10-04-11 alex   Y Y Y Y (3)
 i586/pc/interix3.5          gcc 3.3      19         12-02-29 alex   Y Y N Y
 i686/pc/cygwin              gcc 3.3.1    0.8.0      04-05-30 alex   Y Y N Y
+i686/pc/linux-gnu           gcc 2.7.2    19.1       12-05-30 goetz  Y Y Y Y (1)
 i686/pc/linux-gnu           gcc 2.95.4   0.8.0      04-05-30 alex   Y Y Y Y (1)
 i686/pc/linux-gnu           gcc 3.3.5    14.1       09-08-04 alex   Y Y Y Y (1)
 i386/pc/linux-gnu           gcc 4.1.2    13~rc1     08-12-05 alex   Y Y Y Y (1)
index c2059b246a69a0009df69a710e1fcde3cb4e3443..944afd4807c87cd4dc366c810cf791fe689379c9 100644 (file)
@@ -14,8 +14,9 @@ But services acting as a "regular server" are supported, either using the IRC
 protocol defined in RFC 1459 or RFC 2812.
 
 Support for Services has been tested using "IRC Services" version 5.x by
-Andrew Church (<http://achurch.org/services/>), and a Anope 1.9 using a
-preliminary protocol module for ngIRCd (<http://www.anope.org/>).
+Andrew Church (<http://achurch.org/services/>), Anope 1.9 using a
+preliminary protocol module for ngIRCd (<http://www.anope.org/>), and
+Atheme 7.0.2 or later.
 
 This document describes setting up ngIRCd and these services.
 
@@ -93,5 +94,24 @@ The documentation of IRC Services can be found here:
 <http://www.ircservices.za.net/docs/>
 
 
+Setting up Atheme 7.0.2 or later
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Atheme 7.0.2 or later may be used with ngIRCd using the "ngircd" protocol
+module.
+
+The following settings need to be in atheme.conf:
+
+loadmodule "modules/protocol/ngircd";
+
+uplink "server.irc.net" {
+       password = "123abc";
+       port = 6667;
+};
+
+The documentation of Atheme can be found in the doc/ directory of the
+Atheme source distribution.
+
+
 Please let us know if you are successfully using other IRC service packages or
 which problems you encounter, thanks!