Browse Source

Merge branch 'bug7972'

Nick Mathewson 11 years ago
parent
commit
65e6e68981
6 changed files with 22 additions and 6 deletions
  1. 5 0
      changes/bug7972
  2. 7 0
      configure.ac
  3. 4 0
      src/common/crypto_curve25519.c
  4. 1 1
      src/or/include.am
  5. 3 3
      src/test/include.am
  6. 2 2
      src/tools/include.am

+ 5 - 0
changes/bug7972

@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Detect nacl when its headers are in a nacl/ subdirectory. Fixes bug
+      7972; bugfix on 0.2.4.8-alpha.
+    - Actually link against nacl when we're configured to use it. Fixes bug
+      7972; bugfix on 0.2.4.8-alpha.

+ 7 - 0
configure.ac

@@ -689,13 +689,20 @@ if test x$enable_curve25519 != xno; then
             [tor_cv_can_use_curve25519_donna_c64=cross],
 	    [tor_cv_can_use_curve25519_donna_c64=no])])])
 
+  AC_CHECK_HEADERS([crypto_scalarmult_curve25519.h \
+                    nacl/crypto_scalarmult_curve25519.h])
+
   AC_CACHE_CHECK([whether we can use curve25519 from nacl],
     tor_cv_can_use_curve25519_nacl,
     [tor_saved_LIBS="$LIBS"
      LIBS="$LIBS -lnacl"
      AC_LINK_IFELSE(
        [AC_LANG_PROGRAM([dnl
+         #ifdef HAVE_CRYPTO_SCALARMULT_CURVE25519_H
          #include <crypto_scalarmult_curve25519.h>
+	 #elif defined(HAVE_NACL_CRYPTO_SCALARMULT_CURVE25519_H)
+	 #include <nacl/crypto_scalarmult_curve25519.h>
+	 #endif
          #ifdef crypto_scalarmult_curve25519_ref_BYTES
 	 #error Hey, this is the reference implementation!
 	 #endif

+ 4 - 0
src/common/crypto_curve25519.c

@@ -22,7 +22,11 @@ int curve25519_donna(uint8_t *mypublic,
                      const uint8_t *secret, const uint8_t *basepoint);
 #endif
 #ifdef USE_CURVE25519_NACL
+#ifdef HAVE_CRYPTO_SCALARMULT_CURVE25519_H
 #include <crypto_scalarmult_curve25519.h>
+#elif defined(HAVE_NACL_CRYPTO_SCALARMULT_CURVE25519_H)
+#include <nacl/crypto_scalarmult_curve25519.h>
+#endif
 #endif
 
 int

+ 1 - 1
src/or/include.am

@@ -99,7 +99,7 @@ src_or_tor_LDADD = src/or/libtor.a src/common/libor.a \
 	src/common/libor-crypto.a $(LIBDONNA) \
 	src/common/libor-event.a \
 	@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
-	@TOR_LIB_WS32@ @TOR_LIB_GDI@
+	@TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
 
 ORHEADERS = \
 	src/or/addressmap.h				\

+ 3 - 3
src/test/include.am

@@ -40,7 +40,7 @@ src_test_test_LDADD = src/or/libtor.a src/common/libor.a \
 	src/common/libor-crypto.a $(LIBDONNA) \
 	src/common/libor-event.a \
 	@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
-	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
+	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
 
 src_test_bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
         @TOR_LDFLAGS_libevent@
@@ -48,7 +48,7 @@ src_test_bench_LDADD = src/or/libtor.a src/common/libor.a \
 	src/common/libor-crypto.a $(LIBDONNA) \
 	src/common/libor-event.a \
 	@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
-	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
+	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
 
 noinst_HEADERS+= \
 	src/test/test.h
@@ -60,7 +60,7 @@ src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
 src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
 	src/common/libor-crypto.a $(LIBDONNA) \
 	@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
-	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
+	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
 src_test_test_ntor_cl_AM_CPPFLAGS =	       \
 	-I"$(top_srcdir)/src/or"
 

+ 2 - 2
src/tools/include.am

@@ -10,14 +10,14 @@ src_tools_tor_gencert_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
 src_tools_tor_gencert_LDADD = src/common/libor.a src/common/libor-crypto.a \
 	$(LIBDONNA) \
         @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \
-        @TOR_LIB_WS32@ @TOR_LIB_GDI@
+        @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
 
 src_tools_tor_checkkey_SOURCES = src/tools/tor-checkkey.c
 src_tools_tor_checkkey_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
 src_tools_tor_checkkey_LDADD = src/common/libor.a src/common/libor-crypto.a \
 	$(LIBDONNA) \
         @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \
-        @TOR_LIB_WS32@ @TOR_LIB_GDI@
+        @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
 
 include src/tools/tor-fw-helper/include.am