Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
n_openssl_compat.h File Reference

One place deciding which OpenSSL/LibreSSL features the build can use. More...

#include <openssl/opensslv.h>
Include dependency graph for n_openssl_compat.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define N_OSSL_HAVE_BLAKE2B512   0
 1 when EVP_blake2b512() exists.
#define N_OSSL_HAVE_CHACHA20POLY1305   0
 1 when EVP_chacha20_poly1305() and the EVP_CTRL_AEAD_* control names exist (OpenSSL 1.1.0, LibreSSL 3.6.0)
#define N_OSSL_HAVE_EVP_KDF   0
 1 when the EVP_KDF provider API (EVP_KDF_fetch and friends) exists.
#define N_OSSL_HAVE_PROTO_VERSION_SETTERS   0
 1 when SSL_CTX_set_min_proto_version() / SSL_CTX_set_max_proto_version() and the version-flexible TLS_method() family are declared (OpenSSL 1.1.0, LibreSSL 2.6.0; pinned to the 2.9.0 support floor), 0 otherwise
#define N_OSSL_HAVE_RAW_EVP_25519   0
 1 when X25519/Ed25519 are reachable through the raw-key EVP API (EVP_PKEY_X25519, EVP_PKEY_ED25519, EVP_PKEY_new_raw_private_key and friends): OpenSSL 1.1.1, LibreSSL 3.7.0
#define N_OSSL_HAVE_SSL_SET1_HOST   0
 1 when SSL_set1_host() and SSL_set_hostflags() are declared (OpenSSL 1.1.0, LibreSSL 2.9.0), 0 when they must be shimmed over X509_VERIFY_PARAM
#define N_OSSL_HAVE_TLS13   0
 1 when the library can negotiate TLS 1.3, which is also what makes TLS1_3_VERSION and SSL_CTX_set_ciphersuites() exist (OpenSSL 1.1.1; LibreSSL got the ciphersuites setter in 3.4.1, rounded to 3.5.0)
#define N_OSSL_IS_LIBRESSL   0
 1 when the linked library is LibreSSL rather than OpenSSL, 0 otherwise
#define N_OSSL_LIBRESSL_ATLEAST(v)
 true when built against LibreSSL of at least version v; never true under real OpenSSL
#define N_OSSL_OPENSSL_ATLEAST(v)
 true when built against real OpenSSL of at least version v (an OPENSSL_VERSION_NUMBER literal)

Detailed Description

One place deciding which OpenSSL/LibreSSL features the build can use.

Author
Castagnier Mickael
Version
1.0

Definition in file n_openssl_compat.h.