diff options
author | badlop <badlop@ono.com> | 2014-04-07 12:39:22 +0200 |
---|---|---|
committer | badlop <badlop@ono.com> | 2014-04-07 12:39:22 +0200 |
commit | 2d441b3305dad1a81acb70a04c0debe33eb97dcd (patch) | |
tree | 4484d9c672fd58affc904734ab1ce810e10ea288 | |
parent | Fix user_resources command, and ejabberd_xmlrpc parsing auth details in call (diff) | |
parent | mod_register_web: check same acl as mod_register. (diff) |
Merge pull request #156 from hamano/devel
mod_register_web: check same acl as mod_register.
-rw-r--r-- | src/mod_register_web.erl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mod_register_web.erl b/src/mod_register_web.erl index cade4bcc8..cbb6cd082 100644 --- a/src/mod_register_web.erl +++ b/src/mod_register_web.erl @@ -485,9 +485,15 @@ form_del_get(Host, Lang) -> %% {error, not_allowed} | %% {error, invalid_jid} register_account(Username, Host, Password) -> - case jlib:make_jid(Username, Host, <<"">>) of - error -> {error, invalid_jid}; - _ -> register_account2(Username, Host, Password) + Access = gen_mod:get_module_opt(Host, mod_register, access, + fun(A) when is_atom(A) -> A end, + all), + JID = jlib:make_jid(Username, Host, <<"">>), + Match = acl:match_rule(Host, Access, JID), + case {JID, Match} of + {error, _} -> {error, invalid_jid}; + {_, deny} -> {error, not_allowed}; + {_, allow} -> register_account2(Username, Host, Password) end. register_account2(Username, Host, Password) -> |