summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2021-02-12 13:49:43 +0200
committerGeorge Kadianakis <desnacked@riseup.net>2021-02-12 13:49:43 +0200
commit726d62947c56eb13f892e3bb96fd8ee52555b4a9 (patch)
tree24edcb7871aae62b4cbc0178132170c27133e992
parent3d03016eb01a58a663d0b7432360a805636c1865 (diff)
parent56f1cab9c12349538c5526de92d6e64fecb81184 (diff)
downloadtor-726d62947c56eb13f892e3bb96fd8ee52555b4a9.tar.gz
tor-726d62947c56eb13f892e3bb96fd8ee52555b4a9.zip
Merge remote-tracking branch 'tor-gitlab/mr/295' into release-0.4.5
-rw-r--r--changes/bug402816
-rw-r--r--src/feature/nodelist/networkstatus.c9
2 files changed, 14 insertions, 1 deletions
diff --git a/changes/bug40281 b/changes/bug40281
new file mode 100644
index 0000000000..0708039f04
--- /dev/null
+++ b/changes/bug40281
@@ -0,0 +1,6 @@
+ o Minor bugfixes (logging):
+ - Avoid a spurious log message about missing subprotocol versions, when
+ the consensus that we're reading from is older than the current
+ release. . Previously we had made this message nonfatal in this case,
+ but in practice, it is never relevant when the consensus is older than
+ the current release. Fixes bug 40281; bugfix on 0.4.0.1-alpha.
diff --git a/src/feature/nodelist/networkstatus.c b/src/feature/nodelist/networkstatus.c
index ece3c9e059..80940e6092 100644
--- a/src/feature/nodelist/networkstatus.c
+++ b/src/feature/nodelist/networkstatus.c
@@ -2723,6 +2723,13 @@ networkstatus_check_required_protocols(const networkstatus_t *ns,
const bool consensus_postdates_this_release =
ns->valid_after >= tor_get_approx_release_date();
+ if (! consensus_postdates_this_release) {
+ // We can't meaningfully warn about this case: This consensus is from
+ // before we were released, so whatever is says about required or
+ // recommended versions may no longer be true.
+ return 0;
+ }
+
tor_assert(warning_out);
if (client_mode) {
@@ -2740,7 +2747,7 @@ networkstatus_check_required_protocols(const networkstatus_t *ns,
"%s on the Tor network. The missing protocols are: %s",
func, missing);
tor_free(missing);
- return consensus_postdates_this_release ? 1 : 0;
+ return 1;
}
if (! protover_all_supported(recommended, &missing)) {