[tor-commits] [tor/master] Refactor directory_initiate_command() so that it accepts guard_state.
nickm at torproject.org
nickm at torproject.org
Wed Jun 28 17:54:55 UTC 2017
commit e102ad60d0490abf97102644960a9c602c658992
Author: George Kadianakis <desnacked at riseup.net>
Date: Mon May 22 15:45:46 2017 +0300
Refactor directory_initiate_command() so that it accepts guard_state.
---
src/or/bridges.c | 2 +-
src/or/directory.c | 6 ++++--
src/or/directory.h | 4 +++-
src/or/router.c | 3 ++-
src/or/routerlist.c | 2 +-
5 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/or/bridges.c b/src/or/bridges.c
index 88154c6..58375ca 100644
--- a/src/or/bridges.c
+++ b/src/or/bridges.c
@@ -575,7 +575,7 @@ launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge)
bridge->identity,
DIR_PURPOSE_FETCH_SERVERDESC,
ROUTER_PURPOSE_BRIDGE,
- DIRIND_ONEHOP, "authority.z", NULL, 0, 0);
+ DIRIND_ONEHOP, "authority.z", NULL, 0, 0, NULL);
}
/** Fetching the bridge descriptor from the bridge authority returned a
diff --git a/src/or/directory.c b/src/or/directory.c
index 70437fe..edd07af 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -1131,6 +1131,7 @@ directory_command_should_use_begindir(const or_options_t *options,
* <b>router_purpose</b>, making an (in)direct connection as specified in
* <b>indirection</b>, with command <b>resource</b>, <b>payload</b> of
* <b>payload_len</b>, and asking for a result only <b>if_modified_since</b>.
+ * If <b>guard_state</b> is set, assign it to the directory circuit.
*/
void
directory_initiate_command(const tor_addr_t *or_addr, uint16_t or_port,
@@ -1139,7 +1140,8 @@ directory_initiate_command(const tor_addr_t *or_addr, uint16_t or_port,
uint8_t dir_purpose, uint8_t router_purpose,
dir_indirection_t indirection, const char *resource,
const char *payload, size_t payload_len,
- time_t if_modified_since)
+ time_t if_modified_since,
+ circuit_guard_state_t *guard_state)
{
tor_addr_port_t or_ap, dir_ap;
@@ -1166,7 +1168,7 @@ directory_initiate_command(const tor_addr_t *or_addr, uint16_t or_port,
digest, dir_purpose,
router_purpose, indirection,
resource, payload, payload_len,
- if_modified_since, NULL, NULL);
+ if_modified_since, NULL, guard_state);
}
/** Same as directory_initiate_command(), but accepts rendezvous data to
diff --git a/src/or/directory.h b/src/or/directory.h
index 8be1f8e..3d430f4 100644
--- a/src/or/directory.h
+++ b/src/or/directory.h
@@ -12,6 +12,7 @@
#ifndef TOR_DIRECTORY_H
#define TOR_DIRECTORY_H
+
int directories_have_accepted_server_descriptor(void);
void directory_post_to_dirservers(uint8_t dir_purpose, uint8_t router_purpose,
dirinfo_type_t type, const char *payload,
@@ -79,7 +80,8 @@ void directory_initiate_command(const tor_addr_t *or_addr, uint16_t or_port,
dir_indirection_t indirection,
const char *resource,
const char *payload, size_t payload_len,
- time_t if_modified_since);
+ time_t if_modified_since,
+ struct circuit_guard_state_t *guard_state);
#define DSR_HEX (1<<0)
#define DSR_BASE64 (1<<1)
diff --git a/src/or/router.c b/src/or/router.c
index e4fa72a..ddcf9ab 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -1390,7 +1390,8 @@ consider_testing_reachability(int test_or, int test_dir)
me->cache_info.identity_digest,
DIR_PURPOSE_FETCH_SERVERDESC,
ROUTER_PURPOSE_GENERAL,
- DIRIND_ANON_DIRPORT, "authority.z", NULL, 0, 0);
+ DIRIND_ANON_DIRPORT, "authority.z",
+ NULL, 0, 0, NULL);
}
}
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 45b3838..b68db75 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -961,7 +961,7 @@ authority_certs_fetch_resource_impl(const char *resource,
DIR_PURPOSE_FETCH_CERTIFICATE,
0,
indirection,
- resource, NULL, 0, 0);
+ resource, NULL, 0, 0, NULL);
return;
}
More information about the tor-commits
mailing list