aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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