summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2014-08-19 11:28:11 +1000
committerDamien Miller <djm@mindrot.org>2014-08-19 11:28:11 +1000
commit88137902632aceb923990e98cf5dc923bb3ef2f5 (patch)
tree7b2fb21e286382edbc21016c81279231c2d0c46b
parent2f3d1e7fb2eabd3cfbfd8d0f7bdd2f9a1888690b (diff)
downloadopenssh-git-88137902632aceb923990e98cf5dc923bb3ef2f5.tar.gz
- (djm) [sshbuf.h] Fix compilation on systems without OPENSSL_HAS_ECC.
-rw-r--r--ChangeLog1
-rw-r--r--sshbuf.h16
2 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 2cb51367..a9bef01c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
20140819
- (djm) [serverloop.c] Fix syntax error on Cygwin; from Corinna Vinschen
+ - (djm) [sshbuf.h] Fix compilation on systems without OPENSSL_HAS_ECC.
20140811
- (djm) [myproposal.h] Make curve25519 KEX dependent on
diff --git a/sshbuf.h b/sshbuf.h
index 4561c063..3602bc53 100644
--- a/sshbuf.h
+++ b/sshbuf.h
@@ -21,8 +21,12 @@
#include <sys/types.h>
#include <stdarg.h>
#include <stdio.h>
-#include <openssl/bn.h>
-#include <openssl/ec.h>
+#ifdef WITH_OPENSSL
+# include <openssl/bn.h>
+# ifdef OPENSSL_HAS_ECC
+# include <openssl/ec.h>
+# endif /* OPENSSL_HAS_ECC */
+#endif /* WITH_OPENSSL */
#define SSHBUF_SIZE_MAX 0x8000000 /* Hard maximum size */
#define SSHBUF_REFS_MAX 0x100000 /* Max child buffers */
@@ -204,17 +208,19 @@ int sshbuf_peek_string_direct(const struct sshbuf *buf, const u_char **valp,
* Functions to extract or store SSH wire encoded bignums and elliptic
* curve points.
*/
+int sshbuf_put_bignum2_bytes(struct sshbuf *buf, const void *v, size_t len);
+#ifdef WITH_OPENSSL
int sshbuf_get_bignum2(struct sshbuf *buf, BIGNUM *v);
int sshbuf_get_bignum1(struct sshbuf *buf, BIGNUM *v);
int sshbuf_put_bignum2(struct sshbuf *buf, const BIGNUM *v);
int sshbuf_put_bignum1(struct sshbuf *buf, const BIGNUM *v);
-int sshbuf_put_bignum2_bytes(struct sshbuf *buf, const void *v, size_t len);
-#if !defined(WITH_OPENSSL) || defined(OPENSSL_HAS_ECC)
+# ifdef OPENSSL_HAS_ECC
int sshbuf_get_ec(struct sshbuf *buf, EC_POINT *v, const EC_GROUP *g);
int sshbuf_get_eckey(struct sshbuf *buf, EC_KEY *v);
int sshbuf_put_ec(struct sshbuf *buf, const EC_POINT *v, const EC_GROUP *g);
int sshbuf_put_eckey(struct sshbuf *buf, const EC_KEY *v);
-#endif
+# endif /* OPENSSL_HAS_ECC */
+#endif /* WITH_OPENSSL */
/* Dump the contents of the buffer in a human-readable format */
void sshbuf_dump(struct sshbuf *buf, FILE *f);