From 1abc9a3bd3897f6f5cdae5fb3a1dec2e06b4a8d3 Mon Sep 17 00:00:00 2001 From: Sebastian Hahn Date: Thu, 1 Feb 2024 10:34:30 +0100 Subject: dirauth: Warn when failing to post during a vote The only way to figure out that posting a vote or signatures to another dirauth failed is by counting how many success messages there are on notice level, and noticing that it is fewer than the number of configured dirauths. Closes #40910. --- src/feature/dirclient/dirclient.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c index 84eefdd90b..9aa3164a65 100644 --- a/src/feature/dirclient/dirclient.c +++ b/src/feature/dirclient/dirclient.c @@ -101,7 +101,7 @@ dir_conn_purpose_to_string(int purpose) case DIR_PURPOSE_UPLOAD_DIR: return "server descriptor upload"; case DIR_PURPOSE_UPLOAD_VOTE: - return "server vote upload"; + return "consensus vote upload"; case DIR_PURPOSE_UPLOAD_SIGNATURES: return "consensus signature upload"; case DIR_PURPOSE_FETCH_SERVERDESC: @@ -763,6 +763,11 @@ connection_dir_client_request_failed(dir_connection_t *conn) "directory server at %s; will retry", connection_describe_peer(TO_CONN(conn))); connection_dir_download_routerdesc_failed(conn); + } else if (conn->base_.purpose == DIR_PURPOSE_UPLOAD_VOTE || + conn->base_.purpose == DIR_PURPOSE_UPLOAD_SIGNATURES) { + log_warn(LD_DIR, "Failed to post %s to %s.", + dir_conn_purpose_to_string(conn->base_.purpose), + connection_describe_peer(TO_CONN(conn))); } } -- cgit v1.2.3-54-g00ecf