diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2016-03-31 11:00:29 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2016-03-31 11:00:29 +0300 |
commit | fced8dc3d926ef733775725225a437c2c1656a4f (patch) | |
tree | 7d66931a79e0767bf25ff78820619961d5bddca9 /src/ejabberd_c2s.erl | |
parent | b160bd7ac15e7ad946968fa75024cc33f3a30086 (diff) |
Replace some ?ERR_* macros with ?ERRT_*
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r-- | src/ejabberd_c2s.erl | 89 |
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 |