mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 22:58:50 +01:00
hs-v3: Make hs_desc_build_fake_authorized_client() return an object
Return a newly allocated fake client authorization object instead of taking the object as a parameter. Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
5e1d36c7db
commit
c76d00abfa
5 changed files with 20 additions and 22 deletions
|
@ -2833,18 +2833,22 @@ hs_desc_intro_point_free_(hs_desc_intro_point_t *ip)
|
|||
tor_free(ip);
|
||||
}
|
||||
|
||||
/* Build a fake client info for the descriptor */
|
||||
void
|
||||
hs_desc_build_fake_authorized_client(hs_desc_authorized_client_t *client_out)
|
||||
/* Allocate and build a new fake client info for the descriptor. Return a
|
||||
* newly allocated object. This can't fail. */
|
||||
hs_desc_authorized_client_t *
|
||||
hs_desc_build_fake_authorized_client(void)
|
||||
{
|
||||
tor_assert(client_out);
|
||||
hs_desc_authorized_client_t *client_auth =
|
||||
tor_malloc_zero(sizeof(*client_auth));
|
||||
|
||||
crypto_rand((char *) client_out->client_id,
|
||||
sizeof(client_out->client_id));
|
||||
crypto_rand((char *) client_out->iv,
|
||||
sizeof(client_out->iv));
|
||||
crypto_rand((char *) client_out->encrypted_cookie,
|
||||
sizeof(client_out->encrypted_cookie));
|
||||
crypto_rand((char *) client_auth->client_id,
|
||||
sizeof(client_auth->client_id));
|
||||
crypto_rand((char *) client_auth->iv,
|
||||
sizeof(client_auth->iv));
|
||||
crypto_rand((char *) client_auth->encrypted_cookie,
|
||||
sizeof(client_auth->encrypted_cookie));
|
||||
|
||||
return client_auth;
|
||||
}
|
||||
|
||||
/* Using the client public key, auth ephemeral secret key, and descriptor
|
||||
|
|
|
@ -302,8 +302,7 @@ void hs_desc_authorized_client_free_(hs_desc_authorized_client_t *client);
|
|||
link_specifier_t *hs_desc_lspec_to_trunnel(
|
||||
const hs_desc_link_specifier_t *spec);
|
||||
|
||||
void
|
||||
hs_desc_build_fake_authorized_client(hs_desc_authorized_client_t *client_out);
|
||||
hs_desc_authorized_client_t *hs_desc_build_fake_authorized_client(void);
|
||||
void hs_desc_build_authorized_client(const curve25519_public_key_t *
|
||||
client_auth_pk,
|
||||
const curve25519_secret_key_t *
|
||||
|
|
|
@ -1786,10 +1786,8 @@ build_service_desc_superencrypted(const hs_service_t *service,
|
|||
}
|
||||
|
||||
for (i = 0; i < num_clients_to_add; i++) {
|
||||
hs_desc_authorized_client_t *desc_client;
|
||||
desc_client = tor_malloc_zero(sizeof(hs_desc_authorized_client_t));
|
||||
|
||||
hs_desc_build_fake_authorized_client(desc_client);
|
||||
hs_desc_authorized_client_t *desc_client =
|
||||
hs_desc_build_fake_authorized_client();
|
||||
smartlist_add(superencrypted->clients, desc_client);
|
||||
}
|
||||
|
||||
|
|
|
@ -138,10 +138,8 @@ hs_helper_build_hs_desc_impl(unsigned int no_ip,
|
|||
|
||||
desc->superencrypted_data.clients = smartlist_new();
|
||||
for (i = 0; i < HS_DESC_AUTH_CLIENT_MULTIPLE; i++) {
|
||||
hs_desc_authorized_client_t *desc_client;
|
||||
desc_client = tor_malloc_zero(sizeof(hs_desc_authorized_client_t));
|
||||
|
||||
hs_desc_build_fake_authorized_client(desc_client);
|
||||
hs_desc_authorized_client_t *desc_client =
|
||||
hs_desc_build_fake_authorized_client();
|
||||
smartlist_add(desc->superencrypted_data.clients, desc_client);
|
||||
}
|
||||
|
||||
|
|
|
@ -412,8 +412,7 @@ test_decode_descriptor(void *arg)
|
|||
|
||||
/* We need to add fake auth clients here. */
|
||||
for (i=0; i < 15; ++i) {
|
||||
fake_client = tor_malloc_zero(sizeof(hs_desc_authorized_client_t));
|
||||
hs_desc_build_fake_authorized_client(fake_client);
|
||||
fake_client = hs_desc_build_fake_authorized_client();
|
||||
smartlist_add(clients, fake_client);
|
||||
}
|
||||
desc->superencrypted_data.clients = clients;
|
||||
|
|
Loading…
Add table
Reference in a new issue