aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/resolvers/service.lua11
-rw-r--r--plugins/mod_s2s_auth_certs.lua10
-rw-r--r--util/x509.lua3
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);