working outgoing s2s \o/ s2s

Fri, 24 Oct 2008 03:42:26 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Fri, 24 Oct 2008 03:42:26 +0100
branch
s2s
changeset 146
3826ca244eb6
parent 145
fbb3a4ff9cf1
child 147
ccebb2720741

working outgoing s2s \o/

core/stanza_router.lua file | annotate | diff | comparison | revisions
core/xmlhandlers.lua file | annotate | diff | comparison | revisions
--- a/core/stanza_router.lua	Fri Oct 24 03:06:55 2008 +0100
+++ b/core/stanza_router.lua	Fri Oct 24 03:42:26 2008 +0100
@@ -13,6 +13,7 @@
 local user_exists = require "core.usermanager".user_exists;
 
 local s2s_verify_dialback = require "core.s2smanager".verify_dialback;
+local s2s_make_authenticated = require "core.s2smanager".make_authenticated;
 local format = string.format;
 local tostring = tostring;
 
@@ -109,6 +110,15 @@
 			end
 			origin.send(format("<db:verify from='%s' to='%s' id='%s' type='%s'>%s</db:verify>", attr.to, attr.from, attr.id, type, stanza[1]));
 		end
+	elseif origin.type == "s2sout_unauthed" then
+		if stanza.name == "result" and stanza.attr.xmlns == "jabber:server:dialback" then
+			if stanza.attr.type == "valid" then
+				s2s_make_authenticated(origin);
+			else
+				-- FIXME
+				error("dialback failed!");
+			end
+		end
 	else
 		log("warn", "Unhandled origin: %s", origin.type);
 	end
@@ -208,6 +218,8 @@
 		end
 	else
 		-- Remote host
+		log("debug", "sending s2s stanza: %s", tostring(stanza));
+		stanza.attr.xmlns = "jabber:server";
 		send_s2s(origin.host, host, stanza);
 	end
 	stanza.attr.to = to; -- reset
--- a/core/xmlhandlers.lua	Fri Oct 24 03:06:55 2008 +0100
+++ b/core/xmlhandlers.lua	Fri Oct 24 03:42:26 2008 +0100
@@ -35,7 +35,6 @@
 				stanza:text(t_concat(chardata));
 				chardata = {};
 			end
-			log("debug", "Start element: %s", tostring(name));
 			curr_ns,name = name:match("^(.+):([%w%-]+)$");
 			attr.xmlns = curr_ns;
 			

mercurial