Hi Sebastian

On Mon, Aug 07, 2017 at 07:15:19PM +0200, Sebastian Andrzej Siewior wrote:
> On 2017-08-07 14:26:07 [+0200], Salvatore Bonaccorso wrote:
> > Control: severity important
> 
> as in SSL not working anymore in unstable for libesmtp.
> 
> > Hi Jeremy,
> Hi Salvatore,
> 
> > Please find attached a (refreshed) patch which is still valid to add
> > the proper support for TLSv1.1+
> 
> Description: Add TLSv1.1 and TLSv1.2 support
> Origin: vendor
> Bug-Debian: https://bugs.debian.org/802658
> Author: Salvatore Bonaccorso <car...@debian.org>
> Last-Update: 2015-11-07
> 
> --- a/smtp-tls.c
> +++ b/smtp-tls.c
> @@ -197,11 +197,24 @@ starttls_create_ctx (smtp_session_t sess
>    ckf_t status;
>  
>    /* The decision not to support SSL v2 and v3 but instead to use only
> -     TLSv1 is deliberate.  This is in line with the intentions of RFC
> +     TLSv1.X is deliberate.  This is in line with the intentions of RFC
>       3207.  Servers typically support SSL as well as TLS because some
>       versions of Netscape do not support TLS.  I am assuming that all
>       currently deployed servers correctly support TLS.  */
> -  ctx = SSL_CTX_new (TLSv1_client_method ());
> +#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && \
> +    !defined(LIBRESSL_VERSION_NUMBER)  && !defined(OPENSSL_IS_BORINGSSL)
> +    ctx = SSL_CTX_new (TLS_client_method ());
> +#else
> +    ctx = SSL_CTX_new (SSLv23_client_method ());
> +#endif
> +
> +#ifdef OPENSSL_NO_SSL3
> +    SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3);
> +#endif
> +
> +#ifdef OPENSSL_NO_SSL2
> +    SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
> +#endif
>  
>    /* Load our keys and certificates.  To avoid messing with configuration
>       variables etc, use fixed paths for the certificate store.  These are
> 
> This looks good. I would however just replace TLSv1_client_method() with
> SSLv23_client_method() (without the version check) and be done with it.
> Setting the NO_SSLvX thingy is a nop in Debian but upstream might be
> happy to see it.

Thanks for review. The reason I did that is indeed, to have a patch
which is most acceptable for upstream to include, independent on
Debian, although upstream since I initially pinged never replied to my
queries :-(. Thus as well the explicit version checking, since AFAIU
the use of the SSLv23_client_method is deprecated in favour of
TLS_client_method. 

The POD for SSL_CTX_new states this explicitly:

SSLv23_method(), SSLv23_server_method() and SSLv23_client_method()
were deprecated and the preferred TLS_method(), TLS_server_method()
and TLS_client_method() functions were introduced in OpenSSL 1.1.0.

Did I missunderstood something here?

So ok I will again do some testing now that the new version is in
unstable.

Regards,
Salvatore

Reply via email to