mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Do more type checking when setting HS idents.
I repurposed the old directory_request_set_hs_ident() into a new directory_request_upload_set_hs_ident() which is only used for the upload purpose and so it can assert on the dir_purpose. When coding the client-side we can make a second function for fetch.
This commit is contained in:
parent
fe0c40c9b3
commit
0bf8587858
@ -1281,12 +1281,11 @@ directory_request_set_rend_query(directory_request_t *req,
|
||||
* <b>ident</b> object must outlive the request.
|
||||
*/
|
||||
void
|
||||
directory_request_set_hs_ident(directory_request_t *req,
|
||||
const hs_ident_dir_conn_t *ident)
|
||||
directory_request_upload_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->dir_purpose == DIR_PURPOSE_UPLOAD_HSDESC);
|
||||
tor_assert(req->dir_purpose == DIR_PURPOSE_UPLOAD_HSDESC);
|
||||
}
|
||||
req->hs_ident = ident;
|
||||
}
|
||||
|
@ -73,8 +73,8 @@ void directory_request_set_if_modified_since(directory_request_t *req,
|
||||
time_t if_modified_since);
|
||||
void directory_request_set_rend_query(directory_request_t *req,
|
||||
const rend_data_t *query);
|
||||
void directory_request_set_hs_ident(directory_request_t *req,
|
||||
const hs_ident_dir_conn_t *ident);
|
||||
void directory_request_upload_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);
|
||||
|
@ -1957,7 +1957,7 @@ upload_descriptor_to_hsdir(const hs_service_t *service,
|
||||
strlen(encoded_desc));
|
||||
/* The ident object is copied over the directory connection object once
|
||||
* the directory request is initiated. */
|
||||
directory_request_set_hs_ident(dir_req, &ident);
|
||||
directory_request_upload_set_hs_ident(dir_req, &ident);
|
||||
|
||||
/* Initiate the directory request to the hsdir.*/
|
||||
directory_initiate_request(dir_req);
|
||||
|
Loading…
Reference in New Issue
Block a user