diff options
author | Alexey Shchepin <alexey@process-one.net> | 2003-11-11 20:51:04 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2003-11-11 20:51:04 +0000 |
commit | c248bffd54ed08034f22e98e13b9612f685592d4 (patch) | |
tree | 59f9731a2dca9d1fd328abec4642671e07717f36 /src | |
parent | * src/ejabberd.cfg.example: Updated (diff) |
* 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
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_c2s.erl | 24 | ||||
-rw-r--r-- | src/mod_register.erl | 2 |
2 files changed, 20 insertions, 6 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 433be6c51..222436da6 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 298464378..62a348d61 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 |