crypto_tls_openssl_c.patch 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. $OpenBSD: patch-src_crypto_tls_openssl_c,v 1.3 2015/09/29 11:57:54 dcoppa Exp $
  2. Compatibility fixes for LibreSSL
  3. --- a/src/crypto/tls_openssl.c.orig Sun Sep 27 21:02:05 2015
  4. +++ b/src/crypto/tls_openssl.c Mon Sep 28 13:43:46 2015
  5. @@ -2229,7 +2229,7 @@ static int tls_parse_pkcs12(struct tls_data *data, SSL
  6. }
  7. if (certs) {
  8. -#if OPENSSL_VERSION_NUMBER >= 0x10002000L
  9. +#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
  10. SSL_clear_chain_certs(ssl);
  11. while ((cert = sk_X509_pop(certs)) != NULL) {
  12. X509_NAME_oneline(X509_get_subject_name(cert), buf,
  13. @@ -2247,7 +2247,7 @@ static int tls_parse_pkcs12(struct tls_data *data, SSL
  14. /* Try to continue anyway */
  15. }
  16. sk_X509_free(certs);
  17. -#ifndef OPENSSL_IS_BORINGSSL
  18. +#if !defined(OPENSSL_IS_BORINGSSL) && !defined(LIBRESSL_VERSION_NUMBER)
  19. res = SSL_build_cert_chain(ssl,
  20. SSL_BUILD_CHAIN_FLAG_CHECK |
  21. SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR);
  22. @@ -2812,7 +2812,7 @@ int tls_connection_get_random(void *ssl_ctx, struct tl
  23. if (conn == NULL || keys == NULL)
  24. return -1;
  25. ssl = conn->ssl;
  26. -#if OPENSSL_VERSION_NUMBER < 0x10100000L
  27. +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
  28. if (ssl == NULL || ssl->s3 == NULL || ssl->session == NULL)
  29. return -1;
  30. @@ -2841,7 +2841,7 @@ int tls_connection_get_random(void *ssl_ctx, struct tl
  31. #ifndef CONFIG_FIPS
  32. static int openssl_get_keyblock_size(SSL *ssl)
  33. {
  34. -#if OPENSSL_VERSION_NUMBER < 0x10100000L
  35. +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
  36. const EVP_CIPHER *c;
  37. const EVP_MD *h;
  38. int md_size;
  39. @@ -2911,7 +2911,7 @@ static int openssl_tls_prf(struct tls_connection *conn
  40. "mode");
  41. return -1;
  42. #else /* CONFIG_FIPS */
  43. -#if OPENSSL_VERSION_NUMBER < 0x10100000L
  44. +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
  45. SSL *ssl;
  46. u8 *rnd;
  47. int ret = -1;
  48. @@ -3394,7 +3394,7 @@ int tls_connection_set_cipher_list(void *tls_ctx, stru
  49. wpa_printf(MSG_DEBUG, "OpenSSL: cipher suites: %s", buf + 1);
  50. -#if OPENSSL_VERSION_NUMBER >= 0x10100000L
  51. +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
  52. #if defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || defined(EAP_SERVER_FAST)
  53. if (os_strstr(buf, ":ADH-")) {
  54. /*
  55. @@ -3977,7 +3977,7 @@ static int tls_sess_sec_cb(SSL *s, void *secret, int *
  56. struct tls_connection *conn = arg;
  57. int ret;
  58. -#if OPENSSL_VERSION_NUMBER < 0x10100000L
  59. +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
  60. if (conn == NULL || conn->session_ticket_cb == NULL)
  61. return 0;