aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-10-11 16:06:47 +0000
committerNick Mathewson <nickm@torproject.org>2007-10-11 16:06:47 +0000
commit52ca3a7610fcdf656c974a7adbb294355ebbc4c7 (patch)
tree6a26179449c5a3f36e84304aa471f1c067730ecf /src/or
parent66701226192f79ecfd60a4d5d7f680572ce26917 (diff)
downloadtor-52ca3a7610fcdf656c974a7adbb294355ebbc4c7.tar
tor-52ca3a7610fcdf656c974a7adbb294355ebbc4c7.tar.gz
r14886@Kushana: nickm | 2007-10-11 11:02:53 -0400
Move prototypes around in or.h so that the functions from routerlist.c which moved to networkstatus.c are all grouped in the right section. svn:r11869
Diffstat (limited to 'src/or')
-rw-r--r--src/or/or.h185
1 files changed, 86 insertions, 99 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 4674a4d29..e2c5c8a71 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2886,7 +2886,7 @@ format_networkstatus_vote(crypto_pk_env_t *private_key,
/********************************* dirvote.c ************************/
-/** Lowest allowable value for VoteSeconds. /*
+/** Lowest allowable value for VoteSeconds. */
#define MIN_VOTE_SECONDS 20
/** Lowest allowable value for DistSeconds. */
#define MIN_DIST_SECONDS 20
@@ -3040,37 +3040,67 @@ int tor_init(int argc, char **argv);
* completely? */
#define MAX_NETWORKSTATUS_AGE (10*24*60*60)
-void networkstatus_consensus_download_failed(int status_code);
+typedef enum {
+ NS_FROM_CACHE, NS_FROM_DIR_BY_FP, NS_FROM_DIR_ALL, NS_GENERATED
+} networkstatus_source_t;
+
+typedef enum version_status_t {
+ VS_RECOMMENDED=0, /**< This version is listed as recommended. */
+ VS_OLD=1, /**< This version is older than any recommended version. */
+ VS_NEW=2, /**< This version is newer than any recommended version. */
+ VS_NEW_IN_SERIES=3, /**< This version is newer than any recommended version
+ * in its series, but later recommended versions exist.
+ */
+ VS_UNRECOMMENDED=4 /**< This version is not recommended (general case). */
+} version_status_t;
+
+typedef struct combined_version_status_t {
+ /** How many networkstatuses claim to know about versions? */
+ int n_versioning;
+ /** What do the majority of networkstatuses believe about this version? */
+ enum version_status_t consensus;
+ /** How many networkstatuses constitute the majority? */
+ int n_concurring;
+} combined_version_status_t;
+
void networkstatus_reset_warnings(void);
int router_reload_networkstatus(void);
-/* for consensuses. */
int router_reload_consensus_networkstatus(void);
-networkstatus_vote_t *networkstatus_get_latest_consensus(void);
-networkstatus_vote_t *networkstatus_get_live_consensus(time_t now);
-int networkstatus_set_current_consensus(const char *consensus, int from_cache,
- int was_waiting_for_certs);
+void routerstatus_free(routerstatus_t *rs);
+void networkstatus_free(networkstatus_t *ns);
char *networkstatus_get_cache_filename(const char *identity_digest);
-typedef enum {
- NS_FROM_CACHE, NS_FROM_DIR_BY_FP, NS_FROM_DIR_ALL, NS_GENERATED
-} networkstatus_source_t;
int router_set_networkstatus(const char *s, time_t arrived_at,
networkstatus_source_t source,
smartlist_t *requested_fingerprints);
void networkstatus_list_clean(time_t now);
routerstatus_t *networkstatus_find_entry(networkstatus_t *ns,
const char *digest);
-/* XXXX020 move remaining functions in networkstatus.c into this section. */
const smartlist_t *networkstatus_get_v2_list(void);
const smartlist_t *networkstatus_get_all_statuses(void);
-void networkstatus_note_certs_arrived(void);
+routerstatus_t *router_get_combined_status_by_digest(const char *digest);
+routerstatus_t *router_get_combined_status_by_descriptor_digest(const char *d);
+routerstatus_t *router_get_combined_status_by_nickname(const char *nickname,
+ int warn_if_unnamed);
const char *networkstatus_get_router_digest_by_nickname(const char *nickname);
+routerstatus_t *routerstatus_get_by_hexdigest(const char *hexdigest);
+void networkstatus_consensus_download_failed(int status_code);
+int should_delay_dir_fetches(or_options_t *options);
+void update_networkstatus_downloads(time_t now);
+networkstatus_t *networkstatus_get_by_digest(const char *digest);
+networkstatus_vote_t *networkstatus_get_latest_consensus(void);
+networkstatus_vote_t *networkstatus_get_live_consensus(time_t now);
+int networkstatus_set_current_consensus(const char *consensus, int from_cache,
+ int was_waiting_for_certs);
+void networkstatus_note_certs_arrived(void);
+void routers_update_all_from_networkstatus(time_t now);
+void networkstatus_list_update_recent(time_t now);
void routerstatus_list_update_from_networkstatus(time_t now);
-
+void routers_update_status_from_networkstatus(smartlist_t *routers,
+ int reset_failures);
+char *networkstatus_getinfo_helper_single(routerstatus_t *rs);
+int getinfo_helper_networkstatus(control_connection_t *conn,
+ const char *question, char **answer);
void networkstatus_free_all(void);
-routerstatus_t *router_get_combined_status_by_nickname(const char *nickname,
- int warn_if_unnamed);
-void routerstatus_free(routerstatus_t *routerstatus);
-void networkstatus_free(networkstatus_t *networkstatus);
/********************************* ntmain.c ***************************/
#ifdef MS_WINDOWS
@@ -3486,26 +3516,32 @@ typedef struct trusted_dir_server_t {
**/
} trusted_dir_server_t;
-int router_reload_router_list(void);
+#define ROUTER_REQUIRED_MIN_BANDWIDTH 10000
+
+#define ROUTER_MAX_DECLARED_BANDWIDTH INT32_MAX
+
int get_n_authorities(authority_type_t type);
+int trusted_dirs_reload_certs(void);
+int trusted_dirs_load_certs_from_string(const char *contents, int from_store);
+void trusted_dirs_flush_certs_to_disk(void);
+authority_cert_t *authority_cert_get_newest_by_id(const char *id_digest);
+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_certs_fetch_missing(networkstatus_vote_t *status, time_t now);
+int router_reload_router_list(void);
smartlist_t *router_get_trusted_dir_servers(void);
routerstatus_t *router_pick_directory_server(int requireother,
int fascistfirewall,
authority_type_t type,
int retry_if_no_servers);
+trusted_dir_server_t *router_get_trusteddirserver_by_digest(const char *d);
+trusted_dir_server_t *trusteddirserver_get_by_v3_auth_digest(const char *d);
routerstatus_t *router_pick_trusteddirserver(authority_type_t type,
int requireother,
int fascistfirewall,
int retry_if_no_servers);
-trusted_dir_server_t *router_get_trusteddirserver_by_digest(
- const char *digest);
-trusted_dir_server_t *trusteddirserver_get_by_v3_auth_digest(
- const char *digest);
-authority_cert_t *authority_cert_get_newest_by_id(const char *id_digest);
-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_certs_fetch_missing(networkstatus_vote_t *status, time_t now);
+void router_reset_status_download_failures(void);
void routerlist_add_family(smartlist_t *sl, routerinfo_t *router);
void add_nickname_list_to_smartlist(smartlist_t *sl, const char *list,
int must_be_running);
@@ -3513,29 +3549,32 @@ int router_nickname_is_in_list(routerinfo_t *router, const char *list);
routerinfo_t *routerlist_find_my_routerinfo(void);
routerinfo_t *router_find_exact_exit_enclave(const char *address,
uint16_t port);
-
-#define ROUTER_REQUIRED_MIN_BANDWIDTH 10000
-
-#define ROUTER_MAX_DECLARED_BANDWIDTH INT32_MAX
int router_is_unreliable(routerinfo_t *router, int need_uptime,
int need_capacity, int need_guard);
uint32_t router_get_advertised_bandwidth(routerinfo_t *router);
+
typedef enum {
NO_WEIGHTING, WEIGHT_FOR_EXIT, WEIGHT_FOR_GUARD
} bandwidth_weight_rule_t;
routerinfo_t *routerlist_sl_choose_by_bandwidth(smartlist_t *sl,
bandwidth_weight_rule_t rule);
routerstatus_t *routerstatus_sl_choose_by_bandwidth(smartlist_t *sl);
-
routerinfo_t *router_choose_random_node(const char *preferred,
const char *excluded,
smartlist_t *excludedsmartlist,
- int need_uptime, int need_bandwidth,
+ int need_uptime, int need_capacity,
int need_guard,
int allow_invalid, int strict,
int weight_for_exit);
routerinfo_t *router_get_by_nickname(const char *nickname,
int warn_if_unnamed);
+int router_digest_version_as_new_as(const char *digest, const char *cutoff);
+int router_digest_is_trusted_dir_type(const char *digest,
+ authority_type_t type);
+#define router_digest_is_trusted_dir(d) \
+ router_digest_is_trusted_dir_type((d), 0)
+
+int router_addr_is_trusted_dir(uint32_t addr);
int hexdigest_to_digest(const char *hexdigest, char *digest);
routerinfo_t *router_get_by_hexdigest(const char *hexdigest);
routerinfo_t *router_get_by_digest(const char *digest);
@@ -3543,26 +3582,20 @@ signed_descriptor_t *router_get_by_descriptor_digest(const char *digest);
signed_descriptor_t *router_get_by_extrainfo_digest(const char *digest);
signed_descriptor_t *extrainfo_get_by_descriptor_digest(const char *digest);
const char *signed_descriptor_get_body(signed_descriptor_t *desc);
-int router_digest_version_as_new_as(const char *digest, const char *cutoff);
-int router_digest_is_trusted_dir_type(const char *digest,
- authority_type_t type);
-#define router_digest_is_trusted_dir(d) \
- router_digest_is_trusted_dir_type((d), 0)
-int router_addr_is_trusted_dir(uint32_t addr);
routerlist_t *router_get_routerlist(void);
-void routerlist_reset_warnings(void);
-void routerlist_free(routerlist_t *routerlist);
-void dump_routerlist_mem_usage(int severity);
-void routerlist_remove(routerlist_t *rl, routerinfo_t *ri, int make_old);
void routerinfo_free(routerinfo_t *router);
void extrainfo_free(extrainfo_t *extrainfo);
+void routerlist_free(routerlist_t *rl);
+void dump_routerlist_mem_usage(int severity);
+void routerlist_remove(routerlist_t *rl, routerinfo_t *ri, int make_old);
void routerlist_free_all(void);
+void routerlist_reset_warnings(void);
void router_set_status(const char *digest, int up);
-void routerlist_remove_old_routers(void);
int router_add_to_routerlist(routerinfo_t *router, const char **msg,
int from_cache, int from_fetch);
void router_add_extrainfo_to_routerlist(extrainfo_t *ei, const char **msg,
int from_cache, int from_fetch);
+void routerlist_remove_old_routers(void);
int router_load_single_router(const char *s, uint8_t purpose,
const char **msg);
void router_load_routers_from_string(const char *s, const char *eos,
@@ -3572,55 +3605,31 @@ void router_load_routers_from_string(const char *s, const char *eos,
const char *prepend_annotations);
void router_load_extrainfo_from_string(const char *s, const char *eos,
saved_location_t saved_location,
- smartlist_t *requested_fps,
+ smartlist_t *requested_fingerprints,
int descriptor_digests);
-
+void routerlist_retry_directory_downloads(time_t now);
int router_exit_policy_all_routers_reject(uint32_t addr, uint16_t port,
int need_uptime);
int router_exit_policy_rejects_all(routerinfo_t *router);
-
void add_trusted_dir_server(const char *nickname, const char *address,
- uint16_t dir_port, uint16_t or_port,
- const char *digest,
- const char *v3_auth_digest,
- authority_type_t type);
+ uint16_t dir_port, uint16_t or_port,
+ const char *digest, const char *v3_auth_digest,
+ authority_type_t type);
void clear_trusted_dir_servers(void);
int any_trusted_dir_is_v1_authority(void);
-networkstatus_t *networkstatus_get_by_digest(const char *digest);
-routerstatus_t *router_get_combined_status_by_digest(const char *digest);
-routerstatus_t *router_get_combined_status_by_descriptor_digest(
- const char *digest);
-
-//routerstatus_t *routerstatus_get_by_hexdigest(const char *hexdigest);
-int should_delay_dir_fetches(or_options_t *options);
-void update_networkstatus_downloads(time_t now);
-void routerlist_retry_directory_downloads(time_t now);
+char *compute_recommended_versions(time_t now, int client,
+ const char *my_version,
+ combined_version_status_t *status_out);
void update_router_descriptor_downloads(time_t now);
void update_extrainfo_downloads(time_t now);
-void routers_update_all_from_networkstatus(time_t now);
-void routers_update_status_from_networkstatus(smartlist_t *routers,
- int reset_failures);
-smartlist_t *router_list_superseded(void);
int router_have_minimum_dir_info(void);
void router_dir_info_changed(void);
-void networkstatus_list_update_recent(time_t now);
void router_reset_descriptor_download_failures(void);
-void router_reset_status_download_failures(void);
int router_differences_are_cosmetic(routerinfo_t *r1, routerinfo_t *r2);
int routerinfo_incompatible_with_extrainfo(routerinfo_t *ri, extrainfo_t *ei,
const char **msg);
-const char *esc_router_info(routerinfo_t *router);
-
-char *networkstatus_getinfo_helper_single(routerstatus_t *rs);
-int getinfo_helper_networkstatus(control_connection_t *conn,
- const char *question, char **answer);
-
void routerlist_assert_ok(routerlist_t *rl);
-void routerlist_check_bug_417(void);
-
-int trusted_dirs_reload_certs(void);
-int trusted_dirs_load_certs_from_string(const char *contents, int from_store);
-void trusted_dirs_flush_certs_to_disk(void);
+const char *esc_router_info(routerinfo_t *router);
/********************************* routerparse.c ************************/
@@ -3642,28 +3651,6 @@ typedef struct tor_version_t {
int svn_revision;
} tor_version_t;
-typedef enum version_status_t {
- VS_RECOMMENDED=0, /**< This version is listed as recommended. */
- VS_OLD=1, /**< This version is older than any recommended version. */
- VS_NEW=2, /**< This version is newer than any recommended version. */
- VS_NEW_IN_SERIES=3, /**< This version is newer than any recommended version
- * in its series, but later recommended versions exist.
- */
- VS_UNRECOMMENDED=4 /**< This version is not recommended (general case). */
-} version_status_t;
-
-typedef struct combined_version_status_t {
- /** How many networkstatuses claim to know about versions? */
- int n_versioning;
- /** What do the majority of networkstatuses believe about this version? */
- version_status_t consensus;
- /** How many networkstatuses constitute the majority? */
- int n_concurring;
-} combined_version_status_t;
-char *compute_recommended_versions(time_t now, int client,
- const char *my_version,
- combined_version_status_t *status_out);
-
int router_get_router_hash(const char *s, char *digest);
int router_get_dir_hash(const char *s, char *digest);
int router_get_runningrouters_hash(const char *s, char *digest);