GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

Commit b3a69074 authored by Nick Mathewson's avatar Nick Mathewson 🍜
Browse files

Remove a bunch of functions that were never called.

parent 67749475
......@@ -1279,38 +1279,3 @@ switch_logs_debug(void)
UNLOCK_LOGS();
}
#if 0
static void
dump_log_info(logfile_t *lf)
{
const char *tp;
if (lf->filename) {
printf("=== log into \"%s\" (%s-%s) (%stemporary)\n", lf->filename,
sev_to_string(lf->min_loglevel),
sev_to_string(lf->max_loglevel),
lf->is_temporary?"":"not ");
} else if (lf->is_syslog) {
printf("=== syslog (%s-%s) (%stemporary)\n",
sev_to_string(lf->min_loglevel),
sev_to_string(lf->max_loglevel),
lf->is_temporary?"":"not ");
} else {
printf("=== log (%s-%s) (%stemporary)\n",
sev_to_string(lf->min_loglevel),
sev_to_string(lf->max_loglevel),
lf->is_temporary?"":"not ");
}
}
void
describe_logs(void)
{
logfile_t *lf;
printf("==== BEGIN LOGS ====\n");
for (lf = logfiles; lf; lf = lf->next)
dump_log_info(lf);
printf("==== END LOGS ====\n");
}
#endif
......@@ -4164,22 +4164,6 @@ connection_dir_get_by_purpose_and_resource(int purpose,
return NULL;
}
/** Return an open, non-marked connection of a given type and purpose, or NULL
* if no such connection exists. */
connection_t *
connection_get_by_type_purpose(int type, int purpose)
{
smartlist_t *conns = get_connection_array();
SMARTLIST_FOREACH(conns, connection_t *, conn,
{
if (conn->type == type &&
!conn->marked_for_close &&
(purpose == conn->purpose))
return conn;
});
return NULL;
}
/** Return 1 if <b>conn</b> is a listener conn, else return 0. */
int
connection_is_listener(connection_t *conn)
......
......@@ -178,7 +178,6 @@ connection_get_outbuf_len(connection_t *conn)
connection_t *connection_get_by_global_id(uint64_t id);
connection_t *connection_get_by_type(int type);
connection_t *connection_get_by_type_purpose(int type, int purpose);
connection_t *connection_get_by_type_addr_port_purpose(int type,
const tor_addr_t *addr,
uint16_t port, int purpose);
......
......@@ -1301,15 +1301,6 @@ directory_permits_begindir_requests(const or_options_t *options)
return options->BridgeRelay != 0 || options->DirPort_set;
}
/** Return 1 if we want to allow controllers to ask us directory
* requests via the controller interface, which doesn't require
* having any separate port open. */
int
directory_permits_controller_requests(const or_options_t *options)
{
return options->DirPort_set;
}
/** Return 1 if we have no need to fetch new descriptors. This generally
* happens when we're not a dir cache and we haven't built any circuits
* lately.
......@@ -1457,21 +1448,6 @@ dirserv_set_cached_consensus_networkstatus(const char *networkstatus,
cached_dir_decref(old_networkstatus);
}
/** Remove any v1 info from the directory cache that was published
* too long ago. */
void
dirserv_clear_old_v1_info(time_t now)
{
if (cached_directory &&
cached_directory->published < (now - MAX_V1_DIRECTORY_AGE)) {
cached_dir_decref(cached_directory);
cached_directory = NULL;
}
if (cached_runningrouters.published < (now - MAX_V1_RR_AGE)) {
clear_cached_dir(&cached_runningrouters);
}
}
/** Helper: If we're an authority for the right directory version (v1)
* (based on <b>auth_type</b>), try to regenerate
* auth_src as appropriate and return it, falling back to cache_src on
......
......@@ -59,7 +59,6 @@ int directory_fetches_dir_info_later(const or_options_t *options);
int directory_caches_unknown_auth_certs(const or_options_t *options);
int directory_caches_dir_info(const or_options_t *options);
int directory_permits_begindir_requests(const or_options_t *options);
int directory_permits_controller_requests(const or_options_t *options);
int directory_too_idle_to_fetch_descriptors(const or_options_t *options,
time_t now);
......@@ -72,7 +71,6 @@ void dirserv_set_cached_consensus_networkstatus(const char *consensus,
const digests_t *digests,
time_t published);
void dirserv_clear_old_networkstatuses(time_t cutoff);
void dirserv_clear_old_v1_info(time_t now);
int dirserv_get_routerdesc_fingerprints(smartlist_t *fps_out, const char *key,
const char **msg,
int for_unencrypted_conn,
......
......@@ -1202,16 +1202,6 @@ run_scheduled_events(time_t now)
*/
consider_hibernation(now);
#if 0
{
static time_t nl_check_time = 0;
if (nl_check_time <= now) {
nodelist_assert_ok();
nl_check_time = now + 30;
}
}
#endif
/* 0b. If we've deferred a signewnym, make sure it gets handled
* eventually. */
if (signewnym_is_pending &&
......
......@@ -522,16 +522,6 @@ networkstatus_check_consensus_signature(networkstatus_t *consensus,
return -2;
}
/** Helper: return a newly allocated string containing the name of the filename
* where we plan to cache the network status with the given identity digest. */
char *
networkstatus_get_cache_filename(const char *identity_digest)
{
char fp[HEX_DIGEST_LEN+1];
base16_encode(fp, HEX_DIGEST_LEN+1, identity_digest, DIGEST_LEN);
return get_datadir_fname2("cached-status", fp);
}
/** How far in the future do we allow a network-status to get before removing
* it? (seconds) */
#define NETWORKSTATUS_ALLOW_SKEW (24*60*60)
......
......@@ -25,7 +25,6 @@ int networkstatus_check_consensus_signature(networkstatus_t *consensus,
int networkstatus_check_document_signature(const networkstatus_t *consensus,
document_signature_t *sig,
const authority_cert_t *cert);
char *networkstatus_get_cache_filename(const char *identity_digest);
int compare_digest_to_routerstatus_entry(const void *_key,
const void **_member);
int compare_digest_to_vote_routerstatus_entry(const void *_key,
......
......@@ -1503,27 +1503,6 @@ find_rp_for_intro(const rend_intro_cell_t *intro,
return rp;
}
/** Remove unnecessary parts from a rend_intro_cell_t - the ciphertext if
* already decrypted, the plaintext too if already parsed
*/
void
rend_service_compact_intro(rend_intro_cell_t *request)
{
if (!request) return;
if ((request->plaintext && request->plaintext_len > 0) ||
request->parsed) {
tor_free(request->ciphertext);
request->ciphertext_len = 0;
}
if (request->parsed) {
tor_free(request->plaintext);
request->plaintext_len = 0;
}
}
/** Free a parsed INTRODUCE1 or INTRODUCE2 cell that was allocated by
* rend_service_parse_intro().
*/
......
......@@ -83,7 +83,6 @@ int rend_service_intro_established(origin_circuit_t *circuit,
void rend_service_rendezvous_has_opened(origin_circuit_t *circuit);
int rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
size_t request_len);
void rend_service_compact_intro(rend_intro_cell_t *request);
int rend_service_decrypt_intro(rend_intro_cell_t *request,
crypto_pk_t *key,
char **err_msg_out);
......
......@@ -1664,18 +1664,6 @@ router_is_me(const routerinfo_t *router)
return router_digest_is_me(router->cache_info.identity_digest);
}
/** Return true iff <b>fp</b> is a hex fingerprint of my identity digest. */
int
router_fingerprint_is_me(const char *fp)
{
char digest[DIGEST_LEN];
if (strlen(fp) == HEX_DIGEST_LEN &&
base16_decode(digest, sizeof(digest), fp, HEX_DIGEST_LEN) == 0)
return router_digest_is_me(digest);
return 0;
}
/** Return a routerinfo for this OR, rebuilding a fresh one if
* necessary. Return NULL on error, or if called on an OP. */
const routerinfo_t *
......@@ -1861,12 +1849,6 @@ router_rebuild_descriptor(int force)
tor_free(p_tmp);
}
#if 0
/* XXXX NM NM I belive this is safe to remove */
if (authdir_mode(options))
ri->is_valid = ri->is_named = 1; /* believe in yourself */
#endif
if (options->MyFamily && ! options->BridgeRelay) {
smartlist_t *family;
if (!warned_nonexistent_family)
......
......@@ -91,7 +91,6 @@ int router_digest_is_me(const char *digest);
const uint8_t *router_get_my_id_digest(void);
int router_extrainfo_digest_is_me(const char *digest);
int router_is_me(const routerinfo_t *router);
int router_fingerprint_is_me(const char *fp);
int router_pick_published_address(const or_options_t *options, uint32_t *addr);
int router_rebuild_descriptor(int force);
char *router_dump_router_to_string(routerinfo_t *router,
......
......@@ -130,16 +130,6 @@ static smartlist_t *warned_nicknames = NULL;
* download is low. */
static time_t last_descriptor_download_attempted = 0;
/** When we last computed the weights to use for bandwidths on directory
* requests, what were the total weighted bandwidth, and our share of that
* bandwidth? Used to determine what fraction of directory requests we should
* expect to see.
*
* @{ */
static uint64_t sl_last_total_weighted_bw = 0,
sl_last_weighted_bw_of_me = 0;
/**@}*/
/** Return the number of directory authorities whose type matches some bit set
* in <b>type</b> */
int
......@@ -1270,38 +1260,6 @@ router_pick_directory_server(dirinfo_type_t type, int flags)
return choice;
}
/** Try to determine which fraction ofv3 directory requests aimed at
* caches will be sent to us. Set
* *<b>v3_share_out</b> to the fraction of v3 protocol shares we
* expect to see. Return 0 on success, negative on failure. */
/* XXXX This function is unused. */
int
router_get_my_share_of_directory_requests(double *v3_share_out)
{
const routerinfo_t *me = router_get_my_routerinfo();
const routerstatus_t *rs;
const int pds_flags = PDS_ALLOW_SELF|PDS_IGNORE_FASCISTFIREWALL;
*v3_share_out = 0.0;
if (!me)
return -1;
rs = router_get_consensus_status_by_id(me->cache_info.identity_digest);
if (!rs)
return -1;
/* Calling for side effect */
/* XXXX This is a bit of a kludge */
{
sl_last_total_weighted_bw = 0;
router_pick_directory_server(V3_DIRINFO, pds_flags);
if (sl_last_total_weighted_bw != 0) {
*v3_share_out = U64_TO_DBL(sl_last_weighted_bw_of_me) /
U64_TO_DBL(sl_last_total_weighted_bw);
}
}
return 0;
}
/** Return the dir_server_t for the directory authority whose identity
* key hashes to <b>digest</b>, or NULL if no such authority is known.
*/
......@@ -1944,8 +1902,7 @@ smartlist_choose_node_by_bandwidth_weights(const smartlist_t *sl,
if (compute_weighted_bandwidths(sl, rule, &bandwidths) < 0)
return NULL;
scale_array_elements_to_u64(bandwidths, smartlist_len(sl),
&sl_last_total_weighted_bw);
scale_array_elements_to_u64(bandwidths, smartlist_len(sl), NULL);
{
int idx = choose_array_element_by_weight(bandwidths,
......@@ -2054,7 +2011,7 @@ compute_weighted_bandwidths(const smartlist_t *sl,
// Cycle through smartlist and total the bandwidth.
SMARTLIST_FOREACH_BEGIN(sl, const node_t *, node) {
int is_exit = 0, is_guard = 0, is_dir = 0, this_bw = 0, is_me = 0;
int is_exit = 0, is_guard = 0, is_dir = 0, this_bw = 0;
double weight = 1;
is_exit = node->is_exit && ! node->is_bad_exit;
is_guard = node->is_possible_guard;
......@@ -2077,7 +2034,6 @@ compute_weighted_bandwidths(const smartlist_t *sl,
/* We can't use this one. */
continue;
}
is_me = router_digest_is_me(node->identity);
if (is_guard && is_exit) {
weight = (is_dir ? Wdb*Wd : Wd);
......@@ -2096,8 +2052,6 @@ compute_weighted_bandwidths(const smartlist_t *sl,
weight = 0.0;
bandwidths[node_sl_idx].dbl = weight*this_bw + 0.5;
if (is_me)
sl_last_weighted_bw_of_me = (uint64_t) bandwidths[node_sl_idx].dbl;
} SMARTLIST_FOREACH_END(node);
log_debug(LD_CIRC, "Generated weighted bandwidths for rule %s based "
......@@ -2179,7 +2133,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl,
bitarray_t *fast_bits;
bitarray_t *exit_bits;
bitarray_t *guard_bits;
int me_idx = -1;
// This function does not support WEIGHT_FOR_DIR
// or WEIGHT_FOR_MID
......@@ -2213,9 +2166,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl,
uint32_t this_bw = 0;
i = node_sl_idx;
if (router_digest_is_me(node->identity))
me_idx = node_sl_idx;
is_exit = node->is_exit;
is_guard = node->is_possible_guard;
if (node->rs) {
......@@ -2319,7 +2269,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl,
if (guard_weight <= 0.0)
guard_weight = 0.0;
sl_last_weighted_bw_of_me = 0;
for (i=0; i < (unsigned)smartlist_len(sl); i++) {
tor_assert(bandwidths[i].dbl >= 0.0);
......@@ -2332,8 +2281,6 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl,
else if (is_exit)
bandwidths[i].dbl *= exit_weight;
if (i == (unsigned) me_idx)
sl_last_weighted_bw_of_me = (uint64_t) bandwidths[i].dbl;
}
}
......@@ -2352,8 +2299,7 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl,
guard_weight, (int)(rule == WEIGHT_FOR_GUARD));
#endif
scale_array_elements_to_u64(bandwidths, smartlist_len(sl),
&sl_last_total_weighted_bw);
scale_array_elements_to_u64(bandwidths, smartlist_len(sl), NULL);
{
int idx = choose_array_element_by_weight(bandwidths,
......
......@@ -2040,14 +2040,6 @@ routerstatus_parse_entry_from_string(memarea_t *area,
return rs;
}
/** Helper to sort a smartlist of pointers to routerstatus_t */
int
compare_routerstatus_entries(const void **_a, const void **_b)
{
const routerstatus_t *a = *_a, *b = *_b;
return fast_memcmp(a->identity_digest, b->identity_digest, DIGEST_LEN);
}
int
compare_vote_routerstatus_entries(const void **_a, const void **_b)
{
......
......@@ -51,7 +51,6 @@ void sort_version_list(smartlist_t *lst, int remove_duplicates);
void assert_addr_policy_ok(smartlist_t *t);
void dump_distinct_digest_count(int severity);
int compare_routerstatus_entries(const void **_a, const void **_b);
int compare_vote_routerstatus_entries(const void **_a, const void **_b);
int networkstatus_verify_bw_weights(networkstatus_t *ns, int);
networkstatus_t *networkstatus_parse_vote_from_string(const char *s,
......
......@@ -358,39 +358,6 @@ routerset_get_all_nodes(smartlist_t *out, const routerset_t *routerset,
}
}
#if 0
/** Add to <b>target</b> every node_t from <b>source</b> except:
*
* 1) Don't add it if <b>include</b> is non-empty and the relay isn't in
* <b>include</b>; and
* 2) Don't add it if <b>exclude</b> is non-empty and the relay is
* excluded in a more specific fashion by <b>exclude</b>.
* 3) If <b>running_only</b>, don't add non-running routers.
*/
void
routersets_get_node_disjunction(smartlist_t *target,
const smartlist_t *source,
const routerset_t *include,
const routerset_t *exclude, int running_only)
{
SMARTLIST_FOREACH(source, const node_t *, node, {
int include_result;
if (running_only && !node->is_running)
continue;
if (!routerset_is_empty(include))
include_result = routerset_contains_node(include, node);
else
include_result = 1;
if (include_result) {
int exclude_result = routerset_contains_node(exclude, node);
if (include_result >= exclude_result)
smartlist_add(target, (void*)node);
}
});
}
#endif
/** Remove every node_t from <b>lst</b> that is in <b>routerset</b>. */
void
routerset_subtract_nodes(smartlist_t *lst, const routerset_t *routerset)
......
......@@ -32,12 +32,6 @@ void routerset_get_all_nodes(smartlist_t *out, const routerset_t *routerset,
const routerset_t *excludeset,
int running_only);
int routerset_add_unknown_ccs(routerset_t **setp, int only_if_some_cc_set);
#if 0
void routersets_get_node_disjunction(smartlist_t *target,
const smartlist_t *source,
const routerset_t *include,
const routerset_t *exclude, int running_only);
#endif
void routerset_subtract_nodes(smartlist_t *out,
const routerset_t *routerset);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment