diff --git a/ChangeLog b/ChangeLog index 3e0aba5e6..6bea4e051 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2003-11-09 Alexey Shchepin + + * src/ejabberd_sm.erl: Bugfix for previous resource handling + change + + * src/mod_configure.erl: Password changing now implemented + 2003-11-07 Alexey Shchepin * src/cyrsasl.erl: Updated SASL authentification diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 92173b4bc..333cda2db 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -104,7 +104,7 @@ close_session(User, Resource) -> register_connection(User, Resource, Pid) -> LUser = jlib:nodeprep(User), - LResource = jlib:nodeprep(Resource), + LResource = jlib:resourceprep(Resource), UR = {LUser, LResource}, F = fun() -> Ss = mnesia:wread({session, UR}), @@ -135,7 +135,7 @@ register_connection(User, Resource, Pid) -> replace_my_connection(User, Resource) -> LUser = jlib:nodeprep(User), - LResource = jlib:nodeprep(Resource), + LResource = jlib:resourceprep(Resource), UR = {LUser, LResource}, F = fun() -> Es = mnesia:read({local_session, UR}), @@ -155,7 +155,7 @@ replace_my_connection(User, Resource) -> remove_connection(User, Resource) -> LUser = jlib:nodeprep(User), - LResource = jlib:nodeprep(Resource), + LResource = jlib:resourceprep(Resource), F = fun() -> UR = {LUser, LResource}, mnesia:delete({local_session, UR}), diff --git a/src/mod_configure.erl b/src/mod_configure.erl index e07d2ac67..fc84ec570 100644 --- a/src/mod_configure.erl +++ b/src/mod_configure.erl @@ -793,7 +793,13 @@ get_sm_form(_, _, Lang) -> set_sm_form(User, [], Lang, XData) -> case lists:keysearch("action", 1, XData) of {value, {_, ["edit"]}} -> - {error, ?ERR_FEATURE_NOT_IMPLEMENTED}; + case lists:keysearch("password", 1, XData) of + {value, {_, [Password]}} -> + ejabberd_auth:set_password(User, Password), + {result, []}; + _ -> + {error, ?ERR_BAD_REQUEST} + end; {value, {_, ["remove"]}} -> ejabberd_sm ! {route, jlib:make_jid("", "", ""),