mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Merge branch 'bug16023_028_01_squashed'
This commit is contained in:
commit
2240aa1269
4
changes/bug16023
Normal file
4
changes/bug16023
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
o Minor feature (hidden service, control port)
|
||||||
|
- Add the onion address to the HS_DESC event for the UPLOADED action
|
||||||
|
both on success or failure. It was previously hardcoded with UNKNOWN.
|
||||||
|
Fixes #16023;
|
@ -6384,6 +6384,7 @@ control_event_hs_descriptor_receive_end(const char *action,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
control_event_hs_descriptor_upload_end(const char *action,
|
control_event_hs_descriptor_upload_end(const char *action,
|
||||||
|
const char *onion_address,
|
||||||
const char *id_digest,
|
const char *id_digest,
|
||||||
const char *reason)
|
const char *reason)
|
||||||
{
|
{
|
||||||
@ -6400,8 +6401,9 @@ control_event_hs_descriptor_upload_end(const char *action,
|
|||||||
}
|
}
|
||||||
|
|
||||||
send_control_event(EVENT_HS_DESC,
|
send_control_event(EVENT_HS_DESC,
|
||||||
"650 HS_DESC %s UNKNOWN UNKNOWN %s%s\r\n",
|
"650 HS_DESC %s %s UNKNOWN %s%s\r\n",
|
||||||
action,
|
action,
|
||||||
|
rend_hsaddress_str_or_unknown(onion_address),
|
||||||
node_describe_longname_by_id(id_digest),
|
node_describe_longname_by_id(id_digest),
|
||||||
reason_field ? reason_field : "");
|
reason_field ? reason_field : "");
|
||||||
|
|
||||||
@ -6431,14 +6433,17 @@ control_event_hs_descriptor_received(const char *onion_address,
|
|||||||
* called when we successfully uploaded a hidden service descriptor.
|
* called when we successfully uploaded a hidden service descriptor.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
control_event_hs_descriptor_uploaded(const char *id_digest)
|
control_event_hs_descriptor_uploaded(const char *id_digest,
|
||||||
|
const char *onion_address)
|
||||||
{
|
{
|
||||||
if (!id_digest) {
|
if (!id_digest) {
|
||||||
log_warn(LD_BUG, "Called with id_digest==%p",
|
log_warn(LD_BUG, "Called with id_digest==%p",
|
||||||
id_digest);
|
id_digest);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
control_event_hs_descriptor_upload_end("UPLOADED", id_digest, NULL);
|
|
||||||
|
control_event_hs_descriptor_upload_end("UPLOADED", onion_address,
|
||||||
|
id_digest, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Send HS_DESC event to inform controller that query <b>rend_query</b>
|
/** Send HS_DESC event to inform controller that query <b>rend_query</b>
|
||||||
@ -6500,6 +6505,7 @@ control_event_hs_descriptor_content(const char *onion_address,
|
|||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
control_event_hs_descriptor_upload_failed(const char *id_digest,
|
control_event_hs_descriptor_upload_failed(const char *id_digest,
|
||||||
|
const char *onion_address,
|
||||||
const char *reason)
|
const char *reason)
|
||||||
{
|
{
|
||||||
if (!id_digest) {
|
if (!id_digest) {
|
||||||
@ -6507,7 +6513,7 @@ control_event_hs_descriptor_upload_failed(const char *id_digest,
|
|||||||
id_digest);
|
id_digest);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
control_event_hs_descriptor_upload_end("UPLOAD_FAILED",
|
control_event_hs_descriptor_upload_end("UPLOAD_FAILED", onion_address,
|
||||||
id_digest, reason);
|
id_digest, reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,16 +129,19 @@ void control_event_hs_descriptor_receive_end(const char *action,
|
|||||||
const char *id_digest,
|
const char *id_digest,
|
||||||
const char *reason);
|
const char *reason);
|
||||||
void control_event_hs_descriptor_upload_end(const char *action,
|
void control_event_hs_descriptor_upload_end(const char *action,
|
||||||
|
const char *onion_address,
|
||||||
const char *hs_dir,
|
const char *hs_dir,
|
||||||
const char *reason);
|
const char *reason);
|
||||||
void control_event_hs_descriptor_received(const char *onion_address,
|
void control_event_hs_descriptor_received(const char *onion_address,
|
||||||
const rend_data_t *rend_data,
|
const rend_data_t *rend_data,
|
||||||
const char *id_digest);
|
const char *id_digest);
|
||||||
void control_event_hs_descriptor_uploaded(const char *hs_dir);
|
void control_event_hs_descriptor_uploaded(const char *hs_dir,
|
||||||
|
const char *onion_address);
|
||||||
void control_event_hs_descriptor_failed(const rend_data_t *rend_data,
|
void control_event_hs_descriptor_failed(const rend_data_t *rend_data,
|
||||||
const char *id_digest,
|
const char *id_digest,
|
||||||
const char *reason);
|
const char *reason);
|
||||||
void control_event_hs_descriptor_upload_failed(const char *hs_dir,
|
void control_event_hs_descriptor_upload_failed(const char *hs_dir,
|
||||||
|
const char *onion_address,
|
||||||
const char *reason);
|
const char *reason);
|
||||||
void control_event_hs_descriptor_content(const char *onion_address,
|
void control_event_hs_descriptor_content(const char *onion_address,
|
||||||
const char *desc_id,
|
const char *desc_id,
|
||||||
|
@ -2364,16 +2364,21 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
|
|||||||
if (conn->base_.purpose == DIR_PURPOSE_UPLOAD_RENDDESC_V2) {
|
if (conn->base_.purpose == DIR_PURPOSE_UPLOAD_RENDDESC_V2) {
|
||||||
#define SEND_HS_DESC_UPLOAD_FAILED_EVENT(reason) ( \
|
#define SEND_HS_DESC_UPLOAD_FAILED_EVENT(reason) ( \
|
||||||
control_event_hs_descriptor_upload_failed(conn->identity_digest, \
|
control_event_hs_descriptor_upload_failed(conn->identity_digest, \
|
||||||
|
conn->rend_data->onion_address, \
|
||||||
reason) )
|
reason) )
|
||||||
log_info(LD_REND,"Uploaded rendezvous descriptor (status %d "
|
log_info(LD_REND,"Uploaded rendezvous descriptor (status %d "
|
||||||
"(%s))",
|
"(%s))",
|
||||||
status_code, escaped(reason));
|
status_code, escaped(reason));
|
||||||
|
/* Without the rend data, we'll have a problem identifying what has been
|
||||||
|
* uploaded for which service. */
|
||||||
|
tor_assert(conn->rend_data);
|
||||||
switch (status_code) {
|
switch (status_code) {
|
||||||
case 200:
|
case 200:
|
||||||
log_info(LD_REND,
|
log_info(LD_REND,
|
||||||
"Uploading rendezvous descriptor: finished with status "
|
"Uploading rendezvous descriptor: finished with status "
|
||||||
"200 (%s)", escaped(reason));
|
"200 (%s)", escaped(reason));
|
||||||
control_event_hs_descriptor_uploaded(conn->identity_digest);
|
control_event_hs_descriptor_uploaded(conn->identity_digest,
|
||||||
|
conn->rend_data->onion_address);
|
||||||
rend_service_desc_has_uploaded(conn->rend_data);
|
rend_service_desc_has_uploaded(conn->rend_data);
|
||||||
break;
|
break;
|
||||||
case 400:
|
case 400:
|
||||||
|
Loading…
Reference in New Issue
Block a user