projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net.http.server: Properly handle persistent connections
[prosody.git]
/
plugins
/
mod_dialback.lua
diff --git
a/plugins/mod_dialback.lua
b/plugins/mod_dialback.lua
index 67be15e33bda6ecb7ed17a7758ed7b6fbcd0ea55..b2f846034adb46b7005cac817de12db569e43801 100644
(file)
--- a/
plugins/mod_dialback.lua
+++ b/
plugins/mod_dialback.lua
@@
-41,6
+41,11
@@
module:hook("stanza/jabber:server:dialback:verify", function(event)
-- We are being asked to verify the key, to ensure it was generated by us
origin.log("debug", "verifying that dialback key is ours...");
local attr = stanza.attr;
-- We are being asked to verify the key, to ensure it was generated by us
origin.log("debug", "verifying that dialback key is ours...");
local attr = stanza.attr;
+ if attr.type then
+ module:log("warn", "Ignoring incoming session from %s claiming a dialback key for %s is %s",
+ origin.from_host or "(unknown)", attr.from or "(unknown)", attr.type);
+ return true;
+ end
-- COMPAT: Grr, ejabberd breaks this one too?? it is black and white in XEP-220 example 34
--if attr.from ~= origin.to_host then error("invalid-from"); end
local type;
-- COMPAT: Grr, ejabberd breaks this one too?? it is black and white in XEP-220 example 34
--if attr.from ~= origin.to_host then error("invalid-from"); end
local type;
@@
-102,7
+107,6
@@
module:hook("stanza/jabber:server:dialback:verify", function(event)
if origin.type == "s2sout_unauthed" or origin.type == "s2sout" then
local attr = stanza.attr;
local dialback_verifying = dialback_requests[attr.from.."/"..(attr.id or "")];
if origin.type == "s2sout_unauthed" or origin.type == "s2sout" then
local attr = stanza.attr;
local dialback_verifying = dialback_requests[attr.from.."/"..(attr.id or "")];
- module:log("debug", tostring(dialback_verifying).." "..attr.from.." "..origin.to_host);
if dialback_verifying and attr.from == origin.to_host then
local valid;
if attr.type == "valid" then
if dialback_verifying and attr.from == origin.to_host then
local valid;
if attr.type == "valid" then
@@
-110,10
+114,10
@@
module:hook("stanza/jabber:server:dialback:verify", function(event)
valid = "valid";
else
-- Warn the original connection that is was not verified successfully
valid = "valid";
else
-- Warn the original connection that is was not verified successfully
- log("warn", "authoritative server for
"..(attr.from or "(unknown)").." denied the key
");
+ log("warn", "authoritative server for
%s denied the key", attr.from or "(unknown)
");
valid = "invalid";
end
valid = "invalid";
end
- if
not dialback_verifying.sends2s
then
+ if
dialback_verifying.destroyed
then
log("warn", "Incoming s2s session %s was closed in the meantime, so we can't notify it of the db result", tostring(dialback_verifying):match("%w+$"));
else
dialback_verifying.sends2s(
log("warn", "Incoming s2s session %s was closed in the meantime, so we can't notify it of the db result", tostring(dialback_verifying):match("%w+$"));
else
dialback_verifying.sends2s(