diff options
| author | Adam <Adam@anope.org> | 2011-08-01 22:37:27 -0400 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2011-08-01 22:37:27 -0400 |
| commit | f7adc0b35b50f06706872a161f1c7476e6e6981e (patch) | |
| tree | 91fbe281f2772136a327fd4fc4c64740d1ab65ab /data | |
| parent | 710c02f3bd3581b7c5b3d48e7604756975219fc8 (diff) | |
Rewrote the access systems and added a flags access system
Diffstat (limited to 'data')
| -rw-r--r-- | data/commands.example.conf | 7 | ||||
| -rw-r--r-- | data/example.conf | 98 | ||||
| -rw-r--r-- | data/mysql/tables.sql | 6 |
3 files changed, 99 insertions, 12 deletions
diff --git a/data/commands.example.conf b/data/commands.example.conf index 0fd81e49c..ff7cbb581 100644 --- a/data/commands.example.conf +++ b/data/commands.example.conf @@ -50,6 +50,8 @@ module { name = "cs_clone" } command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; } module { name = "cs_drop" } command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; } +module { name = "cs_flags" } +command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; } module { name = "cs_getkey" } command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; } module { name = "cs_info" } @@ -127,13 +129,8 @@ command { service = "ChanServ"; name = "SASET SUCCESSOR"; command = "chanserv/sa module { name = "cs_set_topiclock" } command { service = "ChanServ"; name = "SET TOPICLOCK"; command = "chanserv/set/topiclock"; } command { service = "ChanServ"; name = "SASET TOPICLOCK"; command = "chanserv/saset/topiclock"; } -module { name = "cs_set_xop" } -command { service = "ChanServ"; name = "SET XOP"; command = "chanserv/set/xop"; } -command { service = "ChanServ"; name = "SASET XOP"; command = "chanserv/saset/xop"; } module { name = "cs_saset_noexpire" } command { service = "ChanServ"; name = "SASET NOEXPIRE"; command = "chanserv/saset/noexpire"; } -module { name = "cs_status" } -command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; } module { name = "cs_suspend" } command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; } command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; } diff --git a/data/example.conf b/data/example.conf index 3479db966..22a5ee201 100644 --- a/data/example.conf +++ b/data/example.conf @@ -439,7 +439,7 @@ options /* * Modes that will not be allowed to be locked. Oper only modes such as +O * are always restricted from regular users and are not affected by this. - * Leave blank for no restrictions. + * Comment out for no restrictions. */ nomlock = "z" @@ -646,14 +646,13 @@ chanserv * - signkicklevel: Same as above, but the kick will not be signed if the user is at the same access * level or superior to the target * - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command - * - xop: Enable use of the xOP system * - persist: Keep the channel open at all times * - none: No defaults * * This directive is optional, if left blank, the options will default to keetopic, secure, securefounder, * and signkick. If you really want no defaults, use "none" by itself as the option. */ - defaults="keeptopic peace secure securefounder signkick xop" + defaults="keeptopic peace secure securefounder signkick" /* * The maximum number of channels which may be registered to a single nickname. @@ -738,6 +737,95 @@ chanserv * This directive is optional. */ #opersonly = yes + + /* + * ChanServ levels configuration, for use with cs_access. + * + * These levels are used by the chanserv/access access system. + * The levels configured below will be used as a default by newly registered channels. + * + * The level "founder" is a special level that means anyone with the level_founder permission + * can use (which of course defaults to "founder"). Anyone with the founder level permission in + * a channel can do anything in the channel. + */ + level_change = 10 + level_list = 1 + level_akick = 10 + level_assign = "founder" + level_autohalfop = 4 + level_autoop = 5 + level_autoowner = 9999 + level_autoprotect = 10 + level_autovoice = 3 + level_badwords = 10 + level_ban = 4 + level_fantasia = 3 + level_founder = "founder" + level_getkey = 5 + level_greet = 5 + level_halfop = 5 + level_halfopme = 4 + level_info = 9999 + level_invite = 5 + level_kick = 4 + level_memo = 10 + level_mode = 5 + level_nokick = 1 + level_opdeop = 5 + level_opdeopme = 5 + level_owner = "founder" + level_ownerme = 9999 + level_protect = 9999 + level_protectme = 10 + level_say = 5 + level_signkick = 9999 + level_set = 9999 + level_topic = 5 + level_unban = 4 + level_voice = 4 + level_voiceme = 3 + + /* + * ChanServ flags configuration, for use with cs_flags. + * + * These flags are used by the chanserv/flags access system. + */ + flag_change = "f" + flag_list = "l" + flag_akick = "K" + flag_assign = "s" + flag_autohalfop = "H" + flag_autoop = "O" + flag_autoowner = "Q" + flag_autoprotect = "A" + flag_autovoice = "V" + flag_badwords = "k" + flag_ban = "b" + flag_fantasia = "c" + flag_founder = "F" + flag_getkey = "G" + flag_greet = "g" + flag_halfop = "h" + flag_halfopme = "h" + flag_info = "I" + flag_invite = "i" + flag_kick = "k" + flag_memo = "m" + flag_mode = "s" + flag_nokick = "N" + flag_opdeop = "o" + flag_opdeopme = "o" + flag_owner = "q" + flag_ownerme = "q" + flag_protect = "a" + flag_protectme = "a" + flag_say = "B" + flag_set = "s" + flag_signkick = "K" + flag_topic = "t" + flag_unban = "u" + flag_voice = "v" + flag_voiceme = "v" } module { name = "gl_main" } @@ -1065,7 +1153,7 @@ operserv /* * If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD. - * This eliminates the need for killingthe user after the SNLINE has been added. + * This eliminates the need for killing the user after the SNLINE has been added. * *This directive is optional. */ @@ -1073,7 +1161,7 @@ operserv /* * If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD. - * This eliminates the need for killingthe user after the SQLINE has been added. + * This eliminates the need for killing the user after the SQLINE has been added. * * This directive is optional. */ diff --git a/data/mysql/tables.sql b/data/mysql/tables.sql index 32bfcde35..4f9665869 100644 --- a/data/mysql/tables.sql +++ b/data/mysql/tables.sql @@ -63,11 +63,13 @@ CREATE TABLE IF NOT EXISTS `anope_bs_info_metadata` ( -- CREATE TABLE IF NOT EXISTS `anope_cs_access` ( - `level` int(11) NOT NULL DEFAULT '0', - `display` varchar(255) NOT NULL DEFAULT '', + `provider` varchar(255) NOT NULL DEFAULT '', + `data` varchar(255) NOT NULL DEFAULT '', + `mask` varchar(255) NOT NULL DEFAULT '', `channel` varchar(255) NOT NULL DEFAULT '', `last_seen` int(10) unsigned NOT NULL DEFAULT '0', `creator` varchar(255) NOT NULL DEFAULT '', + `created` int(11) unsigned NOT NULL DEFAULT '0', UNIQUE KEY `channel` (`channel`,`display`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
