aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-12-11 19:12:48 +0000
committerNick Mathewson <nickm@torproject.org>2008-12-11 19:12:48 +0000
commit043b4fc59e635015dc7fc758d44ba298b8278f4a (patch)
treed139f6f67af83b9cc5866415e0e2d0795b474aaa /src/or/or.h
parent29f5a65a166cd06879ef55b7b5a38ae88c40482f (diff)
downloadtor-043b4fc59e635015dc7fc758d44ba298b8278f4a.tar
tor-043b4fc59e635015dc7fc758d44ba298b8278f4a.tar.gz
Add a PDS_ flag to exclude authorities from which we are fetching descs.
Yes, this is maybe a little overspecific. Part of a bug 366 fix. svn:r17593
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 0335afef4..37eeaddc3 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -4191,9 +4191,26 @@ int router_reload_router_list(void);
smartlist_t *router_get_trusted_dir_servers(void);
/* Flags for pick_directory_server and pick_trusteddirserver. */
+/** Flag to indicate that we should not automatically be willing to use
+ * ourself to answer a directory request.
+ * Passed to router_pick_directory_server (et al).*/
#define PDS_ALLOW_SELF (1<<0)
+/** Flag to indicate that if no servers seem to be up, we should mark all
+ * directory servers as up and try again.
+ * Passed to router_pick_directory_server (et al).*/
#define PDS_RETRY_IF_NO_SERVERS (1<<1)
+/** Flag to indicate that we should not exclude directory servers that
+ * our ReachableAddress settings would exclude. This usually means that
+ * we're going to connect to the server over Tor, and so we don't need to
+ * worry about our firewall telling us we can't.
+ * Passed to router_pick_directory_server (et al).*/
#define PDS_IGNORE_FASCISTFIREWALL (1<<2)
+/** Flag to indicate that we should not use any directory authority to which
+ * we have an existing directory connection for downloading server descriptors
+ * or extrainfo documents. [NOTE: Only implemented for
+ * router_pick_trusteddirserver, not router_pick_directory_server.]
+ * Passed to router_pick_directory_server (et al).*/
+#define PDS_NO_EXISTING_SERVERDESC_FETCH (1<<3)
#define _PDS_PREFER_TUNNELED_DIR_CONNS (1<<16)
routerstatus_t *router_pick_directory_server(authority_type_t type, int flags);
trusted_dir_server_t *router_get_trusteddirserver_by_digest(const char *d);