commit - 70254a5553b97109df8417c2a6fcb71d55ab371d
commit + d02b0835436185b0a035eea75f667597507388dc
blob - f16025ec8d4fbfa4e25a51e959931d3a6af04302
blob + 5c60a47a3c067335f11b1bb29db9c9e1366b1cb1
--- man/ngircd.8.tmpl
+++ man/ngircd.8.tmpl
.\"
.\" $Id: ngircd.8.tmpl,v 1.2 2007/11/15 01:03:29 fw Exp $
.\"
-.TH ngircd 8 "August 2005" ngircd "ngIRCd Manual"
+.TH ngircd 8 "May 2008" ngircd "ngIRCd Manual"
.SH NAME
ngIRCd \- the next generation IRC daemon
.SH SYNOPSIS
blob - cd5922afd9ab4071e8852c397eb4f0f6e1803d74
blob + cff474965d7a33c4e48e0a13fb51caa8623a74c3
--- man/ngircd.conf.5.tmpl
+++ man/ngircd.conf.5.tmpl
.\"
.\" $Id: ngircd.conf.5.tmpl,v 1.7 2007/11/23 16:26:03 fw Exp $
.\"
-.TH ngircd.conf 5 "August 2005" ngircd "ngIRCd Manual"
+.TH ngircd.conf 5 "May 2008" ngircd "ngIRCd Manual"
.SH NAME
ngircd.conf \- configuration file of ngIRCd
.SH SYNOPSIS
.RE
.PP
Empty lines and any line beginning with a semicolon (';') or a hash ('#')
-character is treated as a comment and will be ignored.
+character are treated as a comment and will be ignored. Leading and trailing
+whitespaces are trimmed before any processing takes place.
.PP
-The file format is line-based - that means, each newline-terminated line
-represents either a comment, a section name or a parameter.
+The file format is line-based - that means, each non-empty newline-terminated
+line represents either a comment, a section name, or a parameter.
.PP
Section and parameter names are not case sensitive.
.SH "SECTION OVERVIEW"
The file can contain blocks of four types: [Global], [Operator], [Server],
and [Channel].
.PP
-In the
+The main configuration of the server is stored in the
.I [Global]
-section, there is the main configuration like the server name and the
+section, like the server name, administrative information and the
ports on which the server should be listening. IRC operators of this
server are defined in
.I [Operator]
name and the ports on which the server should be listening.
.TP
\fBName\fR
-Server name in the IRC network
+Server name in the IRC network, must contain at least one dot (".").
.TP
\fBInfo\fR
Info text of the server. This will be shown by WHOIS and LINKS requests for
.TP
\fBMotdPhrase\fR
A simple Phrase (<256 chars) if you don't want to use a MOTD file.
-If it is set no MotdFile will be read at all.
+If it is set no MotdFile will be read at all which can be handy if the
+daemon should run inside a chroot directory.
.TP
\fBServerUID\fR
User ID under which the server should run; you can use the name of the user
Other servers are configured in
.I [Server]
sections. If you configure a port for the connection, then this ngIRCd
-tries to connect to to the other server on the given port; if not, it waits
-for the other server to connect.
+tries to connect to to the other server on the given port (active);
+if not, it waits for the other server to connect (passive).
.PP
-The ngIRCd allows "server groups": You can assign an "ID" to every server
-with which you want this ngIRCd to link. If a server of a group won't
-answer, the ngIRCd tries to connect to the next server in the given group.
-But ngIRCd never tries to connect to two servers with the same group ID.
+ngIRCd supports "server groups": You can assign an "ID" to every server
+with which you want this ngIRCd to link, and the daemon ensures that at
+any given time only one direct link exists to servers with the same ID.
+So if a server of a group won't answer, ngIRCd tries to connect to the next
+server in the given group (="with the same ID"), but never tries to connect
+to more than one server of this group simultaneously.
.PP
There may be more than one
.I [Server]
block.
.TP
\fBName\fR
-IRC name of the server
+IRC name of the remote server.
.TP
\fBHost\fR
-Internet host name of the peer
+Internet host name (or IP address) of the peer.
.TP
\fBBind\fR
IP address to use as source IP for the outgoing connection. Default ist
to let the operating system decide.
.TP
\fBPort\fR
-Port of the server to which the ngIRCd should connect. If you assign no port
-the ngIRCd waits for incoming connections.
+Port of the remote server to which ngIRCd should connect (active).
+If no port is assigned to a configured server, the daemon only waits for
+incoming connections (passive).
.TP
\fBMyPassword\fR
Own password for this connection. This password has to be configured as
.TP
\fBGroup\fR
Group of this server (optional).
+.TP
\fBPassive\fR
Disable automatic connection even if port value is specified. Default: false.
You can use the IRC Operator command CONNECT later on to create the link.
block.
.TP
\fBName\fR
-Name of the channel
+Name of the channel, including channel prefix ("#").
.TP
\fBTopic\fR
-Topic for this channel
+Topic for this channel.
.TP
\fBModes\fR
Initial channel modes.
.TP
\fBKey\fR
-Sets initial channel key (only relevant if mode k is set)
+Sets initial channel key (only relevant if mode k is set).
.TP
\fBMaxUsers\fR
-Set maximum user limit for this channel (only relevant if mode l is set)
+Set maximum user limit for this channel (only relevant if mode l is set).
.SH HINTS
It's wise to use "ngircd --configtest" to validate the configuration file
after changing it. See
blob - a4c1e629509eb12d7dfc48a9327c0ca887296b49
blob + ce2760fa26087969ead482015c13019a330eb809
--- src/testsuite/.gitignore
+++ src/testsuite/.gitignore
T-ngircd
channel-test
connect-test
+invite-test
+join-test
+kick-test
misc-test
mode-test
opless-channel-test
blob - 2e1484479195988d00f14772b42e00f6d3ac9d91
blob + 54c19922ea4d91cb9bdab805833c1a79325b611c
--- src/testsuite/who-test.e
+++ src/testsuite/who-test.e
send "who\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick H :0 Real Name"
+ ":ngircd.test.server 352 nick \* * ngircd.test.server nick H :0 Real Name"
}
send "join #channel\r"
send "who 0\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick H@ :0 Real Name"
+ ":ngircd.test.server 352 nick #channel * ngircd.test.server nick H@ :0 Real Name"
}
send "away :testing\r"
send "who *\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick G@ :0 Real Name"
+ ":ngircd.test.server 352 nick #channel * ngircd.test.server nick G@ :0 Real Name"
}
send "mode #channel +v nick\r"
"@* MODE #channel +v nick\r"
}
-send "who localhost\r"
+send "who localhos*\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick G@ :0 Real Name"
+ ":ngircd.test.server 352 nick #channel * ngircd.test.server nick G@ :0 Real Name"
}
send "mode #channel -o nick\r"
send "who ngircd.test.server\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick #channel * localhost ngircd.test.server nick G+ :0 Real Name"
+ ":ngircd.test.server 352 nick #channel * ngircd.test.server nick G+ :0 Real Name"
}
send "part #channel\r"
send "who Real?Name\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick G :0 Real Name"
+ ":ngircd.test.server 352 nick \* * ngircd.test.server nick G :0 Real Name"
}
send "oper TestOp 123\r"
send "who 0 o\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick G\* :0 Real Name"
+ ":ngircd.test.server 352 nick \* * ngircd.test.server nick G* :0 Real Name"
}
send "away\r"
"305 nick"
}
-send "who *cal*ho??\r"
+send "who ??cal*ho*\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick H\* :0 Real Name"
+ ":ngircd.test.server 352 nick \* * ngircd.test.server nick H* :0 Real Name"
}
send "join #opers\r"
send "who #opers\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick #opers * localhost ngircd.test.server nick H\*@ :0 Real Name"
+ ":ngircd.test.server 352 nick #opers * ngircd.test.server nick H*@ :0 Real Name"
}
send "mode #opers -o nick\r"
send "who *.server\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick #opers * localhost ngircd.test.server nick H\* :0 Real Name"
+ ":ngircd.test.server 352 nick #opers * ngircd.test.server nick H* :0 Real Name"
}
send "mode #opers +v nick\r"
send "who Real*me\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick #opers * localhost ngircd.test.server nick H\*+ :0 Real Name"
+ ":ngircd.test.server 352 nick #opers * ngircd.test.server nick H*+ :0 Real Name"
}
send "mode #opers +s\r"
send "who n?c?\r"
expect {
timeout { exit 1 }
- ":ngircd.test.server 352 nick \* * localhost ngircd.test.server nick H\* :0 Real Name"
+ ":ngircd.test.server 352 nick \* * ngircd.test.server nick H* :0 Real Name"
}
expect {
timeout { exit 1 }