mod_tlsfail: Test how servers react to starttls failure
Lines copypasted from mod_tls
Intended for use in the badxmpp.eu test suite
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_tlsfail/mod_tlsfail.lua Wed Feb 10 16:02:28 2021 +0100
@@ -0,0 +1,19 @@
+local st = require "util.stanza";
+
+local xmlns_starttls = 'urn:ietf:params:xml:ns:xmpp-tls';
+local starttls_attr = { xmlns = xmlns_starttls };
+local s2s_feature = st.stanza("starttls", starttls_attr);
+local starttls_failure = st.stanza("failure", starttls_attr);
+
+module:hook("s2s-stream-features", function(event)
+ local features = event.features;
+ features:add_child(s2s_feature);
+end);
+
+-- Hook <starttls/>
+module:hook("stanza/urn:ietf:params:xml:ns:xmpp-tls:starttls", function(event)
+ local origin = event.origin;
+ origin.sends2s(starttls_failure);
+ origin:close();
+ return true;
+end);