summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2016-11-08Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-08When using exponential backoff in test networks, use a lower exponentteor
Lower exponents mean that delays do not vary as much. This helps test networks bootstrap consistently. Bugfix on 20499.
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson
Conflicts: src/or/rendservice.c
2016-11-07Merge remote-tracking branch 'teor/bug20484_029_v2' into maint-0.2.9Nick Mathewson
2016-11-07Treat bacoff/schedule mismatch as a bug.Nick Mathewson
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-07Reduce multiplier to 3, per teor's recommendation on #20534Nick Mathewson
(Three _is_ a good number for anonymity!)
2016-11-07Always increment delays by at least 1.Nick Mathewson
2016-11-07Avoid integer overflow in delay calculation.Nick Mathewson
2016-11-07Count HTTP 503 as a download failure.Nick Mathewson
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-07Adjust download schedules per teor's #20534 recommendataionsNick Mathewson
2016-11-07Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-07Merge branch '20499_part1_029_squashed', remote-tracking branches ↵Nick Mathewson
'teor/bug20591_029' and 'teor/bug20533_029' into maint-0.2.9
2016-11-07Allow infinitely long delays in exponential-backoff downloadsNick Mathewson
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-08When downloading certificates, check for related failuresteor
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-07Ensure relays don't make multiple connections during bootstrapteor
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-06Merge branch 'maint-0.2.9'Nick Mathewson
2016-11-06Finish a sentence in a comment. Close 20576.Nick Mathewson
2016-11-06Workaround for warning in desc_encode_v3().Nick Mathewson
Fixes bug 20581.
2016-11-06Do not apply 'max_failures' to random-exponential schedules.Nick Mathewson
Fixes bug 20536; bugfix on 0.2.9.1-alpha.
2016-11-06Change a BUG warning to be a warning, not an info.Nick Mathewson
2016-11-06Fix get_delay() code to avoid TIME_MAX overflow, not INT_MAX.Nick Mathewson
Fixes bug 20587; bugfix on 35bbf2e4a4e8ccb in 0.2.8.1-alpha.
2016-11-04Fix some 32-bit warnings and clang warningsNick Mathewson
2016-11-04Fix memory leaks in hs_descriptor/decode_descriptor and in encode_enc_key()Nick Mathewson
2016-11-04Expose desc_intro_point_free to the tests, and use it.Nick Mathewson
Also fix another couple of leaks.
2016-11-04prop224: Fix crosscert memory leaks on errorDavid Goulet
2016-11-04Fix a bunch of leaks in hs_cache/upload_and_download_hs_descNick Mathewson
2016-11-04Fix a use-after-free error.David Goulet
2016-11-04Fix make check-spacesNick Mathewson
2016-11-04Check the correct key when checking RSA crosscert in hs_descriptor.cNick Mathewson
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-04Fix an assertion failure in hs_cache_free_all().Nick Mathewson
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-04Fix compilation.Nick Mathewson
2016-11-04Merge branch 'ticket17238_029_02-resquash'Nick Mathewson
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-04Use a better salted-MAC construction in build_mac()Nick Mathewson
2016-11-04prop224: Add a cache free all functionDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04prop224: Use a const pointer for the cache lookup entryDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04prop224: Rename cert type to follow naming conventionDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-11-04Add EnableOnionServicesV3 consensus parameterDavid Goulet
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-04Make check-spaces happy :)George Kadianakis
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04test: Add prop224 directory fetch/upload unit testsGeorge Kadianakis
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04prop224: Directory support for v3 descriptor fetchGeorge Kadianakis
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04prop224: Directory support for v3 descriptor publishingDavid Goulet
Closes #19205 Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04test: Add prop224 directory cache unit testsDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04prop224: Directory cache supportDavid Goulet
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-04test: Add prop224 descriptor unit testsDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04prop224: Descriptor decoding implementationDavid Goulet
Closes #18571 Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04prop224: Descriptor encoding implementationDavid Goulet
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-04prop224: Add new cert type for hidden serviceDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04Move token parsing code to parsecommon.{c|h}David Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-11-04hs: Refactor rend_data_t for multi version supportDavid Goulet
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>