From bb68563537a73f10f791d3fac940f801a9d7e9df Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Sat, 9 Jul 2005 14:10:46 +0000 Subject: [PATCH] Updated documentation, synced to branch-0-9-x. --- doc/AUTHORS | 2 +- doc/ChangeLog | 60 ++++++++++++++++++++++++++++++++++++++++++---- doc/INSTALL | 6 +++++ doc/Platforms.txt | 20 ++++++++++------ doc/README | 28 +++++++++++----------- doc/README-AUX.txt | 10 ++++---- doc/SSL.txt | 58 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 152 insertions(+), 32 deletions(-) create mode 100644 doc/SSL.txt diff --git a/doc/AUTHORS b/doc/AUTHORS index 7b1c533..a0bde6e 100644 --- a/doc/AUTHORS +++ b/doc/AUTHORS @@ -21,7 +21,7 @@ Goetz Hoffart, (goetz) Ilja Osthoff, (ilja) Benjamin Pineau, Sean Reifschneider, -Florian Westphal, +Florian Westphal, (fw) Code snippets diff --git a/doc/ChangeLog b/doc/ChangeLog index 04367f5..3135a05 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,7 +1,7 @@ ngIRCd - Next Generation IRC Server - (c)2001-2005 Alexander Barton, + (c)2001-2005 Alexander Barton, alex@barton.de, http://www.barton.de/ ngIRCd is free software and published under the @@ -10,6 +10,56 @@ -- ChangeLog -- +ngIRCd 0.9.x + + - 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. + - 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. + - Make "netsplit" messages RFC compliant. + - Fix handling of QUIT Messages: send only one message, even if the client + is member of multiple channels. + - Don't exit server if closing of a socket fails; instead ignore it and + pray that this will be "the right thing" ... + - Implemented the IRC function "WHOWAS". + - Don't enable assert() calls when not ./configure'd with --enable-debug. + - Fixed ./configure test for TCP Wrappers: now it runs on Mac OS X as well. + - Enhanced configure script: now you can pass an (optional) search path + to all --with-XXX parameters, e. g. "--with-ident=/opt/ident". + - Removed typedefs for the native C datatypes. + Use stdbool.h / inttypes.h if available. + - 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, . + - 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. + - 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 instead 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 of Florian Westphal, . + - Code cleanups from Florian Westphal, . + - Raised the maximum length of passwords to 20 characters. + - 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, . + - 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". + - 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. + - When the daemon should switch to another user ID (ServerID is defined in + the configuration file) and is not running in a chroot environment, it + changes its working directory to the home directory of this user. This + should enable the system to write proper core files when not running with + root privileges ... + ngIRCd 0.8.3 (2005-02-03) - Fixed a bug that could case a root exploit when the daemon is compiled @@ -31,12 +81,12 @@ ngIRCd 0.8.2 (2005-01-26) It has only been used when the system didn't implement strlcpy by itself, not on "modern" systems. Florian Westphal, . -nIRCd 0.8.1 (2004-12-25) +ngIRCd 0.8.1 (2004-12-25) - Autoconf: Updated config.guess and config.sub - Added some more debug code ... - Fixed wrong variable names in output of "ngircd --configtest". - - Debian: Fxied the name of the "default file" in the init script for + - Debian: Fixed the name of the "default file" in the init script for ngircd-full packages. And do the test if the binary is executable after reading this file. - Enhanced the "test suite": please have a look at src/testsuite/README! @@ -45,11 +95,11 @@ ngIRCd 0.8.0 (2004-06-26) - Fixed wrong buffer size calculation for results of the resolver. - ngIRCd 0.8.0-pre2 (2004-05-16) + ngircd 0.8.0-pre2 (2004-05-16) - Enhanced logging to console when running in "no-detached mode": added PID and log messages of resolver sub-processes. - Fixed host name lookups when using IDENT user lookups. - - "make clean" and "make maintainer-clean" remove more files mow. + - "make clean" and "make maintainer-clean" remove more files now. ngIRCd 0.8.0-pre1 (2004-05-07) - Two new configuration options: "ChrootDir" and "MotdPhrase", thanks to diff --git a/doc/INSTALL b/doc/INSTALL index 083981e..f16fb1f 100644 --- a/doc/INSTALL +++ b/doc/INSTALL @@ -14,6 +14,12 @@ I. Upgrade Information ~~~~~~~~~~~~~~~~~~~~~~ +Differences to version 0.8.x + +- The maximum length of passwords has been raised to 20 characters (instead + of 8 characters). If your passwords are longer than 8 characters then they + are cut at an other position now. + Differences to version 0.6.x - Some options of the configure script have been renamed: diff --git a/doc/Platforms.txt b/doc/Platforms.txt index fe60fa6..5122f03 100644 --- a/doc/Platforms.txt +++ b/doc/Platforms.txt @@ -26,20 +26,26 @@ list can be updated. Thanks for your help! | | | | Platform Compiler ngIRCd Date Tester C M T R See --------------------------- ------------ ---------- -------- ------ - - - - --- +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.0 gcc 3.2.1 0.7.0 03-05-15 alex Y Y Y Y -i386/unknown/gnu0.3 gcc 3.2.3 CVSHEAD 03-05-05 alex Y Y n Y +i386/unknown/freebsd5.2.1 gcc 3.3.3 0.8.0 04-05-30 alex Y Y Y Y +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.2 0.7.x-CVS 03-04-24 alex Y Y n Y -i686/pc/linux-gnu gcc 2.95 0.7.0 03-05-15 alex Y Y Y Y (1) -i686/pc/linux-gnu gcc 3.3.3 CVSHEAD 04-02-22 alex Y Y Y Y (1) +i686/pc/cygwin gcc 3.3.1 0.8.0 04-05-30 alex Y Y n Y +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.3 0.8.0 04-05-30 alex Y Y Y Y (1) m68k/apple/aux3.1.1 Orig. A/UX 0.7.x-CVS 03-04-22 alex Y Y Y Y (2) 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.2.0 gcc 3.3 CVSHEAD 04-02-22 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/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 -sparc/sun/solaris2.7 gcc 3.3 CVSHEAD 04-02-24 alex Y Y Y Y +sparc/sun/solaris2.7 gcc 3.3 0.8.0 04-05-30 alex Y Y Y Y +sparc/unkn./netbsdelf1.6.1 gcc 2.95.3 0.8.0 04-05-30 alex Y Y Y Y Notes diff --git a/doc/README b/doc/README index d23f857..d634d32 100644 --- a/doc/README +++ b/doc/README @@ -1,21 +1,19 @@ ngIRCd - Next Generation IRC Server - (c)2001-2004 by Alexander Barton, + (c)2001-2005 Alexander Barton, alex@barton.de, http://www.barton.de/ ngIRCd is free software and published under the terms of the GNU General Public License. -- README -- - - Ilja Osthoff, I. Introduction ~~~~~~~~~~~~~~~ -ngIRCd is an Open-Source server for the Internet Relay Chat (IRC), which +ngIRCd is an Open Source server for the Internet Relay Chat (IRC), which is developed and published under the terms of the GNU General Public Licence (URL: http://www.gnu.org/licenses/gpl.html). ngIRCd means "next generation IRC daemon", it's written from scratch and not deduced from the @@ -25,15 +23,19 @@ generation IRC daemon", it's written from scratch and not deduced from the II. Status ~~~~~~~~~~~ -At present, the ngIRCd is under active development, some features are not -implemented, some only partly. +It is not the goal of ngIRCd to implement all the nasty behaviours of the +original ircd, but to implement most of the useful commands and semantics +specified by the RFCs. -Till today (more or less complete) implemented IRC-commands: +In the meantime ngIRCd should be quite feature complete and stable to be +used in real IRC networks. + +Implemented IRC-commands are: ADMIN, AWAY, CHANINFO, CONNECT, DIE, DISCONNECT, ERROR, HELP, INVITE, ISON, -JOIN, KICK, KILL, LINKS, LIST, LUSERS, MODE, MOTD, NAMES, NICK, NJOIN, -NOTICE, OPER, PART, PASS, PING, PONG, PRIVMSG, QUIT, REHASH, RESTART, SERVER, -SQUIT, STATS, TIME, TOPIC, TRACE, USER, USERHOST, VERSION, WHO, WHOIS. +JOIN, KICK, KILL, LINKS, LIST, LUSERS, MODE, MOTD, NAMES, NICK, NJOIN, NOTICE, +OPER, PART, PASS, PING, PONG, PRIVMSG, QUIT, REHASH, RESTART, SERVER, SQUIT, +STATS, TIME, TOPIC, TRACE, USER, USERHOST, VERSION, WHO, WHOIS, WHOWAS. III. Features (or: why use ngIRCd?) @@ -43,10 +45,8 @@ III. Features (or: why use ngIRCd?) - simple, easy understandable configuration file, - freely published open-source C source code, - ngIRCd will be developed on in the future. -- supported platforms (tested versions): AIX (3.2.5), A/UX (3.0.1), FreeBSD - (4.5), HP-UX (10.20), IRIX (6.5), Linux (2.x), Mac OS X (10.x), NetBSD - (1.5.2/i386, 1.5.3/m68k), Solaris (2.5.1, 2.6), Windows with Cygwin, and - OpenBSD (3.4/i386). +- wide field of supported platforms, including AIX, A/UX, FreeBSD, HP-UX, + IRIX, Linux, Mac OS X, NetBSD, OpenBSD, Solaris, and Windows with Cygwin. IV. Documentation diff --git a/doc/README-AUX.txt b/doc/README-AUX.txt index ae7e9eb..4981444 100644 --- a/doc/README-AUX.txt +++ b/doc/README-AUX.txt @@ -1,7 +1,7 @@ ngIRCd - Next Generation IRC Server - (c)2001-2003 by Alexander Barton, + (c)2001-2005 Alexander Barton, alex@barton.de, http://www.barton.de/ ngIRCd is free software and published under the @@ -22,7 +22,7 @@ The following software packages are needed: - GNU sed Source: http://www.rezepte-im-web.de/appleux/sed-3.02.tar.gz - ftp://arthur.ath.cx/pub/AUX/Software/Tools/sed-3.02.tar.gz + ftp://arthur.barton.de/pub/UNIX/AUX/Tools/sed-3.02.tar.gz A/UX comes with /bin/sed which isn't supporting all functions needed by GNU automake/autoconf. @@ -33,8 +33,8 @@ The following software packages are needed: - libUTIL.a Source: - http://ftp.mayn.de/pub/apple/apple_unix/Sys_stuff/libUTIL-2.1.tar.gz - ftp://arthur.ath.cx/pub/AUX/Software/Libraries/libUTIL-2.1.tar.gz + ftp://ftp.mayn.de/pub/really_old_stuff/apple/apple_unix/Sys_stuff/libUTIL-2.1.tar.gz> + 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(). @@ -50,7 +50,7 @@ A few hints in case of errors: (so 'configure' uses its own shell script) or use a fully functionable one. There's at least one binary "out there" causing problems. The one of the GNU fileutils works fine: - ftp://arthur.ath.cx/pub/UNIX/AUX/Software/Tools/fileutils-4.0.tar.gz + ftp://arthur.barton.de/pub/UNIX/AUX/Software/Tools/fileutils-4.0.tar.gz - The precompiled binary of the old 'bash' shouldn't be installed within /bin (better do this in /usr/local/bin) because 'configure' would diff --git a/doc/SSL.txt b/doc/SSL.txt new file mode 100644 index 0000000..a078f62 --- /dev/null +++ b/doc/SSL.txt @@ -0,0 +1,58 @@ + + ngIRCd - Next Generation IRC Server + + (c)2001-2004 by Alexander Barton, + alex@barton.de, http://www.barton.de/ + + ngIRCd is free software and published under the + terms of the GNU General Public License. + + -- SSL.txt -- + + +ngIRCd actually doesn't support secure connections for client-server or +server-server links using SSL, the Secure Socket Layer, by itself. But you can +use the stunnel(8) command to make this work. + + + + +Stefan Sperling (stefan at binarchy dot net) mailed me the following text as a +short "how-to", thanks Stefan! + + +=== snip === + ! This guide applies to stunnel 4.x ! + + Put this in your stunnel.conf: + + [ircs] + accept = 6667 + connect = 6668 + + This makes stunnel listen for incoming connections + on port 6667 and forward decrypted data to port 6668. + We call the connection 'ircs'. Stunnel will use this + name when logging connection attempts via syslog. + You can also use the name in /etc/hosts.{allow,deny} + if you run tcp-wrappers. + + To make sure ngircd is listening on the port where + the decrypted data arrives, set + + Ports = 6668 + + in your ngircd.conf. + + Start stunnel and restart ngircd. + + That's it. + Don't forget to activate ssl support in your irc client ;) +=== snip === + + +Probably ngIRCd will include support for SSL in the future ... + + +-- +$Id$ -- 2.39.2