Mon, 04 Oct 2010 02:37:42 +0100
servers/jabberd14.lua: Detect 1.4.x/1.6.x/jadc2s
servers/jabberd14.lua | file | annotate | diff | comparison | revisions |
--- a/servers/jabberd14.lua Mon Oct 04 02:37:10 2010 +0100 +++ b/servers/jabberd14.lua Mon Oct 04 02:37:42 2010 +0100 @@ -1,19 +1,15 @@ --- The jabberd14/jabberd2 split is a complete mess. There are --- servers that report as jabberd14 that return the same fingerprint --- as jabberd2 servers. A jabberd14 1.6.1.1 server on Debian was --- more similar to jabberd14 1.4.x, so I am assuming it to be the --- correct one, even though I can't find another one like it... - function testers.jabberd14() - if test(q_invalid_xml, literal ">Invalid XML<") then + if test(q_invalid_xml, literal ">Invalid XML<") + or (test(q_invalid_xml, literal ">syntax error</text>") + and not test(q_invalid_host, literal " id='")) then server_name = "jabberd14"; - if test(q_invalid_xml, "^<%?xml") - and test(q_empty_message_tag, literal ">Did not specify a valid to argument<") then - server_min_version = "1.6.0"; - server_comment "Likely Debian's package, other 1.6.x jabberd's report as jabberd2"; - elseif test(q_invalid_xml, "^<stream:error>") then - server_max_version = "1.4.x"; + if test(q_invalid_xml, "^<stream:error>") then + server_min_version = "1.4.x"; + elseif test(q_empty_message_tag, literal "<improper-addressing ") then + server_min_version = "1.6.0" + elseif test(q_empty_message_tag, literal "<bad-format ") then + server_comment "Using jadc2s connection manager, jabberd14 version unknown"; end end end