aboutsummaryrefslogtreecommitdiff
path: root/src/or/routerlist.h
diff options
context:
space:
mode:
authorAndrea Shepard <andrea@torproject.org>2013-05-10 19:39:48 -0700
committerAndrea Shepard <andrea@torproject.org>2013-05-10 19:39:48 -0700
commitaaa3a085db05c4d98b7c51b5ef16da166e7c7f0a (patch)
treeb5b7a62362aac37bcbf237548de19f467d88805b /src/or/routerlist.h
parentbae5dd6c8d4535360d471932b87431f54b515567 (diff)
parent54f41d68e9e30ccd0ebd84a3f8e913ea9e923cfd (diff)
downloadtor-aaa3a085db05c4d98b7c51b5ef16da166e7c7f0a.tar
tor-aaa3a085db05c4d98b7c51b5ef16da166e7c7f0a.tar.gz
Merge bug5595-v2-squashed into maint-0.2.4
Diffstat (limited to 'src/or/routerlist.h')
-rw-r--r--src/or/routerlist.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/or/routerlist.h b/src/or/routerlist.h
index 28b2f5893..ce0f0f2e3 100644
--- a/src/or/routerlist.h
+++ b/src/or/routerlist.h
@@ -13,7 +13,20 @@
int get_n_authorities(dirinfo_type_t type);
int trusted_dirs_reload_certs(void);
-int trusted_dirs_load_certs_from_string(const char *contents, int from_store,
+
+/*
+ * Pass one of these as source to trusted_dirs_load_certs_from_string()
+ * to indicate whence string originates; this controls error handling
+ * behavior such as marking downloads as failed.
+ */
+
+#define TRUSTED_DIRS_CERTS_SRC_SELF 0
+#define TRUSTED_DIRS_CERTS_SRC_FROM_STORE 1
+#define TRUSTED_DIRS_CERTS_SRC_DL_BY_ID_DIGEST 2
+#define TRUSTED_DIRS_CERTS_SRC_DL_BY_ID_SK_DIGEST 3
+#define TRUSTED_DIRS_CERTS_SRC_FROM_VOTE 4
+
+int trusted_dirs_load_certs_from_string(const char *contents, int source,
int flush);
void trusted_dirs_flush_certs_to_disk(void);
authority_cert_t *authority_cert_get_newest_by_id(const char *id_digest);
@@ -21,7 +34,8 @@ authority_cert_t *authority_cert_get_by_sk_digest(const char *sk_digest);
authority_cert_t *authority_cert_get_by_digests(const char *id_digest,
const char *sk_digest);
void authority_cert_get_all(smartlist_t *certs_out);
-void authority_cert_dl_failed(const char *id_digest, int status);
+void authority_cert_dl_failed(const char *id_digest,
+ const char *signing_key_digest, int status);
void authority_certs_fetch_missing(networkstatus_t *status, time_t now);
int router_reload_router_list(void);
int authority_cert_dl_looks_uncertain(const char *id_digest);