Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 15:04:34 +0200] rev 11682
mod_s2s: Remove connection timeout once it's no longer needed
Reduces the number of left-over timers to handle after many s2s
connections were started, leaving only the ones related to incomplete
connections.
Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 14:58:50 +0200] rev 11681
net.server_epoll: Call onconnect immediately after TLS handshake completion
Skips a roundtrip through the main loop in case client-first data is
available already, if not then :onreadable() will set the appropriate
timeout.
Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 14:55:21 +0200] rev 11680
net.server_epoll: Refactor immediate TLS handshake start
Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 14:51:05 +0200] rev 11679
net.server_epoll: Keep socket registered in epoll trough TLS wrapping
There's the theory that the socket isn't the same before/after wrap(),
but since epoll operates on FD numbers this shouldn't matter.
Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 14:27:46 +0200] rev 11678
net.server_epoll: Use TLS handshake timeout after initiating handshake
The :init() method sets a different timeout than the TLS related methods.
Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 14:20:26 +0200] rev 11677
net.server_epoll: Start TLS handshake immediately on newly accepted connections
Since TLS is a client-first protocol there is a chance that the
ClientHello message is available already. TLS Fast Open and/or the
TCP_DEFER_ACCEPT socket option would increase that chance.
Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 14:20:24 +0200] rev 11676
net.server_epoll: Factor out TLS initialization into a method
So there's :startls(), :inittls() and :tlshandshake()
:starttls() prepares for plain -> TLS upgrade and ensures that the
(unencrypted) write buffer is drained before proceeding.
:inittls() wraps the connection and does things like SNI, DANE etc.
:tlshandshake() steps the TLS negotiation forward until it completes
Kim Alvefur <zash@zash.se> [Tue, 13 Jul 2021 02:05:35 +0200] rev 11675
net.server_epoll: Fix typo
Kim Alvefur <zash@zash.se> [Sun, 11 Jul 2021 12:41:32 +0200] rev 11674
mod_s2s: Log debug message on attempted close of an connectionless session
This should probably never happen, but probably does anyways.
A debug message would show the truth of the matter.
Kim Alvefur <zash@zash.se> [Sun, 11 Jul 2021 12:37:51 +0200] rev 11673
mod_s2s: Drop level of indentation by inverting a condition and early return
Nicer to get rid of a conditional that covers such a large portion of a
pretty big function.