Comparison

plugins/mod_pep.lua @ 1429:51cfb152cb38

mod_pep: Ignore presence subscriptions when extractng hash information
author Waqas Hussain <waqas20@gmail.com>
date Fri, 26 Jun 2009 23:42:59 +0500
parent 1428:02e97e716675
child 1430:39169cf8d36f
comparison
equal deleted inserted replaced
1428:02e97e716675 1429:51cfb152cb38
47 end 47 end
48 end 48 end
49 end 49 end
50 50
51 local function get_caps_hash_from_presence(stanza, current) 51 local function get_caps_hash_from_presence(stanza, current)
52 if not stanza.attr.type then 52 local t = stanza.attr.type;
53 if not t then
53 for _, child in pairs(stanza.tags) do 54 for _, child in pairs(stanza.tags) do
54 if child.name == "c" and child.attr.xmlns == "http://jabber.org/protocol/caps" then 55 if child.name == "c" and child.attr.xmlns == "http://jabber.org/protocol/caps" then
55 local attr = child.attr; 56 local attr = child.attr;
56 if attr.hash then -- new caps 57 if attr.hash then -- new caps
57 if attr.hash == 'sha-1' and attr.node and attr.ver then return attr.ver, attr.node.."#"..attr.ver; end 58 if attr.hash == 'sha-1' and attr.node and attr.ver then return attr.ver, attr.node.."#"..attr.ver; end
59 if attr.node and attr.ver then return attr.node.."#"..attr.ver.."#"..(attr.ext or ""), attr.node.."#"..attr.ver; end 60 if attr.node and attr.ver then return attr.node.."#"..attr.ver.."#"..(attr.ext or ""), attr.node.."#"..attr.ver; end
60 end 61 end
61 return; -- bad caps format 62 return; -- bad caps format
62 end 63 end
63 end 64 end
64 return current; -- no caps, could mean caps optimization, so return current 65 elseif t == "unavailable" or t == "error" then
66 return;
65 end 67 end
68 return current; -- no caps, could mean caps optimization, so return current
66 end 69 end
67 70
68 module:hook("presence/bare", function(event) 71 module:hook("presence/bare", function(event)
69 -- inbound presence to bare JID recieved 72 -- inbound presence to bare JID recieved
70 local origin, stanza = event.origin, event.stanza; 73 local origin, stanza = event.origin, event.stanza;