openldap-openssl-ITS7595-Add-EC-support-2.patch 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. ITS#7595 don't try to use EC if OpenSSL lacks it
  2. Cherry-picked upstream 721e46fe6695077d63a3df6ea2e397920a72308d
  3. Author: Howard Chu <hyc@openldap.org>
  4. Date: Sun Sep 8 06:32:23 2013 -0700
  5. diff --git a/libraries/libldap/tls_o.c b/libraries/libldap/tls_o.c
  6. index 1a81bc625..71c2b055c 100644
  7. --- a/libraries/libldap/tls_o.c
  8. +++ b/libraries/libldap/tls_o.c
  9. @@ -321,8 +321,12 @@ tlso_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server )
  10. DH_free( dh );
  11. }
  12. -#ifdef SSL_OP_SINGLE_ECDH_USE
  13. if ( is_server && lo->ldo_tls_ecname ) {
  14. +#ifdef OPENSSL_NO_EC
  15. + Debug( LDAP_DEBUG_ANY,
  16. + "TLS: Elliptic Curves not supported.\n", 0,0,0 );
  17. + return -1;
  18. +#else
  19. EC_KEY *ecdh;
  20. int nid = OBJ_sn2nid( lt->lt_ecname );
  21. @@ -344,8 +348,8 @@ tlso_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server )
  22. SSL_CTX_set_tmp_ecdh( ctx, ecdh );
  23. SSL_CTX_set_options( ctx, SSL_OP_SINGLE_ECDH_USE );
  24. EC_KEY_free( ecdh );
  25. - }
  26. #endif
  27. + }
  28. if ( tlso_opt_trace ) {
  29. SSL_CTX_set_info_callback( ctx, tlso_info_cb );