diff options
-rw-r--r-- | net/resolvers/service.lua | 11 | ||||
-rw-r--r-- | plugins/mod_s2s_auth_certs.lua | 10 | ||||
-rw-r--r-- | util/x509.lua | 3 |
3 files changed, 5 insertions, 19 deletions
diff --git a/net/resolvers/service.lua b/net/resolvers/service.lua index 39031503..a7ce76a3 100644 --- a/net/resolvers/service.lua +++ b/net/resolvers/service.lua @@ -111,17 +111,12 @@ function methods:next(cb) answer = {}; end if answer then - if answer.bogus then + if self.extra and not answer.secure then + self.extra.use_dane = false; + elseif answer.bogus then self.last_error = "Validation error in SRV lookup"; ready(); return; - elseif self.extra then - if answer.secure then - self.extra.secure_hostname = "HMMMMMMM"; - else - -- Insecure results, so no DANE - self.extra.use_dane = false; - end end if #answer == 0 then diff --git a/plugins/mod_s2s_auth_certs.lua b/plugins/mod_s2s_auth_certs.lua index 5f5cce02..bde3cb82 100644 --- a/plugins/mod_s2s_auth_certs.lua +++ b/plugins/mod_s2s_auth_certs.lua @@ -12,8 +12,6 @@ module:hook("s2s-check-certificate", function(event) local conn = session.conn; local log = session.log or log; - local secure_hostname = conn.extra and conn.extra.dane_hostname; - if not cert then log("warn", "No certificate provided by %s", host or "unknown host"); return; @@ -39,14 +37,6 @@ module:hook("s2s-check-certificate", function(event) -- We'll go ahead and verify the asserted identity if the -- connecting server specified one. - if secure_hostname then - if cert_verify_identity(secure_hostname, "xmpp-server", cert) then - module:log("info", "Secure SRV name delegation %q -> %q", secure_hostname, host); - session.cert_identity_status = "valid" - else - session.cert_identity_status = "invalid" - end - end if host then if cert_verify_identity(host, "xmpp-server", cert) then session.cert_identity_status = "valid" diff --git a/util/x509.lua b/util/x509.lua index ae250a55..51ca3c96 100644 --- a/util/x509.lua +++ b/util/x509.lua @@ -276,7 +276,8 @@ local function get_identities(cert) --> map of names to sets of services return names.data; end -local pat = "%-%-%-%-%-BEGIN ([A-Z ]+)%-%-%-%-%-\r?\n([0-9A-Za-z+/=\r\n]*)\r?\n%-%-%-%-%-END %1%-%-%-%-%-"; +local pat = "%-%-%-%-%-BEGIN ([A-Z ]+)%-%-%-%-%-\r?\n".. +"([0-9A-Za-z+/=\r\n]*)\r?\n%-%-%-%-%-END %1%-%-%-%-%-"; local function pem2der(pem) local typ, data = pem:match(pat); |