Merge branch 'maint-0.4.3' into release-0.4.3

This commit is contained in:
Nick Mathewson 2020-03-16 12:21:57 -04:00
commit e150e1af75
3 changed files with 24 additions and 18 deletions

4
changes/ticket32672 Normal file
View File

@ -0,0 +1,4 @@
o Minor features (directory authorities):
- Directory authorities now reject descriptors from relays running Tor
versions from the 0.2.9 and 0.4.0 series, but still allow the 0.3.5
series. Resolves ticket 32672. Patch by Neel Chauhan.

View File

@ -399,22 +399,21 @@ dirserv_rejects_tor_version(const char *platform,
static const char please_upgrade_string[] =
"Tor version is insecure or unsupported. Please upgrade!";
/* Versions before Tor 0.2.9 are unsupported. Versions between 0.2.9.0 and
* 0.2.9.4 suffer from bug #20499, where relays don't keep their consensus
* up to date */
if (!tor_version_as_new_as(platform,"0.2.9.5-alpha")) {
/* Versions before Tor 0.3.5 are unsupported.
*
* Also, reject unstable versions of 0.3.5, since (as of this writing)
* they are almost none of the network. */
if (!tor_version_as_new_as(platform,"0.3.5.7")) {
if (msg)
*msg = please_upgrade_string;
return true;
}
/* Series between Tor 0.3.0 and 0.3.4 inclusive are unsupported, and some
* have bug #27841, which makes them broken as intro points. Reject them.
*
* Also reject unstable versions of 0.3.5, since (as of this writing)
* they are almost none of the network. */
if (tor_version_as_new_as(platform,"0.3.0.0-alpha-dev") &&
!tor_version_as_new_as(platform,"0.3.5.7")) {
/* Series between Tor 0.3.6 and 0.4.1.4-rc inclusive are unsupported.
* Reject them. 0.3.6.0-alpha-dev only existed for a short time, before
* it was renamed to 0.4.0.0-alpha-dev. */
if (tor_version_as_new_as(platform,"0.3.6.0-alpha-dev") &&
!tor_version_as_new_as(platform,"0.4.1.5")) {
if (msg) {
*msg = please_upgrade_string;
}

View File

@ -20,13 +20,10 @@ test_process_descs_versions(void *arg)
{ "Tor 0.1.2.3-alpha", true },
// a non-tor program: don't reject.
{ "Wombat 0.1.2.3-alpha", false },
// a slightly old version: reject
{ "Tor 0.2.9.4-alpha", true },
// a slightly old version: just new enough to support.
{ "Tor 0.2.9.5-alpha", false },
// a newer 0.2.9 version: supported.
{ "Tor 0.2.9.100", false },
// some unsupported versions: reject.
{ "Tor 0.2.9.4-alpha", true },
{ "Tor 0.2.9.5-alpha", true },
{ "Tor 0.2.9.100", true },
{ "Tor 0.3.0.0-alpha-dev", true },
{ "Tor 0.3.0.2-alpha", true },
{ "Tor 0.3.0.5", true },
@ -37,11 +34,17 @@ test_process_descs_versions(void *arg)
{ "Tor 0.3.4.100", true },
{ "Tor 0.3.5.1-alpha", true },
{ "Tor 0.3.5.6-rc", true},
{ "Tor 0.4.0.1-alpha", true },
{ "Tor 0.4.0.5", true },
{ "Tor 0.4.1.1-alpha", true },
{ "Tor 0.4.1.4-rc", true },
// new enough to be supported
{ "Tor 0.3.5.7", false },
{ "Tor 0.3.5.8", false },
{ "Tor 0.4.0.1-alpha", false },
{ "Tor 0.4.1.5", false },
{ "Tor 0.4.2.1-alpha", false },
{ "Tor 0.4.2.4-rc", false },
{ "Tor 0.4.3.0-alpha-dev", false },
// Very far in the future
{ "Tor 100.100.1.5", false },
};