
                     ngIRCd - Next Generation IRC Server

                      (c)2001-2010 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.

                    -- FAQ: Frequently Asked Questions --


I. General
~~~~~~~~~~

Q: Is it possible to link the ngIRCd with non-ngIRCd servers?
A: Yes. ngIRCd is compatible to the original ircd used by IRCNet. Actually
   this is being tested with version 2.10.3p3. Please note that newer
   versions (2.11.x) aren't compatible any more!

Q: Is there a homepage with further information and downloads?
A: Yes. Please visit <http://ngircd.barton.de/>.

Q: Why should I use ngIRCd instead of the original one?
A: ngIRCd offers several benefits: no problems with dynamic IPs, easy to
   configure, open source (GPL), under active development.


II. Compilation
~~~~~~~~~~~~~~~

Q: I did a "Git checkout" but can't execute ./configure because the script
   is missing in the generated directory!?
A: When using development versions via Git, the configure script as well as
   the Makefile.in templates must be generated using GNU automake and GNU
   autoconf. To simplify this task run the ./autogen.sh script which will
   execute the required tools for you; then continue with executing the
   ./configure script as usual.

Q: The ./autogen.sh script complains "aclocal: command not found".
A: GNU automake is missing on your system but required for building Git
   versions of ngIRCd. Install GNU automake 1.6 or later and try again.

Q: The ./autogen.sh script stops with "autoheader: command not found".
A: GNU autoconf is missing on your system but required for building Git
   versions of ngIRCd. Install GNU autoconf 2.52 or later and try again.

Q: The ./autogen.sh script fails and the message "automake: configure.in:
   AM_INIT_AUTOMAKE must be used" is displayed.
A: Most probably you are using version 1.5 of GNU automake which seems to be
   incompatible to the build system of ngIRCd. Solution: upgrade to at least
   version 1.6 of GNU automake.
   (If you are using Debian 3.0 "Woody" you can try to downgrade to version
   1.4 of GNU automake shipped with this distribution; it should work, too.)


III. Runtime
~~~~~~~~~~~~

Q: Where is the log file located?
A: ngIRCd does not write its own log file. Instead, ngIRCd uses syslog(3).
   Check the files in /var/log/ and/or consult the documentation for your
   system logger daemon.

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. 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.
   ngIRCd will also log all OPER requests (using syslog), if OPER fails you
   can look there to determine why it did not work (bad password, unauthorized
   host mask, etc.)

Q: I am an IRC operator, but MODE doesn't work!
A: You need to set 'OperCanUseMode = yes' in ngircd.conf, then IRC operators
   can use the MODE command for changing modes even when they are not joined
   to the specific channel.

Q: How can I "auto-op" users in channels?
A: ngIRCd can't do this: you would have to use some "IRC Services", like
   Atheme (<http://atheme.net/atheme.html>) or Anope (<http://www.anope.org>).
   See "doc/Services.txt" for setup instructions.


IV. Bugs!?
~~~~~~~~~~

Q: Is there a list of known bugs and desired feature enhancements?
A: Yes. Have a look at the bug tracking system (GitHub issues) for ngIRCd located
   at <https://github.com/ngircd/ngircd/issues>. There you can file bug
   reports and feature requests as well as search the bug database.

Q: What should I do if I found a bug?
A: Please file a bug report at <https://github.com/ngircd/ngircd/issues/new>!
   The author will be notified automagically :-)

