diff --git a/changes/bug40910 b/changes/bug40910 new file mode 100644 index 0000000000..6de15bf8c9 --- /dev/null +++ b/changes/bug40910 @@ -0,0 +1,5 @@ + o Minor bugfixes (directory authorities): + - Add a warning when publishing a vote or signatures to another + directory authority fails. Fixes bug 40910; bugfix on + 0.2.0.3-alpha. + 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))); } } diff --git a/src/test/test_dir.c b/src/test/test_dir.c index 1811098440..a86638f8c9 100644 --- a/src/test/test_dir.c +++ b/src/test/test_dir.c @@ -5264,7 +5264,7 @@ test_dir_conn_purpose_to_string(void *data) tt_str_op(dir_conn_purpose_to_string(purpose), OP_EQ, expected); EXPECT_CONN_PURPOSE(DIR_PURPOSE_UPLOAD_DIR, "server descriptor upload"); - EXPECT_CONN_PURPOSE(DIR_PURPOSE_UPLOAD_VOTE, "server vote upload"); + EXPECT_CONN_PURPOSE(DIR_PURPOSE_UPLOAD_VOTE, "consensus vote upload"); EXPECT_CONN_PURPOSE(DIR_PURPOSE_UPLOAD_SIGNATURES, "consensus signature upload"); EXPECT_CONN_PURPOSE(DIR_PURPOSE_FETCH_SERVERDESC, "server descriptor fetch");