summaryrefslogtreecommitdiff
path: root/chanserv.c
diff options
context:
space:
mode:
authordane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-05-30 14:54:13 +0000
committerdane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-05-30 14:54:13 +0000
commit392806d317ad2318d08c666ed35d238f39bad72a (patch)
treef5de621dc72b4a09f57f4794ff4d7050a14c47a1 /chanserv.c
parent5945a2cbedb9c6cddff4e253a865f456033fb363 (diff)
BUILD : 1.7.3 (151) BUGS : 77 NOTES : HostServ functions no longer called for non VHOST capable ircds.
git-svn-id: svn://svn.anope.org/anope/trunk@151 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@106 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'chanserv.c')
-rw-r--r--chanserv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/chanserv.c b/chanserv.c
index 7b8c01b39..08ee7b11b 100644
--- a/chanserv.c
+++ b/chanserv.c
@@ -4754,6 +4754,8 @@ static int do_levels(User * u)
short level;
int i;
+ int is_list = (cmd && stricmp(cmd, "LIST") == 0);
+
/* If SET, we want two extra parameters; if DIS[ABLE] or FOUNDER, we want only
* one; else, we want none.
*/
@@ -4767,6 +4769,8 @@ static int do_levels(User * u)
notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan);
} else if (ci->flags & CI_XOP) {
notice_lang(s_ChanServ, u, CHAN_LEVELS_XOP);
+ } else if (is_list && !check_access(u, ci, CA_ACCESS_LIST)) {
+ notice_lang(s_ChanServ, u, ACCESS_DENIED);
} else if (!is_founder(u, ci) && !is_services_admin(u)) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
} else if (stricmp(cmd, "SET") == 0) {