Software /
code /
prosody-modules
Comparison
mod_cache_c2s_caps/mod_cache_c2s_caps.lua @ 4320:8fc16174fec6
mod_cache_c2s_caps: log full JID on all relevant code paths
author | Georg Lukas <georg@op-co.de> |
---|---|
date | Fri, 22 May 2020 09:47:42 +0200 |
parent | 4018:f27becd421bd |
comparison
equal
deleted
inserted
replaced
4319:caaa40f072da | 4320:8fc16174fec6 |
---|---|
66 return; | 66 return; |
67 end | 67 end |
68 | 68 |
69 local caps = stanza:get_child("c", "http://jabber.org/protocol/caps"); | 69 local caps = stanza:get_child("c", "http://jabber.org/protocol/caps"); |
70 if caps == nil then | 70 if caps == nil then |
71 origin.log("debug", "Presence without caps received, skipping"); | 71 origin.log("debug", "Presence from %s without caps received, skipping", from); |
72 return; | 72 return; |
73 end | 73 end |
74 | 74 |
75 local hash = caps.attr.hash; | 75 local hash = caps.attr.hash; |
76 local node = caps.attr.node; | 76 local node = caps.attr.node; |
77 local ver = caps.attr.ver; | 77 local ver = caps.attr.ver; |
78 if not hash or not node or not ver then | 78 if not hash or not node or not ver then |
79 return; | 79 return; |
80 end | 80 end |
81 if hash ~= "sha-1" then | 81 if hash ~= "sha-1" then |
82 origin.log("warn", "Non-SHA-1 caps received: %s", hash); | 82 origin.log("warn", "Presence from %s with non-SHA-1 caps : %s", from, hash); |
83 return; | 83 return; |
84 end | 84 end |
85 | 85 |
86 local node_query = node.."#"..ver; | 86 local node_query = node.."#"..ver; |
87 if (origin.caps_cache and origin.caps_cache.attr.node == node_query) or in_flight_iqs[from..node_query] ~= nil then | 87 if (origin.caps_cache and origin.caps_cache.attr.node == node_query) or in_flight_iqs[from..node_query] ~= nil then |
88 origin.log("debug", "Already requested these caps, skipping"); | 88 origin.log("debug", "Already requested these caps, skipping"); |
89 return; | 89 return; |
90 end | 90 end |
91 | 91 |
92 origin.log("debug", "Received presence from %s with SHA-1 caps %s, querying disco#info", from, node_query); | 92 origin.log("debug", "Presence from %s with SHA-1 caps %s, querying disco#info", from, node_query); |
93 | 93 |
94 local id = uuid_gen(); | 94 local id = uuid_gen(); |
95 iq_node_map[from..id] = node_query | 95 iq_node_map[from..id] = node_query |
96 local iq = st_iq({ type = "get", from = module.host, to = from, id = id }) | 96 local iq = st_iq({ type = "get", from = module.host, to = from, id = id }) |
97 :tag("query", { xmlns = "http://jabber.org/protocol/disco#info", node = node_query }); | 97 :tag("query", { xmlns = "http://jabber.org/protocol/disco#info", node = node_query }); |