comparison plugins/mod_s2s_auth_certs.lua @ 12808:12bd40b8e105

mod_c2s,mod_s2s: Adapt to XEP-xxxx: Stream Limits Advertisement Thanks MattJ
author Kim Alvefur <zash@zash.se>
date Thu, 20 Oct 2022 14:04:56 +0200
parents 7e9ebdc75ce4
children b2d422b88cd6
comparison
equal deleted inserted replaced
12807:f0f7b0c61465 12808:12bd40b8e105
9 9
10 module:hook("s2s-check-certificate", function(event) 10 module:hook("s2s-check-certificate", function(event)
11 local session, host, cert = event.session, event.host, event.cert; 11 local session, host, cert = event.session, event.host, event.cert;
12 local conn = session.conn; 12 local conn = session.conn;
13 local log = session.log or log; 13 local log = session.log or log;
14
15 local secure_hostname = conn.extra and conn.extra.dane_hostname;
14 16
15 if not cert then 17 if not cert then
16 log("warn", "No certificate provided by %s", host or "unknown host"); 18 log("warn", "No certificate provided by %s", host or "unknown host");
17 return; 19 return;
18 end 20 end
35 log("debug", "certificate chain validation result: valid"); 37 log("debug", "certificate chain validation result: valid");
36 session.cert_chain_status = "valid"; 38 session.cert_chain_status = "valid";
37 39
38 -- We'll go ahead and verify the asserted identity if the 40 -- We'll go ahead and verify the asserted identity if the
39 -- connecting server specified one. 41 -- connecting server specified one.
42 if secure_hostname then
43 if cert_verify_identity(secure_hostname, "xmpp-server", cert) then
44 module:log("info", "Secure SRV name delegation %q -> %q", secure_hostname, host);
45 session.cert_identity_status = "valid"
46 else
47 session.cert_identity_status = "invalid"
48 end
49 end
40 if host then 50 if host then
41 if cert_verify_identity(host, "xmpp-server", cert) then 51 if cert_verify_identity(host, "xmpp-server", cert) then
42 session.cert_identity_status = "valid" 52 session.cert_identity_status = "valid"
43 else 53 else
44 session.cert_identity_status = "invalid" 54 session.cert_identity_status = "invalid"