11 #ifndef TOR_AUTHCERT_H
12 #define TOR_AUTHCERT_H
24 #define TRUSTED_DIRS_CERTS_SRC_SELF 0
25 #define TRUSTED_DIRS_CERTS_SRC_FROM_STORE 1
26 #define TRUSTED_DIRS_CERTS_SRC_DL_BY_ID_DIGEST 2
27 #define TRUSTED_DIRS_CERTS_SRC_DL_BY_ID_SK_DIGEST 3
28 #define TRUSTED_DIRS_CERTS_SRC_FROM_VOTE 4
31 int flush,
const char *source_dir);
37 const char *sk_digest);
40 const char *signing_key_digest,
int status);
42 const char *dir_hint);
47 #define authority_cert_free(cert) \
48 FREE_AND_NULL(authority_cert_t, authority_cert_free_, (cert))
52 (
const char *digest));
54 (
const char *digest));
56 (
const char *id_digest,
const char *sk_digest));
58 void authcert_free_all(
void);
void authority_cert_dl_failed(const char *id_digest, const char *signing_key_digest, int status)
int trusted_dirs_load_certs_from_string(const char *contents, int source, int flush, const char *source_dir)
download_status_t * download_status_for_authority_id_and_sk(const char *id_digest, const char *sk_digest)
download_status_t * id_only_download_status_for_authority_id(const char *digest)
void trusted_dirs_remove_old_certs(void)
authority_cert_t * authority_cert_get_newest_by_id(const char *id_digest)
void authority_cert_get_all(smartlist_t *certs_out)
authority_cert_t * authority_cert_get_by_digests(const char *id_digest, const char *sk_digest)
int trusted_dirs_reload_certs(void)
void authority_certs_fetch_missing(networkstatus_t *status, time_t now, const char *dir_hint)
authority_cert_t * authority_cert_get_by_sk_digest(const char *sk_digest)
int authority_cert_is_denylisted(const authority_cert_t *cert)
void trusted_dirs_flush_certs_to_disk(void)
void authority_cert_free_(authority_cert_t *cert)
int authority_cert_dl_looks_uncertain(const char *id_digest)
smartlist_t * list_authority_ids_with_downloads(void)
smartlist_t * list_sk_digests_for_authority_id(const char *digest)
Macros to implement mocking and selective exposure for the test code.
#define MOCK_DECL(rv, funcname, arglist)