Fri, 10 Aug 2012 13:03:06 +0100
Add Facebook fingerprints (and move test for FBv1 from the ejabberd fingerprint)
--- 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];