Move back dirvote_authority_cert_dup to dirvote.c

Originally, it was made public outside of the dirauth module but it is no
longer needed. In doing so, we put it back in dirvote.c and reverted its name
to the original one:

dirvote_authority_cert_dup() --> authority_cert_dup()

Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
David Goulet 2018-05-01 08:58:57 -04:00
parent 43bba89656
commit 15e8ce3937
5 changed files with 30 additions and 31 deletions

View File

@ -94,6 +94,30 @@ static void dirvote_clear_votes(int all_votes);
static int dirvote_compute_consensuses(void);
static int dirvote_publish_consensus(void);
/* =====
* Certificate functions
* ===== */
/** Allocate and return a new authority_cert_t with the same contents as
* <b>cert</b>. */
STATIC authority_cert_t *
authority_cert_dup(authority_cert_t *cert)
{
authority_cert_t *out = tor_malloc(sizeof(authority_cert_t));
tor_assert(cert);
memcpy(out, cert, sizeof(authority_cert_t));
/* Now copy pointed-to things. */
out->cache_info.signed_descriptor_body =
tor_strndup(cert->cache_info.signed_descriptor_body,
cert->cache_info.signed_descriptor_len);
out->cache_info.saved_location = SAVED_NOWHERE;
out->identity_key = crypto_pk_dup_key(cert->identity_key);
out->signing_key = crypto_pk_dup_key(cert->signing_key);
return out;
}
/* =====
* Voting
* =====*/
@ -4472,7 +4496,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key,
v3_out->voters = smartlist_new();
smartlist_add(v3_out->voters, voter);
v3_out->cert = dirvote_authority_cert_dup(cert);
v3_out->cert = authority_cert_dup(cert);
v3_out->routerstatus_list = routerstatuses;
/* Note: networkstatus_digest is unset; it won't get set until we actually
* format the vote. */

View File

@ -202,6 +202,8 @@ vote_microdesc_hash_t *dirvote_format_all_microdesc_vote_lines(
*/
#ifdef DIRVOTE_PRIVATE
/* Cert manipulation */
STATIC authority_cert_t *authority_cert_dup(authority_cert_t *cert);
STATIC int32_t dirvote_get_intermediate_param_value(
const smartlist_t *param_list,
const char *keyword,

View File

@ -193,27 +193,3 @@ dirvote_get_voter_sig_by_alg(const networkstatus_voter_info_t *voter,
return NULL;
}
/* =====
* Certificate functions
* ===== */
/** Allocate and return a new authority_cert_t with the same contents as
* <b>cert</b>. */
authority_cert_t *
dirvote_authority_cert_dup(authority_cert_t *cert)
{
authority_cert_t *out = tor_malloc(sizeof(authority_cert_t));
tor_assert(cert);
memcpy(out, cert, sizeof(authority_cert_t));
/* Now copy pointed-to things. */
out->cache_info.signed_descriptor_body =
tor_strndup(cert->cache_info.signed_descriptor_body,
cert->cache_info.signed_descriptor_len);
out->cache_info.saved_location = SAVED_NOWHERE;
out->identity_key = crypto_pk_dup_key(cert->identity_key);
out->signing_key = crypto_pk_dup_key(cert->signing_key);
return out;
}

View File

@ -62,8 +62,5 @@ document_signature_t *dirvote_get_voter_sig_by_alg(
const networkstatus_voter_info_t *voter,
digest_algorithm_t alg);
/* Cert manipulation */
authority_cert_t *dirvote_authority_cert_dup(authority_cert_t *cert);
#endif /* TOR_DIRVOTE_COMMON_H */

View File

@ -307,7 +307,7 @@ dir_common_construct_vote_1(networkstatus_t **vote, authority_cert_t *cert,
* Set up a vote; generate it; try to parse it.
*/
smartlist_add((*vote)->voters, voter);
(*vote)->cert = dirvote_authority_cert_dup(cert);
(*vote)->cert = authority_cert_dup(cert);
smartlist_split_string((*vote)->net_params, "circuitwindow=101 foo=990",
NULL, 0, 0);
*n_vrs = 0;
@ -356,7 +356,7 @@ dir_common_construct_vote_2(networkstatus_t **vote, authority_cert_t *cert,
* Set up a vote; generate it; try to parse it.
*/
smartlist_add((*vote)->voters, voter);
(*vote)->cert = dirvote_authority_cert_dup(cert);
(*vote)->cert = authority_cert_dup(cert);
if (! (*vote)->net_params)
(*vote)->net_params = smartlist_new();
smartlist_split_string((*vote)->net_params,
@ -407,7 +407,7 @@ dir_common_construct_vote_3(networkstatus_t **vote, authority_cert_t *cert,
* Set up a vote; generate it; try to parse it.
*/
smartlist_add((*vote)->voters, voter);
(*vote)->cert = dirvote_authority_cert_dup(cert);
(*vote)->cert = authority_cert_dup(cert);
smartlist_split_string((*vote)->net_params, "circuitwindow=80 foo=660",
NULL, 0, 0);
/* add routerstatuses */