summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-13rephist: Remove unused crypto_pk statistics.Isis Lovecruft
These statistics were largely ununsed, and kept track of statistical information on things like how many time we had done TLS or how many signatures we had verified. This information is largely not useful, and would only be logged after receiving a SIGUSR1 signal (but only if the logging severity level was less than LOG_INFO). * FIXES #19871. * REMOVES note_crypto_pk_op(), dump_pk_op(), and pk_op_counts from src/or/rephist.c. * REMOVES every external call to these functions.
2017-07-12Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-12Merge branch 'bug22349_029' into maint-0.3.1Nick Mathewson
2017-07-12Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-12Restore openssl and libscrypt includes in test_crypto_slow.cNick Mathewson
This reverts part of commit 706c44a6ce0bbeee51c800521a3199d76e1dcd96. It was a mistake to remove these includes: they were needed on systems where we have openssl 1.1.0 *and* libscrypt, and where we were validating the one against the other. Fixes bug 22892; bugfix on 0.3.1.1-alpha.
2017-07-10Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-10Make consdiff tests pass on OS X tooMatt Traudt
2017-07-10Add more details about git branch use in torMatt Traudt
2017-07-10impact -> affectNick Mathewson
2017-07-10Merge remote-tracking branch 'chelseakomlo/coding-standards-22762'Nick Mathewson
2017-07-10Avoid double-typedef errors on freebsd.Nick Mathewson
2017-07-09specify when to run make distcheckChelsea H. Komlo
2017-07-07Merge branch 'bug17750_029_squashed'Nick Mathewson
2017-07-07Comment that failure schedules always use exponential backoffteor
2017-07-07Refactor exponential backoff multipliers into macrosteor
There are only so many times you can type "4".
2017-07-07Add regression tests for 17750 and 20534teor
2017-07-07Use download_status_get_next_attempt_at() more oftenteor
This guards against future occurrences of 17750.
2017-07-07Give correct bounds in next_random_exponential_delay() commentteor
2017-07-07Make clients try fallbacks before authoritiesteor
Make clients wait for 6 seconds before trying to download their consensus from an authority. Fixes bug 17750, bugfix on 0.2.8.1-alpha.
2017-07-07Fix the expected bug warning in dir/param_voting_lookup testsNick Mathewson
2017-07-07Merge branch 'bug21495'Nick Mathewson
2017-07-07Fix a couple of clang warningsNick Mathewson
2017-07-07Merge branch 'ticket21859_032_01_squashed'Nick Mathewson
2017-07-07Fix wide linesNick Mathewson
2017-07-07Use LD_BUG, not LOG_PROTOCOL_WARN, for bad-purpose cases.Nick Mathewson
2017-07-07Hide crypto_digest_t again and use an accessor for tests.George Kadianakis
2017-07-07Explicit length checks in create_rend_cpath().George Kadianakis
Had to also edit hs_ntor_circuit_key_expansion() to make it happen.
2017-07-07Explicit length checks in circuit_init_cpath_crypto().George Kadianakis
2017-07-07Rename get_rend_cpath() to create_rend_cpath().George Kadianakis
based on Nick's review.
2017-07-07Rename rend_circuit_validate_purpose() based on Nick's review.George Kadianakis
2017-07-07Turn some warnings into bugs and non-fatal asserts.George Kadianakis
2017-07-07Improve docs based on Nick's review.George Kadianakis
2017-07-07test: Add service-side unittests for e2e rendezvous circuits.George Kadianakis
2017-07-07test: Add client-side unittests for e2e rend circuits.George Kadianakis
2017-07-07test: Move some test code to test helpers.George Kadianakis
Move code to create connection streams and rend_data structures to test_helpers so that we can use them from the e2e rendezvous circuit unittests.
2017-07-07test: Crypto groundwork for e2e circuit unittests.George Kadianakis
- Move some crypto structures so that they are visible by tests. - Introduce a func to count number of hops in cpath which will be used by the tests. - Mark a function as mockable.
2017-07-07test: Introduce hs_client_note_connection_attempt_succeeded().George Kadianakis
This commit paves the way for the e2e circuit unittests. Add a stub for the prop224 equivalent of rend_client_note_connection_attempt_ended(). That function was needed for tests, since the legacy function would get called when we attach streams and our client-side tests would crash with assert failures on rend_data. This also introduces hs_client.[ch] to the codebase.
2017-07-07prop224: Introduce e2e rendezvous circuit code.David Goulet
This commit adds most of the work of #21859. It introduces hs_circuit.c functions that can handle the setup of e2e circuits for prop224 hidden services, and also for legacy hidden service clients. Entry points are: prop224 circuits: hs_circuit_setup_e2e_rend_circ() legacy client-side circuits: hs_circuit_setup_e2e_rend_circ_legacy_client() This commit swaps the old rendclient code to use the new API. I didn't try to accomodate the legacy service-side code in this API, since that's too tangled up and it would mess up the new API considerably IMO (all this service_pending_final_cpath_ref stuff is complicated and I didn't want to change it). Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-07Refactor legacy code to support hs_ident along with rend_data.George Kadianakis
The legacy HS circuit code uses rend_data to match between circuits and streams. We refactor some of that code so that it understands hs_ident as well which is used for prop224.
2017-07-07Refactor circuit_init_cpath_crypto() to do prop224 rend circuits.George Kadianakis
circuit_init_cpath_crypto() is responsible for creating the cpath of legacy SHA1/AES128 circuits currently. We want to use it for prop224 circuits, so we refactor it to create circuits with SHA3-256 and AES256 as well. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-07Refactor the HS ntor key expansion to fit the e2e circuit API.George Kadianakis
We want to use the circuit_init_cpath_crypto() function to setup our cpath, and that function accepts a key array as input. So let's make our HS ntor key expansion function also return a key array as output, instead of a struct. Also, we actually don't need KH from the key expansion, so the key expansion output can be one DIGEST256_LEN shorter. See here for more info: https://trac.torproject.org/projects/tor/ticket/22052#comment:3
2017-07-07prop224: Add connection and circuit identifier objectDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-07Avoid a scan_build warning in dirvote_get_intermediate_param_valueNick Mathewson
Fixes bug 21495.
2017-07-07Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-07Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
This is an "ours" commit to avoid taking the fix for 22838, which we already have here.
2017-07-07Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2017-07-07Merge branch 'maint-0.2.8' into maint-0.2.9Nick Mathewson
2017-07-07Merge branch 'bug22838_028' into maint-0.2.8Nick Mathewson
2017-07-07mingw fix: avoid "unused var" warning.Nick Mathewson
This is a backport of 19615bce64cd381a925bc3910120ac39ca918e7c to fix bug 22838.
2017-07-07Merge branch 'maint-0.3.1'Nick Mathewson