]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Fix compilation without DSA and deprecated APIs 68/head
authorRosen Penev <rosenp@gmail.com>
Fri, 21 Feb 2020 02:58:52 +0000 (18:58 -0800)
committerRosen Penev <rosenp@gmail.com>
Fri, 21 Feb 2020 04:48:43 +0000 (20:48 -0800)
Signed-off-by: Rosen Penev <rosenp@gmail.com>
dnssec.c
examples/ldns-dane.c
examples/ldns-keygen.c
examples/ldns-signzone.c
examples/ldns-verify-zone.c
host2str.c
keys.c
ldns/keys.h
rr_functions.c

index 482cefd6ff7934d3cfc8be6eba2738f65249256b..71508600c8c62e5565a0f8e28006cff1a6df7b95 100644 (file)
--- a/dnssec.c
+++ b/dnssec.c
@@ -332,6 +332,7 @@ uint16_t ldns_calc_keytag_raw(const uint8_t* key, size_t keysize)
 }
 
 #ifdef HAVE_SSL
+#ifdef USE_DSA
 DSA *
 ldns_key_buf2dsa(const ldns_buffer *key)
 {
@@ -407,6 +408,7 @@ ldns_key_buf2dsa_raw(const unsigned char* key, size_t len)
 #endif /* OPENSSL_VERSION_NUMBER */
        return dsa;
 }
+#endif /* USE_DSA */
 
 RSA *
 ldns_key_buf2rsa(const ldns_buffer *key)
index 4c31fd8ff71efc5e19e3dd92182839192b45cd95..7b33ad18ca331ef4a1049230140ed511f49c2fea 100644 (file)
@@ -1680,9 +1680,11 @@ main(int argc, char* const* argv)
                assert(0);
        }
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
        /* ssl inititalize */
        SSL_load_error_strings();
        SSL_library_init();
+#endif
 
        /* ssl load validation store */
        if (! assume_pkix_validity || CAfile || CApath) {
index 62b8d228eda67d5177c8d92491dd2bb28be7e594..237016e5944cd5542ceb7c275cbe0ec837e65835 100644 (file)
@@ -148,6 +148,7 @@ main(int argc, char *argv[])
                        exit(1);
                }
                break;
+#ifdef USE_DSA
        case LDNS_SIGN_DSA:
        case LDNS_SIGN_DSA_NSEC3:
                if (bits < 512 || bits > 1024) {
@@ -156,6 +157,7 @@ main(int argc, char *argv[])
                        exit(1);
                }
                break;
