From 75f754fbcc3c68a078d23ae3e2baab71acc8ed9b Mon Sep 17 00:00:00 2001 From: Pedro de Oliveira Date: Fri, 4 Aug 2023 21:21:00 +0100 Subject: [PATCH] Fix LibreSSL support on OpenBSD 7.3. Thanks to obcecado for reporting <3 --- src/DH1080.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/DH1080.c b/src/DH1080.c index 5c09e7d..632513f 100644 --- a/src/DH1080.c +++ b/src/DH1080.c @@ -43,7 +43,7 @@ int DH1080_Init(void) g_dh = DH_new(); if(g_dh) { int codes = 0; -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3000000L) g_dh->p = BN_bin2bn(prime1080, DH1080_PRIME_BYTES, NULL); g_dh->g = BN_new(); BN_set_word(g_dh->g, 2); return DH_check(g_dh, &codes) && codes == 0; @@ -84,7 +84,7 @@ int DH1080_gen(char *priv_key, char *pub_key) DH_generate_key(dh); -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3000000L) memset(w, 0, sizeof w); n = BN_bn2bin(dh->priv_key, w); htob64((char *)w, priv_key, n); @@ -141,7 +141,7 @@ int DH1080_comp(char *MyPrivKey, char *HisPubKey) len = b64toh(MyPrivKey, (char *)base64_tmp); -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3000000L) dh->priv_key = BN_bin2bn(base64_tmp, len, NULL); #else BIGNUM *temp_pub_key = BN_new();