diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-07-29 21:54:46 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-07-29 21:54:46 -0400 |
commit | 4727adf591c4f8df115a639f67882578314eea8b (patch) | |
tree | d466d87c8d8f5ca8a7c3c60a1f7828f5030f562c /src/or/onion.h | |
parent | a7b12978cee02f1fbd38887350fa8de5c59040bd (diff) | |
parent | da49a7267fee4e36cd1983158cbce7c1aa10e58a (diff) | |
download | tor-4727adf591c4f8df115a639f67882578314eea8b.tar tor-4727adf591c4f8df115a639f67882578314eea8b.tar.gz |
Merge commit 'linus/headers'
Diffstat (limited to 'src/or/onion.h')
-rw-r--r-- | src/or/onion.h | 48 |
1 files changed, 48 insertions, 0 deletions
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 + |