The bn.h/dsa.h/rsa.h headers aren't included even though APIs from
them are used heavily. Include them in files that need them. If
we don't, we might hit build failures depending on how OpenSSL was
configured.
#include <openssl/rand.h>
#include <openssl/err.h>
#include <openssl/md5.h>
+#include <openssl/bn.h>
+#include <openssl/rsa.h>
+#ifdef USE_DSA
+#include <openssl/dsa.h>
+#endif
#endif
ldns_rr *
#include <openssl/rand.h>
#include <openssl/err.h>
#include <openssl/md5.h>
+#include <openssl/bn.h>
+#include <openssl/rsa.h>
+#ifdef USE_DSA
+#include <openssl/dsa.h>
+#endif
#endif /* HAVE_SSL */
ldns_rr *
#include <time.h>
#include <sys/time.h>
+#ifdef HAVE_SSL
+#include <openssl/bn.h>
+#include <openssl/rsa.h>
+#ifdef USE_DSA
+#include <openssl/dsa.h>
+#endif
+#endif
+
#ifndef INET_ADDRSTRLEN
#define INET_ADDRSTRLEN 16
#endif
#ifdef HAVE_SSL
#include <openssl/ssl.h>
#include <openssl/rand.h>
+#include <openssl/bn.h>
+#include <openssl/rsa.h>
+#ifdef USE_DSA
+#include <openssl/dsa.h>
+#endif
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif