aboutsummaryrefslogtreecommitdiff
path: root/src/mod_register.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_register.erl')
-rw-r--r--src/mod_register.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mod_register.erl b/src/mod_register.erl
index 31bb52c9d..10c55b6f5 100644
--- a/src/mod_register.erl
+++ b/src/mod_register.erl
@@ -114,8 +114,12 @@ process_iq(#iq{from = From, to = To} = IQ, Source) ->
end,
Server = To#jid.lserver,
Access = mod_register_opt:access_remove(Server),
- AllowRemove = allow == acl:match_rule(Server, Access, From),
- process_iq(IQ, Source, IsCaptchaEnabled, AllowRemove).
+ Remove = case acl:match_rule(Server, Access, From) of
+ deny -> deny;
+ allow ->
+ check_access(From#jid.luser, From#jid.lserver, Source)
+ end,
+ process_iq(IQ, Source, IsCaptchaEnabled, Remove == allow).
process_iq(#iq{type = set, lang = Lang,
sub_els = [#register{remove = true}]} = IQ,