* .include "filename"
* .include <filename>
*
+ * Flags variables are comma-separated sets of predefined values,
+ * specific to each block. For example in operator {} blocks:
+ * flags = encrypted, encrypted;
+ *
* Times/durations are written as:
* 12 hours 30 minutes 1 second
*
* /locops support -- m_locops
* Opers cannot be invisible (umode +i) -- no_oper_invis
* Far connection notices (snomask +F) -- sno_farconnect
- * Remote k/d/x line active notices -- sno_globalkline
* Remote oper up notices -- sno_globaloper
* Global nick-change notices -- sno_globalnickchange
- * /whois notifications (snomask +W) -- sno_whois
* Oper-override (modehacking only) -- override
* Stop services kills -- no_kill_services
*/
#loadmodule "extensions/m_locops";
#loadmodule "extensions/no_oper_invis";
#loadmodule "extensions/sno_farconnect";
-#loadmodule "extensions/sno_globalkline";
#loadmodule "extensions/sno_globalnickchange";
#loadmodule "extensions/sno_globaloper";
-#loadmodule "extensions/sno_whois";
#loadmodule "extensions/override";
#loadmodule "extensions/no_kill_services";
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";
+ #ssl_cipher_list = "TLS_CHACHA20_POLY1305_SHA256: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
* exceed_limit (old > flag) | allow user to exceed class user limits
* kline_exempt (old ^ flag) | exempt this user from k/g/xlines,
* | dnsbls, and proxies
- * dnsbl_exempt | exempt this user from dnsbls
+ * dnsbl_exempt | exempt this user from dnsbls
* proxy_exempt | exempt this user from proxies
- * spambot_exempt | exempt this user from spambot checks
- * shide_exempt | exempt this user from serverhiding
+ * spambot_exempt | exempt this user from spambot checks
+ * shide_exempt | exempt this user from serverhiding
* jupe_exempt | exempt this user from generating
* warnings joining juped channels
- * resv_exempt | exempt this user from resvs
+ * resv_exempt | exempt this user from resvs
* flood_exempt | exempt this user from flood limits
* USE WITH CAUTION.
* no_tilde (old - flag) | don't prefix ~ to username if no ident
* oper:wallops: allows sending wallops messages
* oper:grant: allows using the GRANT command
* usermode:servnotice: allows setting +s
+ * oper:message: allows opers to bypass CALLERID (usermode +g)
*
* Privileges provided by extensions include:
*
* confers the benefits of chmode +M (operpeace) (from extensions/chm_operpeace)
* usermode:helpops allows setting +h (from extensions/helpops)
*/
- privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, usermode:servnotice,
- auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes;
+ privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, oper:message,
+ usermode:servnotice, auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes;
};
privset "server_bot" {
privset = "admin";
};
-/* connect {}: controls servers we connect to (OLD C:, N:, H:, L:) */
+/* connect {}: controls servers we connect with (OLD C:, N:, H:, L:).
+ *
+ * This configuration is used whether connections are incoming or
+ * outgoing.
+ */
connect "irc.uplink.com" {
- /* the name must go above */
+ /* the name of the other server must go above. It should match the
+ * other server's name in its serverinfo {} block, and does not
+ * need to be an actual hostname.
+ */
- /* host: the host or IP to connect to. If a hostname is used it
- * must match the reverse dns of the server.
+ /* host: the host or IP to connect to.
+ *
+ * It is also used to validate incoming connections. If a hostname
+ * is used, it must match the reverse dns of the server.
*/
host = "203.0.113.3";
class = "server";
/* flags: controls special options for this server
- * encrypted - marks the accept_password as being crypt()'d
- * autoconn - automatically connect to this server
- * compressed - compress traffic via ziplinks
- * topicburst - burst topics between servers
- * ssl - ssl/tls encrypted server connections
+ * encrypted - marks the accept_password as being crypt()'d
+ * autoconn - automatically connect to this server
+ * topicburst - burst topics between servers
+ * ssl - ssl/tls encrypted server connections
* no-export - marks the link as a no-export link (not exported to other links)
*/
- flags = compressed, topicburst;
+ flags = topicburst;
};
connect "ipv6.lame.server" {
};
connect "ssl.uplink.com" {
- /* Example of ssl server-to-server connection, ssl flag doesn't need
- * compressed flag, 'cause it uses own compression
- */
host = "203.0.113.129";
send_password = "password";
accept_password = "anotherpassword";
* as PRIVMSG @#channel when sent to clients.
*/
opmod_send_statusmsg = no;
+
+ /* ip_bans_through_vhost: should channel IP bans see through dynamic spoofed hosts? */
+ ip_bans_through_vhost = yes;
};
*/
kline_reason = "Connection closed";
+ /* SASL access only client message: give users a message that
+ * informs them
+ */
+ sasl_only_client_message = "You need to identify via SASL to use this server.";
+
+ /* Identd access only client message: give users a message that
+ * informs them
+ */
+ identd_only_client_message = "You need to install identd to use this server.";
+
+ /* SCTP forbidden client message: give users a message that
+ * informs them
+ */
+ sctp_forbidden_client_message = "You are not allowed to use SCTP on this server.";
+
+ /* SSL/TLS access only client message: give users a message that
+ * informs them
+ */
+ ssltls_only_client_message = "You need to use SSL/TLS to use this server.";
+
+ /* Not authorised client message: tell users that they are not
+ * authorised
+ */
+ not_authorised_client_message = "You are not authorised to access this server.";
+
+ /* Illegal hostname client message: tell users that they have illegal
+ * chars in their hostname
+ */
+ illegal_hostname_client_message = "You have an illegal character in your hostname.";
+
+ /* Server full client message: tell users that the server they're connecting
+ * to is full
+ */
+ server_full_client_message = "Sorry, server is full - try later";
+
+ /* illegal name long client message: long-form explanation that their username
+ * contains illegal characters
+ */
+ illegal_name_long_client_message = "Your username is invalid. Please make sure that your username contains "
+ "only alphanumeric characters.";
+
+ /* illegal name short client message: short-form notification that their username
+ * contains illegal characters; will be followed by ": their_username"
+ */
+ illegal_name_short_client_message = "Invalid username";
+
/* identify to services via server password
* if auth{} block had no password but the user specified a
* server password anyway, send a PRIVMSG to <identify_service>
* provided they have umode +s set */
oper_snomask = "+s";
- /* compression level: level of compression for compressed links between
- * servers.
- *
- * values are between: 1 (least compression, fastest)
- * and: 9 (most compression, slowest).
- */
- #compression_level = 6;
-
/* burst_away: This enables bursting away messages to servers.
* With this disabled, we will only propogate AWAY messages
* as users send them, but never burst them. Be warned though
/* oper_secure_only: require TLS on any connection trying to oper up */
oper_secure_only = no;
+
+ /* drain_reason: Message shown to users when they are rejected from a draining server.
+ * requires extensions/drain to be loaded.
+ */
+ drain_reason = "This server is not accepting connections.";
};
modules {