config.rst review
This commit is contained in:
parent
ea56df54f7
commit
f41c25c0c1
1 changed files with 279 additions and 213 deletions
|
@ -9,15 +9,18 @@ consists of a series of values inside it which pertain to configuration
|
||||||
settings that apply to the given block.
|
settings that apply to the given block.
|
||||||
|
|
||||||
Several values take lists of values and have defaults preset inside
|
Several values take lists of values and have defaults preset inside
|
||||||
them. Prefix a keyword with a tilde (~) to override the default and
|
them. Prefix a keyword with a tilde (``~``) to override the default and
|
||||||
disable it.
|
disable it.
|
||||||
|
|
||||||
A line may also be a .include directive, which is of the form .include
|
A line may also be a .include directive, which is of the form::
|
||||||
"file" and causes file to be read in at that point, before the rest of
|
|
||||||
the current file is processed. Relative paths are first tried relative
|
|
||||||
to PREFIX and then relative to ETCPATH (normally PREFIX/etc).
|
|
||||||
|
|
||||||
Anything from a # to the end of a line is a comment. Blank lines are
|
.include "file"
|
||||||
|
|
||||||
|
and causes file to be read in at that point, before the rest of
|
||||||
|
the current file is processed. Relative paths are first tried relative
|
||||||
|
to ``PREFIX`` and then relative to ``ETCPATH`` (normally ``PREFIX``/etc).
|
||||||
|
|
||||||
|
Anything from a ``#`` to the end of a line is a comment. Blank lines are
|
||||||
ignored. C-style comments are also supported.
|
ignored. C-style comments are also supported.
|
||||||
|
|
||||||
Specific blocks and directives
|
Specific blocks and directives
|
||||||
|
@ -30,9 +33,10 @@ revisions of this manual.
|
||||||
loadmodule directive
|
loadmodule directive
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
loadmodule "
|
::
|
||||||
text
|
|
||||||
";
|
loadmodule "text";
|
||||||
|
|
||||||
Loads a module into the IRCd. In charybdis 1.1, most modules are
|
Loads a module into the IRCd. In charybdis 1.1, most modules are
|
||||||
automatically loaded in. In future versions, it is intended to remove
|
automatically loaded in. In future versions, it is intended to remove
|
||||||
this behaviour as to allow for easy customization of the IRCd's
|
this behaviour as to allow for easy customization of the IRCd's
|
||||||
|
@ -41,24 +45,25 @@ featureset.
|
||||||
serverinfo {} block
|
serverinfo {} block
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
serverinfo { name = "
|
::
|
||||||
text
|
|
||||||
"; sid = "
|
serverinfo {
|
||||||
text
|
name = "text";
|
||||||
"; description = "
|
sid = "text";
|
||||||
text
|
description = "text";
|
||||||
"; network\_name = "
|
network_name = "text";
|
||||||
text
|
network_desc = "text";
|
||||||
"; hub =
|
hub = boolean;
|
||||||
boolean
|
vhost = "text";
|
||||||
; vhost = "
|
vhost6 = "text";
|
||||||
text
|
};
|
||||||
"; vhost6 = "
|
|
||||||
text
|
|
||||||
"; };
|
|
||||||
The serverinfo {} block defines the core operational parameters of the
|
The serverinfo {} block defines the core operational parameters of the
|
||||||
IRC server.
|
IRC server.
|
||||||
|
|
||||||
|
serverinfo {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
name
|
name
|
||||||
The name of the IRC server that you are configuring. This must
|
The name of the IRC server that you are configuring. This must
|
||||||
contain at least one dot. It is not necessarily equal to any DNS
|
contain at least one dot. It is not necessarily equal to any DNS
|
||||||
|
@ -70,13 +75,13 @@ sid
|
||||||
|
|
||||||
description
|
description
|
||||||
A user-defined field of text which describes the IRC server. This
|
A user-defined field of text which describes the IRC server. This
|
||||||
information is used in /links and /whois requests. Geographical
|
information is used in ``/links`` and ``/whois`` requests. Geographical
|
||||||
location information could be a useful use of this field, but most
|
location information could be a useful use of this field, but most
|
||||||
administrators put a witty saying inside it instead.
|
administrators put a witty saying inside it instead.
|
||||||
|
|
||||||
network\_name
|
network\_name
|
||||||
The name of the IRC network that this server will be a member of.
|
The name of the IRC network that this server will be a member of.
|
||||||
This is used in the welcome message and NETWORK= in 005.
|
This is used in the welcome message and ``NETWORK=`` in 005.
|
||||||
|
|
||||||
hub
|
hub
|
||||||
A boolean which defines whether or not this IRC server will be
|
A boolean which defines whether or not this IRC server will be
|
||||||
|
@ -93,14 +98,15 @@ vhost6
|
||||||
admin {} block
|
admin {} block
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
admin { name = "
|
::
|
||||||
text
|
|
||||||
"; description = "
|
admin {
|
||||||
text
|
name = "text";
|
||||||
"; email = "
|
description = "text";
|
||||||
text
|
email = "text";
|
||||||
"; };
|
};
|
||||||
This block provides the information which is returned by the ADMIN
|
|
||||||
|
This block provides the information which is returned by the ``ADMIN``
|
||||||
command.
|
command.
|
||||||
|
|
||||||
name
|
name
|
||||||
|
@ -115,38 +121,27 @@ email
|
||||||
class {} block
|
class {} block
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
class "
|
::
|
||||||
name
|
|
||||||
" { ping\_time =
|
class "name" {
|
||||||
duration
|
ping_time = duration;
|
||||||
; number\_per\_ident =
|
number_per_ident = number;
|
||||||
number
|
number_per_ip = number;
|
||||||
; number\_per\_ip =
|
number_per_ip_global = number;
|
||||||
number
|
cidr_ipv4_bitlen = number;
|
||||||
; number\_per\_ip\_global =
|
cidr_ipv6_bitlen = number;
|
||||||
number
|
number_per_cidr = number;
|
||||||
; cidr\_ipv4\_bitlen =
|
max_number = number;
|
||||||
number
|
sendq = size;
|
||||||
; cidr\_ipv6\_bitlen =
|
};
|
||||||
number
|
|
||||||
; number\_per\_cidr =
|
class "name" {
|
||||||
number
|
ping_time = duration;
|
||||||
; max\_number =
|
connectfreq = duration;
|
||||||
number
|
max_number = number;
|
||||||
; sendq =
|
sendq = size;
|
||||||
size
|
};
|
||||||
; };
|
|
||||||
class "
|
|
||||||
name
|
|
||||||
" { ping\_time =
|
|
||||||
duration
|
|
||||||
; connectfreq =
|
|
||||||
duration
|
|
||||||
; max\_number =
|
|
||||||
number
|
|
||||||
; sendq =
|
|
||||||
size
|
|
||||||
; };
|
|
||||||
Class blocks define classes of connections for later use. The class name
|
Class blocks define classes of connections for later use. The class name
|
||||||
is used to connect them to other blocks in the config file (auth{} and
|
is used to connect them to other blocks in the config file (auth{} and
|
||||||
connect{}). They must be defined before they are used.
|
connect{}). They must be defined before they are used.
|
||||||
|
@ -154,6 +149,9 @@ connect{}). They must be defined before they are used.
|
||||||
Classes are used both for client and server connections, but most
|
Classes are used both for client and server connections, but most
|
||||||
variables are different.
|
variables are different.
|
||||||
|
|
||||||
|
class {} variables: client classes
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
ping\_time
|
ping\_time
|
||||||
The amount of time between checking pings for clients, e.g.: 2
|
The amount of time between checking pings for clients, e.g.: 2
|
||||||
minutes
|
minutes
|
||||||
|
@ -193,6 +191,9 @@ sendq
|
||||||
The maximum size of the queue of data to be sent to a client before
|
The maximum size of the queue of data to be sent to a client before
|
||||||
it is dropped.
|
it is dropped.
|
||||||
|
|
||||||
|
class {} variables: server classes
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
ping\_time
|
ping\_time
|
||||||
The amount of time between checking pings for servers, e.g.: 2
|
The amount of time between checking pings for servers, e.g.: 2
|
||||||
minutes
|
minutes
|
||||||
|
@ -213,25 +214,27 @@ sendq
|
||||||
auth {} block
|
auth {} block
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
auth { user = "
|
::
|
||||||
hostmask
|
|
||||||
"; password = "
|
auth {
|
||||||
text
|
user = "hostmask";
|
||||||
"; spoof = "
|
password = "text";
|
||||||
text
|
spoof = "text";
|
||||||
"; flags =
|
flags = list;
|
||||||
list
|
class = "text";
|
||||||
; class = "
|
};
|
||||||
text
|
|
||||||
"; };
|
|
||||||
auth {} blocks allow client connections to the server, and set various
|
auth {} blocks allow client connections to the server, and set various
|
||||||
properties concerning those connections.
|
properties concerning those connections.
|
||||||
|
|
||||||
Auth blocks are evaluated from top to bottom in priority, so put special
|
Auth blocks are evaluated from top to bottom in priority, so put special
|
||||||
blocks first.
|
blocks first.
|
||||||
|
|
||||||
|
auth {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
user
|
user
|
||||||
A hostmask (user@host) that the auth {} block applies to. It is
|
A hostmask (``user@host``) that the auth {} block applies to. It is
|
||||||
matched against the hostname and IP address (using :: shortening for
|
matched against the hostname and IP address (using :: shortening for
|
||||||
IPv6 and prepending a 0 if it starts with a colon) and can also use
|
IPv6 and prepending a 0 if it starts with a colon) and can also use
|
||||||
CIDR masks. You can have multiple user entries.
|
CIDR masks. You can have multiple user entries.
|
||||||
|
@ -242,19 +245,22 @@ password
|
||||||
(will not fall back on another auth{} block).
|
(will not fall back on another auth{} block).
|
||||||
|
|
||||||
spoof
|
spoof
|
||||||
An optional fake hostname (or user@host) to apply to users
|
An optional fake hostname (or ``user@host``) to apply to users
|
||||||
authenticated to this auth{} block. In STATS i and TESTLINE, an
|
authenticated to this auth{} block. In ``STATS i`` and ``TESTLINE``, an
|
||||||
equals sign (=) appears before the user@host and the spoof is shown.
|
equals sign (=) appears before the ``user@host`` and the spoof is shown.
|
||||||
|
|
||||||
flags
|
flags
|
||||||
A list of flags to apply to this auth{} block. They are listed
|
A list of flags to apply to this ``auth{}`` block. They are listed
|
||||||
below. Some of the flags appear as a special character,
|
below. Some of the flags appear as a special character,
|
||||||
parenthesized in the list, before the user@host in STATS i and
|
parenthesized in the list, before the ``user@host`` in ``STATS i`` and
|
||||||
TESTLINE.
|
``TESTLINE``.
|
||||||
|
|
||||||
class
|
class
|
||||||
A name of a class to put users matching this auth{} block into.
|
A name of a class to put users matching this auth{} block into.
|
||||||
|
|
||||||
|
auth {} flags
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
encrypted
|
encrypted
|
||||||
The password used has been encrypted.
|
The password used has been encrypted.
|
||||||
|
|
||||||
|
@ -287,7 +293,7 @@ jupe\_exempt
|
||||||
resv\_exempt
|
resv\_exempt
|
||||||
Users in this auth{} block may use reserved nicknames and channels.
|
Users in this auth{} block may use reserved nicknames and channels.
|
||||||
|
|
||||||
.. note:: The initial nickname may still not be reserved.
|
.. note:: The initial nickname may still not be reserved.
|
||||||
|
|
||||||
flood\_exempt (\|) Users in this auth{} block may send arbitrary
|
flood\_exempt (\|) Users in this auth{} block may send arbitrary
|
||||||
amounts of commands per time unit to the server. This does not
|
amounts of commands per time unit to the server. This does not
|
||||||
|
@ -313,27 +319,38 @@ need\_sasl
|
||||||
exempt {} block
|
exempt {} block
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
exempt { ip = "
|
::
|
||||||
ip
|
|
||||||
"; };
|
exempt {
|
||||||
An exempt block specifies IP addresses which are exempt from D:lines and
|
ip = "ip";
|
||||||
|
};
|
||||||
|
|
||||||
|
An exempt block specifies IP addresses which are exempt from ``D:lines`` and
|
||||||
throttling. Multiple addresses can be specified in one block. Clients
|
throttling. Multiple addresses can be specified in one block. Clients
|
||||||
coming from these addresses can still be K/G/X:lined or banned by a DNS
|
coming from these addresses can still be ``K/G/X:lined`` or banned by a DNS
|
||||||
blacklist unless they also have appropriate flags in their auth{} block.
|
blacklist unless they also have appropriate flags in their auth{} block.
|
||||||
|
|
||||||
|
exempt {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
ip
|
ip
|
||||||
The IP address or CIDR range to exempt.
|
The IP address or CIDR range to exempt.
|
||||||
|
|
||||||
privset {} block
|
privset {} block
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
privset { extends = "
|
::
|
||||||
name
|
|
||||||
"; privs =
|
privset {
|
||||||
list
|
extends = "name";
|
||||||
; };
|
privs = list;
|
||||||
|
};
|
||||||
|
|
||||||
A privset (privilege set) block specifies a set of operator privileges.
|
A privset (privilege set) block specifies a set of operator privileges.
|
||||||
|
|
||||||
|
privset {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
extends
|
extends
|
||||||
An optional privset to inherit. The new privset will have all
|
An optional privset to inherit. The new privset will have all
|
||||||
privileges that the given privset has.
|
privileges that the given privset has.
|
||||||
|
@ -345,24 +362,23 @@ privs
|
||||||
operator {} block
|
operator {} block
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
operator "
|
::
|
||||||
name
|
|
||||||
" { user = "
|
operator "name" {
|
||||||
hostmask
|
user = "hostmask";
|
||||||
"; password = "
|
password = "text";
|
||||||
text
|
rsa_public_key_file = "text";
|
||||||
"; rsa\_public\_key\_file = "
|
umodes = list;
|
||||||
text
|
snomask = "text";
|
||||||
"; umodes =
|
flags = list;
|
||||||
list
|
};
|
||||||
; snomask = "
|
|
||||||
text
|
Operator blocks define who may use the ``OPER`` command to gain extended
|
||||||
"; flags =
|
|
||||||
list
|
|
||||||
; };
|
|
||||||
Operator blocks define who may use the OPER command to gain extended
|
|
||||||
privileges.
|
privileges.
|
||||||
|
|
||||||
|
operator {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
user
|
user
|
||||||
A hostmask that users trying to use this operator {} block must
|
A hostmask that users trying to use this operator {} block must
|
||||||
match. This is checked against the original host and IP address;
|
match. This is checked against the original host and IP address;
|
||||||
|
@ -375,15 +391,15 @@ user
|
||||||
spoofs worked in operator {} blocks.
|
spoofs worked in operator {} blocks.
|
||||||
|
|
||||||
password
|
password
|
||||||
A password used with the OPER command to use this operator {} block.
|
A password used with the ``OPER`` command to use this operator {} block.
|
||||||
Passwords are encrypted by default, but may be unencrypted if
|
Passwords are encrypted by default, but may be unencrypted if
|
||||||
~encrypted is present in the flags list.
|
~encrypted is present in the flags list.
|
||||||
|
|
||||||
rsa\_public\_key\_file
|
rsa\_public\_key\_file
|
||||||
An optional path to a RSA public key file associated with the
|
An optional path to a RSA public key file associated with the
|
||||||
operator {} block. This information is used by the CHALLENGE
|
operator {} block. This information is used by the ``CHALLENGE``
|
||||||
command, which is an alternative authentication scheme to the
|
command, which is an alternative authentication scheme to the
|
||||||
traditional OPER command.
|
traditional ``OPER`` command.
|
||||||
|
|
||||||
umodes
|
umodes
|
||||||
A list of usermodes to apply to successfully opered clients.
|
A list of usermodes to apply to successfully opered clients.
|
||||||
|
@ -399,6 +415,9 @@ flags
|
||||||
A list of flags to apply to this operator{} block. They are listed
|
A list of flags to apply to this operator{} block. They are listed
|
||||||
below.
|
below.
|
||||||
|
|
||||||
|
operator {} flags
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
encrypted
|
encrypted
|
||||||
The password used has been encrypted. This is enabled by default,
|
The password used has been encrypted. This is enabled by default,
|
||||||
use ~encrypted to disable it.
|
use ~encrypted to disable it.
|
||||||
|
@ -409,35 +428,31 @@ need\_ssl
|
||||||
connect {} block
|
connect {} block
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
connect "
|
::
|
||||||
name
|
|
||||||
" { host = "
|
connect "name" {
|
||||||
text
|
host = "text";
|
||||||
"; send\_password = "
|
send_password = "text";
|
||||||
text
|
accept_password = "text";
|
||||||
"; accept\_password = "
|
port = number;
|
||||||
text
|
hub_mask = "mask";
|
||||||
"; port =
|
leaf_mask = "mask";
|
||||||
number
|
class = "text";
|
||||||
; hub\_mask = "
|
flags = list;
|
||||||
mask
|
aftype = protocol;
|
||||||
"; leaf\_mask = "
|
};
|
||||||
mask
|
|
||||||
"; class = "
|
|
||||||
text
|
|
||||||
"; flags =
|
|
||||||
list
|
|
||||||
; aftype =
|
|
||||||
protocol
|
|
||||||
; };
|
|
||||||
Connect blocks define what servers may connect or be connected to.
|
Connect blocks define what servers may connect or be connected to.
|
||||||
|
|
||||||
|
connect {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
host
|
host
|
||||||
The hostname or IP to connect to.
|
The hostname or IP to connect to.
|
||||||
|
|
||||||
.. note:: Furthermore, if a hostname is used, it must have an ``A`` or
|
.. note:: Furthermore, if a hostname is used, it must have an
|
||||||
``AAAA`` record (no ``CNAME``) and it must be the primary hostname
|
``A`` or ``AAAA`` record (no ``CNAME``) and it must be
|
||||||
for inbound connections to work.
|
the primary hostname for inbound connections to work.
|
||||||
|
|
||||||
IPv6 addresses must be in ``::`` shortened form; addresses which
|
IPv6 addresses must be in ``::`` shortened form; addresses which
|
||||||
then start with a colon must be prepended with a zero, for
|
then start with a colon must be prepended with a zero, for
|
||||||
|
@ -473,6 +488,9 @@ aftype
|
||||||
The protocol that should be used to connect with, either ipv4 or
|
The protocol that should be used to connect with, either ipv4 or
|
||||||
ipv6. This defaults to ipv4 unless host is a numeric IPv6 address.
|
ipv6. This defaults to ipv4 unless host is a numeric IPv6 address.
|
||||||
|
|
||||||
|
connect {} flags
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
encrypted
|
encrypted
|
||||||
The value for accept\_password has been encrypted.
|
The value for accept\_password has been encrypted.
|
||||||
|
|
||||||
|
@ -496,13 +514,18 @@ topicburst
|
||||||
listen {} block
|
listen {} block
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
listen { host = "
|
::
|
||||||
text
|
|
||||||
"; port =
|
listen {
|
||||||
number
|
host = "text";
|
||||||
; };
|
port = number;
|
||||||
|
};
|
||||||
|
|
||||||
A listen block specifies what ports a server should listen on.
|
A listen block specifies what ports a server should listen on.
|
||||||
|
|
||||||
|
listen {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
host
|
host
|
||||||
An optional host to bind to. Otherwise, the ircd will listen on all
|
An optional host to bind to. Otherwise, the ircd will listen on all
|
||||||
available hosts.
|
available hosts.
|
||||||
|
@ -515,13 +538,18 @@ port
|
||||||
modules {} block
|
modules {} block
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
modules { path = "
|
::
|
||||||
text
|
|
||||||
"; module =
|
modules {
|
||||||
text
|
path = "text";
|
||||||
; };
|
module = text;
|
||||||
|
};
|
||||||
|
|
||||||
The modules block specifies information for loadable modules.
|
The modules block specifies information for loadable modules.
|
||||||
|
|
||||||
|
modules {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
path
|
path
|
||||||
Specifies a path to search for loadable modules.
|
Specifies a path to search for loadable modules.
|
||||||
|
|
||||||
|
@ -531,9 +559,12 @@ module
|
||||||
general {} block
|
general {} block
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
modules {
|
::
|
||||||
values
|
|
||||||
};
|
modules {
|
||||||
|
values
|
||||||
|
};
|
||||||
|
|
||||||
The general block specifies a variety of options, many of which were in
|
The general block specifies a variety of options, many of which were in
|
||||||
``config.h`` in older daemons. The options are documented in
|
``config.h`` in older daemons. The options are documented in
|
||||||
``reference.conf``.
|
``reference.conf``.
|
||||||
|
@ -541,9 +572,12 @@ The general block specifies a variety of options, many of which were in
|
||||||
channel {} block
|
channel {} block
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
modules {
|
::
|
||||||
values
|
|
||||||
};
|
modules {
|
||||||
|
values
|
||||||
|
};
|
||||||
|
|
||||||
The channel block specifies a variety of channel-related options, many
|
The channel block specifies a variety of channel-related options, many
|
||||||
of which were in ``config.h`` in older daemons. The options are
|
of which were in ``config.h`` in older daemons. The options are
|
||||||
documented in ``reference.conf``.
|
documented in ``reference.conf``.
|
||||||
|
@ -551,20 +585,25 @@ documented in ``reference.conf``.
|
||||||
serverhide {} block
|
serverhide {} block
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
modules {
|
::
|
||||||
values
|
|
||||||
};
|
modules {
|
||||||
|
values
|
||||||
|
};
|
||||||
|
|
||||||
The serverhide block specifies options related to server hiding. The
|
The serverhide block specifies options related to server hiding. The
|
||||||
options are documented in ``reference.conf``.
|
options are documented in ``reference.conf``.
|
||||||
|
|
||||||
blacklist {} block
|
blacklist {} block
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
blacklist { host = "
|
::
|
||||||
text
|
|
||||||
"; reject\_reason = "
|
blacklist {
|
||||||
text
|
host = "text";
|
||||||
"; };
|
reject_reason = "text";
|
||||||
|
};
|
||||||
|
|
||||||
The blacklist block specifies DNS blacklists to check. Listed clients
|
The blacklist block specifies DNS blacklists to check. Listed clients
|
||||||
will not be allowed to connect. IPv6 clients are not checked against
|
will not be allowed to connect. IPv6 clients are not checked against
|
||||||
these.
|
these.
|
||||||
|
@ -572,6 +611,9 @@ these.
|
||||||
Multiple blacklists can be specified, in pairs with first host then
|
Multiple blacklists can be specified, in pairs with first host then
|
||||||
reject\_reason.
|
reject\_reason.
|
||||||
|
|
||||||
|
blacklist {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
host
|
host
|
||||||
The DNSBL to use.
|
The DNSBL to use.
|
||||||
|
|
||||||
|
@ -581,17 +623,21 @@ reject\_reason
|
||||||
alias {} block
|
alias {} block
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
alias "
|
::
|
||||||
name
|
|
||||||
" { target = "
|
alias "name" {
|
||||||
text
|
target = "text";
|
||||||
"; };
|
};
|
||||||
|
|
||||||
Alias blocks allow the definition of custom commands. These commands
|
Alias blocks allow the definition of custom commands. These commands
|
||||||
send PRIVMSG to the given target. A real command takes precedence above
|
send ``PRIVMSG`` to the given target. A real command takes precedence above
|
||||||
an alias.
|
an alias.
|
||||||
|
|
||||||
|
alias {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
target
|
target
|
||||||
The target nick (must be a network service (umode +S)) or
|
The target nick (must be a network service (umode ``+S``)) or
|
||||||
user@server. In the latter case, the server cannot be this server,
|
user@server. In the latter case, the server cannot be this server,
|
||||||
only opers can use user starting with "opers" reliably and the user
|
only opers can use user starting with "opers" reliably and the user
|
||||||
is interpreted on the target server only so you may need to use
|
is interpreted on the target server only so you may need to use
|
||||||
|
@ -600,11 +646,13 @@ target
|
||||||
cluster {} block
|
cluster {} block
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
cluster { name = "
|
::
|
||||||
text
|
|
||||||
"; flags =
|
cluster {
|
||||||
list
|
name = "text";
|
||||||
; };
|
flags = list;
|
||||||
|
};
|
||||||
|
|
||||||
The cluster block specifies servers we propagate things to
|
The cluster block specifies servers we propagate things to
|
||||||
automatically. This does not allow them to set bans, you need a separate
|
automatically. This does not allow them to set bans, you need a separate
|
||||||
shared{} block for that.
|
shared{} block for that.
|
||||||
|
@ -613,7 +661,10 @@ Having overlapping cluster{} items will cause the command to be executed
|
||||||
twice on the target servers. This is particularly undesirable for ban
|
twice on the target servers. This is particularly undesirable for ban
|
||||||
removals.
|
removals.
|
||||||
|
|
||||||
The letters in parentheses denote the flags in /stats U.
|
The letters in parentheses denote the flags in ``/stats`` U.
|
||||||
|
|
||||||
|
cluster {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
name
|
name
|
||||||
The server name to share with, this may contain wildcards and may be
|
The server name to share with, this may contain wildcards and may be
|
||||||
|
@ -624,23 +675,26 @@ flags
|
||||||
another flags entry) will receive these flags. They are listed
|
another flags entry) will receive these flags. They are listed
|
||||||
below.
|
below.
|
||||||
|
|
||||||
|
cluster {} flags
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
kline (K)
|
kline (K)
|
||||||
Permanent K:lines
|
Permanent ``K:lines``
|
||||||
|
|
||||||
tkline (k)
|
tkline (k)
|
||||||
Temporary K:lines
|
Temporary ``K:lines``
|
||||||
|
|
||||||
unkline (U)
|
unkline (U)
|
||||||
K:line removals
|
``K:line`` removals
|
||||||
|
|
||||||
xline (X)
|
xline (X)
|
||||||
Permanent X:lines
|
Permanent ``X:lines``
|
||||||
|
|
||||||
txline (x)
|
txline (x)
|
||||||
Temporary X:lines
|
Temporary ``X:lines``
|
||||||
|
|
||||||
unxline (Y)
|
unxline (Y)
|
||||||
X:line removals
|
``X:line`` removals
|
||||||
|
|
||||||
resv (Q)
|
resv (Q)
|
||||||
Permanently reserved nicks/channels
|
Permanently reserved nicks/channels
|
||||||
|
@ -649,11 +703,11 @@ tresv (q)
|
||||||
Temporarily reserved nicks/channels
|
Temporarily reserved nicks/channels
|
||||||
|
|
||||||
unresv (R)
|
unresv (R)
|
||||||
RESV removals
|
``RESV`` removals
|
||||||
|
|
||||||
locops (L)
|
locops (L)
|
||||||
LOCOPS messages (sharing this with \* makes LOCOPS rather similar to
|
``LOCOPS`` messages (sharing this with \* makes ``LOCOPS`` rather similar to
|
||||||
OPERWALL which is not useful)
|
``OPERWALL`` which is not useful)
|
||||||
|
|
||||||
all
|
all
|
||||||
All of the above
|
All of the above
|
||||||
|
@ -661,19 +715,22 @@ all
|
||||||
shared {} block
|
shared {} block
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
shared { oper = "
|
::
|
||||||
user@host
|
|
||||||
", "
|
shared {
|
||||||
server
|
oper = "user@host", "server";
|
||||||
"; flags =
|
flags = list;
|
||||||
list
|
};
|
||||||
; };
|
|
||||||
The shared block specifies opers allowed to perform certain actions on
|
The shared block specifies opers allowed to perform certain actions on
|
||||||
our server remotely. These are ordered top down. The first one matching
|
our server remotely. These are ordered top down. The first one matching
|
||||||
will determine the oper's access. If access is denied, the command will
|
will determine the oper's access. If access is denied, the command will
|
||||||
be silently ignored.
|
be silently ignored.
|
||||||
|
|
||||||
The letters in parentheses denote the flags in /stats U.
|
The letters in parentheses denote the flags in ``/stats U``.
|
||||||
|
|
||||||
|
shared {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
oper
|
oper
|
||||||
The user@host the oper must have, and the server they must be on.
|
The user@host the oper must have, and the server they must be on.
|
||||||
|
@ -684,26 +741,29 @@ flags
|
||||||
another flags entry) will receive these flags. They are listed
|
another flags entry) will receive these flags. They are listed
|
||||||
below.
|
below.
|
||||||
|
|
||||||
.. note:: While they have the same names, the flags have subtly
|
.. note:: While they have the same names, the flags have subtly
|
||||||
different meanings from those in the cluster{} block.
|
different meanings from those in the cluster{} block.
|
||||||
|
|
||||||
|
shared {} flags
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
kline (K)
|
kline (K)
|
||||||
Permanent and temporary K:lines
|
Permanent and temporary ``K:lines``
|
||||||
|
|
||||||
tkline (k)
|
tkline (k)
|
||||||
Temporary K:lines
|
Temporary ``K:lines``
|
||||||
|
|
||||||
unkline (U)
|
unkline (U)
|
||||||
K:line removals
|
``K:line`` removals
|
||||||
|
|
||||||
xline (X)
|
xline (X)
|
||||||
Permanent and temporary X:lines
|
Permanent and temporary ``X:lines``
|
||||||
|
|
||||||
txline (x)
|
txline (x)
|
||||||
Temporary X:lines
|
Temporary ``X:lines``
|
||||||
|
|
||||||
unxline (Y)
|
unxline (Y)
|
||||||
X:line removals
|
``X:line`` removals
|
||||||
|
|
||||||
resv (Q)
|
resv (Q)
|
||||||
Permanently and temporarily reserved nicks/channels
|
Permanently and temporarily reserved nicks/channels
|
||||||
|
@ -712,29 +772,29 @@ tresv (q)
|
||||||
Temporarily reserved nicks/channels
|
Temporarily reserved nicks/channels
|
||||||
|
|
||||||
unresv (R)
|
unresv (R)
|
||||||
RESV removals
|
``RESV`` removals
|
||||||
|
|
||||||
all
|
all
|
||||||
All of the above; this does not include locops, rehash, dline,
|
All of the above; this does not include locops, rehash, dline,
|
||||||
tdline or undline.
|
tdline or undline.
|
||||||
|
|
||||||
locops (L)
|
locops (L)
|
||||||
LOCOPS messages (accepting this from \* makes LOCOPS rather similar
|
``LOCOPS`` messages (accepting this from \* makes ``LOCOPS`` rather similar
|
||||||
to OPERWALL which is not useful); unlike the other flags, this can
|
to ``OPERWALL`` which is not useful); unlike the other flags, this can
|
||||||
only be accepted from \*@\* although it can be restricted based on
|
only be accepted from \*@\* although it can be restricted based on
|
||||||
source server.
|
source server.
|
||||||
|
|
||||||
rehash (H)
|
rehash (H)
|
||||||
REHASH commands; all options can be used
|
``REHASH`` commands; all options can be used
|
||||||
|
|
||||||
dline (D)
|
dline (D)
|
||||||
Permanent and temporary D:lines
|
Permanent and temporary ``D:lines``
|
||||||
|
|
||||||
tdline (d)
|
tdline (d)
|
||||||
Temporary D:lines
|
Temporary ``D:lines``
|
||||||
|
|
||||||
undline (E)
|
undline (E)
|
||||||
D:line removals
|
``D:line`` removals
|
||||||
|
|
||||||
none
|
none
|
||||||
Allow nothing to be done
|
Allow nothing to be done
|
||||||
|
@ -742,12 +802,15 @@ none
|
||||||
service {} block
|
service {} block
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
service { name = "
|
::
|
||||||
text
|
|
||||||
"; };
|
service {
|
||||||
|
name = "text";
|
||||||
|
};
|
||||||
|
|
||||||
The service block specifies privileged servers (services). These servers
|
The service block specifies privileged servers (services). These servers
|
||||||
have extra privileges such as setting login names on users and
|
have extra privileges such as setting login names on users and
|
||||||
introducing clients with umode +S (unkickable, hide channels, etc). This
|
introducing clients with umode ``+S`` (unkickable, hide channels, etc). This
|
||||||
does not allow them to set bans, you need a separate shared{} block for
|
does not allow them to set bans, you need a separate shared{} block for
|
||||||
that.
|
that.
|
||||||
|
|
||||||
|
@ -756,6 +819,9 @@ Do not place normal servers here.
|
||||||
Multiple names may be specified but there may be only one service{}
|
Multiple names may be specified but there may be only one service{}
|
||||||
block.
|
block.
|
||||||
|
|
||||||
|
service {} variables
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
name
|
name
|
||||||
The server name to grant special privileges. This may not contain
|
The server name to grant special privileges. This may not contain
|
||||||
wildcards.
|
wildcards.
|
||||||
|
@ -766,7 +832,7 @@ Hostname resolution (DNS)
|
||||||
Charybdis uses solely DNS for all hostname/address lookups (no
|
Charybdis uses solely DNS for all hostname/address lookups (no
|
||||||
``/etc/hosts`` or anything else). The DNS servers are taken from
|
``/etc/hosts`` or anything else). The DNS servers are taken from
|
||||||
``/etc/resolv.conf``. If this file does not exist or no valid IP
|
``/etc/resolv.conf``. If this file does not exist or no valid IP
|
||||||
addresses are listed in it, the local host (127.0.0.1) is used. (Note
|
addresses are listed in it, the local host (``127.0.0.1``) is used. (Note
|
||||||
that the latter part did not work in older versions of Charybdis.)
|
that the latter part did not work in older versions of Charybdis.)
|
||||||
|
|
||||||
IPv4 as well as IPv6 DNS servers are supported, but it is not possible
|
IPv4 as well as IPv6 DNS servers are supported, but it is not possible
|
||||||
|
@ -774,4 +840,4 @@ to use both IPv4 and IPv6 in ``/etc/resolv.conf``.
|
||||||
|
|
||||||
For both security and performance reasons, it is recommended that a
|
For both security and performance reasons, it is recommended that a
|
||||||
caching nameserver such as BIND be run on the same machine as Charybdis
|
caching nameserver such as BIND be run on the same machine as Charybdis
|
||||||
and that ``/etc/resolv.conf`` only list 127.0.0.1.
|
and that ``/etc/resolv.conf`` only list ``127.0.0.1``.
|
||||||
|
|
Loading…
Reference in a new issue