commit 9ca1af9a8757ee73cf4018263cb3ae2340ebaa9f Merge: 13d0855a8 3695ef634 Author: Nick Mathewson nickm@torproject.org Date: Fri Sep 7 15:03:32 2018 -0400
Merge remote-tracking branch 'dgoulet/ticket20700_035_03'
src/app/config/config.c | 7 +- src/app/config/or_options_st.h | 2 + src/feature/hs/hs_client.c | 266 +++++++++- src/feature/hs/hs_client.h | 24 + src/feature/hs/hs_config.c | 27 + src/feature/hs/hs_config.h | 1 + src/feature/hs/hs_descriptor.c | 1046 ++++++++++++++++++++++++++++----------- src/feature/hs/hs_descriptor.h | 84 +++- src/feature/hs/hs_service.c | 525 +++++++++++++++++++- src/feature/hs/hs_service.h | 36 ++ src/lib/crypt_ops/crypto_rand.c | 4 +- src/lib/crypt_ops/crypto_rand.h | 2 +- src/test/fuzz/fuzz_hsdescv3.c | 4 +- src/test/hs_test_helpers.c | 43 ++ src/test/test_hs_cache.c | 20 +- src/test/test_hs_client.c | 178 ++++++- src/test/test_hs_common.c | 6 +- src/test/test_hs_descriptor.c | 262 ++++++---- src/test/test_hs_service.c | 459 +++++++++++++++++ src/test/testing_common.c | 4 +- 20 files changed, 2560 insertions(+), 440 deletions(-)
diff --cc src/lib/crypt_ops/crypto_rand.c index 78471bf39,554777cf5..313d829a5 --- a/src/lib/crypt_ops/crypto_rand.c +++ b/src/lib/crypt_ops/crypto_rand.c @@@ -335,16 -319,14 +335,16 @@@ crypto_strongest_rand_raw(uint8_t *out * Try to get <b>out_len</b> bytes of the strongest entropy we can generate, * storing it into <b>out</b>. **/ - void - crypto_strongest_rand(uint8_t *out, size_t out_len) + MOCK_IMPL(void, + crypto_strongest_rand,(uint8_t *out, size_t out_len)) { -#define DLEN SHA512_DIGEST_LENGTH +#define DLEN DIGEST512_LEN + /* We're going to hash DLEN bytes from the system RNG together with some - * bytes from the openssl PRNG, in order to yield DLEN bytes. + * bytes from the PRNGs from our crypto librar(y/ies), in order to yield + * DLEN bytes. */ - uint8_t inp[DLEN*2]; + uint8_t inp[DLEN*3]; uint8_t tmp[DLEN]; tor_assert(out); while (out_len) {