]> 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 32262a6b3f45249c70519c93d091902823eb607b..d82d137d7b6068d7f6679f1439f0233667995dd4 100644 (file)
@@ -1,7 +1,7 @@
 .\"
 .\" ngircd(8) manual page template
 .\"
-.TH ngircd 8 "Jan 2018" ngIRCd "ngIRCd Manual"
+.TH ngircd 8 "Sep 2023" ngIRCd "ngIRCd Manual"
 .SH NAME
 ngIRCd \- the "next generation" IRC daemon
 .SH SYNOPSIS
@@ -11,24 +11,22 @@ ngIRCd \- the "next generation" IRC daemon
 ]
 .SH DESCRIPTION
 .BR ngIRCd
-is a free, portable and lightweight Internet Relay Chat server for small
+is a free, portable and lightweight Internet Relay Chat (IRC) server for small
 or private networks, developed under the GNU General Public License (GPL).
-It is easy to configure, can cope with dynamic IP addresses, and supports
-IPv6, SSL-protected connections as well as PAM for authentication.
-It is written from scratch and not based on the original IRCd.
 .PP
-The name ngIRCd means
-.IR "next generation IRC daemon",
+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
+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
-Currently supported platforms include AIX, A/UX, FreeBSD, HP-UX, Hurd, IRIX,
-Linux, Mac OS X, Minix, NetBSD, OpenBSD, Solaris, and Windows with Cygwin.
-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.
-.PP
 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).
@@ -54,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
@@ -81,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
@@ -101,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.