OpenSSL: BoringSSL has SSL_get_client_random(), etc.
BoringSSL added OpenSSL 1.1.0's SSL_get_client_random() and friends in working towards opaquifying the SSL struct. But it, for the moment, still looks more like 1.0.2 than 1.1.0 and advertises OPENSSL_VERSION_NUMBER as such. This means that there is no need to define those in BoringSSL and defining them causes conflicts. (C does not like having static and non-static functions with the same name.) As requested, this is conditioned on defined(BORINGSSL_API_VERSION) so wpa_supplicant may continue to support older BoringSSLs for a time. (BoringSSL revisions without the accessors predate BoringSSL maintaining a BORINGSSL_API_VERSION.) Also add a missing opensslv.h include. tls_openssl.c is sensitive to OPENSSL_VERSION_NUMBER, so it should include the header directly rather than rely on another header to do so. Signed-off-by: David Benjamin <davidben@google.com>
This commit is contained in:
parent
9524e7e5a4
commit
e4471338c6
1 changed files with 6 additions and 2 deletions
|
@ -18,6 +18,7 @@
|
|||
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/opensslv.h>
|
||||
#include <openssl/pkcs12.h>
|
||||
#include <openssl/x509v3.h>
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
|
@ -51,10 +52,13 @@ typedef int stack_index_t;
|
|||
#endif /* OPENSSL_NO_TLSEXT */
|
||||
#endif /* SSL_set_tlsext_status_type */
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
#if (OPENSSL_VERSION_NUMBER < 0x10100000L || \
|
||||
defined(LIBRESSL_VERSION_NUMBER)) && \
|
||||
!defined(BORINGSSL_API_VERSION)
|
||||
/*
|
||||
* SSL_get_client_random() and SSL_get_server_random() were added in OpenSSL
|
||||
* 1.1.0. Provide compatibility wrappers for older versions.
|
||||
* 1.1.0 and newer BoringSSL revisions. Provide compatibility wrappers for
|
||||
* older versions.
|
||||
*/
|
||||
|
||||
static size_t SSL_get_client_random(const SSL *ssl, unsigned char *out,
|
||||
|
|
Loading…
Reference in a new issue