servers/ejabberd.lua

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 14
a8f632e88555
permissions
-rw-r--r--

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

0
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 function testers.ejabberd()
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 if (test(q_invalid_xml, [=[ id=["']none['"]]=]) or test(q_invalid_xml, " id='%d+'"))
16
872dc69f6039 Add Facebook fingerprints (and move test for FBv1 from the ejabberd fingerprint)
Matthew Wild <mwild1@gmail.com>
parents: 14
diff changeset
3 and (not test(q_invalid_xml, literal " xml:lang="))
872dc69f6039 Add Facebook fingerprints (and move test for FBv1 from the ejabberd fingerprint)
Matthew Wild <mwild1@gmail.com>
parents: 14
diff changeset
4 and not test(q_invalid_xml, " id=(.)") == '"' then
0
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 server_name = "ejabberd";
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 local hostname = test(q_invalid_xml, [=[from=["']([^"']+)]=]);
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 if not hostname then
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 server_comment "The server did not return a hostname, odd.";
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 else
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 local stream_open = [[<stream:stream xmlns=']]..default_namespace..[['
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 xmlns:stream='http://etherx.jabber.org/streams' version='1.0' id='abc' to=']]..hostname..[['>]];
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14
14
a8f632e88555 servers/ejabberd.lua: Fix for ejabberd's requiring c2s TLS
Matthew Wild <mwild1@gmail.com>
parents: 1
diff changeset
15 if not test(stream_open.."<message/>", ":features>$")
a8f632e88555 servers/ejabberd.lua: Fix for ejabberd's requiring c2s TLS
Matthew Wild <mwild1@gmail.com>
parents: 1
diff changeset
16 -- Below for ejabberd requiring STARTTLS
a8f632e88555 servers/ejabberd.lua: Fix for ejabberd's requiring c2s TLS
Matthew Wild <mwild1@gmail.com>
parents: 1
diff changeset
17 and not test(stream_open.."<message/>", literal ":features><stream:error><policy-violation ") then
1
d9d0f9517ca0 servers/ejabberd.lua: Support for detection of ejabberd prior to 1.1.4
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
18 if test(stream_open, literal " from='dummyhost'") then
d9d0f9517ca0 servers/ejabberd.lua: Support for detection of ejabberd prior to 1.1.4
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
19 server_min_version = "1.x.x";
d9d0f9517ca0 servers/ejabberd.lua: Support for detection of ejabberd prior to 1.1.4
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
20 else
d9d0f9517ca0 servers/ejabberd.lua: Support for detection of ejabberd prior to 1.1.4
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
21 debug("Oops, not ejabberd (please report):", test(stream_open.."<message/>", ".*"));
d9d0f9517ca0 servers/ejabberd.lua: Support for detection of ejabberd prior to 1.1.4
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
22 server_name = nil;
d9d0f9517ca0 servers/ejabberd.lua: Support for detection of ejabberd prior to 1.1.4
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
23 end
0
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 return;
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 end
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 if test(q_invalid_xml, " id='%d+'") then
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 server_min_version = "2.1.x";
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29 elseif test(stream_open, literal "<compression ") then -- Only in 2.x
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 server_min_version = "2.0.x";
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 elseif test(stream_open, "") then
1
d9d0f9517ca0 servers/ejabberd.lua: Support for detection of ejabberd prior to 1.1.4
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
32 server_min_version = "1.1.4";
0
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 else
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 server_comment "The server did not reply when we tried to open a stream";
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 end
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37 end
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 end
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39 end
ba1cc6ad649d Initial commit (dedicated to darkrain)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40

mercurial