openssl: exclude DSA code when OPENSSL_NO_DSA is defined

- Fix compile errors that occur in openssl.c when OpenSSL lib was
  built without DSA support.

Bug: https://github.com/curl/curl/issues/1361
Reported-by: neheb@users.noreply.github.com
This commit is contained in:
Jay Satiro 2017-03-28 02:56:00 -04:00
parent 041ded0459
commit b04e4ebdd8

View File

@ -55,7 +55,9 @@
#include <openssl/ssl.h> #include <openssl/ssl.h>
#include <openssl/rand.h> #include <openssl/rand.h>
#include <openssl/x509v3.h> #include <openssl/x509v3.h>
#ifndef OPENSSL_NO_DSA
#include <openssl/dsa.h> #include <openssl/dsa.h>
#endif
#include <openssl/dh.h> #include <openssl/dh.h>
#include <openssl/err.h> #include <openssl/err.h>
#include <openssl/md5.h> #include <openssl/md5.h>
@ -2640,6 +2642,7 @@ static CURLcode get_cert_chain(struct connectdata *conn,
} }
case EVP_PKEY_DSA: case EVP_PKEY_DSA:
{ {
#ifndef OPENSSL_NO_DSA
DSA *dsa; DSA *dsa;
#ifdef HAVE_OPAQUE_EVP_PKEY #ifdef HAVE_OPAQUE_EVP_PKEY
dsa = EVP_PKEY_get0_DSA(pubkey); dsa = EVP_PKEY_get0_DSA(pubkey);
@ -2670,6 +2673,7 @@ static CURLcode get_cert_chain(struct connectdata *conn,
print_pubkey_BN(dsa, priv_key, i); print_pubkey_BN(dsa, priv_key, i);
print_pubkey_BN(dsa, pub_key, i); print_pubkey_BN(dsa, pub_key, i);
#endif #endif
#endif /* !OPENSSL_NO_DSA */
break; break;
} }
case EVP_PKEY_DH: case EVP_PKEY_DH: