X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_presence.lua;h=f78a5950ad3315e6a21b0a65e3cb67f41bdb2d96;hb=58bf4369711eed604ab2a485f7f957e522a05796;hp=3ca3b35e37684e7d21341c38f2974df1cbc3b02b;hpb=d8be5b007899345581b30938e81eca06adb24d64;p=prosody.git diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua index 3ca3b35e..f78a5950 100644 --- a/plugins/mod_presence.lua +++ b/plugins/mod_presence.lua @@ -165,6 +165,7 @@ end function handle_outbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza) local node, host = jid_split(from_bare); + if to_bare == origin.username.."@"..origin.host then return; end -- No self contacts local st_from, st_to = stanza.attr.from, stanza.attr.to; stanza.attr.from, stanza.attr.to = from_bare, to_bare; log("debug", "outbound presence "..stanza.attr.type.." from "..from_bare.." for "..to_bare); @@ -330,7 +331,7 @@ module:hook("resource-unbind", function(event) pres:tag("status"):text("Disconnected: "..err):up(); session:dispatch_stanza(pres); elseif session.directed then - local pres = st.presence{ type = "unavailable" }; + local pres = st.presence{ type = "unavailable", from = session.full_jid }; if not(err) or err == "closed" then err = "connection closed"; end pres:tag("status"):text("Disconnected: "..err):up(); for jid in pairs(session.directed) do