Commit Graph

28117 Commits

Author SHA1 Message Date
Roger Dingledine 7dd0813e78 and put those in the release notes too 2018-05-22 16:14:39 -04:00
Roger Dingledine 6a7d650b37 0.3.1.10 and 0.2.9.15 changelogs got left out too 2018-05-22 16:13:29 -04:00
Roger Dingledine 568cb0ee8f run nickm's format_changelog.py script 2018-05-22 15:51:54 -04:00
Roger Dingledine 35956bce49 a few more changelog fixes 2018-05-22 15:47:18 -04:00
Roger Dingledine 78fcfc7bcd light cleanup, give them new blurbs 2018-05-22 15:03:00 -04:00
Roger Dingledine 37b7eadb57 include 0.3.2.10 blurbs in 0.3.3 changelogs
so they aren't mysteriously missing from the tarballs/etc
2018-05-22 14:29:26 -04:00
Roger Dingledine 00e7e324d1 remove items from 0.3.3.6 that are already in 0.3.2.10 2018-05-22 14:22:51 -04:00
Nick Mathewson 67da2d9411 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-22 14:13:28 -04:00
Nick Mathewson 80d673ccea Merge branch 'trove-2018-005_032' into maint-0.3.3 2018-05-22 14:13:23 -04:00
Nick Mathewson 7483aef896 avoid a signed/unsigned comparison. 2018-05-22 14:12:44 -04:00
Nick Mathewson 0256702362 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-22 13:35:33 -04:00
Nick Mathewson a5d4ce2b39 Make the TROVE-2018-005 fix work with rust. 2018-05-22 13:35:20 -04:00
Nick Mathewson 20f8fead9c Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-22 12:54:31 -04:00
Nick Mathewson 6e8e005b53 Merge branch 'trove-2018-005_032' into maint-0.3.3 2018-05-22 12:54:26 -04:00
Nick Mathewson 240bb17714 uint breaks compilation on windows 2018-05-22 12:54:05 -04:00
Nick Mathewson 0b8de7b3c3 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-22 12:40:27 -04:00
Nick Mathewson 074b182baa version bump to 0.3.3.6 2018-05-22 12:40:18 -04:00
Nick Mathewson b6a88173bb add TROVE-2018-005 to changelog and releasenotes 2018-05-22 12:37:49 -04:00
Nick Mathewson f177ec2142 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-22 12:33:54 -04:00
Isis Lovecruft 569b4e57e2 rust: Mirror TROVE-2018-005 fix in Rust protover implementation.
* REFACTORS `UnvalidatedProtoEntry::from_str` to place the bulk of the
   splitting/parsing logic in to a new
   `UnvalidatedProtoEntry::parse_protocol_and_version_str()` method (so that
   both `from_str()` and `from_str_any_len()` can call it.)
 * ADD a new `UnvalidatedProtoEntry::from_str_any_len()` method in order to
   maintain compatibility with consensus methods older than 29.
 * ADD a limit on the number of characters in a protocol name.
 * FIXES part of #25517: https://bugs.torproject.org/25517
2018-05-22 12:27:25 -04:00
Nick Mathewson a3a8d80beb Merge branch 'trove-2018-005_032' into trove-2018-005_033 2018-05-22 12:27:15 -04:00
Nick Mathewson d2bc019053 changes file for TROVE-2018-005 2018-05-22 12:26:23 -04:00
Nick Mathewson bc2d6876b3 Add stdbool to protover.h. Only needed for the 032 backport 2018-05-22 12:15:52 -04:00
Isis Lovecruft b681438daf vote: TROVE-2018-005 Make DirAuths omit misbehaving routers from their vote. 2018-05-22 12:13:41 -04:00
Isis Lovecruft eb96692842 protover: TROVE-2018-005 Fix potential DoS in protover protocol parsing.
In protover.c, the `expand_protocol_list()` function expands a `smartlist_t` of
`proto_entry_t`s to their protocol name concatenated with each version number.
For example, given a `proto_entry_t` like so:

    proto_entry_t *proto = tor_malloc(sizeof(proto_entry_t));
    proto_range_t *range = tor_malloc_zero(sizeof(proto_range_t));

    proto->name = tor_strdup("DoSaaaaaaaaaaaaaaaaaaaaaa[19KB]aaa");
    proto->ranges = smartlist_new();

    range->low = 1;
    range->high = 65536;

    smartlist_add(proto->ranges, range);

(Where `[19KB]` is roughly 19KB of `"a"` bytes.)  This would expand in
`expand_protocol_list()` to a `smartlist_t` containing 65536 copies of the
string, e.g.:

    "DoSaaaaaaaaaaaaaaaaaaaaaa[19KB]aaa=1"
    "DoSaaaaaaaaaaaaaaaaaaaaaa[19KB]aaa=2"
    […]
    "DoSaaaaaaaaaaaaaaaaaaaaaa[19KB]aaa=65535"

