]> granicus.if.org Git - ejabberd/commitdiff
Make option 'validate_stream' global
authorEvgeny Khramtsov <ekhramtsov@process-one.net>
Fri, 21 Jun 2019 18:06:32 +0000 (21:06 +0300)
committerEvgeny Khramtsov <ekhramtsov@process-one.net>
Fri, 21 Jun 2019 18:06:32 +0000 (21:06 +0300)
13 files changed:
src/ejabberd_bosh.erl
src/ejabberd_c2s.erl
src/ejabberd_config.erl
src/ejabberd_option.erl
src/ejabberd_options.erl
src/ejabberd_s2s_in.erl
src/ejabberd_service.erl
src/mod_admin_extra.erl
src/mod_announce.erl
src/mod_delegation.erl
src/mod_mam.erl
src/mod_offline.erl
src/mod_privilege.erl

index d119e90b84f87a7c28c4d724a744900dd2273b7c..14a0feb293664eb6b0d22147c52e870c5f74e003 100644 (file)
@@ -710,7 +710,7 @@ bounce_receivers(State, _Reason) ->
                State, Receivers ++ ShapedReceivers).
 
 bounce_els_from_obuf(State) ->
-    Opts = ejabberd_config:codec_options(State#state.host),
+    Opts = ejabberd_config:codec_options(),
     p1_queue:foreach(
       fun({xmlstreamelement, El}) ->
              try xmpp:decode(El, ?NS_CLIENT, Opts) of
index 7caa109bb7e53048ce4d534f067bd5337b9545a6..55f3111c0d918daed06542554f54178e7fa3ebf9 100644 (file)
@@ -442,7 +442,7 @@ handle_stream_start(StreamStart, #{lserver := LServer} = State) ->
            send(State#{lserver => ejabberd_config:get_myname()}, xmpp:serr_host_unknown());
        true ->
            State1 = change_shaper(State),
-           Opts = ejabberd_config:codec_options(LServer),
+           Opts = ejabberd_config:codec_options(),
            State2 = State1#{codec_options => Opts},
            ejabberd_hooks:run_fold(
              c2s_stream_started, LServer, State2, [StreamStart])
index 1a6026fbf9d55a71e974e6b876705e2058ca63f8..964e84ffb796323beb15314376a7ae9de71c4e42 100644 (file)
@@ -31,7 +31,7 @@
 -export([get_myname/0, get_uri/0, get_copyright/0]).
 -export([get_shared_key/0, get_node_start/0]).
 -export([fsm_limit_opts/1]).
--export([codec_options/1]).
+-export([codec_options/0]).
 -export([default_db/2, default_db/3, default_ram_db/2, default_ram_db/3]).
 -export([beams/1, validators/1, globals/0, may_hide_data/1]).
 -export([dump/0, dump/1, convert_to_yaml/1, convert_to_yaml/2]).
@@ -218,9 +218,9 @@ fsm_limit_opts(Opts) ->
            end
     end.
 
--spec codec_options(binary() | global) -> [xmpp:decode_option()].
-codec_options(Host) ->
-    case get_option({validate_stream, Host}) of
+-spec codec_options() -> [xmpp:decode_option()].
+codec_options() ->
+    case get_option(validate_stream) of
        true -> [];
        false -> [ignore_els]
     end.
index 34659f1cc42cc45fe04e8eb458c215cd6aafd47a..64f178b9dfc231d820f8d1d7305a282e3886fc4a 100644 (file)
 -export([sql_username/0, sql_username/1]).
 -export([trusted_proxies/0, trusted_proxies/1]).
 -export([use_cache/0, use_cache/1]).
--export([validate_stream/0, validate_stream/1]).
+-export([validate_stream/0]).
 -export([version/0]).
 -export([websocket_origin/0]).
 -export([websocket_ping_interval/0]).
@@ -1040,10 +1040,7 @@ use_cache(Host) ->
 
 -spec validate_stream() -> boolean().
 validate_stream() ->
-    validate_stream(global).
--spec validate_stream(global | binary()) -> boolean().
-validate_stream(Host) ->
-    ejabberd_config:get_option({validate_stream, Host}).
+    ejabberd_config:get_option({validate_stream, global}).
 
 -spec version() -> binary().
 version() ->
index c76d89ae18fd793ebc342dc06054bd833059eed5..c203398782df2dbaba2d21b529ec674b097bfde1 100644 (file)
@@ -711,6 +711,7 @@ globals() ->
      sm_cache_life_time,
      sm_cache_missed,
      sm_cache_size,
+     validate_stream,
      version,
      websocket_origin,
      websocket_ping_interval,
index 0eb5f2a1d434b80a7521ef9f8c4481462e119110..8b56d440eeae05cf11745c5b72d7e62a8c1ee4c5 100644 (file)
@@ -164,7 +164,7 @@ handle_stream_start(_StreamStart, #{lserver := LServer} = State) ->
            send(State, xmpp:serr_host_unknown());
        true ->
            ServerHost = ejabberd_router:host_of_route(LServer),
-           Opts = ejabberd_config:codec_options(LServer),
+           Opts = ejabberd_config:codec_options(),
            State#{server_host => ServerHost, codec_options => Opts}
     end.
 
index aed20a823e1b99113ade6629b9cc19033694cdc6..2662d04d0753a8e152d8113eed261e33c0f82d2e 100644 (file)
@@ -133,7 +133,7 @@ handle_stream_start(_StreamStart,
                                          HostOpts
                                  end
                          end,
-           CodecOpts = ejabberd_config:codec_options(global),
+           CodecOpts = ejabberd_config:codec_options(),
            State#{host_opts => NewHostOpts, codec_options => CodecOpts}
     end.
 
index 7d4fe5925bff2caa59889a3a1236f7b827802259..abfc1c3b65f19127c1d6c68034f0e8bec49bd67d 100644 (file)
@@ -1496,7 +1496,7 @@ send_stanza(FromString, ToString, Stanza) ->
        #xmlel{} = El = fxml_stream:parse_element(Stanza),
        From = jid:decode(FromString),
        To = jid:decode(ToString),
-       CodecOpts = ejabberd_config:codec_options(From#jid.lserver),
+       CodecOpts = ejabberd_config:codec_options(),
        Pkt = xmpp:decode(El, ?NS_CLIENT, CodecOpts),
        ejabberd_router:route(xmpp:set_from_to(Pkt, From, To))
     catch _:{xmpp_codec, Why} ->
index 4176af95ca7b205a6ae5b56b8d75d17e3d85d895..f4df6fe4c3fdd50e616ae15ecbaf8577e6e38052 100644 (file)
@@ -708,7 +708,7 @@ send_motd({#presence{type = available},
     Mod = gen_mod:db_mod(LServer, ?MODULE),
     case get_motd(Mod, LServer) of
        {ok, Packet} ->
-           CodecOpts = ejabberd_config:codec_options(LServer),
+           CodecOpts = ejabberd_config:codec_options(),
            try xmpp:decode(Packet, ?NS_CLIENT, CodecOpts) of
                Msg ->
                    case is_motd_user(Mod, LUser, LServer) of
@@ -800,7 +800,7 @@ get_stored_motd(LServer) ->
     Mod = gen_mod:db_mod(LServer, ?MODULE),
     case get_motd(Mod, LServer) of
         {ok, Packet} ->
-           CodecOpts = ejabberd_config:codec_options(LServer),
+           CodecOpts = ejabberd_config:codec_options(),
            try xmpp:decode(Packet, ?NS_CLIENT, CodecOpts) of
                #message{body = Body, subject = Subject} ->
                    {xmpp:get_text(Subject), xmpp:get_text(Body)}
index 5fbbe35b256fb3ce6694346d4b87274a43701625..78a1345c3f4b38983d2f0e67069b5675d3114b9a 100644 (file)
@@ -267,7 +267,7 @@ process_iq(#iq{to = To, lang = Lang, sub_els = [SubEl]} = IQ, Type) ->
 process_iq_result(#iq{from = From, to = To, id = ID, lang = Lang} = IQ,
                  #iq{type = result} = ResIQ) ->
     try
-       CodecOpts = ejabberd_config:codec_options(To#jid.lserver),
+       CodecOpts = ejabberd_config:codec_options(),
        #delegation{forwarded = #forwarded{sub_els = [SubEl]}} =
            xmpp:get_subtag(ResIQ, #delegation{}),
        case xmpp:decode(SubEl, ?NS_CLIENT, CodecOpts) of
index 8a097572f603fc1afbbbc9ad9aac7d754d39797a..3458a0c7272b61808de5c832a22fa893e41edeec 100644 (file)
@@ -1218,8 +1218,7 @@ wrap_as_mucsub(Message, Requester, ReqServer) ->
 msg_to_el(#archive_msg{timestamp = TS, packet = El, nick = Nick,
                       peer = Peer, id = ID},
          MsgType, JidRequestor, #jid{lserver = LServer} = JidArchive) ->
-    CodecOpts = ejabberd_config:codec_options(
-                 ejabberd_router:host_of_route(LServer)),
+    CodecOpts = ejabberd_config:codec_options(),
     try xmpp:decode(El, ?NS_CLIENT, CodecOpts) of
        Pkt1 ->
            Pkt2 = case MsgType of
index d2468e9750ad5100e17250d063b58fe4f50aea95..a3cb6d858b2b9d18b4eb4672f739864ebe9a9c29 100644 (file)
@@ -689,7 +689,7 @@ get_offline_els(LUser, LServer) ->
 -spec offline_msg_to_route(binary(), #offline_msg{}) ->
                                  {route, message()} | error.
 offline_msg_to_route(LServer, #offline_msg{from = From, to = To} = R) ->
-    CodecOpts = ejabberd_config:codec_options(LServer),
+    CodecOpts = ejabberd_config:codec_options(),
     try xmpp:decode(R#offline_msg.packet, ?NS_CLIENT, CodecOpts) of
        Pkt ->
            Pkt1 = xmpp:set_from_to(Pkt, From, To),
@@ -715,7 +715,7 @@ read_messages(LUser, LServer) ->
 -spec read_db_messages(binary(), binary()) -> [{binary(), message()}].
 read_db_messages(LUser, LServer) ->
     Mod = gen_mod:db_mod(LServer, ?MODULE),
-    CodecOpts = ejabberd_config:codec_options(LServer),
+    CodecOpts = ejabberd_config:codec_options(),
     lists:flatmap(
        fun({Seq, From, To, TS, El}) ->
            Node = integer_to_binary(Seq),
index 5eb4a15e4bfc65757790ff6b964450b424480c72..ae1d4ab258928fd6f6d666c4137c9b3ee44d7cfa 100644 (file)
@@ -281,7 +281,7 @@ get_permissions(ServerHost) ->
 forward_message(#message{to = To} = Msg) ->
     ServerHost = To#jid.lserver,
     Lang = xmpp:get_lang(Msg),
-    CodecOpts = ejabberd_config:codec_options(ServerHost),
+    CodecOpts = ejabberd_config:codec_options(),
     try xmpp:try_subtag(Msg, #privilege{}) of
        #privilege{forwarded = #forwarded{sub_els = [SubEl]}} ->
            try xmpp:decode(SubEl, ?NS_CLIENT, CodecOpts) of