summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-08-01 22:37:27 -0400
committerAdam <Adam@anope.org>2011-08-01 22:37:27 -0400
commitf7adc0b35b50f06706872a161f1c7476e6e6981e (patch)
tree91fbe281f2772136a327fd4fc4c64740d1ab65ab /data
parent710c02f3bd3581b7c5b3d48e7604756975219fc8 (diff)
Rewrote the access systems and added a flags access system
Diffstat (limited to 'data')
-rw-r--r--data/commands.example.conf7
-rw-r--r--data/example.conf98
-rw-r--r--data/mysql/tables.sql6
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;