]> granicus.if.org Git - ejabberd/commitdiff
Privacy lists: set from/to on packet *before* calling privacy_check_packet
authorNathan Bruning <nathan@iperity.com>
Sat, 10 Nov 2018 15:56:34 +0000 (16:56 +0100)
committerNathan Bruning <nathan@iperity.com>
Sat, 10 Nov 2018 15:56:34 +0000 (16:56 +0100)
src/ejabberd_c2s.erl

index c65e71bdf9cf0e660a771f5a72fb28c2e58fa622..d491ae9d36b1755101362f1c75c77f8a9678db14 100644 (file)
@@ -638,15 +638,16 @@ route_probe_reply(From, #{jid := To,
     Subscription = get_subscription(To, From),
     if IsAnotherResource orelse
        Subscription == both orelse Subscription == from ->
-           Packet = misc:add_delay_info(LastPres, To, TS),
-           case privacy_check_packet(State, Packet, out) of
+           Packet = xmpp:set_from_to(LastPres, To, From),
+           Packet2 = misc:add_delay_info(Packet, To, TS),
+           case privacy_check_packet(State, Packet2, out) of
                deny ->
                    ok;
                allow ->
                    ejabberd_hooks:run(presence_probe_hook,
                                       LServer,
                                       [From, To, self()]),
-                   ejabberd_router:route(xmpp:set_from_to(Packet, To, From))
+                   ejabberd_router:route(Packet2)
            end;
        true ->
            ok