From c248bffd54ed08034f22e98e13b9612f685592d4 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Tue, 11 Nov 2003 20:51:04 +0000 Subject: * doc/dev.tex: Developers documentation (not completed) * src/ejabberd_c2s.erl: Better handling of malformed JIDs * src/mod_register.erl (try_register/2): Now returns "jid malformed" error if user name is invalid SVN Revision: 174 --- src/ejabberd_c2s.erl | 24 ++++++++++++++++++------ src/mod_register.erl | 2 ++ 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 433be6c5..222436da 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -255,12 +255,24 @@ wait_for_auth({xmlstreamelement, El}, StateData) -> {next_state, wait_for_auth, StateData} end; _ -> - ?INFO_MSG("(~w) Forbidden legacy authentification for ~s", - [StateData#state.socket, - jlib:jid_to_string(JID)]), - Err = jlib:make_error_reply(El, ?ERR_NOT_ALLOWED), - send_element(StateData, Err), - {next_state, wait_for_auth, StateData} + if + JID == error -> + ?INFO_MSG( + "(~w) Forbidden legacy authentification for " + "username '~s' with resource '~s'", + [StateData#state.socket, U, R]), + Err = jlib:make_error_reply(El, ?ERR_JID_MALFORMED), + send_element(StateData, Err), + {next_state, wait_for_auth, StateData}; + true -> + ?INFO_MSG( + "(~w) Forbidden legacy authentification for ~s", + [StateData#state.socket, + jlib:jid_to_string(JID)]), + Err = jlib:make_error_reply(El, ?ERR_NOT_ALLOWED), + send_element(StateData, Err), + {next_state, wait_for_auth, StateData} + end end; _ -> case jlib:iq_query_info(El) of diff --git a/src/mod_register.erl b/src/mod_register.erl index 29846437..62a348d6 100644 --- a/src/mod_register.erl +++ b/src/mod_register.erl @@ -128,6 +128,8 @@ try_register(User, Password) -> ok; {atomic, exists} -> {error, ?ERR_CONFLICT}; + {error, invalid_jid} -> + {error, ?ERR_JID_MALFORMED}; {error, _Reason} -> {error, ?ERR_INTERNAL_SERVER_ERROR} end -- cgit v1.2.3