Add Facebook fingerprints (and move test for FBv1 from the ejabberd fingerprint) default tip

Fri, 10 Aug 2012 13:03:06 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Fri, 10 Aug 2012 13:03:06 +0100
changeset 16
872dc69f6039
parent 15
1b59ba3e9508

Add Facebook fingerprints (and move test for FBv1 from the ejabberd fingerprint)

servers/ejabberd.lua file | annotate | diff | comparison | revisions
servers/facebook.lua file | annotate | diff | comparison | revisions
xmpp-fingerprint.lua file | annotate | diff | comparison | revisions
--- a/servers/ejabberd.lua	Fri Aug 10 13:02:10 2012 +0100
+++ b/servers/ejabberd.lua	Fri Aug 10 13:03:06 2012 +0100
@@ -1,14 +1,10 @@
 function testers.ejabberd()
 	if (test(q_invalid_xml, [=[ id=["']none['"]]=]) or test(q_invalid_xml, " id='%d+'"))
-		and (not test(q_invalid_xml, literal " xml:lang=")) then
+		and (not test(q_invalid_xml, literal " xml:lang="))
+		and not test(q_invalid_xml, " id=(.)") == '"' then
 		
 		server_name = "ejabberd";
 		
-		-- Facebook curiosity
-		if test(q_invalid_xml, " id=(.)") == '"' then
-			server_comment "Appears to be Facebook's variant of ejabberd";
-		end
-		
 		local hostname = test(q_invalid_xml, [=[from=["']([^"']+)]=]);
 		if not hostname then
 			server_comment "The server did not return a hostname, odd.";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/servers/facebook.lua	Fri Aug 10 13:03:06 2012 +0100
@@ -0,0 +1,14 @@
+function testers.facebook()
+	if test(q_invalid_xml, false) and test(q_invalid_host, " id='1' ")
+		and test(q_invalid_host, literal"<mechanism>X-FACEBOOK-PLATFORM</mechanism>") then
+		
+		server_name = "Facebook";
+		server_version = "2.0";
+
+	elseif (test(q_invalid_xml, [=[ id=["']none['"]]=]) or test(q_invalid_xml, " id='%d+'"))
+		and (not test(q_invalid_xml, literal " xml:lang=")) and test(q_invalid_xml, " id=(.)") == '"' then
+		server_name = "Facebook";
+		server_version = "1.0";
+	end
+end
+
--- a/xmpp-fingerprint.lua	Fri Aug 10 13:02:10 2012 +0100
+++ b/xmpp-fingerprint.lua	Fri Aug 10 13:03:06 2012 +0100
@@ -139,6 +139,7 @@
 dofile "servers/openfire.lua"
 dofile "servers/jabber_xcp.lua"
 dofile "servers/soapbox.lua"
+dofile "servers/facebook.lua"
 
 function test_fingerprint(server)
 	local tester = testers[server];

mercurial