]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Use OpenSSL 1.1 API to access DSA and RSA internals
authorFlorian Obser <florian@narrans.de>
Tue, 11 Jan 2022 14:34:25 +0000 (15:34 +0100)
committerFlorian Obser <florian@narrans.de>
Tue, 11 Jan 2022 14:34:25 +0000 (15:34 +0100)
In LibreSSL 3.5, DSA and RSA internals will become opaque, so they can
no longer be accessed directly and the libunbound build will break. The
required API, DSA_set0_pqg(), DSA_set0_key() as well as RSA_set0_key(),
has been available since LibreSSL 2.7, so this change should not affect
any users.

From Theo Buehler.

sldns/keyraw.c

index b1e60d8b52a89ef089cae29514c4a686448f0106..a40f1e8601a54089b1c2a18f5da13a7b43f7d158 100644 (file)
@@ -250,7 +250,7 @@ sldns_key_buf2dsa_raw(unsigned char* key, size_t len)
        if(!(dsa = DSA_new())) {
                return NULL;
        }
-#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
+#if OPENSSL_VERSION_NUMBER < 0x10100000
 #ifndef S_SPLINT_S
        dsa->p = P;
        dsa->q = Q;
@@ -428,7 +428,7 @@ sldns_key_buf2rsa_raw(unsigned char* key, size_t len)
                BN_free(modulus);
                return NULL;
        }
-#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
+#if OPENSSL_VERSION_NUMBER < 0x10100000
 #ifndef S_SPLINT_S
        rsa->n = modulus;
        rsa->e = exponent;