From 0bb1bc5c6735f85dfc1e01d8f09c8fa8a7fc0111 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 25 Jun 2025 10:04:29 +0100 Subject: [PATCH] Backport various minor config changes from 2.1. --- data/botserv.example.conf | 12 +- data/chanserv.example.conf | 10 +- data/example.conf | 186 ++++++++++++++++------------- data/hostserv.example.conf | 6 +- data/memoserv.example.conf | 7 +- data/modules.example.conf | 59 +++++---- data/nickserv.example.conf | 11 +- data/operserv.example.conf | 8 +- data/stats.standalone.example.conf | 33 +++-- 9 files changed, 178 insertions(+), 154 deletions(-) diff --git a/data/botserv.example.conf b/data/botserv.example.conf index 9a9bdc3f2..4282b2f53 100644 --- a/data/botserv.example.conf +++ b/data/botserv.example.conf @@ -333,10 +333,10 @@ privilege /* * fantasy * - * Allows 'fantasist' commands to be used in channels. + * Allows fantasy commands (e.g. !kick) to be used in channels. * * Provides the commands: - * botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands. + * botserv/set/fantasy - Used for enabling or disabling BotServ's fantasy commands. */ module { @@ -375,15 +375,15 @@ fantasy { name = "ENFORCE"; command = "chanserv/enforce"; } fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; } fantasy { name = "FLAGS"; command = "chanserv/flags"; } fantasy { name = "HALFOP"; command = "chanserv/modes"; } -fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; } +fantasy { name = "HELP"; command = "generic/help"; prepend_channel = no; } fantasy { name = "HOP"; command = "chanserv/xop"; } -fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; } +fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = no; } fantasy { name = "INVITE"; command = "chanserv/invite"; } fantasy { name = "K"; command = "chanserv/kick"; } fantasy { name = "KB"; command = "chanserv/ban"; } fantasy { name = "KICK"; command = "chanserv/kick"; } fantasy { name = "LEVELS"; command = "chanserv/levels"; } -fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; } +fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = no; } fantasy { name = "LOG"; command = "chanserv/log"; } fantasy { name = "MODE"; command = "chanserv/mode"; } fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; } @@ -391,7 +391,7 @@ fantasy { name = "OP"; command = "chanserv/modes"; } fantasy { name = "OWNER"; command = "chanserv/modes"; } fantasy { name = "PROTECT"; command = "chanserv/modes"; } fantasy { name = "QOP"; command = "chanserv/xop"; } -fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; } +fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = no; } fantasy { name = "SOP"; command = "chanserv/xop"; } fantasy { name = "STATUS"; command = "chanserv/status"; } fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; } diff --git a/data/chanserv.example.conf b/data/chanserv.example.conf index 087bfa750..06b8658a1 100644 --- a/data/chanserv.example.conf +++ b/data/chanserv.example.conf @@ -162,19 +162,19 @@ module /* * If set, prevents channel access entries from containing hostmasks. */ - disallow_hostmask_access = false + disallow_hostmask_access = no /* * If set, prevents channels from being on access lists. */ - disallow_channel_access = false + disallow_channel_access = no /* * If set, ChanServ will always lower the timestamp of registered channels to their registration date. * This prevents several race conditions where unauthorized users can join empty registered channels and set * modes etc. prior to services deopping them. */ - always_lower_ts = false + always_lower_ts = no } /* @@ -1118,7 +1118,7 @@ module name = "cs_seen" /* If set, uses the older 1.8 style seen, which is less resource intensive */ - simple = false + simple = no /* Sets the time to keep seen entries in the seen database. */ purgetime = "30d" @@ -1167,7 +1167,7 @@ module * If set, persistent channels have their creation times lowered to their * original registration dates. */ - persist_lower_ts = true + persist_lower_ts = yes } command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; } command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; } diff --git a/data/example.conf b/data/example.conf index 7464244fd..3b7c02b65 100644 --- a/data/example.conf +++ b/data/example.conf @@ -65,10 +65,6 @@ * will typically be disabled. If this is not the case, more * information will be given in the documentation. * - * [DISCOURAGED] - * Indicates a directive which may cause undesirable side effects if - * specified. - * * [DEPRECATED] * Indicates a directive which will disappear in a future version of * Services, usually because its functionality has been either @@ -85,7 +81,7 @@ /* * The services.host define is used in multiple different locations throughout the - * configuration for services clients hostnames. + * configuration for the server name and pseudoclient hostnames. */ define { @@ -209,7 +205,7 @@ serverinfo * other server names on the rest of your IRC network. Note that it does not have * to be an existing hostname, just one that isn't on your network already. */ - name = "services.example.com" + name = "services.host" /* * The text which should appear as the server's information in /WHOIS and similar @@ -254,16 +250,16 @@ serverinfo * You MUST modify this to match the IRCd you run. * * Supported: - * - bahamut + * - [DEPRECATED] bahamut * - charybdis * - hybrid - * - inspircd12 - * - inspircd20 + * - [DEPRECATED] inspircd12 + * - [DEPRECATED] inspircd20 * - inspircd3 (for 3.x and 4.x) * - ngircd * - plexus * - ratbox - * - unreal (for 3.2.x) + * - [DEPRECATED] unreal (for 3.2.x) * - unreal4 (for 4.x or later) */ module @@ -347,16 +343,16 @@ networkinfo * * It is recommended you DON'T change this. */ - vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-" + vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-/" /* - * If set to true, allows vHosts to not contain dots (.). + * If enabled, allows vHosts to not contain dots (.). * Newer IRCds generally do not have a problem with this, but the same warning as * vhost_chars applies. * * It is recommended you DON'T change this. */ - allow_undotted_vhosts = false + allow_undotted_vhosts = no /* * The characters that are not allowed to be at the very beginning or very ending @@ -364,7 +360,7 @@ networkinfo * * It is recommended you DON'T change this. */ - disallow_start_or_end = ".-" + disallow_start_or_end = ".-/" } /* @@ -618,7 +614,7 @@ include } /* - * [OPTIONAL] NickServ + * [RECOMMENDED] NickServ * * Includes nickserv.example.conf, which is necessary for NickServ functionality. * @@ -755,7 +751,6 @@ log * You may define groups of commands and privileges, as well as who may use them. * * This block is recommended, as without it you will be unable to access most oper commands. - * It replaces the old ServicesRoot directive amongst others. * * The command names below are defaults and are configured in the *serv.conf's. If you configure * additional commands with permissions, such as commands from third party modules, the permissions @@ -952,15 +947,20 @@ mail usemail = yes /* - * This is the command-line that will be used to call the mailer to send an - * e-mail. It must be called with all the parameters needed to make it - * scan the mail input to find the mail recipient; consult your mailer - * documentation. + * The command used for sending emails. It is assumed that this behaves like + * sendmail (i.e. it reads the email from the standard input stream) but you + * should probably use Postfix or some other sendmail-compatible emailer + * instead of sendmail as sendmail is very hard to configure correctly. If + * you are using Windows then https://www.glob.com.au/sendmail/ is probably + * the best option currently. * - * Postfix users must use the compatible sendmail utility provided with - * it. This one usually needs no parameters on the command-line. Most - * sendmail applications (or replacements of it) require the -t option - * to be used. + * If your emailer sends emails directly from the services host you will + * need to configure DKIM, DMARC, and SPF to avoid email hosts from marking + * your services emails as spam. It is important that you do this *BEFORE* + * sending emails for the first time as some email providers will add your + * host to a DNSBL like Spamhaus if they consider your emails to be spam. If + * this is too difficult then you may want to consider sending emails via an + * external email provider using a forwarder like msmtp. */ sendmailpath = "/usr/sbin/sendmail -t" @@ -1107,7 +1107,7 @@ mail /* * [RECOMMENDED] db_flatfile * - * This is the default flatfile database format. + * Stores your database in a custom flatfile format. */ module { @@ -1126,7 +1126,7 @@ module * * This directive is optional, but recommended. */ - keepbackups = 3 + keepbackups = 7 /* * Allows Services to continue file write operations (i.e. database saving) @@ -1154,17 +1154,16 @@ module /* * db_sql and db_sql_live * - * db_sql module allows saving and loading databases using one of the SQL engines. - * This module loads the databases once on startup, then incrementally updates - * objects in the database as they are changed within Anope in real time. Changes - * to the SQL tables not done by Anope will have no effect and will be overwritten. + * Allows saving and loading databases to a SQL database. * - * db_sql_live module allows saving and loading databases using one of the SQL engines. - * This module reads and writes to SQL in real time. Changes to the SQL tables - * will be immediately reflected into Anope. This module should not be loaded - * in conjunction with db_sql. It should also not be used on large networks as it - * executes quite a lot of queries which can cause performance issues. + * db_sql loads the databases once on startup and then incrementally updates in + * in the database as they are changed within Anope. Changes to the SQL tables + * not done by Anope will have no effect and will be overwritten. * + * db_sql_live module reads and writes to SQL in real time. Changes to the SQL + * tables will be immediately reflected in Anope. This module can not be loaded + * at the same time as db_sql. It should also not be used on large networks as + * it executes quite a lot of queries which can cause performance issues. */ #module { @@ -1172,10 +1171,10 @@ module #name = "db_sql_live" /* - * The SQL service db_sql(_live) should use, these are configured in modules.conf. - * For MySQL, this should probably be mysql/main. + * The SQL service that db_sql(_live) should use. These are configured in + * modules.example.conf. For MySQL, this should probably be mysql/main. */ - engine = "sqlite/main" + engine = "mysql/main" /* * An optional prefix to prepended to the name of each created table. @@ -1183,18 +1182,22 @@ module */ #prefix = "anope_db_" - /* Whether or not to import data from another database module in to SQL on startup. - * If you enable this, be sure that the database services is configured to use is - * empty and that another database module to import from is loaded BEFORE db_sql. - * After you enable this and do a database import you MUST disable it for - * subsequent restarts. If you want to keep writing a flatfile database after the - * SQL import is done you should load db_flatfile AFTER this module. + /* + * Whether or not to import data from another database module in to SQL on + * startup. * - * Note that you can not import databases using db_sql_live. If you want to import - * databases and use db_sql_live you should import them using db_sql, then shut down - * and start services with db_sql_live. + * If you enable this, be sure that the database Anope is configured to use + * is empty and that another database module to import from is loaded BEFORE + * db_sql. After you enable this and do a database import you MUST disable + * it for subsequent restarts. If you want to keep writing a file database + * after the SQL import is done you should load db_flatfile AFTER this + * module. + * + * Note that you can not import databases using db_sql_live. If you want to + * import databases and use db_sql_live you should import them using db_sql, + * then shut down and start Anope with db_sql_live. */ - import = false + import = no } /* @@ -1221,50 +1224,65 @@ module /* * [RECOMMENDED] Encryption modules. * - * The encryption modules are used when dealing with passwords. This determines how - * the passwords are stored in the databases, and does not add any security as - * far as transmitting passwords over the network goes. - * - * Without any encryption modules loaded users will not be able to authenticate unless - * there is another module loaded that provides authentication checking, such as - * m_ldap_authentication or m_sql_authentication. - * - * With enc_none, passwords will be stored in plain text, allowing for passwords - * to be recovered later but it isn't secure and therefore is not recommended. - * - * The other encryption modules use one-way encryption, so the passwords can not - * be recovered later if those are used. - * - * The first encryption module loaded is the primary encryption module. All new passwords are - * encrypted by this module. Old passwords stored in another encryption method are - * automatically re-encrypted by the primary encryption module on next identify. - * - * enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users - * to upgrade to a newer encryption module. Do not use them as the primary - * encryption module. They will be removed in a future release. + * The encryption modules are used when dealing with passwords. This determines + * how the passwords are stored in the databases. * + * The first encryption module loaded is the primary encryption module. All new + * passwords are encrypted by this module. Old passwords encrypted with another + * encryption method are automatically re-encrypted with the primary encryption + * module the next time the user identifies. */ -#module { name = "enc_bcrypt" } -module { name = "enc_sha256" } - /* - * When using enc_none, passwords will be stored without encryption. This isn't secure - * therefore it is not recommended. + * enc_bcrypt + * + * Provides support for encrypting passwords using the Bcrypt algorithm. See + * https://en.wikipedia.org/wiki/Bcrypt for more information. */ -#module { name = "enc_none" } +#module +{ + name = "enc_bcrypt" -/* Deprecated encryption modules */ + /** The number of Bcrypt rounds to perform on passwords. Can be set to any + * number between 10 and 32 but higher numbers are more CPU intensive and + * may impact performance. + */ + #rounds = 10 +} + +/* + * [RECOMMENDED] enc_sha256 + * + * Provides support for encrypting passwords using the SHA-2 algorithm with a + * salted initialization vector. See https://en.wikipedia.org/wiki/SHA-2 for + * more information. + */ +module +{ + name = "enc_sha256" +} + +/* + * [DEPRECATED] enc_md5, enc_none, enc_old, enc_sha1 + * + * Provides support for passwords encrypted using encryption methods from older + * versions of Anope. These methods are no longer considered secure and will be + * removed in a future version of Anope. Only load them if you are upgrading + * from a previous version of Anope that used them. + * + * enc_md5: Verifies passwords encrypted with the MD5 algorithm + * enc_none: Verifies passwords that are not encrypted + * enc_sha1: Verifies passwords encrypted with the SHA1 algorithm + * enc_old: Verifies passwords encrypted with the broken MD5 algorithm used + * before 1.7.17. + * + * You must load another encryption method before this to re-encrypt passwords + * with when a user logs in. + */ #module { name = "enc_md5" } -#module { name = "enc_sha1" } - -/* - * enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16. - * If your databases were made using that module, load it here to allow conversion to the primary - * encryption method. - */ +#module { name = "enc_none" } #module { name = "enc_old" } - +#module { name = "enc_sha1" } /* Extra (optional) modules. */ include diff --git a/data/hostserv.example.conf b/data/hostserv.example.conf index e13e8fdd1..f1347728b 100644 --- a/data/hostserv.example.conf +++ b/data/hostserv.example.conf @@ -68,7 +68,7 @@ module /* * If enabled, vhosts are activated on users immediately when they are set. */ - activate_on_set = false + activate_on_set = no } /* @@ -110,12 +110,12 @@ module /* * Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick. */ - syncongroup = false + syncongroup = no /* * This makes vhosts act as if they are per account. */ - synconset = false + synconset = no } command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; } diff --git a/data/memoserv.example.conf b/data/memoserv.example.conf index 9f07ec424..3f56be5fd 100644 --- a/data/memoserv.example.conf +++ b/data/memoserv.example.conf @@ -78,8 +78,7 @@ module /* * The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam * as well as denial-of-service attacks from sending large numbers of memos and filling up disk - * space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo - * per second per user under the current IRC protocol. + * space (and memory). * * This directive is optional, but recommended. */ @@ -186,8 +185,6 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; } * Provides the command memoserv/rsend. * * Used to send a memo requiring a receipt be sent back once it is read. - * - * Requires configuring memoserv:memoreceipt. */ #module { @@ -198,7 +195,7 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; } * * This directive is optional. */ - operonly = false + operonly = no } #command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; } diff --git a/data/modules.example.conf b/data/modules.example.conf index b8ae09357..b19d20b49 100644 --- a/data/modules.example.conf +++ b/data/modules.example.conf @@ -233,7 +233,7 @@ module { name = "help" } } /* - * m_ldap [EXTRA] + * [EXTRA] m_ldap * * This module allows other modules to use LDAP. By itself, this module does nothing useful. */ @@ -254,7 +254,7 @@ module { name = "help" } } /* - * m_ldap_authentication [EXTRA] + * [EXTRA] m_ldap_authentication * * This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use * LDAP to authenticate users. Requires m_ldap. @@ -314,7 +314,7 @@ module { name = "help" } } /* - * m_ldap_oper [EXTRA] + * [EXTRA] m_ldap_oper * * This module dynamically ties users to Anope opertypes when they identify * via LDAP group membership. Requires m_ldap. @@ -355,7 +355,7 @@ module { name = "help" } } /* - * m_mysql [EXTRA] + * [EXTRA] m_mysql * * This module allows other modules to use MySQL. */ @@ -401,7 +401,7 @@ module { name = "help" } } /* - * m_regex_pcre [EXTRA] + * [DEPRECATED] [EXTRA] m_regex_pcre * * Provides the regex engine regex/pcre, which uses version 1 of the Perl Compatible Regular * Expressions library. This can not be loaded at the same time as the m_regex_pcre2 module. @@ -409,7 +409,7 @@ module { name = "help" } #module { name = "m_regex_pcre" } /* - * m_regex_pcre2 [EXTRA] + * [EXTRA] m_regex_pcre2 * * Provides the regex engine regex/pcre, which uses version 2 of the Perl Compatible Regular * Expressions library. This can not be loaded at the same time as the m_regex_pcre module. @@ -417,7 +417,7 @@ module { name = "help" } #module { name = "m_regex_pcre2" } /* - * m_regex_posix [EXTRA] + * [EXTRA] m_regex_posix * * Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. * This is likely the only regex module you will not need extra libraries for. @@ -425,7 +425,7 @@ module { name = "help" } #module { name = "m_regex_posix" } /* - * m_regex_tre [EXTRA] + * [EXTRA] m_regex_tre * * Provides the regex engine regex/tre, which uses the TRE regex library. */ @@ -442,7 +442,7 @@ module { name = "help" } service = "ChanServ"; name = "CLEAR"; command = "rewrite" /* Enable m_rewrite. */ - rewrite = true + rewrite = yes /* Source message to match. A $ can be used to match anything. */ rewrite_source = "CLEAR $ USERS" @@ -546,15 +546,26 @@ module { name = "help" } /* * m_sasl * - * Some IRCds allow "SASL" authentication to let users identify to Services - * during the IRCd user registration process. If this module is loaded, Services will allow - * authenticating users through this mechanism. Supported mechanisms are: - * PLAIN, EXTERNAL. + * Provides support for authentication to services via IRCv3 SASL. This is a standardised + * alternative to ns_identify that is supported by several IRCds. + * + * You will need to configure your IRCd to use SASL. See the following links for details: + * + * InspIRCd: https://docs.inspircd.org/4/modules/sasl/ + * UnrealIRCd: https://www.unrealircd.org/docs/SASL#Enabling_SASL_on_the_server */ -module { name = "m_sasl" } +module +{ + name = "m_sasl" + + /* + * The nick of the client which operates as the SASL agent. + */ + #agent = "NickServ" +} /* - * m_ssl_gnutls [EXTRA] + * [EXTRA] m_ssl_gnutls * * This module provides SSL services to Anope using GnuTLS, for example to * connect to the uplink server(s) via SSL. @@ -592,7 +603,7 @@ module { name = "m_sasl" } } /* - * m_ssl_openssl [EXTRA] + * [EXTRA] m_ssl_openssl * * This module provides SSL services to Anope using OpenSSL, for example to * connect to the uplink server(s) via SSL. @@ -625,7 +636,7 @@ module { name = "m_sasl" } } /* - * m_sql_authentication [EXTRA] + * [EXTRA] m_sql_authentication * * This module allows authenticating users against an external SQL database using a custom * query. @@ -676,7 +687,7 @@ module { name = "m_sasl" } } /* - * m_sql_log [EXTRA] + * [EXTRA] m_sql_log * * This module adds an additional target option to log{} blocks * that allows logging Service's logs to SQL. To log to SQL, add @@ -696,7 +707,7 @@ module { name = "m_sasl" } #module { name = "m_sql_log" } /* - * m_sql_oper [EXTRA] + * [EXTRA] m_sql_oper * * This module allows granting users services operator privileges and possibly IRC Operator * privileges based on an external SQL database using a custom query. @@ -722,7 +733,7 @@ module { name = "m_sasl" } } /* - * m_sqlite [EXTRA] + * [EXTRA] m_sqlite * * This module allows other modules to use SQLite. */ @@ -737,7 +748,7 @@ module { name = "m_sasl" } name = "sqlite/main" /* The database name, it will be created if it does not exist. */ - database = "anope.db" + database = "anope.sqlite" } } @@ -755,13 +766,13 @@ module { name = "m_sasl" } name = "webcpanel" /* Web server to use. */ - server = "httpd/main"; + server = "httpd/main" /* Template to use. */ - template = "default"; + template = "default" /* Page title. */ - title = "Anope IRC Services"; + title = "Anope IRC Services" } /* diff --git a/data/nickserv.example.conf b/data/nickserv.example.conf index ef3f40855..f889ba65d 100644 --- a/data/nickserv.example.conf +++ b/data/nickserv.example.conf @@ -68,7 +68,7 @@ module /* * Force users to give an e-mail address when they register a nick. * - * This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled. + * This directive defaults to "yes" and is recommended to be enabled. */ forceemail = yes @@ -335,7 +335,7 @@ module { name = "ns_getemail" } command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; } /* - * ns_getpass + * [DEPRECATED] ns_getpass * * Provides the command nickserv/getpass. * @@ -393,7 +393,7 @@ module */ maxlogins = 10 } -command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; } +command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = yes; } command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; } /* @@ -595,11 +595,10 @@ command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; } #command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); } #command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; } -#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); } -#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; } #command { service = "NickServ"; name = "SET MASTODON"; command = "nickserv/set/misc"; misc_description = _("Associate a Mastodon account with your account"); } #command { service = "NickServ"; name = "SASET MASTODON"; command = "nickserv/saset/misc"; misc_description = _("Associate a Mastodon account with this account"); permission = "nickserv/saset/mastodon"; group = "nickserv/admin"; } - +#command { service = "NickServ"; name = "SET TIMEZONE"; command = "nickserv/set/misc"; misc_description = _("Associate a time zone with your account"); } +#command { service = "NickServ"; name = "SASET TIMEZONE"; command = "nickserv/saset/misc"; misc_description = _("Associate a time zone with this account"); permission = "nickserv/saset/timezone"; group = "nickserv/admin"; } /* * ns_status diff --git a/data/operserv.example.conf b/data/operserv.example.conf index 9856d5b2d..10d853e9c 100644 --- a/data/operserv.example.conf +++ b/data/operserv.example.conf @@ -100,7 +100,7 @@ module killonsqline = yes /* - * Adds the nickname of the IRC Operator issuing an AKILL to the kill reason. + * Adds the nickname of the Services Operator issuing an AKILL to the kill reason. * * This directive is optional. */ @@ -184,8 +184,8 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill" * - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive * - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive * - nonewclients: KILL any new clients trying to connect - * - operonly: Services will ignore all non-IRCops - * - silentoperonly: Services will silently ignore all non-IRCops + * - operonly: Ignore all non-IRCops + * - silentoperonly: Silently ignore all non-IRCops * - akillnewclients: AKILL any new clients trying to connect * - nonewmemos: No new memos will be sent to block MemoServ attacks */ @@ -507,7 +507,7 @@ module { name = "os_noop" } command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; } /* - * os_oline + * [DEPRECATED] os_oline * * Provides the command operserv/oline. * diff --git a/data/stats.standalone.example.conf b/data/stats.standalone.example.conf index c4925c4c8..ee93e07b3 100644 --- a/data/stats.standalone.example.conf +++ b/data/stats.standalone.example.conf @@ -65,10 +65,6 @@ * will typically be disabled. If this is not the case, more * information will be given in the documentation. * - * [DISCOURAGED] - * Indicates a directive which may cause undesirable side effects if - * specified. - * * [DEPRECATED] * Indicates a directive which will disappear in a future version of * Services, usually because its functionality has been either @@ -84,12 +80,12 @@ */ /* - * The stats.host define is used in multiple different locations throughout the - * configuration for the stats client hostname. + * The services.host define is used in multiple different locations throughout the + * configuration for the server name and pseudoclient hostnames. */ define { - name = "stats.host" + name = "services.host" value = "stats.example.com" } @@ -127,13 +123,16 @@ define * and serverinfo configuration would look like: * * # This goes in inspircd.conf, *NOT* your Anope config! + * + * + * + * * * - * * * An example configuration for UnrealIRCd that is compatible with the below uplink * and serverinfo configuration would look like: @@ -251,16 +250,16 @@ serverinfo * You MUST modify this to match the IRCd you run. * * Supported: - * - bahamut + * - [DEPRECATED] bahamut * - charybdis * - hybrid - * - inspircd12 - * - inspircd20 + * - [DEPRECATED] inspircd12 + * - [DEPRECATED] inspircd20 * - inspircd3 (for 3.x and 4.x) * - ngircd * - plexus * - ratbox - * - unreal (for 3.2.x) + * - [DEPRECATED] unreal (for 3.2.x) * - unreal4 (for 4.x or later) */ module @@ -318,7 +317,7 @@ networkinfo * * It is recommended you DON'T change this. */ - vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-" + vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-/" /* * If set to true, allows vHosts to not contain dots (.). @@ -327,7 +326,7 @@ networkinfo * * It is recommended you DON'T change this. */ - allow_undotted_vhosts = false + allow_undotted_vhosts = no /* * The characters that are not allowed to be at the very beginning or very ending @@ -335,7 +334,7 @@ networkinfo * * It is recommended you DON'T change this. */ - disallow_start_or_end = ".-" + disallow_start_or_end = ".-/" } /* @@ -426,8 +425,8 @@ log #source = "" /* - * The bot used to log generic messages which have no predefined sender if there - * is a channel in the target directive. + * The bot used to log generic messages which have no predefined sender if the + * target directive is set to a channel or globops. */ bot = "Global"