mirror of
https://github.com/anope/anope.git
synced 2026-07-02 13:53:12 +02:00
BUILD : 1.7.19 (1318) BUGS : 791 NOTES : Fixed inconsistent use of ACCESS events
git-svn-id: svn://svn.anope.org/anope/trunk@1318 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1036 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
60088ee8a1
commit
34a88d38c3
@@ -53,6 +53,7 @@ Anope Version S V N
|
||||
12/03 F Unregistered users now have access level 0 instead of -1. [#796]
|
||||
12/03 F Malformed command for InspIRCd 1.1. [#797]
|
||||
12/03 F Updates to various documentation. [ #00]
|
||||
12/15 F Inconsistent use of ACESS events. [#791]
|
||||
|
||||
Provided by Trystan <trystan@nomadirc.net> - 2007
|
||||
08/29 F Module runtime directory not always properly cleaned up. [#768]
|
||||
|
||||
@@ -163,6 +163,11 @@ Anope Internal Events
|
||||
modified.
|
||||
av[3] The new access level for the user.
|
||||
|
||||
EVENT_ACCESS_CLEAR
|
||||
A channel access list has been cleared.
|
||||
av[0] Name of the channel the access list has been cleared of
|
||||
av[1] The nickname of the user that has cleared the access list
|
||||
|
||||
EVENT_ACCESS_DEL
|
||||
An user has been deleted of a channel access list.
|
||||
av[0] Name of the channel the access entry has been deleted which.
|
||||
|
||||
@@ -59,5 +59,6 @@
|
||||
#define EVENT_ACCESS_ADD "access_add"
|
||||
#define EVENT_ACCESS_CHANGE "access_change"
|
||||
#define EVENT_ACCESS_DEL "access_del"
|
||||
#define EVENT_ACCESS_CLEAR "access_clear"
|
||||
#define EVENT_NICK_LOGOUT "nick_logout"
|
||||
#define EVENT_CHAN_KICK "chan_kick"
|
||||
|
||||
@@ -71,8 +71,9 @@ void myChanServHelp(User * u)
|
||||
}
|
||||
|
||||
|
||||
static int access_del(User * u, ChanAccess * access, int *perm, int uacc)
|
||||
static int access_del(User * u, ChannelInfo *ci, ChanAccess * access, int *perm, int uacc)
|
||||
{
|
||||
char *nick = access->nc->display;
|
||||
if (!access->in_use)
|
||||
return 0;
|
||||
if (!is_services_admin(u) && uacc <= access->level) {
|
||||
@@ -81,6 +82,7 @@ static int access_del(User * u, ChanAccess * access, int *perm, int uacc)
|
||||
}
|
||||
access->nc = NULL;
|
||||
access->in_use = 0;
|
||||
send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick, nick);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -93,7 +95,7 @@ static int access_del_callback(User * u, int num, va_list args)
|
||||
if (num < 1 || num > ci->accesscount)
|
||||
return 0;
|
||||
*last = num;
|
||||
return access_del(u, &ci->access[num - 1], perm, uacc);
|
||||
return access_del(u, ci, &ci->access[num - 1], perm, uacc);
|
||||
}
|
||||
|
||||
|
||||
@@ -405,6 +407,8 @@ int do_access(User * u)
|
||||
free(ci->access);
|
||||
ci->access = NULL;
|
||||
ci->accesscount = 0;
|
||||
|
||||
send_event(EVENT_ACCESS_CLEAR, 2, ci->name, u->nick);
|
||||
|
||||
notice_lang(s_ChanServ, u, CHAN_ACCESS_CLEAR, ci->name);
|
||||
alog("%s: %s!%s@%s (level %d) cleared access list on %s",
|
||||
|
||||
+5
-3
@@ -180,9 +180,9 @@ int xop_del(User * u, ChannelInfo * ci, ChanAccess * access, int *perm, int uacc
|
||||
(*perm)++;
|
||||
return 0;
|
||||
}
|
||||
send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick, access->nc->display);
|
||||
access->nc = NULL;
|
||||
access->in_use = 0;
|
||||
send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick, access->nc->display);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -404,12 +404,12 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
|
||||
deleted = 0;
|
||||
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
|
||||
} else {
|
||||
send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick,
|
||||
na->nick);
|
||||
notice_lang(s_ChanServ, u, xmsgs[8], access->nc->display,
|
||||
ci->name);
|
||||
access->nc = NULL;
|
||||
access->in_use = 0;
|
||||
send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick,
|
||||
na->nick);
|
||||
deleted = 1;
|
||||
}
|
||||
}
|
||||
@@ -498,6 +498,8 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
|
||||
}
|
||||
}
|
||||
|
||||
send_event(EVENT_ACCESS_CLEAR, 2, ci->name, u->nick);
|
||||
|
||||
notice_lang(s_ChanServ, u, xmsgs[13], ci->name);
|
||||
} else {
|
||||
syntax_error(s_ChanServ, u, xname, xmsgs[0]);
|
||||
|
||||
+5
-1
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
|
||||
VERSION_MINOR="7"
|
||||
VERSION_PATCH="19"
|
||||
VERSION_EXTRA="-svn"
|
||||
VERSION_BUILD="1317"
|
||||
VERSION_BUILD="1318"
|
||||
|
||||
# $Log$
|
||||
#
|
||||
# BUILD : 1.7.19 (1318)
|
||||
# BUGS : 791
|
||||
# NOTES : Fixed inconsistent use of ACCESS events
|
||||
#
|
||||
# BUILD : 1.7.19 (1317)
|
||||
# BUGS :
|
||||
# NOTES : Updates some docs; by chaz
|
||||
|
||||
Reference in New Issue
Block a user