summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2014-08-20 11:06:50 +1000
committerDamien Miller <djm@mindrot.org>2014-08-20 11:06:50 +1000
commitf0935698f0461f24d8d1f1107b476ee5fd4db1cb (patch)
treee8b62fc6549faadf9789aec1e163a4fe5f38d52a
parentc5089ecaec3b2c02f014f4e67518390702a4ba14 (diff)
downloadopenssh-git-f0935698f0461f24d8d1f1107b476ee5fd4db1cb.tar.gz
- (djm) [sshkey.h] Fix compilation when OpenSSL lacks ECC
-rw-r--r--ChangeLog1
-rw-r--r--sshkey.h38
2 files changed, 25 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ab238d4..1abd358a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
suggested by Kevin Brott
- (djm) [Makefile.in] refer to libtest_helper.a by explicit path rather than
-L/-l; fixes linking problems on some platforms
+ - (djm) [sshkey.h] Fix compilation when OpenSSL lacks ECC
20140819
- (djm) [serverloop.c] Fix syntax error on Cygwin; from Corinna Vinschen
diff --git a/sshkey.h b/sshkey.h
index 4127db24..450b30c1 100644
--- a/sshkey.h
+++ b/sshkey.h
@@ -31,13 +31,19 @@
#ifdef WITH_OPENSSL
#include <openssl/rsa.h>
#include <openssl/dsa.h>
-#include <openssl/ec.h>
-#else /* OPENSSL */
-#define RSA void
-#define DSA void
-#define EC_KEY void
-#define EC_GROUP void
-#define EC_POINT void
+# ifdef OPENSSL_HAS_ECC
+# include <openssl/ec.h>
+# else /* OPENSSL_HAS_ECC */
+# define EC_KEY void
+# define EC_GROUP void
+# define EC_POINT void
+# endif /* OPENSSL_HAS_ECC */
+#else /* WITH_OPENSSL */
+# define RSA void
+# define DSA void
+# define EC_KEY void
+# define EC_GROUP void
+# define EC_POINT void
#endif /* WITH_OPENSSL */
#define SSH_RSA_MINIMUM_MODULUS_SIZE 768
@@ -211,12 +217,16 @@ int ssh_ed25519_verify(const struct sshkey *key,
const u_char *data, size_t datalen, u_int compat);
#endif
-#ifndef WITH_OPENSSL
-#undef RSA
-#undef DSA
-#undef EC_KEY
-#undef EC_GROUP
-#undef EC_POINT
-#endif /* WITH_OPENSSL */
+#if !defined(WITH_OPENSSL)
+# undef RSA
+# undef DSA
+# undef EC_KEY
+# undef EC_GROUP
+# undef EC_POINT
+#elif !defined(OPENSSL_HAS_ECC)
+# undef EC_KEY
+# undef EC_GROUP
+# undef EC_POINT
+#endif
#endif /* SSHKEY_H */