diff options
author | Nick Mathewson <nickm@torproject.org> | 2007-07-27 18:33:28 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2007-07-27 18:33:28 +0000 |
commit | a65cea38d2ff3b306b9b1477309c9bf60392228a (patch) | |
tree | 5834e798f0d600c004e3dda484e703ed33e2dc1b /src/or/or.h | |
parent | 35561a542c3e9e4444153418c5290df5e4e3890a (diff) | |
download | tor-a65cea38d2ff3b306b9b1477309c9bf60392228a.tar tor-a65cea38d2ff3b306b9b1477309c9bf60392228a.tar.gz |
r13936@catbus: nickm | 2007-07-27 12:23:26 -0400
Code to implement detached signature documents.
svn:r10944
Diffstat (limited to 'src/or/or.h')
-rw-r--r-- | src/or/or.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h index c238efc9c..e54b39b96 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -1361,6 +1361,16 @@ typedef struct networkstatus_vote_t { * otherwise just routerstatus_t. */ } networkstatus_vote_t; +/* XXXX020 merge with networkstatus_vote_t ?? */ +/** DOCDOC */ +typedef struct ns_detached_signatures_t { + time_t valid_after; + time_t fresh_until; + time_t valid_until; + char networkstatus_digest[DIGEST_LEN]; + smartlist_t *signatures; /* list of networkstatus_voter_info_t */ +} ns_detached_signatures_t; + /** Contents of a directory of onion routers. */ typedef struct { /** Map from server identity digest to a member of routers. */ @@ -2796,6 +2806,11 @@ int networkstatus_check_consensus_signature(networkstatus_vote_t *consensus); int networkstatus_add_consensus_signatures(networkstatus_vote_t *target, networkstatus_vote_t *src, char **new_signatures_out); +int networkstatus_add_detached_signatures(networkstatus_vote_t *target, + ns_detached_signatures_t *sigs, + char **new_signatures_out); +char *networkstatus_get_detached_signatures(networkstatus_vote_t *consensus); +void ns_detached_signatures_free(ns_detached_signatures_t *s); /* cert manipulation */ void authority_cert_free(authority_cert_t *cert); @@ -3505,6 +3520,8 @@ void dump_distinct_digest_count(int severity); networkstatus_t *networkstatus_parse_from_string(const char *s); networkstatus_vote_t *networkstatus_parse_vote_from_string(const char *s, int is_vote); +ns_detached_signatures_t *networkstatus_parse_detached_signatures( + const char *s, const char *eos); authority_cert_t *authority_cert_parse_from_string(const char *s, const char **end_of_string); |