+#endif /* USE_DSA */
 #ifdef USE_GOST
        case LDNS_SIGN_ECC_GOST:
                if(!ldns_key_EVP_load_gost_id()) {
index 7d24ad90a2ffeaf50e981d509b15739a292f56e1..abae352a73906b36777896ca01dcfb57168e5179 100644 (file)
@@ -72,10 +72,14 @@ usage(FILE *fp, const char *prog) {
 
        fprintf ( fp, "\n " );
        __LIST ( RSAMD5 );
+#ifdef USE_DSA
        __LIST ( DSA );
+#endif
        __LIST ( RSASHA1 );
        fprintf ( fp, "\n " );
+#ifdef USE_DSA
        __LIST ( DSA_NSEC3 );
+#endif
        __LIST ( RSASHA1_NSEC3 );
        __LIST ( RSASHA256 );
        fprintf ( fp, "\n " );
@@ -350,11 +354,15 @@ parse_algspec ( const char * const p )
 
        __MATCH ( RSAMD5 );
        __MATCH ( RSASHA1 );
+#ifdef USE_DSA
        __MATCH ( DSA );
+#endif
        __MATCH ( RSASHA1_NSEC3 );
        __MATCH ( RSASHA256 );
        __MATCH ( RSASHA512 );
+#ifdef USE_DSA
        __MATCH ( DSA_NSEC3 );
+#endif
        __MATCH ( ECC_GOST );
        __MATCH ( ECDSAP256SHA256 );
        __MATCH ( ECDSAP384SHA384 );
@@ -419,8 +427,10 @@ load_key ( const char * const p, ENGINE * const e )
        case LDNS_SIGN_RSASHA1_NSEC3:
        case LDNS_SIGN_RSASHA256:
        case LDNS_SIGN_RSASHA512:
+#ifdef USE_DSA
        case LDNS_SIGN_DSA:
        case LDNS_SIGN_DSA_NSEC3:
+#endif
        case LDNS_SIGN_ECC_GOST:
 #ifdef USE_ECDSA
        case LDNS_SIGN_ECDSAP256SHA256:
@@ -995,9 +1005,13 @@ main(int argc, char *argv[])
 
 #ifdef HAVE_SSL
                if (ERR_peek_error()) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(HAVE_LIBRESSL)
                        ERR_load_crypto_strings();
+#endif
                        ERR_print_errors_fp(stderr);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(HAVE_LIBRESSL)
                        ERR_free_strings();
+#endif
                }
 #endif
                exit(EXIT_FAILURE);
@@ -1018,7 +1032,9 @@ main(int argc, char *argv[])
 #ifndef OPENSSL_NO_ENGINE
        shutdown_openssl ( engine );
 #else
+#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
        CRYPTO_cleanup_all_ex_data();
+#endif
 #endif
 
        free(prog);
index c17bd21cdf25566fc02eae867efd740e0265f51b..a5a1d003a87bb2d1e170db3f7b48089bfde4b188 100644 (file)
@@ -113,7 +113,9 @@ print_rr_status_error(FILE* stream, ldns_rr* rr, ldns_status status)
        if (status != LDNS_STATUS_OK) {
                print_rr_error(stream, rr, ldns_get_errorstr_by_id(status));
                if (verbosity > 0 && status == LDNS_STATUS_SSL_ERR) {
+#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(HAVE_LIBRESSL)
                        ERR_load_crypto_strings();
+#endif
                        ERR_print_errors_fp(stream);
                }
        }
index 3ca23c2017485caff160caee0225c9113b49f7dc..29a5f5c98b50df0299b56caf054acbfecb581a82 100644 (file)
 ldns_lookup_table ldns_algorithms[] = {
         { LDNS_RSAMD5, "RSAMD5" },
         { LDNS_DH, "DH" },
+#ifdef USE_DSA
         { LDNS_DSA, "DSA" },
+#endif /* USE_DSA */
         { LDNS_ECC, "ECC" },
         { LDNS_RSASHA1, "RSASHA1" },
+#ifdef USE_DSA
         { LDNS_DSA_NSEC3, "DSA-NSEC3-SHA1" },
+#endif /* USE_DSA */
         { LDNS_RSASHA1_NSEC3, "RSASHA1-NSEC3-SHA1" },
 #ifdef USE_SHA2
        { LDNS_RSASHA256, "RSASHA256"},
@@ -2133,7 +2137,9 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k)
        unsigned char  *bignum;
 #ifdef HAVE_SSL
        RSA *rsa;
+#ifdef USE_DSA
        DSA *dsa;
+#endif /* USE_DSA */
 #endif /* HAVE_SSL */
 
        if (!k) {
@@ -2243,6 +2249,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k)
 
                                RSA_free(rsa);
                                break;
+#ifdef USE_DSA
                        case LDNS_SIGN_DSA:
                        case LDNS_SIGN_DSA_NSEC3:
                                dsa = ldns_key_dsa_key(k);
@@ -2283,6 +2290,7 @@ ldns_key2buffer_str(ldns_buffer *output, const ldns_key *k)
                                                goto error;
                                }
                                break;
+#endif /* USE_DSA */
                        case LDNS_SIGN_ECC_GOST:
                                /* no format defined, use blob */
 #if defined(HAVE_SSL) && defined(USE_GOST)
diff --git a/keys.c b/keys.c
index 06afb73939fef48559ea6e7ec89eb2ee0951084c..ddff6f35325fb5bc2d374dbb3ac37498a59d958a 100644 (file)
--- a/keys.c
+++ b/keys.c
@@ -905,6 +905,7 @@ error:
        return NULL;
 }
 
+#ifdef USE_DSA
 DSA *
 ldns_key_new_frm_fp_dsa(FILE *f)
 {
@@ -1015,6 +1016,7 @@ error:
        BN_free(pub_key);
        return NULL;
 }
+#endif /* USE_DSA */
 
 unsigned char *
 ldns_key_new_frm_fp_hmac(FILE *f, size_t *hmac_size)
@@ -1149,9 +1151,9 @@ ldns_key_new_frm_algorithm(ldns_signing_algorithm alg, uint16_t size)
 #endif /* HAVE_EVP_PKEY_KEYGEN */
 #endif /* HAVE_SSL */
                        break;
+#ifdef USE_DSA
                case LDNS_SIGN_DSA:
                case LDNS_SIGN_DSA_NSEC3:
-#ifdef USE_DSA
 #ifdef HAVE_SSL
 # if OPENSSL_VERSION_NUMBER < 0x00908000L
                        d = DSA_generate_parameters((int)size, NULL, 0, NULL, NULL, NULL, NULL);
@@ -1878,10 +1880,10 @@ ldns_key2rr(const ldns_key *k)
 #endif
                        size++;
                        break;
