mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
prop224: Add directory_request_fetch_set_hs_ident()
Needed by the client when fetching a descriptor. This function checks the directory purpose and hard assert if it is not for fetching. Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
a64ef7d6c5
commit
31da3898e7
@ -1292,6 +1292,20 @@ directory_request_upload_set_hs_ident(directory_request_t *req,
|
||||
}
|
||||
req->hs_ident = ident;
|
||||
}
|
||||
/**
|
||||
* Set an object containing HS connection identifier to be associated with
|
||||
* this fetch request. Note that only an alias to <b>ident</b> is stored, so
|
||||
* the <b>ident</b> object must outlive the request.
|
||||
*/
|
||||
void
|
||||
directory_request_fetch_set_hs_ident(directory_request_t *req,
|
||||
const hs_ident_dir_conn_t *ident)
|
||||
{
|
||||
if (ident) {
|
||||
tor_assert(req->dir_purpose == DIR_PURPOSE_FETCH_HSDESC);
|
||||
}
|
||||
req->hs_ident = ident;
|
||||
}
|
||||
/** Set a static circuit_guard_state_t object to affliate with the request in
|
||||
* <b>req</b>. This object will receive notification when the attempt to
|
||||
* connect to the guard either succeeds or fails. */
|
||||
|
@ -75,6 +75,8 @@ void directory_request_set_rend_query(directory_request_t *req,
|
||||
const rend_data_t *query);
|
||||
void directory_request_upload_set_hs_ident(directory_request_t *req,
|
||||
const hs_ident_dir_conn_t *ident);
|
||||
void directory_request_fetch_set_hs_ident(directory_request_t *req,
|
||||
const hs_ident_dir_conn_t *ident);
|
||||
|
||||
void directory_request_set_routerstatus(directory_request_t *req,
|
||||
const routerstatus_t *rs);
|
||||
|
@ -102,7 +102,7 @@ directory_launch_v3_desc_fetch(const ed25519_public_key_t *onion_identity_pk,
|
||||
directory_request_set_routerstatus(req, hsdir);
|
||||
directory_request_set_indirection(req, DIRIND_ANONYMOUS);
|
||||
directory_request_set_resource(req, base64_blinded_pubkey);
|
||||
directory_request_upload_set_hs_ident(req, &hs_conn_dir_ident);
|
||||
directory_request_fetch_set_hs_ident(req, &hs_conn_dir_ident);
|
||||
directory_initiate_request(req);
|
||||
directory_request_free(req);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user