summaryrefslogtreecommitdiff
path: root/data/operserv.example.conf
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-05-05 01:55:04 -0400
committerAdam <Adam@anope.org>2013-05-05 01:55:04 -0400
commit1d0bb9b26b7ad58ab0bf979ac046f4511b3bf12b (patch)
tree4486f0784bdf050fd7eb225c0cb9df352ce1f45a /data/operserv.example.conf
parent781defb7076ddfddf723ca08cd0a518b6657b64f (diff)
Rework the config file reader to be much more flexible and move many configuration directives to the actual modules they are used in.
Diffstat (limited to 'data/operserv.example.conf')
-rw-r--r--data/operserv.example.conf237
1 files changed, 123 insertions, 114 deletions
diff --git a/data/operserv.example.conf b/data/operserv.example.conf
index fa17a1df9..687247f0a 100644
--- a/data/operserv.example.conf
+++ b/data/operserv.example.conf
@@ -56,25 +56,14 @@ service
*
* Provides essential functionality for OperServ.
*/
-module { name = "operserv" }
-
-/*
- * Configuration for OperServ provided by os_main.
- */
-operserv
+module
{
- /*
- * The name of the client that should be OperServ.
- */
- name = "OperServ"
+ name = "operserv"
/*
- * If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
- * them extra privileges such as being a founder on ALL channels.
- *
- * This directive is optional.
+ * The name of the client that should be OperServ.
*/
- #superadmin = yes
+ client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
@@ -98,9 +87,9 @@ operserv
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
- *This directive is optional.
+ * This directive is optional.
*/
- #killonsnline = yes
+ killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
@@ -108,87 +97,7 @@ operserv
*
* This directive is optional.
*/
- #killonsqline = yes
-
- /*
- * Enables session limiting. Session limiting prevents users from connecting more than a certain
- * number of times from the same host at the same time - thus preventing most types of cloning.
- * Once a host reaches it's session limit, all clients attempting to connect from that host will
- * be killed. Exceptions to the default session limit can be defined via the exception list. It
- * should be noted that session limiting, along with a large exception list, can degrade Services'
- * performance.
- *
- * See the online help for more information about session limiting.
- *
- * This directive is optional.
- */
- limitsessions = yes
-
- /*
- * Default session limit per host. Once a host reaches it's session limit, all clients attempting
- * to connect from that host will be killed. A value of zero means an unlimited session limit.
- *
- * This directive is optional.
- * If not given and session limiting is enabled, it will default to no limit.
- */
- defaultsessionlimit = 3
-
- /*
- * The maximum session limit that may be set for a host in an exception.
- *
- * This directive is only required if session limiting is enabled.
- */
- maxsessionlimit = 100
-
- /*
- * Sets the default expiry time for session exceptions.
- *
- * This directive is only required if session limiting is enabled.
- */
- exceptionexpiry = 1d
-
- /*
- * The message that will be NOTICE'd to a user just before they are removed from the network because
- * their host's session limit has been exceeded. It may be used to give a slightly more descriptive
- * reason for the impending kill as opposed to simply "Session limit exceeded".
- *
- * This directive is optional, if not set, nothing will be sent.
- */
- sessionlimitexceeded = "The session limit for your IP %s has been exceeded."
-
- /*
- * Same as above, but should be used to provide a website address where users can find out more
- * about session limits and how to go about applying for an exception.
- *
- * Note: This directive has been intentionally commented out in an effort to remind you to change
- * the URL it contains. It is recommended that you supply an address/URL where people can get help
- * regarding session limits.
- *
- * This directive is optional, if not set, nothing will be sent.
- */
- #sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
-
- /*
- * If set and is not 0, this directive tells Services to add an AKILL the number of subsequent kills
- * for the same host exceeds this value, preventing the network from experiencing KILL floods.
- *
- * This directive is optional.
- */
- maxsessionkill = 15
-
- /*
- * Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
- *
- * This directive is optional, if not set, defaults to 30 minutes.
- */
- sessionautokillexpiry = 30m
-
- /*
- * Sets the CIDR value used to determine which IP addresses represent the same person.
- * By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
- */
- session_ipv4_cidr = 32
- session_ipv6_cidr = 128
+ killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
@@ -204,8 +113,7 @@ operserv
akillids = yes
/*
- * If set, only IRC Operators will be permitted to use OperServ, regardless of module-based command
- * access restrictions.
+ * If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
@@ -254,10 +162,10 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
-#module { name = "os_defcon" }
-#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
-defcon
+#module
{
+ name = "os_defcon"
+
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
@@ -352,6 +260,7 @@ defcon
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
+#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
@@ -384,10 +293,10 @@ defcon
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
-#module { name = "os_dns" }
-#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
-os_dns
+module
{
+ name = "os_dns"
+
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
@@ -412,6 +321,7 @@ os_dns
*/
readd_connected_servers = no
}
+#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
@@ -502,15 +412,16 @@ command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
*
* Used to search services log files.
*/
-module { name = "os_logsearch" }
-command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
-logsearch
+module
{
+ name = "os_logsearch"
+
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
- name = "services.log"
+ logname = "services.log"
}
+command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
@@ -553,7 +464,18 @@ command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunloa
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
-module { name = "os_news" }
+module
+{
+ name = "os_news"
+
+ /*
+ * The number of LOGON/OPER news items to display when a user logs on.
+ *
+ * This directive is optional, if no set it will default to 3.
+ */
+ #newscount = 3
+}
+
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
@@ -604,9 +526,84 @@ command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; pe
*
* Provides the commands operserv/exception and operserv/session.
*
+ * This module enables session limiting. Session limiting prevents users from connecting more than a certain
+ * number of times from the same IP at the same time - thus preventing most types of cloning.
+ * Once a host reaches it's session limit, all clients attempting to connect from that host will
+ * be killed. Exceptions to the default session limit can be defined via the exception list.
+ *
* Used to manage the session limit exception list, and view currently active sessions.
*/
-module { name = "os_session" }
+module
+{
+ name = "os_session"
+
+ /*
+ * Default session limit per host. Once a host reaches it's session limit, all clients attempting
+ * to connect from that host will be killed.
+ *
+ * This directive is require if os_session is loaded.
+ */
+ defaultsessionlimit = 3
+
+ /*
+ * The maximum session limit that may be set for a host in an exception.
+ *
+ * This directive is require if os_session is loaded.
+ */
+ maxsessionlimit = 100
+
+ /*
+ * Sets the default expiry time for session exceptions.
+ *
+ * This directive is require if os_session is loaded.
+ */
+ exceptionexpiry = 1d
+
+ /*
+ * The message that will be NOTICE'd to a user just before they are removed from the network because
+ * their host's session limit has been exceeded. It may be used to give a slightly more descriptive
+ * reason for the impending kill as opposed to simply "Session limit exceeded".
+ *
+ * This directive is optional, if not set, nothing will be sent.
+ */
+ sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
+
+ /*
+ * Same as above, but should be used to provide a website address where users can find out more
+ * about session limits and how to go about applying for an exception.
+ *
+ * Note: This directive has been intentionally commented out in an effort to remind you to change
+ * the URL it contains. It is recommended that you supply an address/URL where people can get help
+ * regarding session limits.
+ *
+ * This directive is optional, if not set, nothing will be sent.
+ */
+ #sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
+
+ /*
+ * If set and is not 0, this directive tells Services to add an AKILL the number of subsequent kills
+ * for the same host exceeds this value, preventing the network from experiencing KILL floods.
+ *
+ * This directive is optional.
+ */
+ maxsessionkill = 15
+
+ /*
+ * Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
+ *
+ * This directive is optional, if not set, defaults to 30 minutes.
+ */
+ sessionautokillexpiry = 30m
+
+ /*
+ * Sets the CIDR value used to determine which IP addresses represent the same person.
+ * By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
+ * If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
+ * 64 or 48.
+ */
+ session_ipv4_cidr = 32
+ session_ipv6_cidr = 128
+}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
@@ -617,7 +614,19 @@ command { service = "OperServ"; name = "SESSION"; command = "operserv/session";
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
-module { name = "os_set" }
+module
+{
+ name = "os_set"
+
+ /*
+ * If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
+ * them extra privileges such as being a founder on ALL channels.
+ *
+ * This directive is optional.
+ */
+ #superadmin = yes
+}
+
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
@@ -659,7 +668,7 @@ command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart";
*
* Provides the operserv/snline and operserv/sqline commands.
*
- * Used to ban different things such as realnames, nicknames, and IPs.
+ * Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }