]> jfr.im git - solanum.git/blobdiff - doc/reference.conf
ssl: allow cipher list to be overridden (closes #67)
[solanum.git] / doc / reference.conf
index 3a07c994e579a98606beda6c148e14e612e90341..6c3806e4b892e6428dcacc8aee680e7f6a597008 100755 (executable)
@@ -54,7 +54,9 @@
  * Account bans (+b $a[:mask])                       -- extb_account.so
  * Banned from another channel (+b $j:mask)          -- extb_canjoin.so
  * Other-channel bans (+b $c:mask)                   -- extb_channel.so
+ * Combination extbans                               -- extb_combi.so
  * Extended ban (+b $x:mask)                         -- extb_extgecos.so
+ * Hostmask bans (for combination extbans)           -- extb_hostmask.so
  * Oper bans (+b $o)                                 -- extb_oper.so
  * Realname (gecos) bans (+b $r:mask)                -- extb_realname.so
  * Server bans (+b $s:mask)                          -- extb_server.so
@@ -70,6 +72,7 @@
  * Remote oper up notices                            -- sno_globaloper.so
  * /whois notifications (snomask +W)                 -- sno_whois.so
  * Oper-override (modehacking only)                  -- override.so
+ * Stop services kills                               -- no_kill_services.so
  */
 #loadmodule "extensions/chm_adminonly.so";
 #loadmodule "extensions/chm_operonly.so";
@@ -81,7 +84,9 @@
 #loadmodule "extensions/extb_account.so";
 #loadmodule "extensions/extb_canjoin.so";
 #loadmodule "extensions/extb_channel.so";
+#loadmodule "extensions/extb_combi.so";
 #loadmodule "extensions/extb_extgecos.so";
+#loadmodule "extensions/extb_hostmask.so";
 #loadmodule "extensions/extb_oper.so";
 #loadmodule "extensions/extb_realname.so";
 #loadmodule "extensions/extb_server.so";
 #loadmodule "extensions/sno_globaloper.so";
 #loadmodule "extensions/sno_whois.so";
 #loadmodule "extensions/override.so";
+#loadmodule "extensions/no_kill_services.so";
+
 /* serverinfo {}:  Contains information about the server. (OLD M:) */
 serverinfo {
        /* name: the name of our server */
@@ -120,7 +126,6 @@ serverinfo {
         * is on.  Shown in the 005 reply and used with serverhiding.
         */
        network_name = "MyNet";
-       network_desc = "This is My Network";
 
        /* hub: allow this server to act as a hub and have multiple servers
         * connected to it.  
@@ -130,22 +135,25 @@ serverinfo {
        /* vhost: the IP to bind to when we connect outward to ipv4 servers.
         * This should be an ipv4 IP only.
         */
-       #vhost = "192.169.0.1";
+       #vhost = "192.0.2.6";
 
        /* vhost6: the IP to bind to when we connect outward to ipv6 servers.
         * This should be an ipv6 IP only.
         */
-       #vhost6 = "3ffe:80e8:546::2";
+       #vhost6 = "2001:db7:2::6";
        
        /* ssl_private_key: our ssl private key */
        ssl_private_key = "etc/ssl.key";
 
        /* ssl_cert: certificate for our ssl server */
-       ssl_cert = "etc/ssl.cert";
+       ssl_cert = "etc/ssl.pem";
 
        /* ssl_dh_params: DH parameters, generate with openssl dhparam -out dh.pem 1024 */
        ssl_dh_params = "etc/dh.pem";
 
+       /* ssl_cipher_list: A list of ciphers, dependent on your TLS backend */
+       #ssl_cipher_list = "EECDH+HIGH:EDH+HIGH:HIGH:!aNULL";
+
        /* ssld_count: number of ssld processes you want to start, if you
         * have a really busy server, using N-1 where N is the number of
         * cpu/cpu cores you have might be useful. A number greater than one
@@ -312,11 +320,11 @@ listen {
        /* host: set a specific IP/host the ports after the line will listen 
         * on.  This may be ipv4 or ipv6.
         */
-       host = "1.2.3.4";
+       host = "192.0.2.6";
        port = 7000, 7001;
        sslport = 9000, 9001;
 
-       host = "3ffe:1234:a:b:c::d";
+       host = "2001:db8:2::6";
        port = 7002;
        sslport = 9002;
 };
@@ -329,8 +337,14 @@ auth {
         * prepending a 0 if it starts with a colon) and can also use CIDR
         * masks.
         */
-       user = "*@172.16.0.0/12";
-       user = "*test@123D:B567:*";
+       user = "*@198.51.100.0/24";
+       user = "*test@2001:db8:1:*";
+
+       /* auth_user: This allows specifying a username:password instead of
+        * just a password in PASS, so that a fixed user@host is not
+        * necessary for a specific auth{} block.
+        */
+       #auth_user = "SomeUser";
 
        /* password: an optional password that is required to use this block.
         * By default this is not encrypted, specify the flag "encrypted" in
@@ -374,10 +388,10 @@ auth {
         * not have to obey the redirection, the ircd just suggests to them
         * an alternative server.
         */
-       redirserv = "irc.some.domain";
+       redirserv = "irc.example.net";
        redirport = 6667;
        
-       user = "*.some.domain";
+       user = "*.example.com";
 
        /* class: a class is required even though it is not used */
        class = "users";
@@ -501,12 +515,12 @@ connect "irc.uplink.com" {
        /* host: the host or IP to connect to.  If a hostname is used it
         * must match the reverse dns of the server.
         */
-       host = "192.168.0.1";
+       host = "203.0.113.3";
 
        /* vhost: the host or IP to bind to for this connection.  If this
         * is not specified, the default vhost (in serverinfo {}) is used.
         */
-       #vhost = "192.168.0.50";
+       #vhost = "192.0.2.131";
 
        /* passwords: the passwords we send (OLD C:) and accept (OLD N:).
         * The remote server will have these passwords reversed.
@@ -551,7 +565,7 @@ connect "ipv6.some.server" {
         * if applicable.  Addresses starting with a colon get an extra
         * zero prepended, for example: 0::1
         */
-       host = "3ffd:dead:beef::1";
+       host = "2001:db8:3::8";
        send_password = "password";
        accept_password = "password";
        port = 6666;
@@ -567,7 +581,7 @@ connect "ssl.uplink.com" {
        /* Example of ssl server-to-server connection, ssl flag doesn't need
         * compressed flag, 'cause it uses own compression
         */
-       host = "192.168.0.1";
+       host = "203.0.113.129";
        send_password = "password";
        accept_password = "anotherpassword";
        port = 9999;
@@ -676,11 +690,10 @@ shared {
 
 /* exempt {}: IPs that are exempt from Dlines and rejectcache. (OLD d:) */
 exempt {
-       ip = "192.168.0.0/16";
+       ip = "192.0.2.0/24";
 
        /* these may be stacked */
        ip = "127.0.0.1";
-       ip = "10.0.0.0/8";
 };
 
 /* The channel block contains options pertaining to channels */
@@ -784,6 +797,11 @@ channel {
         * supported.
         */
        disable_local_channels = no;
+
+       /* autochanmodes: the channel modes that should be automatically set
+        * when a channel is created.
+        */
+       autochanmodes = "+nt";
 };
 
 
@@ -835,25 +853,24 @@ serverhide {
  * IPv4 is currently the default as few blacklists support IPv6 operation
  * as of this writing.
  *
- * Note: AHBL (the providers of the below *.ahbl.org BLs) request that they be
- * contacted, via email, at admins@2mbit.com before using these BLs.
- * See <http://www.ahbl.org/services.php> for more information.
+ * As of charybdis 3.5, a matches parameter is allowed; if omitted, any result
+ * is considered a match. If included, a comma-separated list of *quoted*
+ * strings is allowed to match queries. They may be of the format "0" to "255"
+ * to match the final octet (e.g. 127.0.0.1) or "127.x.y.z" to explicitly match
+ * an A record. The blacklist is only applied if it matches anything in the
+ * list. You may freely mix full IP's and final octets.
+ * 
+ * Consult your blacklist provider for the meaning of these parameters; they
+ * are usually used to denote different ban types.
  */
 blacklist {
        host = "rbl.efnetrbl.org";
        type = ipv4;
        reject_reason = "${nick}, your IP (${ip}) is listed in EFnet's RBL. For assistance, see http://efnetrbl.org/?i=${ip}";
 
-#      host = "ircbl.ahbl.org";
-#      type = ipv4;
-#      reject_reason = "${nick}, your IP (${ip}) is listed in ${dnsbl-host} for having an open proxy. In order to protect ${network-name} from abuse, we are not allowing connections with open proxies to connect.";
-#
-#      host = "tor.ahbl.org";
-#      type = ipv4;
-#      reject_reason = "${nick}, your IP (${ip}) is listed as a TOR exit node. In order to protect ${network-name} from tor-based abuse, we are not allowing TOR exit nodes to connect to our network.";
-#
-       /* Example of a blacklist that supports both IPv4 and IPv6 */
+       /* Example of a blacklist that supports both IPv4 and IPv6 and using matches */
 #      host = "foobl.blacklist.invalid";
+#      matches = "4", "6", "127.0.0.10";
 #      type = ipv4, ipv6;
 #      reject_reason = "${nick}, your IP (${ip}) is listed in ${dnsbl-host} for some reason. In order to protect ${network-name} from abuse, we are not allowing connections listed in ${dnsbl-host} to connect";
 };
@@ -921,8 +938,6 @@ general {
         * If disabled, local opers can see them.
         * Dynamic spoofs (e.g. set by services) are unaffected by this;
         * any oper (local and remote) can see the real ip.
-        * Warning: for whowas, this is checked when the client exits,
-        * not when the IP is shown.
         */
        hide_spoof_ips = yes;
 
@@ -951,6 +966,14 @@ general {
         */
        servicestring = "is a Network Service";
 
+       /*
+        * Nick of the network's SASL agent. Used to check whether services are here,
+        * SASL credentials are only sent to its server. Needs to be a service.
+        *
+        * Defaults to SaslServ if unspecified.
+        */
+       sasl_service = "SaslServ";
+
        /* disable fake channels: disable local users joining fake versions
         * of channels, eg #foo^B^B.  Disables bold, mirc colour, reverse,
         * underline and hard space.  (ASCII 2, 3, 22, 31, 160 respectively).
@@ -1017,7 +1040,7 @@ general {
        ts_warn_delta = 30 seconds;
        ts_max_delta = 5 minutes;
 
-       /* client exit: prepend a users quit message with "Client exit: " */
+       /* client exit: prepend a user's quit message with "Quit: " */
        client_exit = yes;
 
        /* collision fnc: change user's nick to their UID instead of
@@ -1213,18 +1236,6 @@ general {
         * provided they have umode +s set */
        oper_snomask = "+s";
 
-       /* use egd: if your system does not have *random devices yet you
-        * want to use OpenSSL and encrypted links, enable this.  Beware -
-        * EGD is *very* CPU intensive when gathering data for its pool
-        */
-       #use_egd = yes;
-
-       /* egdpool path: path to EGD pool. Not necessary for OpenSSL >= 0.9.7
-        * which automatically finds the path.
-        */
-       #egdpool_path = "/var/run/egd-pool";
-
-
        /* compression level: level of compression for compressed links between
         * servers.  
         *
@@ -1295,6 +1306,12 @@ general {
         * counts.
         */
        away_interval = 30;
+
+       /* certfp_method: the method that should be used for computing certificate fingerprints.
+        * Acceptable options are sha1, sha256 and sha512.  Networks running versions of charybdis
+        * prior to charybdis 3.5 MUST use sha1 for certfp_method.
+        */
+       certfp_method = sha1;
 };
 
 modules {