Mercurial > prosody-modules
comparison mod_s2s_auth_dane/mod_s2s_auth_dane.lua @ 1330:bb6f3312ab46
mod_s2s_auth_dane: Don't allow unencrypted connections if TLSA exists
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 05 Mar 2014 17:44:27 +0100 |
| parents | 8d99b9c4cf0c |
| children | 08a0241f5d2c |
comparison
equal
deleted
inserted
replaced
| 1329:8d99b9c4cf0c | 1330:bb6f3312ab46 |
|---|---|
| 102 session.cert_chain_status = "invalid"; | 102 session.cert_chain_status = "invalid"; |
| 103 end | 103 end |
| 104 end | 104 end |
| 105 end); | 105 end); |
| 106 | 106 |
| 107 function module.add_host(module) | |
| 108 module:hook("s2s-authenticated", function(event) | |
| 109 local session = event.session; | |
| 110 local srv_hosts = session.srv_hosts; | |
| 111 local srv_choice = session.srv_choice; | |
| 112 if srv_hosts[srv_choice].dane and not session.secure then | |
| 113 -- TLSA record but no TLS, not ok. | |
| 114 session:close({ | |
| 115 condition = "policy-violation", | |
| 116 text = "Encrypted server-to-server communication is required but was not " | |
| 117 ..((session.direction == "outgoing" and "offered") or "used") | |
| 118 }); | |
| 119 return false; | |
| 120 end | |
| 121 end); | |
| 122 end | |
| 123 | |
| 107 function module.unload() | 124 function module.unload() |
| 108 s2sout.try_connect = _try_connect; | 125 s2sout.try_connect = _try_connect; |
| 109 end | 126 end |
| 110 | 127 |