Thus constituting a potential resource exhaustion attack.

The Rust implementation is not subject to this attack, because it instead
expands the above string into a `HashMap<String, HashSet<u32>` prior to #24031,
and a `HashMap<UnvalidatedProtocol, ProtoSet>` after).  Neither Rust version is
subject to this attack, because it only stores the `String` once per protocol.
(Although a related, but apparently of too minor impact to be usable, DoS bug
has been fixed in #24031. [0])

[0]: https://bugs.torproject.org/24031

 * ADDS hard limit on protocol name lengths in protover.c and checks in
   parse_single_entry() and expand_protocol_list().
 * ADDS tests to ensure the bug is caught.
 * FIXES #25517: https://bugs.torproject.org/25517
2018-05-22 12:12:01 -04:00
Nick Mathewson 2b2634339b Move bug25145 entry into ChangeLog
(It doesn't go into ReleaseNotes, since it's a bugfix on 0.3.3.2-alpha)
2018-05-22 10:20:15 -04:00
Nick Mathewson c91c4e9bb6 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-22 08:35:41 -04:00
Nick Mathewson 3d12663243 Fix a crash bug when testing reachability
Fixes bug 25415; bugfix on 0.3.3.2-alpha.
2018-05-22 08:35:37 -04:00
Nick Mathewson f15e1e65cb Write a blurb for 0.3.3.6 2018-05-21 09:28:00 -04:00
Nick Mathewson 7760162b8c 033 releasenotes: minor sorting 2018-05-21 09:16:28 -04:00
Nick Mathewson b9aa9e6012 Sort the entries in the 0.3.3.7 CL and RNs 2018-05-17 13:06:37 -04:00
Nick Mathewson 731d4dbc56 Start on releasenotes for 0.3.3.6
Here I've just concatenated the changelogs and removed the "bugfix
on 0.3.3.x" entries.
2018-05-17 13:04:56 -04:00
Nick Mathewson d0def59108 Begin work on a ChangeLog for 0.3.3.6 2018-05-17 12:59:33 -04:00
Nick Mathewson 8340f641c3 Merge branch 'maint-0.3.1' into maint-0.3.2 2018-05-16 12:11:45 -04:00
Nick Mathewson 3c4353179f Merge branch 'maint-0.3.2' into maint-0.3.3 2018-05-16 12:11:45 -04:00
Nick Mathewson ad5b4c4085 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-16 12:11:45 -04:00
Nick Mathewson d3a972561a Merge branch 'maint-0.2.9' into maint-0.3.1 2018-05-16 12:11:45 -04:00
Nick Mathewson d1e4ffc710 Merge branch 'bug26072_029' into maint-0.2.9 2018-05-16 12:11:40 -04:00
Nick Mathewson ca63a66604 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-15 09:32:45 -04:00
Nick Mathewson 4aa3d511b2 Merge branch 'maint-0.3.1' into maint-0.3.2 2018-05-15 09:32:44 -04:00
Nick Mathewson 6acbd4c112 Merge branch 'maint-0.3.2' into maint-0.3.3 2018-05-15 09:32:44 -04:00
Nick Mathewson 502d2c0062 Merge branch 'maint-0.2.9' into maint-0.3.1 2018-05-15 09:32:44 -04:00
Karsten Loesing 033e4723f3 Update geoip and geoip6 to the May 1 2018 database. 2018-05-15 15:20:09 +02:00
Nick Mathewson 5eb2d58880 Add a missing return after marking a stream for bad connected cell
Fixes bug 26072; bugfix on 0.2.4.7-alpha.
2018-05-14 15:54:48 -04:00
Nick Mathewson 1118536142 Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-10 09:22:32 -04:00
Nick Mathewson 7ee67c47fa Merge branch 'maint-0.3.1' into maint-0.3.2 2018-05-10 09:22:32 -04:00
Nick Mathewson b343ba9060 Merge branch 'maint-0.3.2' into maint-0.3.3 2018-05-10 09:22:32 -04:00
Nick Mathewson 2d61a83513 Merge remote-tracking branch 'dgoulet/bug26069_031_01' into maint-0.3.1 2018-05-10 09:22:14 -04:00
Nick Mathewson f36fea697e Merge branch 'maint-0.3.3' into release-0.3.3 2018-05-10 09:19:28 -04:00
Nick Mathewson 15b8c860d3 Merge branch 'maint-0.3.1' into maint-0.3.2 2018-05-10 09:19:28 -04:00