+#ifdef USE_DSA
                case LDNS_SIGN_DSA:
                        ldns_rr_push_rdf(pubkey,
                                        ldns_native2rdf_int8(LDNS_RDF_TYPE_ALG, LDNS_DSA));
-#ifdef USE_DSA
 #ifdef HAVE_SSL
                        dsa = ldns_key_dsa_key(k);
                        if (dsa) {
@@ -1901,10 +1903,10 @@ ldns_key2rr(const ldns_key *k)
 #endif /* HAVE_SSL */
 #endif /* USE_DSA */
                        break;
+#ifdef USE_DSA
                case LDNS_SIGN_DSA_NSEC3:
                        ldns_rr_push_rdf(pubkey,
                                        ldns_native2rdf_int8(LDNS_RDF_TYPE_ALG, LDNS_DSA_NSEC3));
-#ifdef USE_DSA
 #ifdef HAVE_SSL
                        dsa = ldns_key_dsa_key(k);
                        if (dsa) {
@@ -2165,7 +2167,9 @@ ldns_signing_algorithm ldns_get_signing_algorithm_by_name(const char* name)
         ldns_lookup_table aliases[] = {
                 /* from bind dnssec-keygen */
                 {LDNS_SIGN_HMACMD5, "HMAC-MD5"},
+#ifdef USE_DSA
                 {LDNS_SIGN_DSA_NSEC3, "NSEC3DSA"},
+#endif /* USE_DSA */
                 {LDNS_SIGN_RSASHA1_NSEC3, "NSEC3RSASHA1"},
                 /* old ldns usage, now RFC names */
 #ifdef USE_DSA
index df4bb22b2650f169f7250519690bdc5d91ee72c3..826f876f992f2dc0d7bdb7093669ae7599aa02cc 100644 (file)
@@ -45,10 +45,14 @@ enum ldns_enum_algorithm
 {
         LDNS_RSAMD5             = 1,   /* RFC 4034,4035 */
         LDNS_DH                 = 2,
+#ifdef USE_DSA
         LDNS_DSA                = 3,
+#endif /* USE_DSA */
         LDNS_ECC                = 4,
         LDNS_RSASHA1            = 5,
+#ifdef USE_DSA
         LDNS_DSA_NSEC3          = 6,
+#endif /* USE_DSA */
         LDNS_RSASHA1_NSEC3      = 7,
         LDNS_RSASHA256          = 8,   /* RFC 5702 */
         LDNS_RSASHA512          = 10,  /* RFC 5702 */
@@ -90,11 +94,15 @@ enum ldns_enum_signing_algorithm
 {
        LDNS_SIGN_RSAMD5         = LDNS_RSAMD5,
        LDNS_SIGN_RSASHA1        = LDNS_RSASHA1,
+#ifdef USE_DSA
        LDNS_SIGN_DSA            = LDNS_DSA,
+#endif /* USE_DSA */
        LDNS_SIGN_RSASHA1_NSEC3  = LDNS_RSASHA1_NSEC3,
        LDNS_SIGN_RSASHA256      = LDNS_RSASHA256,
        LDNS_SIGN_RSASHA512      = LDNS_RSASHA512,
+#ifdef USE_DSA
        LDNS_SIGN_DSA_NSEC3      = LDNS_DSA_NSEC3,
+#endif /* USE_DSA */
        LDNS_SIGN_ECC_GOST       = LDNS_ECC_GOST,
         LDNS_SIGN_ECDSAP256SHA256 = LDNS_ECDSAP256SHA256,
         LDNS_SIGN_ECDSAP384SHA384 = LDNS_ECDSAP384SHA384,
index 20a0bfaa1aa3b5ef6a5201fbf36ccfe514939ed9..8d72696b9c192ca3016621b183941d3c431ee554 100644 (file)
@@ -269,14 +269,17 @@ ldns_rr_dnskey_key_size_raw(const unsigned char* keydata,
                             const size_t len,
                             const ldns_algorithm alg)
 {
+#ifdef USE_DSA
        /* for DSA keys */
        uint8_t t;
+#endif /* USE_DSA */
        
        /* for RSA keys */
        uint16_t exp;
        uint16_t int16;
        
        switch ((ldns_signing_algorithm)alg) {
+#ifdef USE_DSA
        case LDNS_SIGN_DSA:
        case LDNS_SIGN_DSA_NSEC3:
                if (len > 0) {
@@ -286,6 +289,7 @@ ldns_rr_dnskey_key_size_raw(const unsigned char* keydata,
                        return 0;
                }
                break;
+#endif /* USE_DSA */
        case LDNS_SIGN_RSAMD5:
        case LDNS_SIGN_RSASHA1:
        case LDNS_SIGN_RSASHA1_NSEC3: