On Fri, Nov 20, 2020 at 02:10:33AM +0500, ???? ??????? wrote:
> I'd like to get rid of OPENSSL_VERSION as much as possible.
> what would be better for guarding TLS13 ciphers manipulation ?
> 
> approach 1 (macro defined in openssl-compat.h)
> 
> #if ((OPENSSL_VERSION_NUMBER >= 0x10101000L) &&
> !defined(LIBRESSL_VERSION_NUMBER) && !defined(OPENSSL_IS_BORINGSSL))
> #define HAVE_SSL_CTX_SET_CIPHERSUITES
> #endif
> 
> approach 2 (macro TLS13_NUM_CIPHERS)
> 
> #ifdef TLS13_NUM_CIPHERS
>         conf_ciphersuites = (ssl_conf && ssl_conf->ciphersuites) ?
> ssl_conf->ciphersuites : bind_conf->ssl_conf.ciphersuites;
>         ...
> #endif

Interesting. How about a mix of the two then:

  #ifdef TLS13_NUM_CIPHERS // only set when TLSv1.3 ciphers are defined
  #define HAVE_SSL_CTX_SET_CIPHERSUITES
  #endif

Then only use ifdef HAVE_SSL_CTX_SET_CIPHERSUITES.
The benefit is that we keep the magic in openssl-compat.h.

Willy

Reply via email to