Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLS authenticator being ignored in server mode? #401

Open
misterfish opened this issue Aug 16, 2021 · 0 comments
Open

TLS authenticator being ignored in server mode? #401

misterfish opened this issue Aug 16, 2021 · 0 comments

Comments

@misterfish
Copy link

The TLS authenticator which is a part of ctx, which is passed to conduit_lwt_unix.serve, seems to not get passed on to the underlying library. This only applies to server mode and I am only looking at conduit_lwt_unix for now.

You can see this in the functions conduit_lwt_unix.serve_with_tls_native and conduit_lwt_unix.serve_with_open_ssl. The tls_authenticator field of the context is no longer accessed.

Is this expected or am I seeing this wrong?

I've manually patched conduit_lwt_unix to pass ~authenticator to Conduit_lwt_tls.Server.init, and I'm passing a simple dir-based authenticator which reads my /etc/ssl/certs, and only then do the values in epoch_data related to client auth get filled in. Otherwise entire chunks of code in tls related to client authentication are skipped, as client_auth will be detected as false.

And is it so that in the openssl case (serve_with_open_ssl) we must still drop it? Because the underlying library doesn't know what to do with an X509.Authenticator.t. If this is so it is rather confusing; it would mean that the way one populates the ctx in the initial conduit call depends on the underlying library used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant