> On Mar 21, 2018, at 9:46 PM, Wietse Venema <wie...@porcupine.org> wrote:
> 
> Just like the SMTP conection cache service, the tlsproxy service
> must not try to do clever things. It receives TLS requirements,
> does a TLS handshake, and returns TLS session properties that can
> later be used to create a connection cache index. If it needs to
> impersonate a delivery agent, then it gets that nanme from the
> Postfix SMTP client.

I'd like to avoid having to fully instantiate the SSL_CTX for each
and every connection, SSL_CTX initialization can be expensive.
Thus, the agent name requirement, and re-use of SSL_CTX built for
previous clients with the same name.

> For obvious scalability reasons, there need to be as many tlsproxy
> processes as needed, so we must not assume that one tlsproxy holds
> all state for all TLS sessions.

Of course, there will be multiple proxy service processes with each
typically serving multiple clients, but only a single proxy service
*definition* in master.cf which handles all the delivery agents.

One could of course choose to dedicate a separate proxy service
for some set of delivery agents via a suitable override of
"smtp_tls_proxy_service_name", but that should not be needed.

All in all this is a non-trivial bit of work...

-- 
        Viktor.

Reply via email to