Nick Mathewson
1582adabbb
Change approach to preventing duplicate guards.
...
Previously I'd made a bad assumption in the implementation of
prop271 in 0.3.0.1-alpha: I'd assumed that there couldn't be two
guards with the same identity. That's true for non-bridges, but in
the bridge case, we allow two bridges to have the same ID if they
have different addr:port combinations -- in order to have the same
bridge ID running multiple PTs.
Fortunately, this assumption wasn't deeply ingrained: we stop
enforcing the "one guard per ID" rule in the bridge case, and
instead enforce "one guard per <id,addr,port>".
We also needed to tweak our implementation of
get_bridge_info_for_guard, since it made the same incorrect
assumption.
Fixes bug 21027; bugfix on 0.3.0.1-alpha.
2017-02-28 08:16:33 -05:00
Nick Mathewson
eef8bd4d3c
Merge remote-tracking branch 'teor/feature21570-030' into maint-0.3.0
2017-02-27 11:36:39 -05:00
Nick Mathewson
c51919b0da
Merge branch 'bug21369_check_029_squashed' into maint-0.3.0
2017-02-27 11:25:34 -05:00
Nick Mathewson
6747c62386
Merge branch 'bug21420_029_squashed' into maint-0.3.0
2017-02-27 11:20:39 -05:00
Nick Mathewson
f6e5a658df
Revise the logic for picking the start time for link certs
...
Since 0.2.4.11-alpha (in 0196647970
) we've tried to randomize
the start time to up to some time in the past. But unfortunately we
allowed the start time to be in the future as well, which isn't
really legit.
The new behavior lets the start time be be up to
MAX(cert_lifetime-2days, 0) in the past, but never in the future.
Fixes bug 21420; bugfix on 0.2.4.11-alpha.
2017-02-27 11:19:54 -05:00
Nick Mathewson
2b3518b81f
Merge remote-tracking branch 'teor/bug20711' into maint-0.3.0
2017-02-27 11:00:02 -05:00
teor
73879aa5b6
Use bash in src/test/test-network.sh
...
This ensures we reliably call chutney's newer tools/test-network.sh when
available.
Fixes bug 21562; bugfix on tor-0.2.9.1-alpha.
2017-02-28 02:13:56 +11:00
teor
1ebcd22e80
Reserve a test-network.sh exit status of 2 for unknown arguments
...
Part of 21570.
2017-02-28 02:02:32 +11:00
teor
fb32c52232
Log tor warnings during 'make test-network-all'
...
Requires the chutney changes from 21572.
(Otherwise, asks users to upgrade their chutney.)
Implements 21570.
2017-02-28 02:01:37 +11:00
Nick Mathewson
074f248463
Add one other BUG check to try to fix/solve 21369.
...
Teor thinks that this connection_dirserv_add_dir_bytes_to_outbuf()
might be the problem, if the "remaining" calculation underflows. So
I'm adding a couple of checks there, and improving the casts.
2017-02-27 10:01:27 -05:00
Nick Mathewson
ee5471f9aa
Try to check for (and prevent) buffer size INT_MAX overflow better.
...
Possible fix or diagnostic for 21369.
2017-02-27 10:01:27 -05:00
teor
39a4c5624b
Add a quiet mode to test-network.sh
...
Requires the equivalent chutney changes in 21571.
Part of 21570.
2017-02-28 01:45:30 +11:00
Nick Mathewson
b6efd77ec4
Merge remote-tracking branch 'public/bug21472_030' into maint-0.3.0
2017-02-27 08:38:14 -05:00
Nick Mathewson
619771f60b
Whitespace fix.
2017-02-24 11:37:33 -05:00
David Goulet
4ed10e5053
hs: Fix bad use of sizeof() when encoding ESTABLISH_INTRO legacy cell
...
When encoding a legacy ESTABLISH_INTRO cell, we were using the sizeof() on a
pointer instead of using the real size of the destination buffer leading to an
overflow passing an enormous value to the signing digest function.
Fortunately, that value was only used to make sure the destination buffer
length was big enough for the key size and in this case it always was because
of the overflow.
Fixes #21553
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-02-24 11:36:36 -05:00
Nick Mathewson
5e08fc8557
Also allow C_MEASURE_TIMEOUT circuits to lack guard state.
...
Fixes a case of 21007; bugfix on 0.3.0.1-alpha when prop271 was
implemented. Found by toralf.
2017-02-24 11:12:21 -05:00
Nick Mathewson
4d3310932a
Small fixes to fuzzing documentation.
2017-02-24 10:57:58 -05:00
Nick Mathewson
aec45bc0b1
Merge branch 'maint-0.2.6' into maint-0.2.7-redux
2017-02-17 17:10:47 -05:00
Nick Mathewson
823fb68a14
Remove a redundant check in ..transition_affects_guards()
...
scan-build found that we we checking UseEntryGuards twice.
Fixes bug 21492.
2017-02-17 11:47:25 -05:00
Nick Mathewson
5dbbd6bc39
Merge branch 'maint-0.2.9' into maint-0.3.0
2017-02-17 11:32:45 -05:00
Nick Mathewson
67cec7578c
Check for micro < 0, rather than checking "minor" twice.
...
Bug found with clang scan-build. Fixes bug on f63e06d3dc
.
Bug not present in any released Tor.
2017-02-17 11:31:39 -05:00
David Goulet
3336f26e60
hs: Avoid a strlen(NULL) if descriptor is not found in cache
...
Instead of returning 404 error code, this led to a NULL pointer being used and
thus a crash of tor.
Fixes #21471
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-02-15 10:27:41 -05:00
Nick Mathewson
d633c4757c
Merge branch 'maint-0.2.9'
2017-02-15 08:19:51 -05:00
Nick Mathewson
fea93abecd
whoops; make 21450 compile
2017-02-15 08:19:37 -05:00
Nick Mathewson
39af9fc2b7
Merge branch 'bug21447'
2017-02-15 08:08:25 -05:00
Nick Mathewson
62f98ad485
Merge branch 'maint-0.2.9'
2017-02-15 07:58:15 -05:00
Nick Mathewson
cb6b3b7cad
Limit version numbers to 0...INT32_MAX.
...
Closes 21450; patch from teor.
2017-02-15 07:57:34 -05:00
Nick Mathewson
1fbff411b2
Merge branch 'maint-0.2.9'
2017-02-15 07:53:01 -05:00
Nick Mathewson
a1c3b391de
Merge branch 'maint-0.2.8' into maint-0.2.9
2017-02-15 07:52:54 -05:00
Nick Mathewson
5222054163
Merge branch 'maint-0.2.7' into maint-0.2.8
2017-02-15 07:52:47 -05:00
Nick Mathewson
e6376a8004
Merge branch 'maint-0.2.6' into maint-0.2.7
2017-02-15 07:52:41 -05:00
Nick Mathewson
f7ed4a7d8f
Merge branch 'maint-0.2.5' into maint-0.2.6
2017-02-15 07:52:33 -05:00
Nick Mathewson
71cd68b66b
Merge branch 'maint-0.2.8' of git-rw.torproject.org:/tor into maint-0.2.8
2017-02-15 07:51:57 -05:00
Nick Mathewson
67877f55ad
Merge branch 'maint-0.2.7' of git-rw.torproject.org:/tor into maint-0.2.7
2017-02-15 07:51:48 -05:00
Nick Mathewson
6e7ff9ee31
Merge branch 'maint-0.2.6' of git-rw.torproject.org:/tor into maint-0.2.6
2017-02-15 07:51:41 -05:00
Nick Mathewson
aeb299ba6d
Merge branch 'maint-0.2.5' of git-rw.torproject.org:/tor into maint-0.2.5
2017-02-15 07:51:33 -05:00
Nick Mathewson
76d79d597a
Merge branch 'maint-0.2.9'
2017-02-15 07:48:42 -05:00
Nick Mathewson
5d88267bf4
Merge branch 'bug21278_extra_029' into maint-0.2.9
2017-02-15 07:48:30 -05:00
Nick Mathewson
ec6b5a098d
Merge branch 'bug21278_redux_029_squashed' into maint-0.2.9
2017-02-15 07:48:18 -05:00
Nick Mathewson
eeb743588a
Merge branch 'maint-0.2.8' into maint-0.2.9
2017-02-15 07:48:10 -05:00
Nick Mathewson
1ebdae6171
Merge branch 'maint-0.2.7' into maint-0.2.8
2017-02-15 07:47:28 -05:00
Nick Mathewson
ed806843dc
Merge branch 'maint-0.2.6' into maint-0.2.7
2017-02-15 07:47:21 -05:00
Nick Mathewson
3781f24b80
Merge branch 'maint-0.2.5' into maint-0.2.6
2017-02-15 07:47:12 -05:00
Nick Mathewson
a452b71395
Merge branch 'maint-0.2.4' into maint-0.2.5
2017-02-15 07:47:04 -05:00
Roger Dingledine
3c4da8a130
give tor_version_parse_platform some function documentation
2017-02-15 07:46:34 -05:00
Nick Mathewson
02e05bd74d
When examining descriptors as a dirserver, reject ones with bad versions
...
This is an extra fix for bug 21278: it ensures that these
descriptors and platforms will never be listed in a legit consensus.
2017-02-15 07:46:34 -05:00
Nick Mathewson
f63e06d3dc
Extract the part of tor_version_as_new_as that extracts platform
...
Also add a "strict" mode to reject negative inputs.
2017-02-15 07:46:34 -05:00
Nick Mathewson
dec7dc3d82
Merge remote-tracking branch 'dgoulet/ticket20656_030_01'
2017-02-14 19:15:10 -05:00
Nick Mathewson
7e469c1002
Merge branch 'bug20894_029_v3'
2017-02-14 19:10:20 -05:00
Nick Mathewson
491348cb8c
Rename make fuzz to make test-fuzz-corpora
2017-02-14 18:04:10 -05:00