Software / code / prosody-modules
Comparison
mod_query_client_ver/mod_query_client_ver.lua @ 2653:96eabf8591a6
mod_query_client_ver: Handle IQ errors (see #876)
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 30 Mar 2017 21:12:14 +0200 |
| parent | 2652:20ebfa4ad7f4 |
| child | 2990:cb8d65b40fb4 |
comparison
equal
deleted
inserted
replaced
| 2652:20ebfa4ad7f4 | 2653:96eabf8591a6 |
|---|---|
| 28 local version = query:get_child_text("version"); | 28 local version = query:get_child_text("version"); |
| 29 if version then | 29 if version then |
| 30 client = client .. " version " .. version; | 30 client = client .. " version " .. version; |
| 31 end | 31 end |
| 32 origin.log("info", "Running %s", client); | 32 origin.log("info", "Running %s", client); |
| 33 return true; | |
| 34 end | 33 end |
| 35 end | 34 end |
| 35 return true; | |
| 36 end); | |
| 37 | |
| 38 module:hook("iq-error/host/"..version_id, function(event) | |
| 39 local origin, stanza = event.origin, event.stanza; | |
| 36 origin.send(st.iq({ id = disco_id, type = "get", from = module.host, to = origin.full_jid }):query(xmlns_disco_info)); | 40 origin.send(st.iq({ id = disco_id, type = "get", from = module.host, to = origin.full_jid }):query(xmlns_disco_info)); |
| 37 return true; | 41 return true; |
| 38 end); | 42 end); |
| 39 | 43 |
| 40 module:hook("iq-result/host/"..disco_id, function(event) | 44 module:hook("iq-result/host/"..disco_id, function(event) |
| 44 local ident = query:get_child("identity"); | 48 local ident = query:get_child("identity"); |
| 45 if ident and ident.attr.name then | 49 if ident and ident.attr.name then |
| 46 origin.log("info", "Running %s", ident.attr.name); | 50 origin.log("info", "Running %s", ident.attr.name); |
| 47 end | 51 end |
| 48 end | 52 end |
| 49 -- Unknown software | |
| 50 return true; | 53 return true; |
| 51 end); | 54 end); |
| 52 | 55 |
| 56 module:hook("iq-error/host/"..disco_id, function() | |
| 57 return true; -- Doesn't reply to disco#info? Weird, but ignore for now. | |
| 58 end); |