mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
When the Password attribute is missing in PIEFXIS file, don't check account auth.
This commit is contained in:
parent
c9db1f691c
commit
b8f04aae6f
@ -162,33 +162,39 @@ add_user(El, Domain) ->
|
|||||||
Password = exmpp_xml:get_attribute(El,<<"password">>,none),
|
Password = exmpp_xml:get_attribute(El,<<"password">>,none),
|
||||||
add_user(El, Domain, User, Password).
|
add_user(El, Domain, User, Password).
|
||||||
|
|
||||||
%% @spec (El::xmlel(), Domain::string(), User::string(), Password::string())
|
%% @spec (El::xmlel(), Domain::string(), User::binary(), Password::binary() | none)
|
||||||
%% -> ok | {error, ErrorText::string()}
|
%% -> ok | {error, ErrorText::string()}
|
||||||
%% @doc Add a new user to the database.
|
%% @doc Add a new user to the database.
|
||||||
%% If user already exists, it will be only updated.
|
%% If user already exists, it will be only updated.
|
||||||
|
add_user(El, Domain, User, none) ->
|
||||||
|
io:format("Account ~s@~s will not be created, updating it...~n",
|
||||||
|
[User, Domain]),
|
||||||
|
io:format(""),
|
||||||
|
populate_user_with_elements(El, Domain, User),
|
||||||
|
ok;
|
||||||
add_user(El, Domain, User, Password) ->
|
add_user(El, Domain, User, Password) ->
|
||||||
case create_user(User,Password,Domain) of
|
case create_user(User,Password,Domain) of
|
||||||
ok ->
|
ok ->
|
||||||
ok = exmpp_xml:foreach(
|
populate_user_with_elements(El, Domain, User),
|
||||||
fun(_,Child) ->
|
|
||||||
populate_user(User,Domain,Child)
|
|
||||||
end,
|
|
||||||
El),
|
|
||||||
ok;
|
ok;
|
||||||
{atomic, exists} ->
|
{atomic, exists} ->
|
||||||
io:format("Account ~s@~s already exists, updating it...~n",
|
io:format("Account ~s@~s already exists, updating it...~n",
|
||||||
[User, Domain]),
|
[User, Domain]),
|
||||||
io:format(""),
|
io:format(""),
|
||||||
ok = exmpp_xml:foreach(
|
populate_user_with_elements(El, Domain, User),
|
||||||
fun(_,Child) ->
|
ok;
|
||||||
populate_user(User,Domain,Child)
|
|
||||||
end,
|
|
||||||
El);
|
|
||||||
{error, Other} ->
|
{error, Other} ->
|
||||||
?ERROR_MSG("Error adding user ~s@~s: ~p~n", [User, Domain, Other]),
|
?ERROR_MSG("Error adding user ~s@~s: ~p~n", [User, Domain, Other]),
|
||||||
{error, Other}
|
{error, Other}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
populate_user_with_elements(El, Domain, User) ->
|
||||||
|
exmpp_xml:foreach(
|
||||||
|
fun (_,Child) ->
|
||||||
|
populate_user(User,Domain,Child)
|
||||||
|
end,
|
||||||
|
El).
|
||||||
|
|
||||||
%% @spec (User::string(), Password::string(), Domain::string())
|
%% @spec (User::string(), Password::string(), Domain::string())
|
||||||
%% -> ok | {atomic, exists} | {error, not_allowed}
|
%% -> ok | {atomic, exists} | {error, not_allowed}
|
||||||
%% @doc Create a new user
|
%% @doc Create a new user
|
||||||
|
Loading…
Reference in New Issue
Block a user