summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/msvc2
-rw-r--r--src/common/Makefile.nmake6
-rw-r--r--src/or/Makefile.nmake3
-rw-r--r--src/or/onion.h4
-rw-r--r--src/win32/orconfig.h3
5 files changed, 15 insertions, 3 deletions
diff --git a/changes/msvc b/changes/msvc
index 9975c2d4c6..1ae92e3f2e 100644
--- a/changes/msvc
+++ b/changes/msvc
@@ -2,3 +2,5 @@
- Correctly define HAVE_EVENT_BASE_LOOPEXIT, since we only build
with MSVC when using Libevent 2.0 or later. Fixes bug 7308.
Reported by "ultramage".
+ - Make the ntor and curve25519 code build correctly with MSVC.
+ Fix on 0.2.4.8-alpha.
diff --git a/src/common/Makefile.nmake b/src/common/Makefile.nmake
index 9672f4fe9d..0ebeaaaf71 100644
--- a/src/common/Makefile.nmake
+++ b/src/common/Makefile.nmake
@@ -6,10 +6,14 @@ LIBOR_OBJECTS = address.obj compat.obj container.obj di_ops.obj \
log.obj memarea.obj mempool.obj procmon.obj util.obj \
util_codedigest.obj
-LIBOR_CRYPTO_OBJECTS = aes.obj crypto.obj torgzip.obj tortls.obj
+LIBOR_CRYPTO_OBJECTS = aes.obj crypto.obj torgzip.obj tortls.obj \
+ crypto_curve25519.obj curve25519-donna.obj
LIBOR_EVENT_OBJECTS = compat_libevent.obj
+curve25519-donna.obj: ..\ext\curve25519_donna\curve25519-donna.c
+ $(CC) $(CFLAGS) /D inline=_inline /c ..\ext\curve25519_donna\curve25519-donna.c
+
libor.lib: $(LIBOR_OBJECTS)
lib $(LIBOR_OBJECTS) /out:libor.lib
diff --git a/src/or/Makefile.nmake b/src/or/Makefile.nmake
index c33407373c..d67123a9a6 100644
--- a/src/or/Makefile.nmake
+++ b/src/or/Makefile.nmake
@@ -44,6 +44,9 @@ LIBTOR_OBJECTS = \
nodelist.obj \
ntmain.obj \
onion.obj \
+ onion_fast.obj \
+ onion_ntor.obj \
+ onion_tap.obj \
policies.obj \
reasons.obj \
relay.obj \
diff --git a/src/or/onion.h b/src/or/onion.h
index 8b5fb7e3bb..db4c999c9e 100644
--- a/src/or/onion.h
+++ b/src/or/onion.h
@@ -101,9 +101,9 @@ typedef struct extended_cell_t {
int create_cell_parse(create_cell_t *cell_out, const cell_t *cell_in);
int created_cell_parse(created_cell_t *cell_out, const cell_t *cell_in);
-int extend_cell_parse(extend_cell_t *cell_out, uint8_t command,
+int extend_cell_parse(extend_cell_t *cell_out, const uint8_t command,
const uint8_t *payload_in, size_t payload_len);
-int extended_cell_parse(extended_cell_t *cell_out, uint8_t command,
+int extended_cell_parse(extended_cell_t *cell_out, const uint8_t command,
const uint8_t *payload_in, size_t payload_len);
int create_cell_format(cell_t *cell_out, const create_cell_t *cell_in);
diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h
index 485590f11d..6e45a2928b 100644
--- a/src/win32/orconfig.h
+++ b/src/win32/orconfig.h
@@ -250,3 +250,6 @@
#define SHARE_DATADIR ""
#define HAVE_EVENT2_DNS_H
#define HAVE_EVENT_BASE_LOOPEXIT
+#define CURVE25519_ENABLED
+#define USE_CURVE25519_DONNA
+