Mercurial > prosody-hg
comparison plugins/mod_tls.lua @ 12211:5c2ae28f536e
mod_tls: Set ALPN on outgoing connections
Relevant and sometimes needed for Direct TLS which mod_s2s uses this
context for. Primarily when e.g. mod_net_multiplex or equivalent ALPN
based dispatch is used.
All these contexts should likely move away from mod_tls and into either
mod_s2s or portmanager. The later already duplicates some of this work.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 25 Jan 2022 13:20:26 +0100 |
| parents | 65e252940337 |
| children | 38b5b05407be |
comparison
equal
deleted
inserted
replaced
| 12209:3fe2e5da05c3 | 12211:5c2ae28f536e |
|---|---|
| 53 local parent_s2s = rawgetopt(parent, "s2s_ssl") or NULL; | 53 local parent_s2s = rawgetopt(parent, "s2s_ssl") or NULL; |
| 54 local host_s2s = rawgetopt(modhost, "s2s_ssl") or parent_s2s; | 54 local host_s2s = rawgetopt(modhost, "s2s_ssl") or parent_s2s; |
| 55 | 55 |
| 56 module:log("debug", "Creating context for c2s"); | 56 module:log("debug", "Creating context for c2s"); |
| 57 local request_client_certs = { verify = { "peer", "client_once", }; }; | 57 local request_client_certs = { verify = { "peer", "client_once", }; }; |
| 58 local xmpp_alpn = { alpn = "xmpp-server" }; | |
| 58 | 59 |
| 59 ssl_ctx_c2s, err_c2s, ssl_cfg_c2s = create_context(host.host, "server", host_c2s, host_ssl, global_c2s); -- for incoming client connections | 60 ssl_ctx_c2s, err_c2s, ssl_cfg_c2s = create_context(host.host, "server", host_c2s, host_ssl, global_c2s); -- for incoming client connections |
| 60 if not ssl_ctx_c2s then module:log("error", "Error creating context for c2s: %s", err_c2s); end | 61 if not ssl_ctx_c2s then module:log("error", "Error creating context for c2s: %s", err_c2s); end |
| 61 | 62 |
| 62 module:log("debug", "Creating context for s2sout"); | 63 module:log("debug", "Creating context for s2sout"); |
| 63 -- for outgoing server connections | 64 -- for outgoing server connections |
| 64 ssl_ctx_s2sout, err_s2sout, ssl_cfg_s2sout = create_context(host.host, "client", host_s2s, host_ssl, global_s2s, request_client_certs); | 65 ssl_ctx_s2sout, err_s2sout, ssl_cfg_s2sout = create_context(host.host, "client", host_s2s, host_ssl, global_s2s, request_client_certs, xmpp_alpn); |
| 65 if not ssl_ctx_s2sout then module:log("error", "Error creating contexts for s2sout: %s", err_s2sout); end | 66 if not ssl_ctx_s2sout then module:log("error", "Error creating contexts for s2sout: %s", err_s2sout); end |
| 66 | 67 |
| 67 module:log("debug", "Creating context for s2sin"); | 68 module:log("debug", "Creating context for s2sin"); |
| 68 -- for incoming server connections | 69 -- for incoming server connections |
| 69 ssl_ctx_s2sin, err_s2sin, ssl_cfg_s2sin = create_context(host.host, "server", host_s2s, host_ssl, global_s2s, request_client_certs); | 70 ssl_ctx_s2sin, err_s2sin, ssl_cfg_s2sin = create_context(host.host, "server", host_s2s, host_ssl, global_s2s, request_client_certs); |
