diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/CMakeLists.txt | 6 | ||||
-rw-r--r-- | data/anope.example.conf (renamed from data/example.conf) | 274 | ||||
-rw-r--r-- | data/ascii.conf | 157 | ||||
-rw-r--r-- | data/bahamut.example.conf | 170 | ||||
-rw-r--r-- | data/botserv.example.conf | 56 | ||||
-rw-r--r-- | data/chanserv.example.conf | 136 | ||||
-rw-r--r-- | data/chanstats.example.conf | 2 | ||||
-rw-r--r-- | data/example.chk | 8 | ||||
-rw-r--r-- | data/global.example.conf | 15 | ||||
-rw-r--r-- | data/hostserv.example.conf | 39 | ||||
-rw-r--r-- | data/hybrid.example.conf | 231 | ||||
-rw-r--r-- | data/inspircd20.example.conf | 547 | ||||
-rw-r--r-- | data/memoserv.example.conf | 61 | ||||
-rw-r--r-- | data/modules.example.conf | 228 | ||||
-rw-r--r-- | data/ngircd.example.conf | 234 | ||||
-rw-r--r-- | data/nickserv.example.conf | 109 | ||||
-rw-r--r-- | data/operserv.example.conf | 135 | ||||
-rw-r--r-- | data/plexus.example.conf | 294 | ||||
-rw-r--r-- | data/ratbox.example.conf | 174 | ||||
-rw-r--r-- | data/rfc1459.conf | 24 | ||||
-rw-r--r-- | data/stats.standalone.example.conf | 513 | ||||
-rw-r--r-- | data/unreal.example.conf | 449 |
22 files changed, 2709 insertions, 1153 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 8bb635dcf..2515bc082 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -1,6 +1,4 @@ -# Only install example.chk and example.conf from this directory -# NOTE: I would've had this just find all files in the directory, but that would include files not needed (like this file) -set(DATA example.chk botserv.example.conf example.conf hostserv.example.conf modules.example.conf operserv.example.conf chanserv.example.conf global.example.conf memoserv.example.conf nickserv.example.conf chanstats.example.conf irc2sql.example.conf stats.standalone.example.conf) -install(FILES ${DATA} +file(GLOB DATA_EXAMPLECONFS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.conf") +install(FILES example.chk ${DATA_EXAMPLECONFS} DESTINATION ${CONF_DIR} ) diff --git a/data/example.conf b/data/anope.example.conf index 763eed4c7..2391f19ec 100644 --- a/data/example.conf +++ b/data/anope.example.conf @@ -1,8 +1,8 @@ /* - * Example configuration file for Services. After making the appropriate - * changes to this file, place it in the Services conf directory (as - * specified in the "configure" script, default /home/username/services/conf) - * under the name "services.conf". + * Example configuration file for Anope. After making the appropriate + * changes to this file, place it in the Anope conf directory (as + * specified in the "configure" script, default /home/username/anope/conf) + * under the name "anope.conf". * * The format of this file is fairly simple: three types of comments are supported: * - All text after a '#' on a line is ignored, as in shell scripting @@ -53,7 +53,7 @@ * included to indicate whether an option is required: * * [REQUIRED] - * Indicates a directive which must be given. Without it, Services will + * Indicates a directive which must be given. Without it, Anope will * not start. * * [RECOMMENDED] @@ -71,7 +71,7 @@ * * [DEPRECATED] * Indicates a directive which will disappear in a future version of - * Services, usually because its functionality has been either + * Anope, usually because its functionality has been either * superseded by that of other directives or incorporated into the main * program. */ @@ -110,7 +110,7 @@ define #include { type = "executable" - name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf" + name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/anope.conf" } /* @@ -120,7 +120,7 @@ define * This section can be included multiple times, and Anope will attempt to * connect to each server until it finally connects. * - * Each uplink IRCd should have a corresponding configuration to allow Services + * Each uplink IRCd should have a corresponding configuration to allow services * to link to it. * * An example configuration for InspIRCd that is compatible with the below uplink @@ -154,20 +154,20 @@ define uplink { /* - * The IP or hostname of the IRC server you wish to connect Services to. - * Usually, you will want to connect Services over 127.0.0.1 (aka localhost). + * The IP or hostname of the IRC server you wish to connect Anope to. + * Usually, you will want to connect over 127.0.0.1 (aka localhost). * * NOTE: On some shell providers, this will not be an option. */ host = "127.0.0.1" /* - * Enable if Services should connect using IPv6. + * Enable if Anope should connect using IPv6. */ ipv6 = no /* - * Enable if Services should connect using SSL. + * Enable if Anope should connect using SSL. * You must have an SSL module loaded for this to work. */ ssl = no @@ -193,12 +193,12 @@ uplink /* * [REQUIRED] Server Information * - * This section contains information about the Services server. + * This section contains information about the services server. */ serverinfo { /* - * The hostname that Services will be seen as, it must have no conflicts with any + * The hostname that services will be seen as, it must have no conflicts with any * 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. */ @@ -208,11 +208,11 @@ serverinfo * The text which should appear as the server's information in /whois and similar * queries. */ - description = "Services for IRC Networks" + description = "Anope IRC Services" /* - * The local address that Services will bind to before connecting to the remote - * server. This may be useful for multihomed hosts. If omitted, Services will let + * The local address that services will bind to before connecting to the remote + * server. This may be useful for multihomed hosts. If omitted, services will let * the Operating System choose the local address. This directive is optional. * * If you don't know what this means or don't need to use it, just leave this @@ -228,86 +228,69 @@ serverinfo #id = "00A" /* - * The filename containing the Services process ID. The path is relative to the + * The filename containing the Anope process ID. The path is relative to the * services root directory. */ - pid = "data/services.pid" + pid = "data/anope.pid" /* * The filename containing the Message of the Day. The path is relative to the * services root directory. */ - motd = "conf/services.motd" + motd = "conf/motd.txt" } /* - * [REQUIRED] Protocol module + * [REQUIRED] Protocol configuration. * * This directive tells Anope which IRCd Protocol to speak when connecting. - * You MUST modify this to match the IRCd you run. + * You MUST modify this to match the IRCd you run. You may want to modify + * the protocol configuration file to tune protocol specific features. * * Supported: * - bahamut * - charybdis * - hybrid - * - inspircd12 * - inspircd20 * - ngircd * - plexus * - ratbox - * - unreal (for 3.2.x) - * - unreal4 + * - unreal */ -module +include { - name = "inspircd20" - - /* - * Some protocol modules can enforce mode locks server-side. This reduces the spam caused by - * services immediately reversing mode changes for locked modes. - * - * If the protocol module you have loaded does not support this, this setting will have no effect. - */ - use_server_side_mlock = yes - - /* - * Some protocol modules can enforce topic locks server-side. This reduces the spam caused by - * services immediately reversing topic changes. - * - * If the protocol module you have loaded does not support this, this setting will have no effect. - */ - use_server_side_topiclock = yes + name = "inspircd20.example.conf" } /* * [REQUIRED] Network Information * - * This section contains information about the IRC network that Services will be + * This section contains information about the IRC network that Anope will be * connecting to. */ networkinfo { /* - * This is the name of the network that Services will be running on. + * This is the name of the network that Anope will be running on. */ networkname = "LocalNet" /* * Set this to the maximum allowed nick length on your network. * Be sure to set this correctly, as setting this wrong can result in - * Services being disconnected from the network. + * services being disconnected from the network. */ nicklen = 31 /* Set this to the maximum allowed ident length on your network. * Be sure to set this correctly, as setting this wrong can result in - * Services being disconnected from the network. + * services being disconnected from the network. */ userlen = 10 /* Set this to the maximum allowed hostname length on your network. * Be sure to set this correctly, as setting this wrong can result in - * Services being disconnected from the network. + * services being disconnected from the network. */ hostlen = 64 @@ -323,7 +306,7 @@ networkinfo /* * Characters allowed in nicknames. This always includes the characters described * in RFC1459, and so does not need to be set for normal behavior. Changing this to - * include characters your IRCd doesn't support will cause your IRCd and/or Services + * include characters your IRCd doesn't support will cause your IRCd and/or services * to break. Multibyte characters are not supported, nor are escape sequences. * * It is recommended you DON'T change this. @@ -335,7 +318,7 @@ networkinfo * to services, such as BotServ bot hostnames and user vhosts. Changing this is not * recommended unless you know for sure your IRCd supports whatever characters you are * wanting to use. Telling services to set a vHost containing characters your IRCd - * disallows could potentially break the IRCd and/or Services. + * disallows could potentially break the IRCd and/or services. * * It is recommended you DON'T change this. */ @@ -360,32 +343,43 @@ networkinfo } /* - * [REQUIRED] Services Options + * [REQUIRED] Anope Options * - * This section contains various options which determine how Services will operate. + * This section contains various options which determine how Anope will operate. */ options { /* * On Linux/UNIX systems Anope can setuid and setgid to this user and group - * after starting up. This is useful if Anope has to bind to privileged ports + * after starting up. This is useful if Anope has to bind to privileged ports. */ #user = "anope" #group = "anope" /* - * The case mapping used by services. This must be set to a valid locale name - * installed on your machine. Services use this case map to compare, with - * case insensitivity, things such as nick names, channel names, etc. + * Chooses the configuration file used to configure casemaps for Anope. + * Anope uses this case map to compare, with case insensitivity, + * nick names and channel names. + * + * Two casemaps shipped with Anope are ascii and rfc1459. + * + * You may create your own instead by defining casemapping directives + * similar to how ascii.conf and rfc1459.conf do. However, they are + * limited to single byte characters only. * - * We provide two special casemaps shipped with Anope, ascii and rfc1459. + * Alternatively, if you have Boost.Locale installed, instead of configuring + * a casemapping configuration file, you may configure a locale name. This + * can support variable-length character encodings like utf-8. * - * This value should be set to what your IRCd uses, which is probably rfc1459, - * however Anope has always used ascii for comparison, so the default is ascii. + * The casemapping you use should be set to what your IRCd uses, which is + * probably rfc1459. However, Anope has always used ascii for comparison, + * so the default is ascii. * * Changing this value once set is not recommended. */ casemap = "ascii" + #casemap = "rfc1459" + #locale = "utf-8" /* * This key is used to initiate the random number generator. This number @@ -401,10 +395,10 @@ options #seed = 9866235 /* - * If set, Services will perform more stringent checks on passwords. If this - * isn't set, Services will only disallow a password if it is the same as the + * If set, services will perform more stringent checks on passwords. If this + * isn't set, services will only disallow a password if it is the same as the * entity (nickname name) with which it is associated. When set, however, - * Services will also check that the password is at least five + * services will also check that the password is at least five * characters long, and in the future will probably check other things * as well. * @@ -413,11 +407,11 @@ options strictpasswords = yes /* - * Sets the number of invalid password tries before Services removes a user + * Sets the number of invalid password tries before services removes a user * from the network. If a user enters a number of invalid passwords equal to - * the given amount for any Services function or combination of functions - * during a single IRC session (subject to badpasstimeout, below), Services - * will issues a /KILL for the user. If not given, Services will ignore + * the given amount for any services function or combination of functions + * during a single IRC session (subject to badpasstimeout, below), services + * will issues a /KILL for the user. If not given, services will ignore * failed password attempts (though they will be logged in any case). * * This directive is optional, but recommended. @@ -459,7 +453,7 @@ options /* * Sets the (maximum) frequency at which the timeout list is checked. This, * combined with readtimeout above, determines how accurately timed events, - * such as nick kills, occur; it also determines how much CPU time Services + * such as nick kills, occur; it also determines how much CPU time services * will use doing this. Higher values will cause less accurate timing but * less CPU usage. * @@ -472,7 +466,7 @@ options timeoutcheck = 3s /* - * If set, this will allow users to let Services send PRIVMSGs to them + * If set, this will allow users to let services send PRIVMSGs to them * instead of NOTICEs. Also see the "msg" option of nickserv:defaults, * which also toggles the default communication (PRIVMSG or NOTICE) to * use for unregistered users. @@ -485,7 +479,7 @@ options #useprivmsg = yes /* - * If set, will force Services to only respond to PRIVMSGs addresses to + * If set, will force services to only respond to PRIVMSGs addresses to * Nick@ServerName - e.g. NickServ@localhost.net. This should be used in * conjunction with IRCd aliases. This directive is optional. * @@ -494,14 +488,14 @@ options #usestrictprivmsg = yes /* - * If set, Services will only show /stats o to IRC Operators. This directive + * If set, services will only show /stats o to IRC Operators. This directive * is optional. */ #hidestatso = yes /* * A space-separated list of ulined servers on your network, it is assumed that - * the servers in this list are allowed to set channel modes and Services will + * the servers in this list are allowed to set channel modes and services will * not attempt to reverse their mode changes. * * WARNING: Do NOT put your normal IRC user servers in this directive. @@ -516,23 +510,23 @@ options retrywait = 60s /* - * If set, Services will hide commands that users don't have the privilege to execute + * If set, services will hide commands that users don't have the privilege to execute * from HELP output. */ hideprivilegedcommands = yes /* - * If set, Services will hide commands that users can't execute because they are not + * If set, services will hide commands that users can't execute because they are not * logged in from HELP output. */ hideregisteredcommands = yes - /* The regex engine to use, as provided by the regex modules. - * Leave commented to disable regex matching. + /* + * The grammar regular expressions should use. Options are "ecmascript", "basic", "extended", "awk", "grep", and "egrep". * - * Note for this to work the regex module providing the regex engine must be loaded. + * This directive is optional. */ - regexengine = "regex/pcre" + regexengine = "ecmascript" /* * A list of languages to load on startup that will be available in /nickserv set language. @@ -737,7 +731,7 @@ log log { target = "globops" - admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop" + admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart */drop" servers = "squit" users = "oper" other = "expire/* bados akill/*" @@ -775,7 +769,7 @@ log * nickserv/drop - Can drop other users nicks * operserv/config - Can modify services's configuration * operserv/oper/modify - Can add and remove operators with at most the same privileges - * protected - Can not be kicked from channels by Services + * protected - Can not be kicked from channels by services * * Available commands: * botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private @@ -793,8 +787,7 @@ log * * memoserv/sendall memoserv/staff * - * nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin - * nickserv/list + * nickserv/getemail nickserv/suspend nickserv/ajoin nickserv/list * * nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password * nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message @@ -880,10 +873,10 @@ opertype * After defining different types of operators in the above opertype section, we now define who is in these groups * through 'oper' blocks, similar to ircd access. * - * The default is to comment these out (so NOBODY will have Services access). + * The default is to comment these out (so NOBODY will have access). * You probably want to add yourself and a few other people at minimum. * - * As with all permissions, make sure to only give trustworthy people access to Services. + * As with all permissions, make sure to only give trustworthy people access. */ #oper @@ -894,7 +887,7 @@ opertype /* The opertype this person will have */ type = "Services Root" - /* If set, the user must be an oper on the IRCd to gain their Services + /* If set, the user must be an oper on the IRCd to gain their * oper privileges. */ require_oper = yes @@ -929,7 +922,7 @@ opertype /* * [OPTIONAL] Mail Config * - * This section contains settings related to the use of e-mail from Services. + * This section contains settings related to the use of e-mail from services. * If the usemail directive is set to yes, unless specified otherwise, all other * directives are required. * @@ -940,7 +933,7 @@ opertype mail { /* - * If set, this option enables the mail commands in Services. You may choose + * If set, this option enables the mail commands in Anope. You may choose * to disable it if you have no Sendmail-compatible mailer installed. Whilst * this directive (and entire block) is optional, it is required if * nickserv:registration is set to yes. @@ -971,7 +964,7 @@ mail * another e-mail after they have sent one. It also controls the minimum time * a user must wait before they can receive another e-mail. * - * This feature prevents users from being mail bombed using Services and + * This feature prevents users from being mail bombed using services and * it is highly recommended that it be used. * * This directive is optional, but highly recommended. @@ -979,7 +972,7 @@ mail delay = 5m /* - * If set, Services will not attempt to put quotes around the TO: fields + * If set, Anope will not put quotes around the TO: fields * in e-mails. * * This directive is optional, and as far as we know, it's only needed @@ -1057,7 +1050,7 @@ mail */ #module { - name = "db_old" + name = "database/old" /* * This is the encryption type used by the databases. This must be set correctly or @@ -1075,7 +1068,7 @@ mail */ module { - name = "db_flatfile" + name = "database/flatfile" /* * The database name db_flatfile should use @@ -1084,18 +1077,18 @@ module /* * Sets the number of days backups of databases are kept. If you don't give it, - * or if you set it to 0, Services won't backup the databases. + * or if you set it to 0, Anope won't backup the databases. * - * NOTE: Services must run 24 hours a day for this feature to work. + * NOTE: Anope must run 24 hours a day for this feature to work. * * This directive is optional, but recommended. */ keepbackups = 3 /* - * Allows Services to continue file write operations (i.e. database saving) + * Allows Anope to continue file write operations (i.e. database saving) * even if the original file cannot be backed up. Enabling this option may - * allow Services to continue operation under conditions where it might + * allow Anope to continue operation under conditions where it might * otherwise fail, such as a nearly-full disk. * * NOTE: Enabling this option can cause irrecoverable data loss under some @@ -1104,83 +1097,44 @@ module * This directive is optional, and you are discouraged against enabling it. */ #nobackupokay = yes - - /* - * If enabled, services will fork a child process to save databases. - * - * This is only useful with very large databases, with hundreds - * of thousands of objects, that have a noticeable delay from - * writing databases. - * - * If your database is large enough cause a noticeable delay when - * saving you should consider a more powerful alternative such - * as db_sql or db_redis, which incrementally update their - * databases asynchronously in real time. - */ - fork = no } /* - * db_sql and db_sql_live + * db_sql * - * 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. - * - * db_sql_live module allows saving and loading databases using one of the SQL engines. + * db_sql 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. + * will be immediately reflected into Anope. * */ #module { - name = "db_sql" - #name = "db_sql_live" + name = "database/sql" /* - * The SQL service db_sql(_live) should use, these are configured in modules.conf. + * The SQL service database/sql should use, these are configured in modules.conf. * For MySQL, this should probably be mysql/main. */ engine = "sqlite/main" /* * An optional prefix to prepended to the name of each created table. - * Do not use the same prefix for other programs. */ #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 should disable it for - * subsequent restarts. - * - * 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. - */ - import = false } /* * db_redis. * * This module allows using Redis (http://redis.io) as a database backend. - * This module requires that m_redis is loaded and configured properly. - * - * Redis 2.8 supports keyspace notifications which allows Redis to push notifications - * to Anope about outside modifications to the database. This module supports this and - * will internally reflect any changes made to the database immediately once notified. - * See docs/REDIS for more information regarding this. + * This module requires the module redis to be loaded and configured properly. */ #module { - name = "db_redis" + name = "database/redis" /* - * Redis database to use. This must be configured with m_redis. + * Redis database to use. This must be configured with the module redis. */ engine = "redis/main" } @@ -1194,9 +1148,9 @@ module * * 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. + * ldap_authentication or sql_authentication. * - * With enc_none, passwords will be stored in plain text, allowing for passwords + * With encryption/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 @@ -1206,36 +1160,20 @@ module * encrypted by this module. Old passwords stored in another encryption method are * automatically re-encrypted by the primary encryption module on next identify. * - * NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in - * versions prior to Anope 1.7.17. If your databases were made using that module, - * use this and not enc_md5. - * - * NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is - * potentially broken when moving between 2 different OSes, such as moving from - * Linux to Windows. It is recommended that you use enc_sha256 instead if you want - * to use an SHA-based encryption. If you choose to do so, it is also recommended - * that you first try to get everyone's passwords converted to enc_sha256 before - * switching OSes by placing enc_sha256 at the beginning of the list. - * */ -#module { name = "enc_bcrypt" } -module { name = "enc_sha256" } -#module { name = "enc_md5" } -#module { name = "enc_sha1" } - -/* - * When using enc_none, passwords will be stored without encryption. This isn't secure - * therefore it is not recommended. - */ -#module { name = "enc_none" } +#module { name = "encryption/bcrypt" } +module { name = "encryption/sha256" } /* - * 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. + * [DEPRECATED] Deprecated encryption modules. You can only use these for compatibility with + * old databases and will need to load one of the above modules as your primary encryption + * module. */ -#module { name = "enc_old" } +#module { name = "encryption/md5" } +#module { name = "encryption/sha1" } +#module { name = "encryption/old" } +#module { name = "encryption/none" } /* Extra (optional) modules. */ diff --git a/data/ascii.conf b/data/ascii.conf new file mode 100644 index 000000000..1bfcb33f0 --- /dev/null +++ b/data/ascii.conf @@ -0,0 +1,157 @@ + +casemap +{ + lower = "a" + upper = "A" +} + +casemap +{ + lower = "b" + upper = "B" +} + +casemap +{ + lower = "c" + upper = "C" +} + +casemap +{ + lower = "d" + upper = "D" +} + +casemap +{ + lower = "e" + upper = "E" +} + +casemap +{ + lower = "f" + upper = "F" +} + +casemap +{ + lower = "g" + upper = "G" +} + +casemap +{ + lower = "h" + upper = "H" +} + +casemap +{ + lower = "i" + upper = "I" +} + +casemap +{ + lower = "j" + upper = "J" +} + +casemap +{ + lower = "k" + upper = "K" +} + +casemap +{ + lower = "l" + upper = "L" +} + +casemap +{ + lower = "m" + upper = "M" +} + +casemap +{ + lower = "n" + upper = "N" +} + +casemap +{ + lower = "o" + upper = "O" +} + +casemap +{ + lower = "p" + upper = "P" +} + +casemap +{ + lower = "q" + upper = "Q" +} + +casemap +{ + lower = "r" + upper = "R" +} + +casemap +{ + lower = "s" + upper = "S" +} + +casemap +{ + lower = "t" + upper = "T" +} + +casemap +{ + lower = "u" + upper = "U" +} + +casemap +{ + lower = "v" + upper = "V" +} + +casemap +{ + lower = "w" + upper = "W" +} + +casemap +{ + lower = "x" + upper = "X" +} + +casemap +{ + lower = "y" + upper = "Y" +} + +casemap +{ + lower = "z" + upper = "Z" +} + diff --git a/data/bahamut.example.conf b/data/bahamut.example.conf new file mode 100644 index 000000000..894d03411 --- /dev/null +++ b/data/bahamut.example.conf @@ -0,0 +1,170 @@ + +module +{ + name = "protocol/bahamut" +} + +usermode +{ + name = "SERV_ADMIN" + character = "A" + oper_only = yes +} + +usermode +{ + name = "REGPRIF" + character = "R" +} + +usermode +{ + name = "INVIS" + character = "i" +} + +usermode +{ + name = "OPER" + character = "o" + oper_only = yes +} + +usermode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +usermode +{ + name = "SNOMASK" + character = "s" +} + +usermode +{ + name = "WALLOPS" + character = "w" +} + +usermode +{ + name = "DEAF" + character = "d" +} + +channelmode +{ + name = "BAN" + character = "b" + list = yes +} + +channelmode +{ + name = "VOICE" + character = "v" + status = "+" + level = 1 +} + +channelmode +{ + name = "OP" + character = "o" + status = "@" + level = 2 +} + +channelmode +{ + name = "BLOCKCOLOR" + character = "c" +} + +channelmode +{ + name = "INVITE" + character = "i" +} + +channelmode +{ + name = "FLOOD" + character = "f" + param_regex = "\*?\d+:\d+" +} + +channelmode +{ + name = "KEY" + character = "k" + param_regex = "[^:,]+" +} + +channelmode +{ + name = "LIMIT" + character = "l" + param_regex = "\d+" + param_unset = no +} + +channelmode +{ + name = "MODERATED" + character = "m" +} + +channelmode +{ + name = "NOEXTERNAL" + character = "n" +} + +channelmode +{ + name = "PRIVATE" + character = "p" +} + +channelmode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +channelmode +{ + name = "SECRET" + character = "s" +} + +channelmode +{ + name = "TOPIC" + character = "t" +} + +channelmode +{ + name = "REGMODERATED" + character = "M" +} + +channelmode +{ + name = "OPERONLY" + character = "O" + oper_only = yes +} + +channelmode +{ + name = "REGISTEREDONLY" + character = "R" +} + diff --git a/data/botserv.example.conf b/data/botserv.example.conf index fbb8f166d..817188bc8 100644 --- a/data/botserv.example.conf +++ b/data/botserv.example.conf @@ -52,13 +52,21 @@ service #modes = "+o" /* - * An optional comma separated list of channels this service should join. Outside - * of log channels this is not very useful, as the service will just idle in the - * specified channels, and will not accept any types of commands. + * Channels this service should join. Outside of log channels this is not very useful, + * as the service will just idle in the specified channels, and will not accept any types of commands. * - * Prefixes may be given to the channels in the form of mode characters or prefix symbols. + * Status modes mave be given for the channel in the form of mode characters or prefix symbols. */ - #channels = "@#services,#mychan" + channel + { + modes = "o" + name = "#services" + } + + channel + { + name = "#mychan" + } } /* @@ -68,7 +76,7 @@ service */ module { - name = "botserv" + name = "botserv/main" /* * The name of the client that should be BotServ. @@ -140,7 +148,7 @@ module command { service = "BotServ"; name = "HELP"; command = "generic/help"; } /* - * bs_assign + * botserv/gassign * * Provides the commands: * botserv/assign - Used to assign BotServ bots to channels @@ -149,19 +157,19 @@ command { service = "BotServ"; name = "HELP"; command = "generic/help"; } * * Used for assigning and unassigning bots to channels. */ -module { name = "bs_assign" } +module { name = "botserv/assign" } command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; } command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; } command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; } /* - * bs_autoassign + * botserv/gautoassign * * Allows service bots to be automatically assigned to channels upon registration. */ #module { - name = "bs_autoassign" + name = "botserv/autoassign" /* * Automatically assign ChanServ to channels upon registration. @@ -170,7 +178,7 @@ command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot" } /* - * bs_badwords + * botserv/gbadwords * * Provides the command botserv/badwords. * @@ -178,7 +186,7 @@ command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot" */ module { - name = "bs_badwords" + name = "botserv/badwords" /* * The maximum number of entries a single bad words list can have. @@ -195,48 +203,48 @@ module command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; } /* - * bs_bot + * botserv/gbot * * Provides the command botserv/bot. * * Used for administrating BotServ bots. */ -module { name = "bs_bot" } +module { name = "botserv/gbot" } command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; } /* - * bs_botlist + * botserv/gbotlist * * Provides the command botserv/botlist. * * Used for listing all available bots. */ -module { name = "bs_botlist" } +module { name = "botserv/gbotlist" } command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; } /* - * bs_control + * botserv/gcontrol * * Provides the commands botserv/act and botserv/say. * * Used for making the bot message a channel. */ -module { name = "bs_control" } +module { name = "botserv/gcontrol" } command { service = "BotServ"; name = "ACT"; command = "botserv/act"; } command { service = "BotServ"; name = "SAY"; command = "botserv/say"; } /* - * bs_info + * botserv/ginfo * * Provides the command botserv/info. * * Used for getting information on bots or channels. */ -module { name = "bs_info" } +module { name = "botserv/ginfo" } command { service = "BotServ"; name = "INFO"; command = "botserv/info"; } /* - * bs_kick + * botserv/gkick * * Provides the commands: * botserv/kick - Dummy help wrapper for the KICK command. @@ -257,7 +265,7 @@ command { service = "BotServ"; name = "INFO"; command = "botserv/info"; } */ module { - name = "bs_kick" + name = "botserv/gkick" /* * The amount of time that data for a user is valid in BotServ. If the data exceeds this time, @@ -291,12 +299,12 @@ command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/s /* - * bs_set + * botserv/gset * * Provides the commands: * botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels. */ -module { name = "bs_set" } +module { name = "botserv/gset" } command { service = "BotServ"; name = "SET"; command = "botserv/set"; } command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; } command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; } diff --git a/data/chanserv.example.conf b/data/chanserv.example.conf index 78062d3fb..4c64a8ac3 100644 --- a/data/chanserv.example.conf +++ b/data/chanserv.example.conf @@ -40,15 +40,6 @@ service * unable to do certain things if this option is enabled. */ #modes = "+o" - - /* - * An optional comma separated list of channels this service should join. Outside - * of log channels this is not very useful, as the service will just idle in the - * specified channels, and will not accept any types of commands. - * - * Prefixes may be given to the channels in the form of mode characters or prefix symbols. - */ - #channels = "@#services,#mychan" } /* @@ -58,7 +49,7 @@ service */ module { - name = "chanserv" + name = "chanserv/main" /* * The name of the client that should be ChanServ. @@ -91,7 +82,7 @@ module * not in use. * - none: No defaults * - * This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder, + * This directive is optional, if left blank, the options will default to keeptopic, chanserv/secure, securefounder, * and signkick. If you really want no defaults, use "none" by itself as the option. */ defaults = "keeptopic peace cs_secure securefounder signkick" @@ -164,11 +155,6 @@ module disallow_hostmask_access = false /* - * If set, prevents channels from being on access lists. - */ - disallow_channel_access = false - - /* * 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. @@ -184,14 +170,14 @@ module * determine how powerful privileges are relative to other privileges, which is used by Anope to determine * who has greater access in a channel. * - * If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels. + * If you load chanserv/access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels. * The levels defined will be used as the default levels for newly registered channels. * The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel * has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders. * - * If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags. + * If you load chanserv/flags, you may define a flag associated with that privilege for use in chanserv/flags. * - * If you load cs_xop, you may define a XOP command to associate the privilege with. + * If you load chanserv/xop, you may define a XOP command to associate the privilege with. * * The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional * channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming @@ -831,7 +817,7 @@ command_group command { service = "ChanServ"; name = "HELP"; command = "generic/help"; } /* - * cs_access + * chanserv/access * * Provides commands chanserv/access and chanserv/levels. * Provides the access system "levels". @@ -840,15 +826,15 @@ command { service = "ChanServ"; name = "HELP"; command = "generic/help"; } * are representated by given level on a per channel basis. * * The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access - * entries not added by cs_access. The "level" of these entries will be the representation of the access + * entries not added by chanserv/access. The "level" of these entries will be the representation of the access * entry by the other access system, which could be an XOP command name, or a set of flags. */ -module { name = "cs_access" } +module { name = "chanserv/access" } command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; } command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; } /* - * cs_akick + * chanserv/akick * * Provides the command chanserv/akick. * @@ -856,7 +842,7 @@ command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; gr */ module { - name = "cs_akick" + name = "chanserv/akick" /* * The maximum number of entries on a channel's autokick list. @@ -871,7 +857,7 @@ module command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; } /* - * cs_ban + * chanserv/ban * * Provides the command chanserv/ban. * @@ -883,41 +869,41 @@ command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; grou * * Used for banning users from channels. */ -module { name = "cs_ban" } +module { name = "chanserv/ban" } command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; } /* - * cs_clone + * chanserv/clone * * Provides the command chanserv/clone. * * Used for copying channel settings from one channel to another. */ -module { name = "cs_clone" } +module { name = "chanserv/clone" } command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; } /* - * cs_drop + * chanserv/drop * * Provides the command chanserv/drop. * * Used for unregistering channels. */ -module { name = "cs_drop" } +module { name = "chanserv/drop" } command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; } /* - * cs_enforce + * chanserv/enforce * * Provides the command chanserv/enforce. * * Used to enforce various channel settings such as secureops and restricted. */ -module { name = "cs_enforce" } +module { name = "chanserv/enforce" } command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; } /* - * cs_entrymsg + * chanserv/entrymsg * * Provides the command chanserv/entrymsg. * @@ -925,7 +911,7 @@ command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; */ module { - name = "cs_entrymsg" + name = "chanserv/entrymsg" /* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */ maxentries = 5 @@ -933,7 +919,7 @@ module command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; } /* - * cs_flags + * chanserv/flags * * Provides the command chanserv/flags. * Provides the access system "flags". @@ -941,54 +927,54 @@ command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg" * Used for giving users access in channels. * * The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access - * entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the + * entries not added by chanserv/flags. The "Flags" of these entries will be the flags representation of the * privilege set granted by the access entry. */ -module { name = "cs_flags" } +module { name = "chanserv/flags" } command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; } /* - * cs_getkey + * chanserv/getkey * * Provides the command chanserv/getkey. * * Used for getting the key for channels. */ -module { name = "cs_getkey" } +module { name = "chanserv/getkey" } command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; } /* - * cs_info + * chanserv/info * * Provides the command chanserv/info. * * Used for getting information about channels. */ -module { name = "cs_info" } +module { name = "chanserv/info" } command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; } /* - * cs_invite + * chanserv/invite * * Provides the command chanserv/invite. * * Used for inviting yourself in to channels. */ -module { name = "cs_invite" } +module { name = "chanserv/invite" } command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; } /* - * cs_kick + * chanserv/kick * * Provides the command chanserv/kick. * * Used for kicking users from channels. */ -module { name = "cs_kick" } +module { name = "chanserv/kick" } command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; } /* - * cs_list + * chanserv/list * * Provides the commands: * chanserv/list - Used for retrieving and searching the registered channel list. @@ -996,7 +982,7 @@ command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; } */ module { - name = "cs_list" + name = "chanserv/list" /* * The maximum number of channels to be returned for a ChanServ LIST command. @@ -1009,7 +995,7 @@ command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/pr /* - * cs_log + * chanserv/log * * Provides the command chanserv/log. * @@ -1017,7 +1003,7 @@ command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/pr */ module { - name = "cs_log" + name = "chanserv/log" /* Default log settings for newly registered channels */ @@ -1050,7 +1036,7 @@ module command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; } /* - * cs_mode + * chanserv/mode * * Provides the command chanserv/mode and chanserv/modes. * @@ -1060,7 +1046,7 @@ command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = */ module { - name = "cs_mode" + name = "chanserv/mode" /* * Default modes for mode lock, these are set on newly registered channels. @@ -1095,17 +1081,17 @@ command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; gr /* - * cs_register + * chanserv/register * * Provides the commands chanserv/register. * * Used for registering channels. */ -module { name = "cs_register" } +module { name = "chanserv/register" } command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; } /* - * cs_seen + * chanserv/seen * * Provides the commands chanserv/seen and operserv/seen. * @@ -1114,7 +1100,7 @@ command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register" */ module { - name = "cs_seen" + name = "chanserv/seen" /* If set, uses the older 1.8 style seen, which is less resource intensive */ simple = false @@ -1128,7 +1114,7 @@ module command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; } /* - * cs_set + * chanserv/set * * Provides the commands: * chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands. @@ -1151,7 +1137,7 @@ command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permis */ module { - name = "cs_set" + name = "chanserv/set" /* * The default ban type for newly registered channels. @@ -1189,30 +1175,30 @@ command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/ command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; } /* - * cs_set_misc + * chanserv/set_misc * * Provides the command chanserv/set/misc. * * Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info. * A field named misc_description may be given for use with help output. */ -module { name = "cs_set_misc" } +module { name = "chanserv/set_misc" } command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); } command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); } /* - * cs_status + * chanserv/status * * Provides the command chanserv/status. * * Used for determining a user's access on a channel and whether * or not they match any autokick entries. */ -module { name = "cs_status" } +module { name = "chanserv/status" } command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; } /* - * cs_suspend + * chanserv/suspend * * Provides the commands chanserv/suspend and chanserv/unsuspend. * @@ -1220,7 +1206,7 @@ command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; } */ module { - name = "cs_suspend" + name = "chanserv/suspend" /* * The length of time before a suspended channel expires. @@ -1241,50 +1227,50 @@ command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; } /* - * cs_sync + * chanserv/sync * * Provides the command chanserv/sync. * * Used to sync users channel status modes with what access they have. */ -module { name = "cs_sync" } +module { name = "chanserv/sync" } command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; } /* - * cs_topic + * chanserv/topic * * Provides the commands: * chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock. * chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created. * */ -module { name = "cs_topic" } +module { name = "chanserv/topic" } command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; } command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; } /* - * cs_unban + * chanserv/unban * * Provides the command chanserv/unban. * * Used for unbanning users from channels. */ -module { name = "cs_unban" } +module { name = "chanserv/unban" } command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; } /* - * cs_updown + * chanserv/updown * * Provides the commands chanserv/up and chanserv/down. * * Used for setting or removing your status modes on a channel. */ -module { name = "cs_updown" } +module { name = "chanserv/updown" } command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; } command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; } /* - * cs_xop + * chanserv/xop * * Provides the command chanserv/xop. * Provides the access system "XOP". @@ -1297,7 +1283,7 @@ command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "c * The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You * can not view the entire access list at once, and instead should use another access system to do that. */ -module { name = "cs_xop" } +module { name = "chanserv/xop" } command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; } command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; } command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; } @@ -1310,9 +1296,9 @@ command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = */ /* - * cs_statusupdate + * chanserv/statusupdate * * This module automatically updates users status on channels when the * channel's access list is modified. */ -module { name = "cs_statusupdate" } +module { name = "chanserv/statusupdate" } diff --git a/data/chanstats.example.conf b/data/chanstats.example.conf index 64f57da30..df19374a2 100644 --- a/data/chanstats.example.conf +++ b/data/chanstats.example.conf @@ -5,7 +5,7 @@ module { - name = "m_chanstats" + name = "chanstats" /* * The name of this engine. diff --git a/data/example.chk b/data/example.chk index 119b1ca99..e71928f1c 100644 --- a/data/example.chk +++ b/data/example.chk @@ -9,16 +9,16 @@ ############################################################### # Anope binary directory -ANOPATH=/home/ircd/services/bin +ANOPATH=/home/ircd/anope/bin # Anope data directory -ANODATA=/home/ircd/services/data +ANODATA=/home/ircd/anope/data # Name of the pid file -ANOPIDF=services.pid +ANOPIDF=anope.pid # Name of the executable -ANOPROG=services +ANOPROG=anope # Parameters to pass to the executable ANOARGS="" diff --git a/data/global.example.conf b/data/global.example.conf index 09534dae7..d6c856aea 100644 --- a/data/global.example.conf +++ b/data/global.example.conf @@ -40,15 +40,6 @@ service * unable to do certain things if this option is enabled. */ #modes = "+o" - - /* - * An optional comma separated list of channels this service should join. Outside - * of log channels this is not very useful, as the service will just idle in the - * specified channels, and will not accept any types of commands. - * - * Prefixes may be given to the channels in the form of mode characters or prefix symbols. - */ - #channels = "@#services,#mychan" } /* @@ -58,7 +49,7 @@ service */ module { - name = "global" + name = "global/main" /* * The name of the client that should be Global. @@ -105,11 +96,11 @@ module command { service = "Global"; name = "HELP"; command = "generic/help"; } /* - * gl_global + * global/global * * Provides the command global/global. * * Used for sending a message to every online user. */ -module { name = "gl_global" } +module { name = "global/global" } command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; } diff --git a/data/hostserv.example.conf b/data/hostserv.example.conf index e13e8fdd1..685eb9722 100644 --- a/data/hostserv.example.conf +++ b/data/hostserv.example.conf @@ -40,15 +40,6 @@ service * unable to do certain things if this option is enabled. */ #modes = "+o" - - /* - * An optional comma separated list of channels this service should join. Outside - * of log channels this is not very useful, as the service will just idle in the - * specified channels, and will not accept any types of commands. - * - * Prefixes may be given to the channels in the form of mode characters or prefix symbols. - */ - #channels = "@#services,#mychan" } /* @@ -58,7 +49,7 @@ service */ module { - name = "hostserv" + name = "hostserv/main" /* * The name of the client that should be HostServ. @@ -86,18 +77,18 @@ module command { service = "HostServ"; name = "HELP"; command = "generic/help"; } /* - * hs_del + * hostserv/del * * Provides the commands hostserv/del and hostserv/delall. * * Used for removing users' vHosts. */ -module { name = "hs_del" } +module { name = "hostserv/del" } command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; } command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; } /* - * hs_group + * hostserv/group * * Provides the command hostserv/group. * @@ -105,7 +96,7 @@ command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; pe */ module { - name = "hs_group" + name = "hostserv/group" /* * Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick. @@ -120,37 +111,37 @@ module command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; } /* - * hs_list + * hostserv/list * * Provides the command hostserv/list. * * Used for listing actively set vHosts. */ -module { name = "hs_list" } +module { name = "hostserv/list" } command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; } /* - * hs_off + * hostserv/off * * Provides the command hostserv/off. * * Used for turning off your vHost. */ -module { name = "hs_off" } +module { name = "hostserv/off" } command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; } /* - * hs_on + * hostserv/on * * Provides the command hostserv/on. * * Used for turning on your vHost. */ -module { name = "hs_on" } +module { name = "hostserv/on" } command { service = "HostServ"; name = "ON"; command = "hostserv/on"; } /* - * hs_request + * hostserv/request * * Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting. * @@ -158,7 +149,7 @@ command { service = "HostServ"; name = "ON"; command = "hostserv/on"; } */ module { - name = "hs_request" + name = "hostserv/request" /* * If set, Services will send a memo to the user requesting a vHost when it's been @@ -177,12 +168,12 @@ command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; pe command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; } /* - * hs_set + * hostserv/set * * Provides the commands hostserv/set and hostserv/setall. * * Used for setting users' vHosts. */ -module { name = "hs_set" } +module { name = "hostserv/set" } command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; } command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; } diff --git a/data/hybrid.example.conf b/data/hybrid.example.conf new file mode 100644 index 000000000..6e9f4da6f --- /dev/null +++ b/data/hybrid.example.conf @@ -0,0 +1,231 @@ + +module +{ + name = "protocol/hybrid" +} + +usermode +{ + name = "ADMIN" + character = "a" + oper_only = yes +} + +usermode +{ + name = "CALLERID" + character = "g" +} + +usermode +{ + name = "INVIS" + character = "i" +} + +usermode +{ + name = "LOCOPS" + character = "l" + oper_only = yes +} + +usermode +{ + name = "OPER" + character = "o" + oper_only = yes +} + +usermode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +usermode +{ + name = "SNOMASK" + character = "s" + oper_only = yes +} + +usermode +{ + name = "WALLOPS" + character = "w" +} + +usermode +{ + name = "DEAF" + character = "D" +} + +usermode +{ + name = "HIDEOPER" + character = "H" + oper_only = yes +} + +usermode +{ + name = "REGPRIF" + character = "R" +} + +usermode +{ + name = "SSL" + character = "S" + setable = no +} + +usermode +{ + name = "CLOAK" + character = "x" +} + +channelmode +{ + name = "BAN" + character = "b" + list = yes +} + +channelmode +{ + name = "EXCEPT" + character = "e" + list = yes +} + +channemode +{ + name = "INVITEOVERRIDE" + character = "I" + list = yes +} + +channelmode +{ + name = "VOICE" + character = "v" + status = "+" + level = 1 +} + +channelmode +{ + name = "HALFOP" + characater = "h" + status = "%" + level = 2 +} + +channelmode +{ + name = "OP" + character = "o" + status = "@" + level = 3 +} + +channelmode +{ + name = "BLOCKCOLOR" + character = "c" +} + +channelmode +{ + name = "INVITE" + character = "i" +} + +channelmode +{ + name = "KEY" + character = "k" + param_regex = "[^:,]+" +} + +channelmode +{ + name = "LIMIT" + character = "l" + param_regex = "\d+" + param_unset = no +} + +channelmode +{ + name = "MODERATED" + character = "m" +} + +channelmode +{ + name = "NOEXTERNAL" + character = "n" +} + +channelmode +{ + name = "PRIVATE" + character = "p" +} + +channelmode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +channelmode +{ + name = "SECRET" + character = "s" +} + +channelmode +{ + name = "TOPIC" + character = "t" +} + +channelmode +{ + name = "REGMODERATED" + character = "M" +} + +channelmode +{ + name = "OPERONLY" + character = "O" + oper_only = yes +} + +channelmode +{ + name = "REGISTEREDONLY" + character = "R" +} + +channelmode +{ + name = "SSL" + character = "S" +} + +channelmode +{ + name = "NONOTICE" + character = "T" +} + diff --git a/data/inspircd20.example.conf b/data/inspircd20.example.conf new file mode 100644 index 000000000..347fb52ea --- /dev/null +++ b/data/inspircd20.example.conf @@ -0,0 +1,547 @@ + +module +{ + name = "protocol/inspircd20" + + /* + * Enables mode locks server-side. This reduces the spam caused by + * services immediately reversing mode changes for locked modes. + */ + use_server_side_mlock = yes + + /* + * Enforces topic locks server-side. This reduces the spam caused by + * services immediately reversing topic changes. + */ + use_server_side_topiclock = yes +} + +usermode +{ + name = "BOT" + character = "B" +} + +usermode +{ + name = "CALLERID" + character = "g" +} + +usermode +{ + name = "CLOAK" + character = "x" +} + +usermode +{ + name = "DEAF" + character = "d" +} + +usermode +{ + name = "COMMONCHANS" + character = "c" +} + +usermode +{ + name = "HELPOP" + character = "h" + oper_only = yes +} + +usermode +{ + name = "PRIV" + character = "I" +} + +usermode +{ + name = "HIDEOPER" + character = "H" + oper_only = yes +} + +usermode +{ + name = "INVIS" + character = "i" +} + +usermode +{ + name = "OPER" + character = "o" + oper_only = yes +} + +usermode +{ + name = "REGPRIV" + character = "R" +} + +usermode +{ + name = "PROTECTED" + character = "k" + setable = no +} + +usermode +{ + name = "WHOIS" + character = "W" + oper_only = yes +} + +usermode +{ + name = "CENSOR" + character = "G" +} + +usermode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +usermode +{ + name = "STRIPCOLOR" + character = "S" +} + +usermode +{ + name = "WALLOPS" + character = "w" +} + +usermode +{ + name = "SNOMASK" + character = "s" + oper_only = yes +} + +channelmode +{ + name = "PROTECT" + character = "a" + status = "&" + level = 4 +} + +channelmode +{ + name = "ALLINVITE" + character = "A" +} + +channelmode +{ + name = "AUDITORIUM" + character = "u" +} + +channelmode +{ + name = "AUTOOP" + character = "w" + setable = no +} + +channelmode +{ + name = "BAN" + character = "b" + list = yes +} + +channelmode +{ + name = "EXCEPT" + character = "e" + list = yes +} + +channelmode +{ + name = "BLOCKCAPS" + character = "B" +} + +channelmode +{ + name = "BLOCKCOLOR" + character = "c" +} + +channelmode +{ + name = "REGISTERED" + character = "r" + setable = false +} + +channelmode +{ + name = "CENSOR" + character = "G" +} + +channelmode +{ + name = "DELAYEDJOIN" + character = "D" +} + +channelmode +{ + name = "DELAYMSG" + character = "d" + param_regex = "[1-9]\d*" +} + +channelmode +{ + name = "FILTER" + character = "g" + list = yes +} + +channelmode +{ + name = "FLOOD" + character = "f" + param_regex = "\*?\d+:\d+" +} + +channelmode +{ + name = "OWNER" + character = "q" + status = "~" + level = 5 +} + +channelmode +{ + name = "HALFOP" + character = "h" + status = "%" + level = 2 +} + +channelmode +{ + name = "HISTORY" + character = "H" + param = yes +} + +channelmode +{ + name = "INVITEOVERRIDE" + character = "I" + list = yes +} + +channelmode +{ + name = "INVITE" + character = "i" +} + +channelmode +{ + name = "JOINFLOOD" + character = "j" + param_regex = "\d+:\d+" +} + +channelmode +{ + name = "KEY" + character = "k" + param_regex = "[^:,]+" +} + +channelmode +{ + name = "NOREJOIN" + character = "J" + param_regex = "\d+" +} + +channelmode +{ + name = "LIMIT" + character = "l" + param_regex = "\d+" + param_unset = no +} + +channelmode +{ + name = "MODERATED" + character = "m" +} + +channelmode +{ + name = "NICKFLOOD" + character = "F" + param_regex = "\d+:\d+" +} + +channelmode +{ + name = "NOCTCP" + character = "C" +} + +channelmode +{ + name = "NOEXTERNAL" + character = "n" +} + +channelmode +{ + name = "NOKICK" + character = "Q" +} + +channelmode +{ + name = "NOKNOCK" + character = "K" +} + +channelmode +{ + name = "NONICK" + character = "N" +} + +channelmode +{ + name = "NONOTICEB" + character = "T" +} + +channelmode +{ + name = "OP" + character = "o" + status = "@" + level = 3 +} + +channelmode +{ + name = "OPERONLY" + character = "O" + oper_only = yes +} + +channelmode +{ + name = "PERM" + character = "P" + oper_only = yes +} + +channelmode +{ + name = "PRIVATE" + character = "p" +} + +channelmode +{ + name = "REDIRECT" + character = "L" + param = yes +} + +channelmode +{ + name = "REGISTEREDONLY" + character = "R" +} + +channelmode +{ + name = "REGMODERATED" + character = "M" +} + +channelmode +{ + name = "SECRET" + character = "s" +} + +channelmode +{ + name = "SSLONLY" + character = "z" +} + +channelmode +{ + name = "STRIPCOLOR" + character = "S" +} + +channelmode +{ + name = "TOPIC" + character = "t" +} + +channelmode +{ + name = "VOICE" + character = "v" + status = "+" + level = 1 +} + +extban +{ + name = "INVITEBAN" + type = "entry" + base = "BAN" + chaacter = "A" +} + +extban +{ + name = "BLOCKCAPSBAN" + type = "entry" + base = "BAN" + character = "B" +} + +extban +{ + name = "BLOCKCOLORBAN" + type = "entry" + base = "BAN" + character = "c" +} + +extban +{ + name = "NOCTCPBAN" + type = "entry" + base = "BAN" + character = "C" +} + +extban +{ + name = "NOKICKBAN" + type = "entry" + base = "BAN" + character = "Q" +} + +extban +{ + name = "NONICKBAN" + type = "entry" + base = "BAN" + character = "N" +} + +extban +{ + name = "NONOTICEBAN" + type = "entry" + base = "BAN" + character = "T" +} + +extban +{ + name = "SSLBAN" + type = "fingerprint" + base = "BAN" + character = "z" +} + +extban +{ + name = "STRIPCOLORBAN" + type = "entry" + base = "BAN" + character = "S" +} + +extban +{ + name = "ACCOUNTBAN" + type = "account" + base = "BAN" + character = "R" +} + +extban +{ + name = "UNREGISTEREDBAN" + type = "unidentified" + base = "BAN" + character = "U" +} + +extban +{ + name = "CHANNELBAN" + type = "channel" + base = "BAN" + character = "j" +} + +extban +{ + name = "REALNAMEBAN" + type = "realname" + base = "BAN" + character = "r" +} + +extban +{ + name = "PARTMESSAGEBAN" + type = "entry" + base = "BAN" + character = "p" +} + +extban +{ + name = "SERVERBAN" + type = "server" + base = "BAN" + character = "s" +} + +extban +{ + name = "QUIET" + type = "entry" + base = "BAN" + character = "m" +} + diff --git a/data/memoserv.example.conf b/data/memoserv.example.conf index 9f07ec424..cda9a02ae 100644 --- a/data/memoserv.example.conf +++ b/data/memoserv.example.conf @@ -40,15 +40,6 @@ service * unable to do certain things if this option is enabled. */ #modes = "+o" - - /* - * An optional comma separated list of channels this service should join. Outside - * of log channels this is not very useful, as the service will just idle in the - * specified channels, and will not accept any types of commands. - * - * Prefixes may be given to the channels in the form of mode characters or prefix symbols. - */ - #channels = "@#services,#mychan" } /* @@ -58,7 +49,7 @@ service */ module { - name = "memoserv" + name = "memoserv/main" /* * The name of the client that should be MemoServ. Clients are configured * with the service blocks. @@ -101,37 +92,37 @@ module command { service = "MemoServ"; name = "HELP"; command = "generic/help"; } /* - * ms_cancel + * memoserv/cancel * * Provides the command memoserv/cancel. * * Used to cancel memos already sent but not yet read. */ -module { name = "ms_cancel" } +module { name = "memoserv/cancel" } command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; } /* - * ms_check + * memoserv/check * * Provides the command memoserv/check. * * Used to check if a sent memo has been read. */ -module { name = "ms_check" } +module { name = "memoserv/check" } command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; } /* - * ms_del + * memoserv/del * * Provides the command memoserv/del. * * Used to delete your memos. */ -module { name = "ms_del" } +module { name = "memoserv/del" } command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; } /* - * ms_ignore + * memoserv/ignore * * Provides the command memoserv/ignore. * @@ -139,7 +130,7 @@ command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; } */ module { - name = "ms_ignore" + name = "memoserv/ignore" /* * The maximum number of entries that may be on a memo ignore list. @@ -151,37 +142,37 @@ module command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; } /* - * ms_info + * memoserv/info * * Provides the command memoserv/info. * * Used to show memo related information about an account or a channel. */ -module { name = "ms_info" } +module { name = "memoserv/info" } command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; } /* - * ms_list + * memoserv/list * * Provides the command memoserv/list. * * Used to list your current memos. */ -module { name = "ms_list" } +module { name = "memoserv/list" } command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; } /* - * ms_read + * memoserv/read * * Provides the command memoserv/read. * * Used to read your memos. */ -module { name = "ms_read" } +module { name = "memoserv/read" } command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; } /* - * ms_rsend + * memoserv/rsend * * Provides the command memoserv/rsend. * @@ -191,10 +182,10 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; } */ #module { - name = "ms_rsend" + name = "memoserv/rsend" /* - * Only allow Services Operators to use ms_rsend. + * Only allow Services Operators to use memoserv/rsend. * * This directive is optional. */ @@ -203,41 +194,41 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; } #command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; } /* - * ms_send + * memoserv/send * * Provides the command memoserv/send. * * Used to send memos. */ -module { name = "ms_send" } +module { name = "memoserv/send" } command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; } /* - * ms_sendall + * memoserv/sendall * * Provides the command memoserv/sendall. * * Used to send a mass memo to every registered user. */ -module { name = "ms_sendall" } +module { name = "memoserv/sendall" } command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; } /* - * ms_set + * memoserv/set * * Provides the command memoserv/set. * * Used to set settings such as how you are notified of new memos, and your memo limit. */ -module { name = "ms_set" } +module { name = "memoserv/set" } command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; } /* - * ms_staff + * memoserv/staff * * Provides the command memoserv/staff. * * Used to send a memo to all registered staff members. */ -module { name = "ms_staff" } +module { name = "memoserv/staff" } command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; } diff --git a/data/modules.example.conf b/data/modules.example.conf index e921c1e0d..89166e619 100644 --- a/data/modules.example.conf +++ b/data/modules.example.conf @@ -19,14 +19,14 @@ module { name = "help" } /* - * m_dns + * dns * * Adds support for the DNS protocol. By itself this module does nothing useful, - * but other modules such as m_dnsbl and os_dns require this. + * but other modules such as dnsbl and operserv/dns require this. */ #module { - name = "m_dns" + name = "dns" /* * The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file. @@ -42,7 +42,7 @@ module { name = "help" } timeout = 5 - /* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */ + /* Only edit below if you are expecting to use operserv/dns or otherwise answer DNS queries. */ /* * The IP and port services use to listen for DNS queries. @@ -80,7 +80,7 @@ module { name = "help" } } /* - * m_dnsbl + * dnsbl * * Allows configurable DNS blacklists to check connecting users against. If a user * is found on the blacklist they will be immediately banned. This is a crucial module @@ -88,7 +88,7 @@ module { name = "help" } */ #module { - name = "m_dnsbl" + name = "dnsbl" /* * If set, Services will check clients against the DNSBLs when services connect to its uplink. @@ -179,19 +179,19 @@ module { name = "help" } } /* - * m_helpchan + * helpchan * * Gives users who are op in the specified help channel usermode +h (helpop). */ #module { - name = "m_helpchan" + name = "helpchan" helpchannel = "#help" } /* - * m_httpd + * httpd * * Allows services to serve web pages. By itself, this module does nothing useful. * @@ -200,7 +200,7 @@ module { name = "help" } */ #module { - name = "m_httpd" + name = "httpd" httpd { @@ -232,13 +232,13 @@ module { name = "help" } } /* - * m_ldap [EXTRA] + * ldap [EXTRA] * * This module allows other modules to use LDAP. By itself, this module does nothing useful. */ #module { - name = "m_ldap" + name = "ldap" ldap { @@ -253,14 +253,14 @@ module { name = "help" } } /* - * m_ldap_authentication [EXTRA] + * ldap_authentication [EXTRA] * * This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use - * LDAP to authenticate users. Requires m_ldap. + * LDAP to authenticate users. Requires ldap. */ #module { - name = "m_ldap_authentication" + name = "ldap_authentication" /* * The distinguished name used for searching for users's accounts. @@ -313,16 +313,16 @@ module { name = "help" } } /* - * m_ldap_oper [EXTRA] + * ldap_oper [EXTRA] * * This module dynamically ties users to Anope opertypes when they identify - * via LDAP group membership. Requires m_ldap. + * via LDAP group membership. Requires ldap. * * Note that this doesn't give the user privileges on the IRCd, only in Services. */ #module { - name = "m_ldap_oper" + name = "ldap_oper" /* * An optional binddn to use when searching for groups. @@ -354,13 +354,13 @@ module { name = "help" } } /* - * m_mysql [EXTRA] + * mysql [EXTRA] * * This module allows other modules to use MySQL. */ #module { - name = "m_mysql" + name = "mysql" mysql { @@ -374,13 +374,13 @@ module { name = "help" } } } /* - * m_redis + * redis * * This module allows other modules to use Redis. */ #module { - name = "m_redis" + name = "redis" /* A redis database */ redis @@ -399,38 +399,16 @@ module { name = "help" } } /* - * m_regex_pcre [EXTRA] - * - * Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. - */ -#module { name = "m_regex_pcre" } - -/* - * m_regex_posix [EXTRA] - * - * 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. - */ -#module { name = "m_regex_posix" } - -/* - * m_regex_tre [EXTRA] - * - * Provides the regex engine regex/tre, which uses the TRE regex library. - */ -#module { name = "m_regex_tre" } - -/* - * m_rewrite + * rewrite * * Allows rewriting commands sent to/from clients. */ -#module { name = "m_rewrite" } +#module { name = "rewrite" } #command { service = "ChanServ"; name = "CLEAR"; command = "rewrite" - /* Enable m_rewrite. */ + /* Enable rewrite. */ rewrite = true /* Source message to match. A $ can be used to match anything. */ @@ -451,111 +429,47 @@ module { name = "help" } } /* - * m_proxyscan + * sasl * - * This module allows you to scan connecting clients for open proxies. - * Note that using this will allow users to get the IP of your services. - * - * Currently the two supported proxy types are HTTP and SOCKS5. - * - * The proxy scanner works by attempting to connect to clients when they - * connect to the network, and if they have a proxy running instruct it to connect - * back to services. If services are able to connect through the proxy to itself - * then it knows it is an insecure proxy, and will ban it. + * 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. */ -#module -{ - name = "m_proxyscan" - - /* - * The target IP services tells the proxy to connect back to. This must be a publicly - * available IP that remote proxies can connect to. - */ - #target_ip = "127.0.0.1" - - /* - * The port services tells the proxy to connect to. - */ - target_port = 7226 - - /* - * The listen IP services listen on for incoming connections from suspected proxies. - * This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT). - */ - #listen_ip = "127.0.0.1" - - /* - * The port services should listen on for incoming connections from suspected proxies. - * This most likely will be the same as target_port. - */ - listen_port = 7226 - - /* - * An optional notice sent to clients upon connect. - */ - #connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately." - - /* - * Who the notice should be sent from. - */ - #connect_source = "OperServ" - - /* - * If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends - * a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots. - */ - add_to_akill = yes - - /* - * How long before connections should be timed out. - */ - timeout = 5 - - proxyscan - { - /* The type of proxy to check for. A comma separated list is allowed. */ - type = "HTTP" - - /* The ports to check. */ - port = "80,8080" - - /* How long to set the ban for. */ - time = 4h +#module { name = "sasl" } - /* - * The reason to ban the user for. - * %h is replaced with the type of proxy found. - * %i is replaced with the IP of proxy found. - * %p is replaced with the port. - */ - reason = "You have an open proxy running on your host (%t:%i:%p)" - } -} +/* + * sasl_dh-aes [EXTRA] + * + * Add the DH-AES mechanism to SASL. + * Requires sasl to be loaded. + * Requires openssl. + */ +#module { name = "sasl_dh-aes" } /* - * m_sasl + * sasl_dh-blowfish [EXTRA] * - * 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. + * Add the DH-BLOWFISH mechanism to SASL. + * Requires sasl to be loaded. + * Requires openssl. */ -#module { name = "m_sasl" } +#module { name = "sasl_dh-blowfish" } /* - * m_ssl_gnutls [EXTRA] + * ssl_gnutls [EXTRA] * * This module provides SSL services to Anope using GnuTLS, for example to * connect to the uplink server(s) via SSL. * - * You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both. + * You may only load either ssl_gnutls or ssl_openssl, bot not both. */ #module { - name = "m_ssl_gnutls" + name = "ssl_gnutls" /* - * An optional certificate and key for m_ssl_gnutls to give to the uplink. + * An optional certificate and key for ssl_gnutls to give to the uplink. * * You can generate your own certificate and key pair by using: * @@ -581,20 +495,20 @@ module { name = "help" } } /* - * m_ssl_openssl [EXTRA] + * ssl_openssl [EXTRA] * * This module provides SSL services to Anope using OpenSSL, for example to * connect to the uplink server(s) via SSL. * - * You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both. + * You may only load either ssl_openssl or ssl_gnutls, bot not both. * */ #module { - name = "m_ssl_openssl" + name = "ssl_openssl" /* - * An optional certificate and key for m_ssl_openssl to give to the uplink. + * An optional certificate and key for ssl_openssl to give to the uplink. * * You can generate your own certificate and key pair by using: * @@ -614,16 +528,16 @@ module { name = "help" } } /* - * m_sql_authentication [EXTRA] + * sql_authentication [EXTRA] * * This module allows authenticating users against an external SQL database using a custom * query. */ #module { - name = "m_sql_authentication" + name = "sql_authentication" - /* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */ + /* SQL engine to use. Should be configured elsewhere with mysql, sqlite, etc. */ engine = "mysql/main" /* Query to execute to authenticate. A non empty result from this query is considered a success, @@ -665,7 +579,7 @@ module { name = "help" } } /* - * m_sql_log [EXTRA] + * sql_log [EXTRA] * * This module adds an additional target option to log{} blocks * that allows logging Service's logs to SQL. To log to SQL, add @@ -682,24 +596,24 @@ module { name = "help" } * it if it doesn't exist. This module does not create any indexes (keys) * on the table and it is recommended you add them yourself as necessary. */ -#module { name = "m_sql_log" } +#module { name = "sql_log" } /* - * m_sql_oper [EXTRA] + * sql_oper [EXTRA] * * This module allows granting users services operator privileges and possibly IRC Operator * privileges based on an external SQL database using a custom query. */ #module { - name = "m_sql_oper" + name = "sql_oper" - /* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */ + /* SQL engine to use. Should be configured elsewhere with mysql, sqlite, etc. */ engine = "mysql/main" /* Query to execute to determine if a user should have operator privileges. * A field named opertype must be returned in order to link the user to their oper type. - * The oper types must be configured earlier in services.conf. + * The oper types must be configured earlier in anope.conf. * * If a field named modes is returned from this query then those modes are set on the user. * Without this, only a simple +o is sent. @@ -711,13 +625,13 @@ module { name = "help" } } /* - * m_sqlite [EXTRA] + * sqlite [EXTRA] * * This module allows other modules to use SQLite. */ #module { - name = "m_sqlite" + name = "sqlite" /* A SQLite database */ sqlite @@ -737,7 +651,7 @@ module { name = "help" } * as they could over IRC. If you are using the default configuration you should be able to access * this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on. * - * This module requires m_httpd. + * This module requires httpd. */ #module { @@ -754,23 +668,23 @@ module { name = "help" } } /* - * m_xmlrpc + * xmlrpc * * Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. - * By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries. + * By itself this module does nothing, but allows other modules (xmlrpc_main) to receive and send XMLRPC queries. */ #module { - name = "m_xmlrpc" + name = "xmlrpc" - /* Web service to use. Requires m_httpd. */ + /* Web service to use. Requires httpd. */ server = "httpd/main" } /* - * m_xmlrpc_main + * xmlrpc_main * * Adds the main XMLRPC core functions. - * Requires m_xmlrpc. + * Requires xmlrpc. */ -#module { name = "m_xmlrpc_main" } +#module { name = "xmlrpc_main" } diff --git a/data/ngircd.example.conf b/data/ngircd.example.conf new file mode 100644 index 000000000..7df67ce64 --- /dev/null +++ b/data/ngircd.example.conf @@ -0,0 +1,234 @@ + +module +{ + name = "protocol/ngircd" +} + +usermode +{ + name = "NOCTCP" + character = "b" +} + +usermode +{ + name = "BOT" + character = "B" +} + +usermode +{ + name = "COMMONCHANS" + character = "C" +} + +usermode +{ + name = "INVIS" + character = "i" +} + +usermode +{ + name = "OPER" + character = "o" + oper_only = yes +} + +usermode +{ + name = "PROTECTED" + character = "q" + oper_only = yes +} + +usermode +{ + name = "RESTRICTED" + character = "r" + oper_only = yes +} + +usermode +{ + name = "REGISTERED" + character = "R" + setable = no +} + +usermode +{ + name = "SNOMASK" + character = "s" + oper_only = yes +} + +usermode +{ + name = "WALLOPS" + character = "w" +} + +usermode +{ + name = "CLOAK" + character = "x" +} + +channelmode +{ + name = "BAN" + character = "b" + list = yes +} + +channelmode +{ + name = "EXCEPT" + character = "e" + list = yes +} + +channemode +{ + name = "INVITEOVERRIDE" + character = "I" + list = yes +} + + +channelmode +{ + name = "VOICE" + character = "v" + status = "+" + level = 1 +} + +channelmode +{ + name = "HALFOP" + character = "h" + status = "%" + level = 2 +} + +channelmode +{ + name = "OP" + character = "@" + status = "@" + level = 3 +} + +channelmode +{ + name = "PROTECT" + character = "a" + status = "&" + level = 4 +} + +channelmode +{ + name = "OWNER" + character = "q" + status = "~" + level = 5 +} + +channelmode +{ + name = "INVITE" + character = "i" +} + +channelmode +{ + name = "KEY" + character = "k" + param_regex = "[^:,]+" +} + +channelmode +{ + name = "LIMIT" + character = "l" + param_regex = "\d+" + param_unset = no +} + +channelmode +{ + name = "MODERATED" + character = "m" +} + +channelmode +{ + name = "REGMODERATED" + character = "M" +} + +channelmode +{ + name = "NOEXTERNAL" + character = "n" +} + +channelmode +{ + name = "OPERONLY" + character = "O" + oper_only = yes +} + +channelmode +{ + name = "PERM" + character = "P" + oper_only = yes +} + +channelmode +{ + name = "NOKICK" + character = "Q" +} + +channelmode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +channelmode +{ + name = "REGISTEREDONLY" + character = "R" +} + +channelmode +{ + name = "SECRET" + character = "s" +} + +channelmode +{ + name = "TOPIC" + character = "t" +} + +channelmode +{ + name = "NOINVITE" + character = "V" +} + +channelmode +{ + name = "SSL" + character = "z" +} diff --git a/data/nickserv.example.conf b/data/nickserv.example.conf index ee036d086..1f07831c4 100644 --- a/data/nickserv.example.conf +++ b/data/nickserv.example.conf @@ -40,15 +40,6 @@ service * unable to do certain things if this option is enabled. */ #modes = "+o" - - /* - * An optional comma separated list of channels this service should join. Outside - * of log channels this is not very useful, as the service will just idle in the - * specified channels, and will not accept any types of commands. - * - * Prefixes may be given to the channels in the form of mode characters or prefix symbols. - */ - #channels = "@#services,#mychan" } /* @@ -58,7 +49,7 @@ service */ module { - name = "nickserv" + name = "nickserv/main" /* * The name of the client that should be NickServ. @@ -109,7 +100,7 @@ module * - ns_keepmodes: Enables keepmodes, which retains user modes across sessions * - ns_no_expire: Enables no expire. Unconfirmed expire overrules this. * - * This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and + * This directive is optional, if left blank, the options will default to nickserv/secure, memo_signon, and * memo_receive. If you really want no defaults, use "none" by itself as the option. */ defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop" @@ -128,8 +119,8 @@ module expire = 21d /* - * Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND, - * GETPASS and SET PASSWORD commands by services operators on other services operators. + * Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND + * and SET PASSWORD commands by services operators on other services operators. * * This directive is optional, but recommended. */ @@ -239,7 +230,7 @@ command_group command { service = "NickServ"; name = "HELP"; command = "generic/help"; } /* - * ns_access + * nickserv/access * * Provides the command nickserv/access. * @@ -247,7 +238,7 @@ command { service = "NickServ"; name = "HELP"; command = "generic/help"; } */ module { - name = "ns_access" + name = "nickserv/access" /* * The maximum number of entries allowed on a nickname's access list. @@ -266,7 +257,7 @@ module command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; } /* - * ns_ajoin + * nickserv/ajoin * * Provides the command nickserv/ajoin. * @@ -274,7 +265,7 @@ command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; } */ module { - name = "ns_ajoin" + name = "nickserv/ajoin" /* * The maximum number of channels a user can have on NickServ's AJOIN command. @@ -284,17 +275,17 @@ module command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; } /* - * ns_alist + * nickserv/alist * * Provides the command nickserv/alist. * * Used for viewing what channels you have access to. */ -module { name = "ns_alist" } +module { name = "nickserv/alist" } command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; } /* - * ns_cert + * nickserv/cert * * Provides the command nickserv/cert. * @@ -302,7 +293,7 @@ command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; } */ module { - name = "ns_cert" + name = "nickserv/cert" /* * The maximum number of entries allowed on a nickname's certificate fingerprint list. @@ -313,39 +304,27 @@ module command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; } /* - * ns_drop + * nickserv/drop * * Provides the command nickserv/drop. * * Used for unregistering names. */ -module { name = "ns_drop" } +module { name = "nickserv/drop" } command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; } /* - * ns_getemail + * nickserv/getemail * * Provides the command nickserv/getemail. * * Used for getting registered accounts by searching for emails. */ -module { name = "ns_getemail" } +module { name = "nickserv/getemail" } command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; } /* - * ns_getpass - * - * Provides the command nickserv/getpass. - * - * Used for getting users passwords. - * - * Requires no encryption is being used. - */ -#module { name = "ns_getpass" } -#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; } - -/* - * ns_group + * nickserv/group * * Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup. * @@ -353,7 +332,7 @@ command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail" */ module { - name = "ns_group" + name = "nickserv/group" /* * The maximum number of nicks allowed in a group. @@ -376,7 +355,7 @@ command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; } command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; } /* - * ns_identify + * nickserv/identify * * Provides the command nickserv/identify. * @@ -384,7 +363,7 @@ command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; */ module { - name = "ns_identify" + name = "nickserv/identify" /* * If set, limits the number of concurrent users that can be logged in as a given account at once. @@ -395,14 +374,14 @@ command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; } /* - * ns_info + * nickserv/info * * Provides the commands: * nickserv/info. - Used for gathering information about an account. * nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info. * */ -module { name = "ns_info" } +module { name = "nickserv/info" } command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; } command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; } @@ -410,7 +389,7 @@ command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/h /* - * ns_list + * nickserv/list * * Provides the commands: * nickserv/list - Used for retrieving and searching the registered account list. @@ -419,7 +398,7 @@ command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/h */ module { - name = "ns_list" + name = "nickserv/list" /* * The maximum number of nicks to be returned for a NickServ LIST command. @@ -433,17 +412,17 @@ command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/sase /* - * ns_logout + * nickserv/logout * * Provides the command nickserv/logout. * * Used for logging out of your account. */ -module { name = "ns_logout" } +module { name = "nickserv/logout" } command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; } /* - * ns_recover + * nickserv/recover * * Provides the command nickserv/recover. * @@ -451,7 +430,7 @@ command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; } */ module { - name = "ns_recover" + name = "nickserv/recover" /* * If set, Services will svsnick and svsjoin users who use the recover @@ -467,7 +446,7 @@ command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; #command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; } /* - * ns_register + * nickserv/register * * Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend. * @@ -475,7 +454,7 @@ command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; */ module { - name = "ns_register" + name = "nickserv/register" /* * Registration confirmation setting. Set to "none" for no registration confirmation, @@ -510,17 +489,17 @@ command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register" command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; } /* - * ns_resetpass + * nickserv/resetpass * * Provides the command nickserv/resetpass. * * Used for resetting passwords by emailing users a temporary one. */ -module { name = "ns_resetpass" } +module { name = "nickserv/resetpass" } command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; } /* - * ns_set + * nickserv/set * * Provides the commands: * nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands. @@ -537,7 +516,7 @@ command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpas */ module { - name = "ns_set" + name = "nickserv/set" /* * Allow the use of the IMMED option in the NickServ SET KILL command. @@ -581,14 +560,14 @@ command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/sas /* - * ns_set_misc + * nickserv/set_misc * * Provides the command nickserv/set/misc. * * Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info. * A field named misc_description may be given for use with help output. */ -module { name = "ns_set_misc" } +module { name = "nickserv/set_misc" } command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); } 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 ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); } @@ -599,17 +578,17 @@ command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/mi #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"; } /* - * ns_status + * nickserv/status * * Provides the nickserv/status command. * * Used to determine if a user is recognized or identified by services. */ -module { name = "ns_status" } +module { name = "nickserv/status" } command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; } /* - * ns_suspend + * nickserv/suspend * * Provides the commands nickserv/suspend and nickserv/unsuspend. * @@ -617,7 +596,7 @@ command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; } */ module { - name = "ns_suspend" + name = "nickserv/suspend" /* * The length of time before a suspended nick becomes unsuspended. @@ -637,13 +616,13 @@ command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; } /* - * ns_update + * nickserv/update * * Provides the command nickserv/update. * * Used to update your status on all channels, turn on your vHost, etc. */ -module { name = "ns_update" } +module { name = "nickserv/update" } command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; } @@ -652,14 +631,14 @@ command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; } */ /* - * ns_maxemail + * nickserv/maxemail * * Limits how many times the same email address may be used in Anope * to register accounts. */ #module { - name = "ns_maxemail" + name = "nickserv/maxemail" /* * The limit to how many registered nicks can use the same e-mail address. If set to 0 or left diff --git a/data/operserv.example.conf b/data/operserv.example.conf index 0c82f1e06..6deedddcd 100644 --- a/data/operserv.example.conf +++ b/data/operserv.example.conf @@ -40,15 +40,6 @@ service * unable to do certain things if this option is enabled. */ #modes = "+o" - - /* - * An optional comma separated list of channels this service should join. Outside - * of log channels this is not very useful, as the service will just idle in the - * specified channels, and will not accept any types of commands. - * - * Prefixes may be given to the channels in the form of mode characters or prefix symbols. - */ - #channels = "@#services,#mychan" } /* @@ -58,7 +49,7 @@ service */ module { - name = "operserv" + name = "operserv/main" /* * The name of the client that should be OperServ. @@ -135,27 +126,27 @@ module command { service = "OperServ"; name = "HELP"; command = "generic/help"; } /* - * os_akill + * operserv/akill * * Provides the command operserv/akill. * * Used to ban users from the network. */ -module { name = "os_akill" } +module { name = "operserv/akill" } command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; } /* - * os_chankill + * operserv/chankill * * Provides the command operserv/chankill. * * Used to akill users from an entire channel. */ -module { name = "os_chankill" } +module { name = "operserv/chankill" } command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; } /* - * os_defcon + * operserv/defcon * * Provides the command operserv/defcon. * @@ -164,7 +155,7 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill" */ #module { - name = "os_defcon" + name = "operserv/defcon" /* * Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation @@ -263,7 +254,7 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill" #command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; } /* - * os_dns + * operserv/dns * * Provides the command operserv/dns. * @@ -295,7 +286,7 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill" */ #module { - name = "os_dns" + name = "operserv/dns" /* TTL for records. This should be very low if your records change often. */ ttl = 1m @@ -324,99 +315,99 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill" #command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; } /* - * os_config + * operserv/config * * Provides the command operserv/config. * * Used to view and set configuration options while services are running. */ -module { name = "os_config" } +module { name = "operserv/config" } command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; } /* - * os_forbid + * operserv/forbid * * Provides the command operserv/forbid. * * Used to forbid specific nicks, channels, emails, etc. from being used. */ -module { name = "os_forbid" } +module { name = "operserv/forbid" } command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; } /* - * os_ignore + * operserv/ignore * * Provides the command operserv/ignore. * * Used to make Services ignore users. */ -module { name = "os_ignore" } +module { name = "operserv/ignore" } command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; } /* - * os_info + * operserv/info * * Provides the command operserv/info. * * Used to add oper only notes to users and channels. */ -module { name = "os_info" } +module { name = "operserv/info" } command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; } /* - * os_jupe + * operserv/jupe * * Provides the command operserv/jupe. * * Used to disconnect servers from the network and prevent them from relinking. */ -module { name = "os_jupe" } +module { name = "operserv/jupe" } command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; } /* - * os_kick + * operserv/kick * * Provides the command operserv/kick. * * Used to kick users from channels. */ -module { name = "os_kick" } +module { name = "operserv/kick" } command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; } /* - * os_kill + * operserv/kill * * Provides the command operserv/kill. * * Used to forcibly disconnect users from the network. */ -module { name = "os_kill" } +module { name = "operserv/kill" } command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; } /* - * os_list + * operserv/list * * Provides the commands operserv/chanlist and operserv/userlist. * * Used to list and search the channels and users currently on the network. */ -module { name = "os_list" } +module { name = "operserv/list" } command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; } command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; } /* - * os_login + * operserv/login * * Provides the commands operserv/login and operserv/logout. * * Used to login to OperServ, only required if your oper block requires this. */ -module { name = "os_login" } +module { name = "operserv/login" } command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; } command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; } /* - * os_logsearch + * operserv/logsearch * * Provides the command operserv/logsearch. * @@ -424,7 +415,7 @@ command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; } */ module { - name = "os_logsearch" + name = "operserv/logsearch" /* The log file name to search. There should be a log{} block configured to log * to a file of this name. @@ -434,41 +425,41 @@ module command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; } /* - * os_mode + * operserv/mode * * Provides the commands operserv/mode and operserv/umode. * * Used to change user and channel modes. */ -module { name = "os_mode" } +module { name = "operserv/mode" } command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; } command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; } /* - * os_modinfo + * operserv/modinfo * * Provides the commands operserv/modinfo and operserv/modlist. * * Used to show information about loaded modules. */ -module { name = "os_modinfo" } +module { name = "operserv/modinfo" } command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; } command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; } /* - * os_module + * operserv/module * * Provides the commands operserv/modload, operserv/modreload, and operserv/modunload. * * Used to load, reload, and unload modules. */ -module { name = "os_module" } +module { name = "operserv/module" } command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; } command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; } command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; } /* - * os_news + * operserv/news * * Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews. * @@ -476,7 +467,7 @@ command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunloa */ module { - name = "os_news" + name = "operserv/news" /* * The service bot names to use to send news to users on connection @@ -497,48 +488,48 @@ command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews" command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; } /* - * os_noop + * operserv/noop * * Provides the command operserv/noop. * * Used to NOOP a server, which prevents users from opering on that server. */ -module { name = "os_noop" } +module { name = "operserv/noop" } command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; } /* - * os_oline + * operserv/oline * * Provides the command operserv/oline. * * Used to set oper flags on users, and is specific to UnrealIRCd. * See /helpop ?svso on your IRCd for more information. */ -module { name = "os_oline" } +module { name = "operserv/oline" } command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; } /* - * os_oper + * operserv/oper * * Provides the command operserv/oper. * * Used to configure opers and show information about opertypes. */ -module { name = "os_oper" } +module { name = "operserv/oper" } command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; } /* - * os_reload + * operserv/reload * * Provides the command operserv/reload. * - * Used to reload the services.conf configuration file. + * Used to reload the anope.conf configuration file. */ -module { name = "os_reload" } +module { name = "operserv/reload" } command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; } /* - * os_session + * operserv/session * * Provides the commands operserv/exception and operserv/session. * @@ -551,25 +542,27 @@ command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; pe */ module { - name = "os_session" + name = "operserv/session" /* * Default session limit per host. Once a host reaches its session limit, all clients attempting * to connect from that host will be killed. * - * This directive is required if os_session is loaded. + * This directive is required if operserv/session is loaded. */ defaultsessionlimit = 3 /* * The maximum session limit that may be set for a host in an exception. * - * This directive is required if os_session is loaded. + * This directive is required if operserv/session is loaded. */ maxsessionlimit = 100 /* * Sets the default expiry time for session exceptions. + * + * This directive is required if operserv/session is loaded. */ #exceptionexpiry = 1d @@ -622,7 +615,7 @@ command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exceptio command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; } /* - * os_set + * operserv/set * * Provides the command operserv/set. * @@ -630,7 +623,7 @@ command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; */ module { - name = "os_set" + name = "operserv/set" /* * If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant @@ -643,56 +636,56 @@ module command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; } /* - * os_shutdown + * operserv/shutdown * * Provides the commands operserv/quit, operserv/restart, and operserv/shutdown. * * Used to quit, restart, or shutdown services. */ -module { name = "os_shutdown" } +module { name = "operserv/shutdown" } command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; } command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; } command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; } /* - * os_stats + * operserv/stats * * Provides the operserv/stats command. * * Used to show statistics about services. */ -module { name = "os_stats" } +module { name = "operserv/stats" } command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; } /* - * os_svs + * operserv/svs * * Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart. * * Used to force users to change nicks, join and part channels. */ -module { name = "os_svs" } +module { name = "operserv/svs" } command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; } command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; } command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; } /* - * os_sxline + * operserv/sxline * * Provides the operserv/snline and operserv/sqline commands. * * Used to ban real names, nick names, and possibly channels. */ -module { name = "os_sxline" } +module { name = "operserv/sxline" } command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; } command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; } /* - * os_update + * operserv/update * * Provides the operserv/update command. * * Use to immediately update the databases. */ -module { name = "os_update" } +module { name = "operserv/update" } command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; } diff --git a/data/plexus.example.conf b/data/plexus.example.conf new file mode 100644 index 000000000..9d1204828 --- /dev/null +++ b/data/plexus.example.conf @@ -0,0 +1,294 @@ + +module +{ + name = "protocol/plexus" +} + +usermode +{ + name = "ADMIN" + character = "a" + oper_only = yes +} + +usermode +{ + name = "NOCTCP" + character = "c" +} + +usermode +{ + name = "SOFTCALLERID" + character = "G" +} + +usermode +{ + name = "CALLERID" + character = "g" +} + +usermode +{ + name = "INVIS" + character = "i" +} + +usermode +{ + name = "LOCOPS" + character = "l" + oper_only = yes +} + +usermode +{ + name = "OPER" + character = "o" + oper_only = yes +} + +usermode +{ + name = "NETADMIN" + character = "N" + oper_only = yes +} + +usermode +{ + name = "PRIV" + character = "p" +} + +usermode +{ + name = "ROUTING" + character = "q" + oper_only = yes +} + +usermode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +usermode +{ + name = "REGPRIV" + character = "R" +} + +usermode +{ + name = "SNOMASK" + character = "s" + oper_only = yes +} + +usermode +{ + name = "SSL" + character = "S" + setable = no +} + +usermode +{ + name = "PROTECTEDF" + character = "U" + setable = no +} + +usermode +{ + name = "WALLOPS" + character = "w" +} + +usermode +{ + name = "WEBIRC" + character = "W" + setable = no +} + +usermode +{ + name = "CLOAK" + character = "x" +} + +usermode +{ + name = "OPERWALL" + character = "z" + oper_only = yes +} + +channelmode +{ + name = "BAN" + character = "b" + list = yes +} + +channelmode +{ + name = "EXCEPT" + character = "e" + list = yes +} + +channemode +{ + name = "INVITEOVERRIDE" + character = "I" + list = yes +} + +channelmode +{ + name = "VOICE" + character = "v" + status = "+" + level = 1 +} + +channelmode +{ + name = "HALFOP" + characater = "h" + status = "%" + level = 2 +} + +channelmode +{ + name = "OP" + character = "o" + status = "@" + level = 3 +} + +channelmode +{ + name = "PROTECT" + character = "a" + status = "~" + level = 4 +} + +channelmode +{ + name = "OWNER" + character = "q" + status = "*" + level = 5 +} + +_____________ + +channelmode +{ + name = "BANDWIDTHSAVER" + character = "B" +} + +channelmode +{ + name = "NOCTCP" + character = "C" +} + +channelmode +{ + name = "BLOCKCOLOR" + character = "c" +} + +channelmode +{ + name = "INVITE" + character = "i" +} + +channelmode +{ + name = "KEY" + character = "k" + param_regex = "[^:,]+" +} + +channelmode +{ + name = "LIMIT" + character = "l" + param_regex = "\d+" + param_unset = no +} + +channelmode +{ + name = "MODERATED" + character = "m" +} + +channelmode +{ + name = "NOEXTERNAL" + character = "n" +} + +channelmode +{ + name = "PRIVATE" + character = "p" +} + +channelmode +{ + name = "SECRET" + character = "s" +} + +channelmode +{ + name = "TOPIC" + character = "t" +} + +channelmode +{ + name = "REGMODERATED" + character = "M" +} + +channelmode +{ + name = "OPERONLY" + character = "O" + oper_only = yes +} + +channelmode +{ + name = "REGISTEREDONLY" + character = "R" +} + +channelmode +{ + name = "SSL" + character = "S" +} + +channelmode +{ + name = "PERM" + character = "z" +} + diff --git a/data/ratbox.example.conf b/data/ratbox.example.conf new file mode 100644 index 000000000..b5fc4546d --- /dev/null +++ b/data/ratbox.example.conf @@ -0,0 +1,174 @@ + +module +{ + name = "protocol/ratbox" +} + +usermode +{ + name = "ADMIN" + character = "a" + oper_only = yes +} + +usermode +{ + name = "CALLERID" + character = "g" +} + +usermode +{ + name = "DEAF" + character = "D" +} + +usermode +{ + name = "INVIS" + character = "i" +} + +usermode +{ + name = "LOCOPS" + character = "l" + oper_only = yes +} + +usermode +{ + name = "OPER" + character = "o" + oper_only = yes +} + +usermode +{ + name = "SNOMASK" + character = "s" + oper_only = yes +} + +usermode +{ + name = "PROTECTED" + character = "S" + setable = no +} + + +usermode +{ + name = "WALLOPS" + character = "w" +} + +usermode +{ + name = "OPERWALL" + character = "z" + oper_only = yes +} + +channelmode +{ + name = "BAN" + character = "b" + list = yes +} + +channelmode +{ + name = "EXCEPT" + character = "e" + list = yes +} + +channemode +{ + name = "INVITEOVERRIDE" + character = "I" + list = yes +} + +channelmode +{ + name = "VOICE" + character = "v" + status = "+" + level = 1 +} + +channelmode +{ + name = "OP" + character = "o" + status = "@" + level = 2 +} + +channelmode +{ + name = "INVITE" + character = "i" +} + +channelmode +{ + name = "KEY" + character = "k" + param_regex = "[^:,]+" +} + +channelmode +{ + name = "LIMIT" + character = "l" + param_regex = "\d+" + param_unset = no +} + +channelmode +{ + name = "MODERATED" + character = "m" +} + +channelmode +{ + name = "NOEXTERNAL" + character = "n" +} + +channelmode +{ + name = "PRIVATE" + character = "p" +} + +channelmode +{ + name = "SECRET" + character = "s" +} + +channelmode +{ + name = "TOPIC" + character = "t" +} + +channelmode +{ + name = "REGISTEREDONLY" + character = "r" +} + +channelmode +{ + name = "SSL" + character = "S" +} + + diff --git a/data/rfc1459.conf b/data/rfc1459.conf new file mode 100644 index 000000000..81ced1ac0 --- /dev/null +++ b/data/rfc1459.conf @@ -0,0 +1,24 @@ + +include +{ + name = "ascii.conf" +} + +casemap +{ + lower = "{" + upper = "[" +} + +casemap +{ + lower = "}" + upper = "]" +} + +casemap +{ + lower = "|" + upper = "\"" +} + diff --git a/data/stats.standalone.example.conf b/data/stats.standalone.example.conf deleted file mode 100644 index 8db7c9999..000000000 --- a/data/stats.standalone.example.conf +++ /dev/null @@ -1,513 +0,0 @@ -/* - * Example configuration file for Services. After making the appropriate - * changes to this file, place it in the Services conf directory (as - * specified in the "configure" script, default /home/username/services/conf) - * under the name "services.conf". - * - * The format of this file is fairly simple: three types of comments are supported: - * - All text after a '#' on a line is ignored, as in shell scripting - * - All text after '//' on a line is ignored, as in C++ - * - A block of text like this one is ignored, as in C - * - * Outside of comments, there are three structures: blocks, keys, and values. - * - * A block is a named container, which contains a number of key to value pairs - * - you may think of this as an array. - * - * A block is created like so: - * foobar - * { - * moo = "cow" - * foo = bar - * } - * - * Note that nameless blocks are allowed and are often used with comments to allow - * easily commenting an entire block, for example: - * #foobar - * { - * moo = "cow" - * foo = bar - * } - * is an entirely commented block. - * - * Keys are case insensitive. Values depend on what key - generally, information is - * given in the key comment. The quoting of values (and most other syntax) is quite - * flexible, however, please do not forget to quote your strings: - * - * "This is a parameter string with spaces in it" - * - * If you need to include a double quote inside a quoted string, precede it - * by a backslash: - * - * "This string has \"double quotes\" in it" - * - * Time parameters can be specified either as an integer representing a - * number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit - * specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days. - * Combinations (such as "1h30m") are not permitted. Examples (all of which - * represent the same length of time, one day): - * - * "86400", "86400s", "1440m", "24h", "1d" - * - * In the documentation for each directive, one of the following will be - * included to indicate whether an option is required: - * - * [REQUIRED] - * Indicates a directive which must be given. Without it, Services will - * not start. - * - * [RECOMMENDED] - * Indicates a directive which may be omitted, but omitting it may cause - * undesirable side effects. - * - * [OPTIONAL] - * Indicates a directive which is optional. If not given, the feature - * 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 - * superseded by that of other directives or incorporated into the main - * program. - */ - -/* - * [OPTIONAL] Defines - * - * You can define values to other values, which can be used to easily change - * many values in the configuration. at once. - */ - -/* - * The services.host define is used in multiple different locations throughout the - * configuration for services clients hostnames. - */ -define -{ - name = "services.host" - value = "services.localhost.net" -} - -/* - * [OPTIONAL] Additional Includes - * - * You can include additional configuration files here. - * You may also include executable files, which will be executed and - * the output from it will be included into your configuration. - */ - -#include -{ - type = "file" - name = "some.conf" -} - -#include -{ - type = "executable" - name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf" -} - -/* - * [REQUIRED] IRCd Config - * - * This section is used to set up Anope to connect to your IRC network. - * This section can be included multiple times, and Anope will attempt to - * connect to each server until it finally connects. - * - * Each uplink IRCd should have a corresponding configuration to allow Services - * to link to it. - * - * An example configuration for InspIRCd that is compatible with the below uplink - * and serverinfo configuration would look like: - * - * <link name="services.localhost.net" - * ipaddr="127.0.0.1" - * port="7000" - * sendpass="mypassword" - * recvpass="mypassword"> - * <uline server="services.localhost.net" silent="yes"> - * <bind address="127.0.0.1" port="7000" type="servers"> - * - * An example configuration for UnrealIRCd that is compatible with the below uplink - * and serverinfo configuration would look like: - * - * link services.localhost.net - * { - * username *; - * hostname *; - * bind-ip "127.0.0.1"; - * port 7000; - * hub *; - * password-connect "mypassword"; - * password-receive "mypassword"; - * class servers; - * }; - * ulines { services.localhost.net; }; - * listen 127.0.0.1:7000; - */ -uplink -{ - /* - * The IP or hostname of the IRC server you wish to connect Services to. - * Usually, you will want to connect Services over 127.0.0.1 (aka localhost). - * - * NOTE: On some shell providers, this will not be an option. - */ - host = "127.0.0.1" - - /* - * Enable if Services should connect using IPv6. - */ - ipv6 = no - - /* - * Enable if Services should connect using SSL. - * You must have an SSL module loaded for this to work. - */ - ssl = no - - /* - * The port to connect to. - * The IRCd *MUST* be configured to listen on this port, and to accept - * server connections. - * - * Refer to your IRCd documentation for how this is to be done. - */ - port = 7000 - - /* - * The password to send to the IRC server for authentication. - * This must match the link block on your IRCd. - * - * Refer to your IRCd documentation for more information on link blocks. - */ - password = "mypassword" -} - -/* - * [REQUIRED] Server Information - * - * This section contains information about the Services server. - */ -serverinfo -{ - /* - * The hostname that Services will be seen as, it must have no conflicts with any - * 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 = "stats.localhost.net" - - /* - * The text which should appear as the server's information in /whois and similar - * queries. - */ - description = "Stats for IRC Networks" - - /* - * The local address that Services will bind to before connecting to the remote - * server. This may be useful for multihomed hosts. If omitted, Services will let - * the Operating System choose the local address. This directive is optional. - * - * If you don't know what this means or don't need to use it, just leave this - * directive commented out. - */ - #localhost = "nowhere." - - /* - * What Server ID to use for this connection? - * Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation - * to see if this is needed. - */ - #id = "00A" - - /* - * The filename containing the Services process ID. The path is relative to the - * services root directory. - */ - pid = "data/services.pid" - - /* - * The filename containing the Message of the Day. The path is relative to the - * services root directory. - */ - motd = "conf/services.motd" -} - -/* - * [REQUIRED] Protocol module - * - * This directive tells Anope which IRCd Protocol to speak when connecting. - * You MUST modify this to match the IRCd you run. - * - * Supported: - * - bahamut - * - charybdis - * - hybrid - * - inspircd12 - * - inspircd20 - * - ngircd - * - plexus - * - ratbox - * - unreal - */ -module -{ - name = "inspircd20" -} - -/* - * [REQUIRED] Network Information - * - * This section contains information about the IRC network that Services will be - * connecting to. - */ -networkinfo -{ - /* - * This is the name of the network that Services will be running on. - */ - networkname = "LocalNet" - - /* - * Set this to the maximum allowed nick length on your network. - * Be sure to set this correctly, as setting this wrong can result in - * Services being disconnected from the network. - */ - nicklen = 31 - - /* Set this to the maximum allowed ident length on your network. - * Be sure to set this correctly, as setting this wrong can result in - * Services being disconnected from the network. - */ - userlen = 10 - - /* Set this to the maximum allowed hostname length on your network. - * Be sure to set this correctly, as setting this wrong can result in - * Services being disconnected from the network. - */ - hostlen = 64 - - /* Set this to the maximum allowed channel length on your network. - */ - chanlen = 32 - - /* The maximum number of list modes settable on a channel (such as b, e, I). - * Comment out or set to 0 to disable. - */ - modelistsize = 100 - - /* - * The characters allowed in hostnames. This is used for validating hostnames given - * to services, such as BotServ bot hostnames and user vhosts. Changing this is not - * recommended unless you know for sure your IRCd supports whatever characters you are - * wanting to use. Telling services to set a vHost containing characters your IRCd - * disallows could potentially break the IRCd and/or Services. - * - * It is recommended you DON'T change this. - */ - vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-" - - /* - * If set to true, 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 - - /* - * The characters that are not allowed to be at the very beginning or very ending - * of a vHost. The same warning as vhost_chars applies. - * - * It is recommended you DON'T change this. - */ - disallow_start_or_end = ".-" -} - -/* - * [REQUIRED] Services Options - * - * This section contains various options which determine how Services will operate. - */ -options -{ - /* - * On Linux/UNIX systems Anope can setuid and setgid to this user and group - * after starting up. This is useful if Anope has to bind to privileged ports - */ - #user = "anope" - #group = "anope" - - /* - * The case mapping used by services. This must be set to a valid locale name - * installed on your machine. Services use this case map to compare, with - * case insensitivity, things such as nick names, channel names, etc. - * - * We provide two special casemaps shipped with Anope, ascii and rfc1459. - * - * This value should be set to what your IRCd uses, which is probably rfc1459, - * however Anope has always used ascii for comparison, so the default is ascii. - * - * Changing this value once set is not recommended. - */ - casemap = "ascii" - - /* - * Sets the timeout period for reading from the uplink. - */ - readtimeout = 5s - - /* - * Sets the interval between sending warning messages for program errors via - * WALLOPS/GLOBOPS. - */ - warningtimeout = 4h - - /* - * If set, Services will only show /stats o to IRC Operators. This directive - * is optional. - */ - #hidestatso = yes - - /* - * A space-separated list of ulined servers on your network, it is assumed that - * the servers in this list are allowed to set channel modes and Services will - * not attempt to reverse their mode changes. - * - * WARNING: Do NOT put your normal IRC user servers in this directive. - * - * This directive is optional. - */ - #ulineservers = "services.your.network" - - /* - * How long to wait between connection retries with the uplink(s). - */ - retrywait = 60s -} - -/* - * [RECOMMENDED] Logging Configuration - * - * This section is used for configuring what is logged and where it is logged to. - * You may have multiple log blocks if you wish. Remember to properly secure any - * channels you choose to have Anope log to! - */ -log -{ - /* - * Target(s) to log to, which may be one of the following: - * - a channel name - * - a filename - * - globops - */ - target = "stats.log" - - /* Log to both services.log and the channel #services - * - * Note that some older IRCds, such as Ratbox, require services to be in the - * log channel to be able to message it. To do this, configure service:channels to - * join your logging channel. - */ - #target = "stats.log #services" - - /* - * The source(s) to only accept log messages from. Leave commented to allow all sources. - * This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name. - */ - #source = "" - - /* - * The bot used to log generic messages which have no predefined sender if there - * is a channel in the target directive. - */ - bot = "Global" - - /* - * The number of days to keep logfiles, only useful if you are logging to a file. - * Set to 0 to never delete old logfiles. - * - * Note that Anope must run 24 hours a day for this feature to work correctly. - */ - logage = 7 - - /* - * What types of log messages should be logged by this block. There are nine general categories: - * - * servers - Server actions, linking, squitting, etc. - * channels - Actions in channels such as joins, parts, kicks, etc. - * users - User actions such as connecting, disconnecting, changing name, etc. - * other - All other messages without a category. - * rawio - Logs raw input and output from services - * debug - Debug messages (log files can become VERY large from this). - * - * These options determine what messages from the categories should be logged. Wildcards are accepted, and - * you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv - * messages except for operserv/akill. Note that processing stops at the first matching option, which - * means "* ~operserv/*" would log everything because * matches everything. - * - * Valid server options are: - * connect, quit, sync, squit - * - * Valid channel options are: - * create, destroy, join, part, kick, leave, mode - * - * Valid user options are: - * connect, disconnect, quit, nick, ident, host, mode, maxusers, oper - * - * Rawio and debug are simple yes/no answers, there are no types for them. - * - * Note that modules may add their own values to these options. - */ - servers = "*" - #channels = "~mode *" - users = "connect disconnect nick" - other = "*" - rawio = no - debug = no -} - -/* - * [REQUIRED] MySQL Database configuration. - * - * m_mysql - * - * This module allows other modules to use MySQL. - */ -module -{ - name = "m_mysql" - - mysql - { - /* The name of this service. */ - name = "mysql/main" - database = "anope" - server = "127.0.0.1" - username = "anope" - password = "mypassword" - port = 3306 - } -} - -/* - * IRC2SQL Gateway - * This module collects data about users, channels and servers. It doesn't build stats - * itself, however, it gives you the database, it's up to you how you use it. - * - * Requires a MySQL Database and MySQL version 5.5 or higher - */ -include -{ - type = "file" - name = "irc2sql.example.conf" -} - diff --git a/data/unreal.example.conf b/data/unreal.example.conf new file mode 100644 index 000000000..692790730 --- /dev/null +++ b/data/unreal.example.conf @@ -0,0 +1,449 @@ + +module +{ + name = "protocol/unreal" + + /* + * Enforces mode locks server-side. This reduces the spam caused by + * services immediately reversing mode changes for locked modes. + */ + use_server_side_mlock = yes +} + +usermode +{ + name = "BOT" + character = "B" +} + +usermode +{ + name = "CENSOR" + character = "G" +} + +usermode +{ + name = "HIDEOPER" + character = "H" + oper_only = yes +} + +usermode +{ + name = "HIDEIDLE" + character = "I" + oper_only = yes +} + +usermode +{ + name = "REGPRIV" + character = "R" +} + +usermode +{ + name = "PROTECTED" + character = "S" + oper_only = yes +} + +usermode +{ + name = "NOCTCP" + character = "T" +} + +usermode +{ + name = "WEBTV" + character = "V" +} + +usermode +{ + name = "WHOIS" + character = "W" + oper_only = yes +} + +usermode +{ + name = "DEAF" + character = "d" +} + +usermode +{ + name = "GLOBOPS" + character = "g" + oper_only = yes +} + +usermode +{ + name = "HELPOP" + character = "h" + oper_only = yes +} + +usermode +{ + name = "INVIS" + character = "i" +} + +usermode +{ + name = "OPER" + character = "o" + oper_only = yes +} + +usermode +{ + name = "PRIV" + character = "p" +} + +usermode +{ + name = "GOD" + character = "q" + oper_only = yes +} + +usermode +{ + name = "REGISTERED" + character = "r" + oper_only = yes +} + +usermode +{ + name = "SNOMASK" + character = "s" + oper_only = yes +} + +usermode +{ + name = "VHOST" + character = "t" + setable = no +} + +usermode +{ + name = "WALLOPS" + character = "w" +} + +usermode +{ + name = "CLOAK" + character = "x" +} + +usermode +{ + name = "SSL" + character = "z" + setable = no +} + +channelmode +{ + name = "VOICE" + character = "v" + status = "+" + level = 1 +} + +channelmode +{ + name = "HALFOP" + character = "h" + status = "%" + level = 2 +} + +channelmode +{ + name = "OP" + character = "@" + status = "@" + level = 3 +} + +channelmode +{ + name = "PROTECT" + character = "a" + status = "~" + level = 4 +} + +channelmode +{ + name = "OWNER" + character = "q" + status = "*" + level = 5 +} + +channelmode +{ + name = "BAN" + character = "b" + list = yes +} + +channelmode +{ + name = "EXCEPT" + character = "e" + list = yes +} + +channemode +{ + name = "INVITEOVERRIDE" + character = "I" + list = yes +} + +channelmode +{ + name = "KEY" + character = "k" + param_regex = "[^:,]+" +} + +channelmode +{ + name = "FLOOD" + character = "f" + param_regex = "\[(?:(?:(?<=\[)|,)\d+[ckmnt](?:#[CiKmNmMRb]\d*)?)+\]:\d+" +} + +channelmode +{ + name = "REDIRECT" + character = "L" + param = yes +} + +channelmode +{ + name = "LIMIT" + character = "l" + param_regex = "\d+" + param_unset = no +} + +channelmode +{ + name = "DELAYEDJOIN" + character = "D" +} + +channelmode +{ + name = "PRIVATE" + character = "p" +} + +channelmode +{ + name = "SECRET" + character = "s" +} + +channelmode +{ + name = "MODERATED" + character = "m" +} + +channelmode +{ + name = "NOEXTERNAL" + character = "n" +} + +channelmode +{ + name = "TOPIC" + character = "t" +} + +channelmode +{ + name = "INVITE" + character = "i" +} + +channelmode +{ + name = "REGISTERED" + character = "r" + setable = no +} + +channelmode +{ + name = "REGISTEREDONLY" + character = "R" +} + +channelmode +{ + name = "BLOCKCOLOR" + character = "c" +} + +channelmode +{ + name = "OPERONLY" + character = "O" + oper_only = yes +} + +channelmode +{ + name = "PERM" + character = "P" +} + +channelmode +{ + name = "NOKICK" + character = "Q" +} + +channelmode +{ + name = "NOKNOCK" + character = "K" +} + +channelmode +{ + name = "NOINVITE" + character = "V" +} + +channelmode +{ + name = "NOCTCP" + character = "C" +} + +channelmode +{ + name = "SSL" + character = "z" +} + +channelmode +{ + name = "NONICK" + character = "N" +} + +channelmode +{ + name = "STRIPCOLOR" + character = "S" +} + +channelmode +{ + name = "REGMODERATED" + character = "M" +} + +channelmode +{ + name = "NONOTICE" + character = "T" +} + +channelmode +{ + name = "CENSOR" + character = "G" +} + +channelmode +{ + name = "SSL2" + character = "Z" + setable = no +} + +extban +{ + name = "CHANNELBAN" + type = "channel" + character = "c" +} + +extban +{ + name = "JOINBAN" + type = "entry" + character = "j" +} + +extban +{ + name = "NONICKBAN" + type = "entry" + base = "BAN" + character = "n" +} + +extban +{ + name = "QUIET" + type = "entry" + base = "BAN" + character = "q" +} + +extban +{ + name = "REALNAMEBAN" + type = "realname" + base = "BAN" + character = "r" +} + +extban +{ + name = "REGISTEREDBAN" + type = "registered" + base = "BAN" + character = "R" +} + +extban +{ + name = "ACCOUNTBAN" + type = "account" + base = "BAN" + character = "a" +} + +extban +{ + name = "SSLBAN" + type = "fingerprint" + base = "BAN" + character = "S" +} + |