summaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2007-01-27 19:29:16 +0000
committerRoger Dingledine <arma@torproject.org>2007-01-27 19:29:16 +0000
commitadd7d7af195109a06c46c6072b3a4faf4f6ce363 (patch)
tree33e15ddf3f3fcf3e9797a913e0571ae5da13f518 /src/or/or.h
parent0e01dda145d372840011ad168d61b30b2b6cde32 (diff)
downloadtor-add7d7af195109a06c46c6072b3a4faf4f6ce363.tar.gz
tor-add7d7af195109a06c46c6072b3a4faf4f6ce363.zip
Bring us one step closer to being able to establish an encrypted
directory tunnel without knowing a descriptor first. Still not ready yet. As part of the change, now assume we can use a create_fast cell if we don't know anything about a router. svn:r9440
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 44542048d2..74a09df353 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -1176,9 +1176,10 @@ typedef struct {
tor_mmap_t *mmap_descriptors;
} routerlist_t;
-/** Information on router used when extending a circuit. (We don't need a
+/** Information on router used when extending a circuit. We don't need a
* full routerinfo_t to extend: we only need addr:port:keyid to build an OR
- * connection, and onion_key to create the onionskin.) */
+ * connection, and onion_key to create the onionskin. Note that for onehop
+ * general-purpose tunnels, the onion_key is NULL. */
typedef struct extend_info_t {
char nickname[MAX_HEX_NICKNAME_LEN+1]; /**< This router's nickname for
* display. */
@@ -1905,6 +1906,7 @@ int circuit_append_new_exit(origin_circuit_t *circ, extend_info_t *info);
int circuit_extend_to_new_exit(origin_circuit_t *circ, extend_info_t *info);
void onion_append_to_cpath(crypt_path_t **head_ptr, crypt_path_t *new_hop);
extend_info_t *extend_info_from_router(routerinfo_t *r);
+extend_info_t *extend_info_from_routerstatus(routerstatus_t *s);
extend_info_t *extend_info_dup(extend_info_t *info);
void extend_info_free(extend_info_t *info);
routerinfo_t *build_state_get_exit_router(cpath_build_state_t *state);
@@ -2894,6 +2896,7 @@ void clear_trusted_dir_servers(void);
int any_trusted_dir_is_v1_authority(void);
networkstatus_t *networkstatus_get_by_digest(const char *digest);
local_routerstatus_t *router_get_combined_status_by_digest(const char *digest);
+routerstatus_t *routerstatus_get_by_hexdigest(const char *hexdigest);
void update_networkstatus_downloads(time_t now);
void update_router_descriptor_downloads(time_t now);
void routers_update_all_from_networkstatus(void);