aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-11-11 20:51:04 +0000
committerAlexey Shchepin <alexey@process-one.net>2003-11-11 20:51:04 +0000
commitc248bffd54ed08034f22e98e13b9612f685592d4 (patch)
tree59f9731a2dca9d1fd328abec4642671e07717f36 /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.erl24
-rw-r--r--src/mod_register.erl2
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