浏览代码

Merge branch '024_msvc_more'

Nick Mathewson 11 年之前
父节点
当前提交
eea69b7020
共有 5 个文件被更改,包括 15 次插入3 次删除
  1. 2 0
      changes/msvc
  2. 5 1
      src/common/Makefile.nmake
  3. 3 0
      src/or/Makefile.nmake
  4. 2 2
      src/or/onion.h
  5. 3 0
      src/win32/orconfig.h

+ 2 - 0
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.

+ 5 - 1
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
 

+ 3 - 0
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 \

+ 2 - 2
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);

+ 3 - 0
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
+