diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/circuitbuild.c | 1 | ||||
-rw-r--r-- | src/or/circuitlist.c | 1 | ||||
-rw-r--r-- | src/or/command.c | 1 | ||||
-rw-r--r-- | src/or/cpuworker.c | 1 | ||||
-rw-r--r-- | src/or/main.c | 1 | ||||
-rw-r--r-- | src/or/onion.c | 1 | ||||
-rw-r--r-- | src/or/onion.h | 48 | ||||
-rw-r--r-- | src/or/or.h | 34 | ||||
-rw-r--r-- | src/test/test.c | 1 |
9 files changed, 55 insertions, 34 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 5b360807d..00c9026fa 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -23,6 +23,7 @@ #include "directory.h" #include "main.h" #include "networkstatus.h" +#include "onion.h" #include "router.h" #include "routerlist.h" #include "crypto.h" diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index b8c273766..044cdb9c3 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -19,6 +19,7 @@ #include "connection_or.h" #include "control.h" #include "networkstatus.h" +#include "onion.h" #include "rendclient.h" #include "rendcommon.h" #include "routerlist.h" diff --git a/src/or/command.c b/src/or/command.c index 796f75cde..b3b7c2d37 100644 --- a/src/or/command.c +++ b/src/or/command.c @@ -25,6 +25,7 @@ #include "control.h" #include "cpuworker.h" #include "hibernate.h" +#include "onion.h" #include "router.h" #include "routerlist.h" diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index 4ab6d4164..2760d9666 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -20,6 +20,7 @@ #include "connection.h" #include "cpuworker.h" #include "main.h" +#include "onion.h" #include "router.h" /** The maximum number of cpuworker processes we will keep around. */ diff --git a/src/or/main.c b/src/or/main.c index 67688bd6d..b30a77edd 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -34,6 +34,7 @@ #include "microdesc.h" #include "networkstatus.h" #include "ntmain.h" +#include "onion.h" #include "rendclient.h" #include "rendcommon.h" #include "rendservice.h" diff --git a/src/or/onion.c b/src/or/onion.c index 5b4f3a07c..1612d389d 100644 --- a/src/or/onion.c +++ b/src/or/onion.c @@ -13,6 +13,7 @@ #include "or.h" #include "circuitlist.h" #include "config.h" +#include "onion.h" /** Type for a linked list of circuits that are waiting for a free CPU worker * to process a waiting onion handshake. */ diff --git a/src/or/onion.h b/src/or/onion.h new file mode 100644 index 000000000..e84dbb47b --- /dev/null +++ b/src/or/onion.h @@ -0,0 +1,48 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2010, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file onion.h + * \brief Header file for onion.c. + **/ + +#ifndef _TOR_ONION_H +#define _TOR_ONION_H + +int onion_pending_add(or_circuit_t *circ, char *onionskin); +or_circuit_t *onion_next_task(char **onionskin_out); +void onion_pending_remove(or_circuit_t *circ); + +int onion_skin_create(crypto_pk_env_t *router_key, + crypto_dh_env_t **handshake_state_out, + char *onion_skin_out); + +int onion_skin_server_handshake(const char *onion_skin, + crypto_pk_env_t *private_key, + crypto_pk_env_t *prev_private_key, + char *handshake_reply_out, + char *key_out, + size_t key_out_len); + +int onion_skin_client_handshake(crypto_dh_env_t *handshake_state, + const char *handshake_reply, + char *key_out, + size_t key_out_len); + +int fast_server_handshake(const char *key_in, + char *handshake_reply_out, + char *key_out, + size_t key_out_len); + +int fast_client_handshake(const char *handshake_state, + const char *handshake_reply_out, + char *key_out, + size_t key_out_len); + +void clear_pending_onions(void); + +#endif + diff --git a/src/or/or.h b/src/or/or.h index 2afbac6f3..8322cf3d4 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -3293,40 +3293,6 @@ typedef enum version_status_t { VS_UNKNOWN, /**< We have no idea. */ } version_status_t; -/********************************* onion.c ***************************/ - -int onion_pending_add(or_circuit_t *circ, char *onionskin); -or_circuit_t *onion_next_task(char **onionskin_out); -void onion_pending_remove(or_circuit_t *circ); - -int onion_skin_create(crypto_pk_env_t *router_key, - crypto_dh_env_t **handshake_state_out, - char *onion_skin_out); - -int onion_skin_server_handshake(const char *onion_skin, - crypto_pk_env_t *private_key, - crypto_pk_env_t *prev_private_key, - char *handshake_reply_out, - char *key_out, - size_t key_out_len); - -int onion_skin_client_handshake(crypto_dh_env_t *handshake_state, - const char *handshake_reply, - char *key_out, - size_t key_out_len); - -int fast_server_handshake(const char *key_in, - char *handshake_reply_out, - char *key_out, - size_t key_out_len); - -int fast_client_handshake(const char *handshake_state, - const char *handshake_reply_out, - char *key_out, - size_t key_out_len); - -void clear_pending_onions(void); - /********************************* policies.c ************************/ /* (length of "accept 255.255.255.255/255.255.255.255:65535-65535\n" plus a diff --git a/src/test/test.c b/src/test/test.c index 7e6bf7055..a1e286819 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -53,6 +53,7 @@ double fabs(double x); #include "torgzip.h" #include "mempool.h" #include "memarea.h" +#include "onion.h" #ifdef USE_DMALLOC #include <dmalloc.h> |