Do you think that the handshake completes? I'm not sure that execution is even reaching the stls_run() call; the segfault could have happened during the tls_handshake() call in stls_s6tlsd() (i.e. while executing LibreSSL code), and the tls_handshake() call in stls_s6tlsc() would report a failed handshake accordingly.
Indeed, the client's error message indicates that the handshake did not complete. But in that case, that would mean the error is in libtls, not s6-tlsd. I really am not sure how to debug this, since I cannot reproduce it under the same conditions (x86_64, Linux, musl, libressl 3.0.2, statically linked s6-tlsd). It may be something broken in the Void packaging of libressl. Ilaia, can you test with a manually built libressl instead of the version provided by Void? (No particular configure options.) -- Laurent
