diff options
author | Nick Mathewson <nickm@torproject.org> | 2007-08-20 16:03:19 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2007-08-20 16:03:19 +0000 |
commit | 76d40372fcb963b906beef37f756f31f9727ee0e (patch) | |
tree | c8b30d475687b0336aba743b4cdcc62e856a86d5 /src/or | |
parent | 9958dc8d5375b88cb6d07b168ff09a8d76acaa8e (diff) | |
download | tor-76d40372fcb963b906beef37f756f31f9727ee0e.tar tor-76d40372fcb963b906beef37f756f31f9727ee0e.tar.gz |
r14731@catbus: nickm | 2007-08-20 12:02:09 -0400
Clean up authdir_X functions a little.
svn:r11220
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/or.h | 1 | ||||
-rw-r--r-- | src/or/router.c | 25 |
2 files changed, 15 insertions, 11 deletions
diff --git a/src/or/or.h b/src/or/or.h index f348e9232..87f00ac02 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -3295,6 +3295,7 @@ int authdir_mode_handles_descs(or_options_t *options); int authdir_mode_publishes_statuses(or_options_t *options); int authdir_mode_tests_reachability(or_options_t *options); int authdir_mode_bridge(or_options_t *options); +int authdir_mode_any_nonbridge(or_options_t *options); int clique_mode(or_options_t *options); int server_mode(or_options_t *options); int advertised_server_mode(void); diff --git a/src/or/router.c b/src/or/router.c index dc44ad48f..e69aa3d57 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -367,7 +367,7 @@ init_keys(void) /* 1a. Read v3 directory authority key/cert information. */ memset(v3_digest, 0, sizeof(v3_digest)); - if (authdir_mode(options) && options->V3AuthoritativeDir) { + if (authdir_mode_v3(options)) { init_v3_authority_keys(keydir); if (get_my_v3_authority_cert()) { crypto_pk_get_digest(get_my_v3_authority_cert()->identity_key, @@ -735,14 +735,23 @@ authdir_mode_v3(or_options_t *options) { return authdir_mode(options) && options->V3AuthoritativeDir != 0; } +/** DOCDOC */ +int +authdir_mode_any_nonbridge(or_options_t *options) +{ + return authdir_mode(options) && + (options->V1AuthoritativeDir || + options->V2AuthoritativeDir || + options->V3AuthoritativeDir); +} /** Return true iff we are an authoritative directory server that * is willing to receive or serve descriptors on its dirport. */ int authdir_mode_handles_descs(or_options_t *options) { - return authdir_mode_v1(options) || authdir_mode_v2(options) || - authdir_mode_bridge(options); + return authdir_mode_any_nonbridge(options) || + authdir_mode_bridge(options); } /** Return true iff we are an authoritative directory server that * publishes its own network statuses. @@ -752,10 +761,7 @@ authdir_mode_publishes_statuses(or_options_t *options) { if (authdir_mode_bridge(options)) return 0; - return authdir_mode(options) && - (options->V1AuthoritativeDir || - options->V2AuthoritativeDir || - options->V3AuthoritativeDir); + return authdir_mode_any_nonbridge(options); } /** Return true iff we are an authoritative directory server that * tests reachability of the descriptors it learns about. @@ -763,10 +769,7 @@ authdir_mode_publishes_statuses(or_options_t *options) int authdir_mode_tests_reachability(or_options_t *options) { - return authdir_mode(options) && - (options->V1AuthoritativeDir || - options->V2AuthoritativeDir || - options->V3AuthoritativeDir); + return authdir_mode_any_nonbridge(options); } /** Return true iff we believe ourselves to be a bridge authoritative * directory server. |