Comparison

plugins/mod_dialback.lua @ 5776:bd0ff8ae98a8

Remove all trailing whitespace
author Florian Zeitz <florob@babelmonkeys.de>
date Fri, 09 Aug 2013 17:48:21 +0200
parent 5362:612467e263af
child 5778:8ea6fa8459e3
comparison
equal deleted inserted replaced
5775:a6c2b8933507 5776:bd0ff8ae98a8
1 -- Prosody IM 1 -- Prosody IM
2 -- Copyright (C) 2008-2010 Matthew Wild 2 -- Copyright (C) 2008-2010 Matthew Wild
3 -- Copyright (C) 2008-2010 Waqas Hussain 3 -- Copyright (C) 2008-2010 Waqas Hussain
4 -- 4 --
5 -- This project is MIT/X11 licensed. Please see the 5 -- This project is MIT/X11 licensed. Please see the
6 -- COPYING file in the source package for more information. 6 -- COPYING file in the source package for more information.
7 -- 7 --
8 8
9 local hosts = _G.hosts; 9 local hosts = _G.hosts;
33 return key == generate_dialback(id, to, from); 33 return key == generate_dialback(id, to, from);
34 end 34 end
35 35
36 module:hook("stanza/jabber:server:dialback:verify", function(event) 36 module:hook("stanza/jabber:server:dialback:verify", function(event)
37 local origin, stanza = event.origin, event.stanza; 37 local origin, stanza = event.origin, event.stanza;
38 38
39 if origin.type == "s2sin_unauthed" or origin.type == "s2sin" then 39 if origin.type == "s2sin_unauthed" or origin.type == "s2sin" then
40 -- We are being asked to verify the key, to ensure it was generated by us 40 -- We are being asked to verify the key, to ensure it was generated by us
41 origin.log("debug", "verifying that dialback key is ours..."); 41 origin.log("debug", "verifying that dialback key is ours...");
42 local attr = stanza.attr; 42 local attr = stanza.attr;
43 if attr.type then 43 if attr.type then
60 end 60 end
61 end); 61 end);
62 62
63 module:hook("stanza/jabber:server:dialback:result", function(event) 63 module:hook("stanza/jabber:server:dialback:result", function(event)
64 local origin, stanza = event.origin, event.stanza; 64 local origin, stanza = event.origin, event.stanza;
65 65
66 if origin.type == "s2sin_unauthed" or origin.type == "s2sin" then 66 if origin.type == "s2sin_unauthed" or origin.type == "s2sin" then
67 -- he wants to be identified through dialback 67 -- he wants to be identified through dialback
68 -- We need to check the key with the Authoritative server 68 -- We need to check the key with the Authoritative server
69 local attr = stanza.attr; 69 local attr = stanza.attr;
70 local to, from = nameprep(attr.to), nameprep(attr.from); 70 local to, from = nameprep(attr.to), nameprep(attr.from);
71 71
72 if not hosts[to] then 72 if not hosts[to] then
73 -- Not a host that we serve 73 -- Not a host that we serve
74 origin.log("info", "%s tried to connect to %s, which we don't serve", from, to); 74 origin.log("info", "%s tried to connect to %s, which we don't serve", from, to);
75 origin:close("host-unknown"); 75 origin:close("host-unknown");
76 return true; 76 return true;
77 elseif not from then 77 elseif not from then
78 origin:close("improper-addressing"); 78 origin:close("improper-addressing");
79 end 79 end
80 80
81 origin.hosts[from] = { dialback_key = stanza[1] }; 81 origin.hosts[from] = { dialback_key = stanza[1] };
82 82
83 dialback_requests[from.."/"..origin.streamid] = origin; 83 dialback_requests[from.."/"..origin.streamid] = origin;
84 84
85 -- COMPAT: ejabberd, gmail and perhaps others do not always set 'to' and 'from' 85 -- COMPAT: ejabberd, gmail and perhaps others do not always set 'to' and 'from'
86 -- on streams. We fill in the session's to/from here instead. 86 -- on streams. We fill in the session's to/from here instead.
87 if not origin.from_host then 87 if not origin.from_host then
88 origin.from_host = from; 88 origin.from_host = from;
89 end 89 end
100 end 100 end
101 end); 101 end);
102 102
103 module:hook("stanza/jabber:server:dialback:verify", function(event) 103 module:hook("stanza/jabber:server:dialback:verify", function(event)
104 local origin, stanza = event.origin, event.stanza; 104 local origin, stanza = event.origin, event.stanza;
105 105
106 if origin.type == "s2sout_unauthed" or origin.type == "s2sout" then 106 if origin.type == "s2sout_unauthed" or origin.type == "s2sout" then
107 local attr = stanza.attr; 107 local attr = stanza.attr;
108 local dialback_verifying = dialback_requests[attr.from.."/"..(attr.id or "")]; 108 local dialback_verifying = dialback_requests[attr.from.."/"..(attr.id or "")];
109 if dialback_verifying and attr.from == origin.to_host then 109 if dialback_verifying and attr.from == origin.to_host then
110 local valid; 110 local valid;
129 end 129 end
130 end); 130 end);
131 131
132 module:hook("stanza/jabber:server:dialback:result", function(event) 132 module:hook("stanza/jabber:server:dialback:result", function(event)
133 local origin, stanza = event.origin, event.stanza; 133 local origin, stanza = event.origin, event.stanza;
134 134
135 if origin.type == "s2sout_unauthed" or origin.type == "s2sout" then 135 if origin.type == "s2sout_unauthed" or origin.type == "s2sout" then
136 -- Remote server is telling us whether we passed dialback 136 -- Remote server is telling us whether we passed dialback
137 137
138 local attr = stanza.attr; 138 local attr = stanza.attr;
139 if not hosts[attr.to] then 139 if not hosts[attr.to] then
140 origin:close("host-unknown"); 140 origin:close("host-unknown");
141 return true; 141 return true;
142 elseif hosts[attr.to].s2sout[attr.from] ~= origin then 142 elseif hosts[attr.to].s2sout[attr.from] ~= origin then