[tor-commits] [tor/release-0.3.1] Refactor directory_initiate_command() so that it accepts guard_state.

nickm at torproject.org nickm at torproject.org
Wed Jun 28 17:54:56 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