diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_http.erl | 2 | ||||
-rw-r--r-- | src/ejabberd_web_admin.erl | 2 | ||||
-rw-r--r-- | src/mod_register_web.erl | 12 |
3 files changed, 11 insertions, 5 deletions
diff --git a/src/ejabberd_http.erl b/src/ejabberd_http.erl index 3e6b54d6c..ce450ebd9 100644 --- a/src/ejabberd_http.erl +++ b/src/ejabberd_http.erl @@ -51,7 +51,7 @@ request_auth, request_keepalive, request_content_length, - request_lang = "en", + request_lang = <<"en">>, %% XXX bard: request handlers are configured in %% ejabberd.cfg under the HTTP service. For example, %% to have the module test_web handle requests with diff --git a/src/ejabberd_web_admin.erl b/src/ejabberd_web_admin.erl index 9f5a5f08f..781c125dd 100644 --- a/src/ejabberd_web_admin.erl +++ b/src/ejabberd_web_admin.erl @@ -2183,7 +2183,7 @@ get_node(global, Node, [<<"update">>], Query, Lang) -> ?XCT(<<"h3">>, <<"Update script">>), FmtScript, ?XCT(<<"h3">>, <<"Low level update script">>), FmtLowLevelScript, ?XCT(<<"h3">>, <<"Script check">>), - ?XC(<<"pre">>, (iolist_to_binary(Check))), + ?XC(<<"pre">>, (jlib:atom_to_binary(Check))), ?BR, ?INPUTT(<<"submit">>, <<"update">>, <<"Update">>)])]; get_node(Host, Node, NPath, Query, Lang) -> 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) -> |