Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-31 11:00:29 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-31 11:00:29 +0300
commitfced8dc3d926ef733775725225a437c2c1656a4f (patch)
tree7d66931a79e0767bf25ff78820619961d5bddca9 /src/ejabberd_c2s.erl
parentb160bd7ac15e7ad946968fa75024cc33f3a30086 (diff)
Replace some ?ERR_* macros with ?ERRT_*
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl89
1 files changed, 53 insertions, 36 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 936abc7a9..3736f7d07 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -619,8 +619,9 @@ wait_for_auth({xmlstreamelement, El}, StateData) ->
send_element(StateData, Res),
fsm_next_state(wait_for_auth, StateData);
{auth, _ID, set, {_U, _P, _D, <<"">>}} ->
- Err = jlib:make_error_reply(El,
- ?ERR_AUTH_NO_RESOURCE_PROVIDED((StateData#state.lang))),
+ Lang = StateData#state.lang,
+ Txt = <<"No resource provided">>,
+ Err = jlib:make_error_reply(El, ?ERRT_NOT_ACCEPTABLE(Lang, Txt)),
send_element(StateData, Err),
fsm_next_state(wait_for_auth, StateData);
{auth, _ID, set, {U, P, D, R}} ->
@@ -685,7 +686,10 @@ wait_for_auth({xmlstreamelement, El}, StateData) ->
ejabberd_hooks:run(c2s_auth_result, StateData#state.server,
[false, U, StateData#state.server,
StateData#state.ip]),
- Err = jlib:make_error_reply(El, ?ERR_NOT_AUTHORIZED),
+ Lang = StateData#state.lang,
+ Txt = <<"Legacy authentication failed">>,
+ Err = jlib:make_error_reply(
+ El, ?ERRT_NOT_AUTHORIZED(Lang, Txt)),
send_element(StateData, Err),
fsm_next_state(wait_for_auth, StateData)
end;
@@ -706,7 +710,9 @@ wait_for_auth({xmlstreamelement, El}, StateData) ->
ejabberd_hooks:run(c2s_auth_result, StateData#state.server,
[false, U, StateData#state.server,
StateData#state.ip]),
- Err = jlib:make_error_reply(El, ?ERR_NOT_ALLOWED),
+ Lang = StateData#state.lang,
+ Txt = <<"Legacy authentication forbidden">>,
+ Err = jlib:make_error_reply(El, ?ERRT_NOT_ALLOWED(Lang, Txt)),
send_element(StateData, Err),
fsm_next_state(wait_for_auth, StateData)
end
@@ -1013,7 +1019,7 @@ wait_for_bind({xmlstreamelement, #xmlel{name = Name, attrs = Attrs} = El},
end;
wait_for_bind({xmlstreamelement, El}, StateData) ->
case jlib:iq_query_info(El) of
- #iq{type = set, xmlns = ?NS_BIND, sub_el = SubEl} =
+ #iq{type = set, lang = Lang, xmlns = ?NS_BIND, sub_el = SubEl} =
IQ ->
U = StateData#state.user,
R1 = fxml:get_path_s(SubEl,
@@ -1025,7 +1031,8 @@ wait_for_bind({xmlstreamelement, El}, StateData) ->
end,
case R of
error ->
- Err = jlib:make_error_reply(El, ?ERR_BAD_REQUEST),
+ Txt = <<"Malformed resource">>,
+ Err = jlib:make_error_reply(El, ?ERRT_BAD_REQUEST(Lang, Txt)),
send_element(StateData, Err),
fsm_next_state(wait_for_bind, StateData);
_ ->
@@ -1099,6 +1106,7 @@ open_session(StateData) ->
U = StateData#state.user,
R = StateData#state.resource,
JID = StateData#state.jid,
+ Lang = StateData#state.lang,
case acl:match_rule(StateData#state.server,
StateData#state.access, JID) of
allow ->
@@ -1136,7 +1144,8 @@ open_session(StateData) ->
StateData#state.server, [JID]),
?INFO_MSG("(~w) Forbidden session for ~s",
[StateData#state.socket, jid:to_string(JID)]),
- {error, ?ERR_NOT_ALLOWED}
+ Txt = <<"Denied by ACL">>,
+ {error, ?ERRT_NOT_ALLOWED(Lang, Txt)}
end.
session_established({xmlstreamelement, #xmlel{name = Name} = El}, StateData)
@@ -2275,30 +2284,32 @@ get_priority_from_presence(PresencePacket) ->
end.
process_privacy_iq(From, To,
- #iq{type = Type, sub_el = SubEl} = IQ, StateData) ->
- {Res, NewStateData} = case Type of
- get ->
- R = ejabberd_hooks:run_fold(privacy_iq_get,
- StateData#state.server,
- {error,
- ?ERR_FEATURE_NOT_IMPLEMENTED},
- [From, To, IQ,
- StateData#state.privacy_list]),
- {R, StateData};
- set ->
- case ejabberd_hooks:run_fold(privacy_iq_set,
- StateData#state.server,
- {error,
- ?ERR_FEATURE_NOT_IMPLEMENTED},
- [From, To, IQ])
- of
- {result, R, NewPrivList} ->
- {{result, R},
- StateData#state{privacy_list =
- NewPrivList}};
- R -> {R, StateData}
- end
- end,
+ #iq{type = Type, lang = Lang, sub_el = SubEl} = IQ, StateData) ->
+ Txt = <<"No module is handling this query">>,
+ {Res, NewStateData} =
+ case Type of
+ get ->
+ R = ejabberd_hooks:run_fold(
+ privacy_iq_get,
+ StateData#state.server,
+ {error, ?ERRT_FEATURE_NOT_IMPLEMENTED(Lang, Txt)},
+ [From, To, IQ,
+ StateData#state.privacy_list]),
+ {R, StateData};
+ set ->
+ case ejabberd_hooks:run_fold(
+ privacy_iq_set,
+ StateData#state.server,
+ {error, ?ERRT_FEATURE_NOT_IMPLEMENTED(Lang, Txt)},
+ [From, To, IQ])
+ of
+ {result, R, NewPrivList} ->
+ {{result, R},
+ StateData#state{privacy_list =
+ NewPrivList}};
+ R -> {R, StateData}
+ end
+ end,
IQRes = case Res of
{result, Result} ->
IQ#iq{type = result, sub_el = Result};
@@ -2365,15 +2376,16 @@ process_unauthenticated_stanza(StateData, El) ->
_ -> El
end,
case jlib:iq_query_info(NewEl) of
- #iq{} = IQ ->
+ #iq{lang = L} = IQ ->
Res = ejabberd_hooks:run_fold(c2s_unauthenticated_iq,
StateData#state.server, empty,
[StateData#state.server, IQ,
StateData#state.ip]),
case Res of
empty ->
+ Txt = <<"Authentication required">>,
ResIQ = IQ#iq{type = error,
- sub_el = [?ERR_SERVICE_UNAVAILABLE]},
+ sub_el = [?ERRT_SERVICE_UNAVAILABLE(L, Txt)]},
Res1 = jlib:replace_from_to(jid:make(<<"">>,
StateData#state.server,
<<"">>),
@@ -2879,6 +2891,7 @@ handle_unacked_stanzas(StateData)
false
end
end,
+ Lang = StateData#state.lang,
ReRoute = case ResendOnTimeout of
true ->
fun(From, To, El, Time) ->
@@ -2887,9 +2900,11 @@ handle_unacked_stanzas(StateData)
end;
false ->
fun(From, To, El, _Time) ->
+ Txt = <<"User session not found">>,
Err =
- jlib:make_error_reply(El,
- ?ERR_SERVICE_UNAVAILABLE),
+ jlib:make_error_reply(
+ El,
+ ?ERRT_SERVICE_UNAVAILABLE(Lang, Txt)),
ejabberd_router:route(To, From, Err)
end
end,
@@ -2897,7 +2912,9 @@ handle_unacked_stanzas(StateData)
?DEBUG("Dropping presence stanza from ~s",
[jid:to_string(From)]);
(From, To, #xmlel{name = <<"iq">>} = El, _Time) ->
- Err = jlib:make_error_reply(El, ?ERR_SERVICE_UNAVAILABLE),
+ Txt = <<"User session not found">>,
+ Err = jlib:make_error_reply(
+ El, ?ERRT_SERVICE_UNAVAILABLE(Lang, Txt)),
ejabberd_router:route(To, From, Err);
(From, To, El, Time) ->
%% We'll drop the stanza if it was <forwarded/> by some