diff options
author | Badlop <badlop@process-one.net> | 2011-04-27 00:55:04 +0400 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2011-04-27 00:55:04 +0400 |
commit | 4f4c8eb61eba2fcf35e4d6f9e7c13c2576ebe60c (patch) | |
tree | 34a9e983a26d6629793c27e839efc5ad81bda92d /src/mod_register.erl | |
parent | 3952888f94457af484fe6f1cab1a457f5515d24f (diff) |
mod_register Access now also controls account unregistrations
Diffstat (limited to 'src/mod_register.erl')
-rw-r--r-- | src/mod_register.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mod_register.erl b/src/mod_register.erl index da1e21bdc..048678373 100644 --- a/src/mod_register.erl +++ b/src/mod_register.erl @@ -106,8 +106,10 @@ process_iq(From, To, PTag = xml:get_subtag(SubEl, "password"), RTag = xml:get_subtag(SubEl, "remove"), Server = To#jid.lserver, + Access = gen_mod:get_module_opt(Server, ?MODULE, access, all), + AllowRemove = (allow == acl:match_rule(Server, Access, From)), if - (UTag /= false) and (RTag /= false) -> + (UTag /= false) and (RTag /= false) and AllowRemove -> User = xml:get_tag_cdata(UTag), case From of #jid{user = User, lserver = Server} -> @@ -148,7 +150,7 @@ process_iq(From, To, sub_el = [SubEl, ?ERR_BAD_REQUEST]} end end; - (UTag == false) and (RTag /= false) -> + (UTag == false) and (RTag /= false) and AllowRemove -> case From of #jid{user = User, lserver = Server, |