]> arthur.barton.de Git - ngircd-alex.git/blobdiff - man/ngircd.8.tmpl
Don't abort startup when setgid/setuid() fails with EINVAL
[ngircd-alex.git] / man / ngircd.8.tmpl
index f0703f35e191629911b6d68f205319f683a71f8d..d82d137d7b6068d7f6679f1439f0233667995dd4 100644 (file)
@@ -1,30 +1,35 @@
 .\"
 .\" ngircd(8) manual page template
 .\"
-.TH ngircd 8 "Mar 2012" ngircd "ngIRCd Manual"
+.TH ngircd 8 "Sep 2023" ngIRCd "ngIRCd Manual"
 .SH NAME
-ngIRCd \- the next generation IRC daemon
+ngIRCd \- the "next generation" IRC daemon
 .SH SYNOPSIS
-.B ngircd [
+.B ngircd
+[
 .I Options
-.B ]
+]
 .SH DESCRIPTION
 .BR ngIRCd
-is a free open source daemon for the Internet Relay Chat (IRC),
-developed under the GNU General Public License (GPL).
+is a free, portable and lightweight Internet Relay Chat (IRC) server for small
+or private networks, developed under the GNU General Public License (GPL).
 .PP
-It's written from scratch and is not based upon the original IRCd like
-many others. It is easy to configure, supports server links (even with
-original ircd's) and runs on hosts with changing IP addresses (such as
-dial-in networks).
+The server is quite easy to configure and runs as a single-node server or can
+be part of a network of ngIRCd servers in a LAN or across the internet. It
+optionally supports the IPv6 protocol, SSL/TLS-protected client-server and
+server-server links, the Pluggable Authentication Modules (PAM) system for user
+authentication, IDENT requests, and character set conversion for legacy
+clients.
 .PP
-Currently supported platforms include AIX, A/UX, FreeBSD, HP-UX, IRIX,
-Linux, Mac OS X, NetBSD, OpenBSD, Solaris, and Windows with Cygwin.
+The name ngIRCd stands for
+.IR "next-generation IRC daemon",
+which is a little bit exaggerated:
+.IR "lightweight Internet Relay Chat server"
+most probably would have been a better name :-)
 .PP
-As ngIRCd relies on UNIX standards and uses GNU automake and GNU autoconf
-there are good chances that it also supports other UNIX-based operating
-systems as well. By default, ngIRCd writes diagnostic and informational messages using
-the syslog mechanism.
+By default ngIRCd logs diagnostic and informational messages using the syslog
+mechanism, or writes directly to the console when running in the foreground
+(see below).
 .SH OPTIONS
 The default behavior of
 .BR ngircd
@@ -47,14 +52,25 @@ terminate the server.
 Disable automatic connections to other servers. You can use the IRC command
 CONNECT later on as IRC Operator to link this ngIRCd to other servers.
 .TP
+\fB\-y\fR, \fB\-\-syslog\fR
+Write log messages to the syslog even when running in the foreground. This only
+makes sense when
+.I \-n/\-\-nodaemon
+was given on the command line
+.I before
+this option!
+.PP
+The following options prevent ngIRCd from starting regularly, but perform a
+specific action and then exit the daemon again:
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display a brief help text and exit.
+.TP
 \fB\-t\fR, \fB\-\-configtest\fR
 Read, validate and display the configuration; then exit.
 .TP
 \fB\-V\fR, \fB\-\-version\fR
 Output version information and exit.
-.TP
-\fB\-h\fR, \fB\-\-help\fR
-Display a brief help text and exit.
 .SH FILES
 .I :ETCDIR:/ngircd.conf
 .RS
@@ -74,14 +90,28 @@ Shut down all connections and terminate the daemon.
 Shut down all listening sockets, re-read the configuration file and
 re-initialize the daemon.
 .SH HINTS
-It's wise to use "ngircd \-\-configtest" to validate the configuration file
-after changing it.
+It is
+.I always wise
+to use "ngircd \-\-configtest" to validate the configuration of ngIRCd after
+making changes to the configuration files!
 .SH DEBUGGING
-When ngIRCd is compiled with debug code, that is, its source code has
-been ./configure'd with "\-\-enable\-debug" and/or "\-\-enable\-sniffer" (witch
-enables debug mode automatically as well), you can use two more command
-line options and two more signals to debug problems with the daemon itself
-or IRC clients:
+ngIRCd can log additional debug messages, which can be enabled with the command
+line option \-\-debug (\-d) or by sending the USR1 signal to the running daemon.
+Some of those messages may leak personal information, be very technical and can
+be very verbose. Therefore the debug mode is meant for troubleshooting only and
+should definitely be disabled during normal operation!
+.PP
+In addition, a "protocol sniffer" can be enabled on build time by passing the
+"\-\-enable\-sniffer" option to the ./configure script which enables the
+"\-\-sniffer" (\-s) command line option (which is not available by default):
+this "sniffer" logs all incoming and outgoing IRC commands on all connections,
+which can be handy to debug problems with the daemon itself or IRC clients.
+.PP
+Both modes are indicated in the version string shown by the IRC "VERSION"
+command: if the version ends in a dot (like in "26.1."), the daemon operates in
+"normal" mode (the version used in the example is "26.1"). If it ends in ".1"
+(like in "26.1.1") the "debug-mode" is enabled; and if it ends in ".2" (like in
+"26.1.2") the "IRC sniffer" is enabled, too.
 .PP
 \fBOptions:\fR
 .TP
@@ -94,6 +124,9 @@ the console/syslog. This option requires that ngIRCd has been ./configure'd
 with "\-\-enable\-sniffer" and enables debug mode automatically, too.
 .PP
 \fBSignals:\fR
+.PP
+Note: Usage of these signals is broadcasted to all users with the +s ("receive
+server notices") mode set!
 .TP
 \fBUSR1\fR
 Toggle debug mode on and off during runtime.