diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2021-09-27 13:32:03 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2021-10-24 17:24:50 +0900 |
commit | 00abee791da3ee9fd5d8d4ae904718edabb48333 (patch) | |
tree | 8505d5bf2a730c77b92a42acece4e0f2feb36211 | |
parent | 9b4f761e74a6f718d982d34d0bc45fa859fc264d (diff) | |
download | ruby-openssl-00abee791da3ee9fd5d8d4ae904718edabb48333.tar.gz |
ext/openssl/ossl.h: add helper macros for OpenSSL/LibreSSL versions
Add following convenient macros:
- OSSL_IS_LIBRESSL
- OSSL_OPENSSL_PREREQ(maj, min, pat)
- OSSL_LIBRESSL_PREREQ(maj, min, pat)
-rw-r--r-- | ext/openssl/ossl.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h index be9dcbdf..3a0ab1e5 100644 --- a/ext/openssl/ossl.h +++ b/ext/openssl/ossl.h @@ -42,6 +42,18 @@ #include <openssl/evp.h> #include <openssl/dh.h> +#ifndef LIBRESSL_VERSION_NUMBER +# define OSSL_IS_LIBRESSL 0 +# define OSSL_OPENSSL_PREREQ(maj, min, pat) \ + (OPENSSL_VERSION_NUMBER >= (maj << 28) | (min << 20) | (pat << 12)) +# define OSSL_LIBRESSL_PREREQ(maj, min, pat) 0 +#else +# define OSSL_IS_LIBRESSL 1 +# define OSSL_OPENSSL_PREREQ(maj, min, pat) 0 +# define OSSL_LIBRESSL_PREREQ(maj, min, pat) \ + (LIBRESSL_VERSION_NUMBER >= (maj << 28) | (min << 20) | (pat << 12)) +#endif + /* * Common Module */ |