Nick Mathewson
c58592e658
Merge branch 'maint-0.2.9'
2016-11-08 18:51:19 -05:00
Nick Mathewson
89ec191b68
Merge remote-tracking branch 'public/bug20306_029' into maint-0.2.9
2016-11-08 18:51:07 -05:00
Nick Mathewson
31f41fe096
Merge branch 'maint-0.2.9'
2016-11-08 18:45:10 -05:00
Nick Mathewson
286fa94064
Use va_copy() in pure-windows version of tor_asprintf().
...
It's not okay to use the same varargs list twice, and apparently
some windows build environments produce code here that would leave
tor_asprintf() broken. Fix for bug 20560; bugfix on 0.2.2.11-alpha
when tor_asprintf() was introduced.
2016-11-08 18:44:06 -05:00
David Goulet
34f14a35b6
hs: Add single-onion-service line to v3 descriptor
...
This field indicates if the service is a Single Onion Service if present in
the descriptor.
Closes #19642
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-08 13:22:42 -05:00
Nick Mathewson
74e84b7eb7
Bump version to 0.2.9.5-alpha-dev
2016-11-08 07:55:15 -05:00
Nick Mathewson
d1a0f2e7e4
Merge branch 'maint-0.2.9'
2016-11-08 07:12:16 -05:00
teor
38e3f91c63
When using exponential backoff in test networks, use a lower exponent
...
Lower exponents mean that delays do not vary as much. This helps test
networks bootstrap consistently.
Bugfix on 20499.
2016-11-08 16:42:26 +11:00
Nick Mathewson
3dfecffa7d
bump version to 0.2.9.5-alpha
2016-11-07 16:38:53 -05:00
Nick Mathewson
3e3040a5d9
Merge branch 'maint-0.2.9'
...
Conflicts:
src/or/rendservice.c
2016-11-07 16:31:40 -05:00
Nick Mathewson
c2fc0941a5
Merge remote-tracking branch 'teor/bug20484_029_v2' into maint-0.2.9
2016-11-07 16:12:13 -05:00
Nick Mathewson
7236e42684
Merge branch 'maint-0.2.9'
2016-11-07 16:10:55 -05:00
Nick Mathewson
e482541cfb
Fix another 20499-broken test
2016-11-07 16:10:42 -05:00
Nick Mathewson
d2071c36f6
Fix a unit test (broken by recent 20499 hacking)
2016-11-07 16:02:55 -05:00
David Goulet
4ff534495f
hs: Document arguments of rend_data_*_create()
...
Fixes #20567
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-07 14:03:32 -05:00
Nick Mathewson
89edef6afb
Treat bacoff/schedule mismatch as a bug.
2016-11-07 11:05:57 -05:00
Nick Mathewson
1934bf75ef
Merge branch 'maint-0.2.9'
2016-11-07 11:02:15 -05:00
Nick Mathewson
e51f105c41
Reduce multiplier to 3, per teor's recommendation on #20534
...
(Three _is_ a good number for anonymity!)
2016-11-07 11:01:21 -05:00
Nick Mathewson
85970f7047
Always increment delays by at least 1.
2016-11-07 11:01:21 -05:00
Nick Mathewson
1fdf6e5814
Avoid integer overflow in delay calculation.
2016-11-07 11:01:21 -05:00
Nick Mathewson
864c42f4d6
Count HTTP 503 as a download failure.
...
Because as Teor puts it: "[Resetting on 503] is exactly what we
don't want when relays are busy - imagine clients doing an automatic
reset every time they DoS a relay..."
Fixes bug 20593.
2016-11-07 11:01:21 -05:00
Nick Mathewson
667ba776b1
Adjust download schedules per teor's #20534 recommendataions
2016-11-07 11:01:20 -05:00
David Goulet
18e0a0b70d
test: Remove useless HS decode multiple intro points
...
The test was broken and skipped because the hardcoded cross certificate didn't
include the dynamically generated signing key generated by the test. The only
way we could have fixed that is extracting the signing key from the hardcoded
string and put it in the descriptor object or dynamically generate the cross
certificate.
In the end, all this was kind of pointless as we already test the decoding of
multiple introduction points elsewhere and we don't gain anything with that
specific test thus the removal.
Fixes #20570
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-07 10:59:30 -05:00
Nick Mathewson
800dff1308
Merge branch 'maint-0.2.9'
2016-11-07 09:32:21 -05:00
Nick Mathewson
e4b793fe41
Merge branch 'maint-0.2.8' into maint-0.2.9
2016-11-07 09:32:00 -05:00
Nick Mathewson
2639fd08e7
Merge branch 'maint-0.2.7' into maint-0.2.8
2016-11-07 09:31:36 -05:00
Nick Mathewson
f5fdf188b9
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-11-07 09:30:42 -05:00
Nick Mathewson
6c2174d44d
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-11-07 09:30:16 -05:00
Nick Mathewson
db2571be61
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-11-07 09:29:54 -05:00
Nick Mathewson
d82ffb77f3
Merge branch '20499_part1_029_squashed', remote-tracking branches 'teor/bug20591_029' and 'teor/bug20533_029' into maint-0.2.9
2016-11-07 09:20:13 -05:00
Nick Mathewson
858867a31a
Allow infinitely long delays in exponential-backoff downloads
...
It's only safe to remove the failure limit (per 20536) if we are in
fact waiting a bit longer each time we try to download.
Fixes bug 20534; bugfix on 0.2.9.1-alpha.
2016-11-07 09:19:35 -05:00
Nick Mathewson
a415fee58a
Merge branch 'maint-0.2.9'
2016-11-07 09:09:06 -05:00
Karsten Loesing
ea597832e2
Update geoip and geoip6 to the November 3 2016 database.
2016-11-07 15:05:19 +01:00
teor
e819d420c5
When downloading certificates, check for related failures
...
If a consensus expires while we are waiting for certificates to download,
stop waiting for certificates.
If we stop waiting for certificates less than a minute after we started
downloading them, do not consider the certificate download failure a
separate failure.
Fixes bug 20533; bugfix on commit e0204f21
in 0.2.0.9-alpha.
2016-11-08 00:01:20 +11:00
teor
1bb28cecd9
Ensure relays don't make multiple connections during bootstrap
...
Relays do not deliberately launch multiple attempts, so the impact of this
bug should be minimal. This fix also defends against bugs like #20499 .
Bugfix on 0.2.8.1-alpha.
2016-11-07 23:05:55 +11:00
Nick Mathewson
0bd55ed96a
Always Use EVP_aes_*_ctr() with openssl 1.1
...
(OpenSSL 1.1 makes EVP_CIPHER_CTX opaque, _and_ adds acceleration
for counter mode on more architectures. So it won't work if we try
the older approach, and it might help if we try the newer one.)
Fixes bug 20588.
2016-11-06 21:01:25 -05:00
Nick Mathewson
4e15c2cb7d
Merge branch 'maint-0.2.9'
2016-11-06 20:32:21 -05:00
Nick Mathewson
f6a3d213e4
Finish a sentence in a comment. Close 20576.
2016-11-06 20:31:50 -05:00
Nick Mathewson
0b787b1daf
Workaround for warning in desc_encode_v3().
...
Fixes bug 20581.
2016-11-06 20:27:14 -05:00
Nick Mathewson
61612f980d
Merge branch 'maint-0.2.9'
2016-11-06 20:24:29 -05:00
Nick Mathewson
def41e93bd
In test_tortls_classify_client_ciphers(), s/ECDH/ECDHE/
...
(We weren't actually using these ciphers; we were just requing that
ciphers of that name existed.)
Patch from rubiate. Fixes 20460
2016-11-06 20:23:40 -05:00
Nick Mathewson
5385a023e1
Do not apply 'max_failures' to random-exponential schedules.
...
Fixes bug 20536; bugfix on 0.2.9.1-alpha.
2016-11-06 20:08:11 -05:00
Nick Mathewson
e9ce181955
Change a BUG warning to be a warning, not an info.
2016-11-06 20:01:24 -05:00
Nick Mathewson
1b22eae120
Fix get_delay() code to avoid TIME_MAX overflow, not INT_MAX.
...
Fixes bug 20587; bugfix on 35bbf2e4a4
in 0.2.8.1-alpha.
2016-11-06 19:50:08 -05:00
Nick Mathewson
0fed324c2c
Would you believe me if I said there were more 32-bit and clang warnings?
2016-11-04 15:47:28 -04:00
Nick Mathewson
f45a581486
Fix some 32-bit warnings and clang warnings
2016-11-04 15:24:30 -04:00
David Goulet
c1bbc8405b
prop224: Fix memleaks in hs descriptor unit test
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04 14:47:09 -04:00
Nick Mathewson
7a78a37f1d
Fix memory leaks in test_hs_cache.c
2016-11-04 14:39:35 -04:00
Nick Mathewson
ed4aebcd97
Fix more unit test leaks.
2016-11-04 14:35:15 -04:00
David Goulet
791625750e
prop224: Remove pointless unit test
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04 14:31:28 -04:00
Nick Mathewson
1a03edefba
Fix a heap overrun in test_decode_plaintext
2016-11-04 14:28:19 -04:00
Nick Mathewson
d16b4b3e48
Fix memory leaks in hs_descriptor/decode_descriptor and in encode_enc_key()
2016-11-04 14:27:45 -04:00
Nick Mathewson
a4291eef5a
Expose desc_intro_point_free to the tests, and use it.
...
Also fix another couple of leaks.
2016-11-04 14:22:04 -04:00
David Goulet
6ac85ca2b4
prop224: Fix crosscert memory leaks on error
2016-11-04 14:16:42 -04:00
Nick Mathewson
29ae8dcf96
Fix a bunch of leaks in hs_cache/upload_and_download_hs_desc
2016-11-04 14:13:30 -04:00
David Goulet
954fb99a48
Fix a use-after-free error.
2016-11-04 14:07:33 -04:00
Nick Mathewson
6847b9f6af
Fix make check-spaces
2016-11-04 14:00:08 -04:00
Nick Mathewson
0e2df2b653
Tell a broken test to skip itself
2016-11-04 13:57:07 -04:00
David Goulet
b876e5128a
prop224: fix unit test to actually initialize a connection object
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04 13:53:20 -04:00
Nick Mathewson
09c750cce3
Check the correct key when checking RSA crosscert in hs_descriptor.c
...
Note that the "signed key" in the signing key certificate is the
signing key. The "signing key" in the signing key certificate is
the key that signs the certificate -- that is, the blinded key.
2016-11-04 13:49:05 -04:00
Nick Mathewson
dbd01590cc
Fix an assertion failure in hs_cache_free_all().
...
It's possible for Tor to decide to exit before it's 100% done
initializing. So, don't assert that the initialization is done.
2016-11-04 13:30:10 -04:00
Nick Mathewson
d88046a80d
Fix compilation.
2016-11-04 13:26:56 -04:00
Nick Mathewson
c35c43d7d9
Merge branch 'ticket17238_029_02-resquash'
...
Conflicts:
src/or/rendclient.c
src/or/rendcommon.c
src/or/routerparse.c
src/test/test_dir.c
src/trunnel/ed25519_cert.h
2016-11-04 13:26:37 -04:00
Nick Mathewson
c189cb5cc2
Use a better salted-MAC construction in build_mac()
2016-11-04 13:15:28 -04:00
David Goulet
1eed6edf36
prop224: Add a cache free all function
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04 10:32:50 -04:00
David Goulet
3f29688bdf
prop224: Use a const pointer for the cache lookup entry
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04 10:32:50 -04:00
David Goulet
1263f74a12
prop224: Rename cert type to follow naming convention
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04 10:32:50 -04:00
David Goulet
1517a8a2eb
Add EnableOnionServicesV3 consensus parameter
...
This parameter controls if onion services version 3 (first version of prop224)
is enabled or not. If disabled, the tor daemon will not support the protocol
for all components such as relay, directory, service and client. If the
parameter is not found, it's enabled by default.
Closes #19899
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:32:50 -04:00
George Kadianakis
d795ed5871
Make check-spaces happy :)
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:32:50 -04:00
George Kadianakis
a8efd087bd
test: Add prop224 directory fetch/upload unit tests
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:32:50 -04:00
George Kadianakis
f59990f24d
prop224: Directory support for v3 descriptor fetch
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:32:49 -04:00
David Goulet
45a72356cb
prop224: Directory support for v3 descriptor publishing
...
Closes #19205
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:32:49 -04:00
David Goulet
1aeaba4906
test: Add prop224 directory cache unit tests
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:32:49 -04:00
David Goulet
025610612d
prop224: Directory cache support
...
This implements the proposal 224 directory descriptor cache store and lookup
functionalities. Furthermore, it merges the OOM call for the HSDir cache with
current protocol v2 and the new upcoming v3.
Add hs_cache.{c|h} with store/lookup API.
Closes #18572
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:31:35 -04:00
David Goulet
473f99bf7b
test: Add prop224 descriptor unit tests
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:29:28 -04:00
David Goulet
cff1fd63f1
prop224: Descriptor decoding implementation
...
Closes #18571
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:29:28 -04:00
David Goulet
91b5d0789f
prop224: Descriptor encoding implementation
...
Add hs_descriptor.{c|h} with the needed ABI to represent a descriptor and
needed component.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:29:27 -04:00
David Goulet
02ad553ccd
prop224: Add new cert type for hidden service
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:29:27 -04:00
David Goulet
15f3563f1b
trunnel: Uncomment link_specifier so we can use it
...
Also add a trunnel definition for link_specifier_list
Signed-off-by: John Brooks <special@torproject.org>
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:29:27 -04:00
David Goulet
e8c12175fe
Move token parsing code to parsecommon.{c|h}
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:29:26 -04:00
David Goulet
8293356ad9
hs: Refactor rend_data_t for multi version support
...
In order to implement proposal 224, we need the data structure rend_data_t to
be able to accomodate versionning that is the current version of hidden
service (2) and the new version (3) and future version.
For that, we implement a series of accessors and a downcast function to get
the v2 data structure. rend_data_t becomes a top level generic place holder.
The entire rend_data_t API has been moved to hs_common.{c|h} in order to
seperate code that is shared from between HS versions and unshared code (in
rendcommon.c).
Closes #19024
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04 10:29:26 -04:00
Nick Mathewson
00bdd56b18
Only check cert expiry vs TIME_MAX when time_t is less than 64-bit
...
Fixes issue 20558 / CID 1375988.
2016-11-03 19:29:52 -04:00
Nick Mathewson
bd6aa4f3d1
Split a wide line
2016-11-03 19:12:18 -04:00
Nick Mathewson
e8624b72a8
Merge remote-tracking branch 'dgoulet/bug20526_030_01'
2016-11-03 19:09:42 -04:00
Nick Mathewson
80a5091e4f
Merge remote-tracking branch 'mintytoast/bug_19563'
2016-11-03 18:40:41 -04:00
Nick Mathewson
59f4cae68c
Merge branch 'maint-0.2.8' into maint-0.2.9
2016-11-03 18:36:43 -04:00
Nick Mathewson
61bdc452b0
Merge branch 'bug20551_028' into maint-0.2.8
2016-11-03 18:36:25 -04:00
Nick Mathewson
63c94954b1
Fix BUG message in channel/queue_impossible
2016-11-03 18:34:44 -04:00
overcaffeinated
dce4603d9b
Use tor_htonll in test_util_format_unaligned_accessors
...
Remove the inline htonll, switch to tor_htonll for
test_util_format_unaligned_accessors.
2016-11-03 21:18:02 +00:00
overcaffeinated
c613446ca2
Refactor tests for tor_htonll and tor_ntohll
...
Following kind feedback from dgoulet: add tests for min (0) and
max (UINT64_MAX) values. Rename expected results to something more
sensible than 'n'.
2016-11-03 20:52:11 +00:00
Nick Mathewson
0533d14213
Replace some assert(1)s with nonfatal_unreached_once().
...
These were probably supposed to be assert(0).
2016-11-03 16:06:53 -04:00
Nick Mathewson
272572c3a2
Merge branch 'maint-0.2.9'
2016-11-03 15:45:16 -04:00
Nick Mathewson
3cd520a52d
Merge branch 'maint-0.2.8' into maint-0.2.9
2016-11-03 15:44:46 -04:00
Nick Mathewson
7a45ef5a47
Merge remote-tracking branch 'arma/bug19969_028_squashed' into maint-0.2.8
2016-11-03 15:44:30 -04:00
Nick Mathewson
3bb49c0110
Merge branch 'maint-0.2.8' into maint-0.2.9
2016-11-03 15:41:04 -04:00
overcaffeinated
c4603233db
Add unit test for tor_htonll and tor_ntohll
...
Add tests for tor_htonll and tor_ntohll - fixes bug 19563.
2016-11-03 19:37:59 +00:00
Nick Mathewson
f0b86e30d0
Add assertion that cpath_layer==NULL on OR circ
2016-11-03 14:36:10 -04:00
Nick Mathewson
40487b0141
Merge remote-tracking branch 'dgoulet/bug20376_030_01'
2016-11-03 14:35:03 -04:00
Nick Mathewson
df2615d43d
fix wide lines
2016-11-03 14:29:18 -04:00
Nick Mathewson
16e75587f6
Merge branch 'bug20527_030_01_squashed'
2016-11-03 14:23:47 -04:00