David Goulet
6c173d00f5
Merge branch 'tor-github/pr/702'
2019-02-14 11:43:10 -05:00
George Kadianakis
00b073b1bc
Merge branch 'maint-0.3.5'
2019-02-14 18:01:07 +02:00
George Kadianakis
d83c299eba
Merge branch 'tor-github/pr/689' into maint-0.3.5
2019-02-14 18:00:05 +02:00
George Kadianakis
b804d5bc49
Merge branch 'maint-0.3.5'
2019-02-14 17:40:59 +02:00
George Kadianakis
9bfe4ed6dd
Merge branch 'tor-github/pr/536' into maint-0.3.5
2019-02-14 17:39:34 +02:00
Nick Mathewson
6a29aa7b8c
Add whitebox test for the long-output optimization of fast_rng
2019-02-14 09:26:40 -05:00
Nick Mathewson
3f28b98220
Add test for crypto_fast_rng_get_double().
2019-02-14 09:26:40 -05:00
Nick Mathewson
acbde10fce
Add a test-rng program so we can pipe to dieharder.
2019-02-14 09:26:40 -05:00
Nick Mathewson
490e187056
Add a benchmark for our several PRNGs.
2019-02-14 09:26:40 -05:00
Nick Mathewson
f3cbd6426c
Implement a fast aes-ctr prng
...
This module is currently implemented to use the same technique as
libottery (later used by the bsds' arc4random replacement), using
AES-CTR-256 as its underlying stream cipher. It's backtracking-
resistant immediately after each call, and prediction-resistant
after a while.
Here's how it works:
We generate psuedorandom bytes using AES-CTR-256. We generate BUFLEN bytes
at a time. When we do this, we keep the first SEED_LEN bytes as the key
and the IV for our next invocation of AES_CTR, and yield the remaining
BUFLEN - SEED_LEN bytes to the user as they invoke the PRNG. As we yield
bytes to the user, we clear them from the buffer.
Every RESEED_AFTER times we refill the buffer, we mix in an additional
SEED_LEN bytes from our strong PRNG into the seed.
If the user ever asks for a huge number of bytes at once, we pull SEED_LEN
bytes from the PRNG and use them with our stream cipher to fill the user's
request.
2019-02-14 09:26:40 -05:00
Nick Mathewson
3d3578ab41
Extract RNG tests into a new test module
...
test_crypto.c is pretty big; it wouldn't hurt to split it up some
more before I start adding stuff to the PRNG tests.
2019-02-14 09:26:40 -05:00
Nick Mathewson
622a9a8a36
Extract the common body of our random-int functions into a macro
...
This is the second part of refactoring the random-int-in-range code.
2019-02-14 09:26:40 -05:00
George Kadianakis
f5a6d4c6ea
Disable unstable circuit padding unittest.
...
until #29298 is implemented.
2019-02-14 12:09:41 +02:00
Nick Mathewson
5f42bc0f48
Merge remote-tracking branch 'tor-github/pr/699'
2019-02-13 15:19:59 -05:00
Nick Mathewson
5687165cf1
Merge remote-tracking branch 'tor-github/pr/674'
2019-02-13 11:38:35 -05:00
David Goulet
d043096d59
Merge branch 'maint-0.3.5'
2019-02-13 11:02:09 -05:00
David Goulet
d5de1a0a55
Merge branch 'tor-github/pr/651'
2019-02-13 11:02:02 -05:00
David Goulet
6efc2a0e1f
Merge branch 'tor-github/pr/650' into maint-0.3.5
2019-02-13 10:56:24 -05:00
juga0
b61c3c6dfa
changes: Add changes file for #26698
2019-02-13 12:26:00 +00:00
juga0
ec7da50ab4
dirvote: Add the bandwidth file digest in the vote
2019-02-13 12:26:00 +00:00
juga0
28490fa23e
test: Add test to get the digest of a bw file
2019-02-13 12:26:00 +00:00
juga0
fc3e90a7b6
bwauth: Add function to get the digest of a bw file
2019-02-13 12:26:00 +00:00
David Goulet
c320c52e89
Merge branch 'tor-github/pr/690'
2019-02-12 13:04:25 -05:00
David Goulet
95e5f8fe03
Merge branch 'tor-github/pr/671'
2019-02-12 13:02:30 -05:00
Nick Mathewson
72b978c3a5
On windows, if we fail to load a consensus and it has a CRLF, retry.
...
Fixes bug 28614; bugfix on 0.4.0.1-alpha when we started mmapping
the consensus.
2019-02-12 12:57:33 -05:00
Nick Mathewson
a797a69679
Merge branch 'maint-0.3.5'
2019-02-12 09:56:50 -05:00
Nick Mathewson
db209d4dba
Merge branch 'maint-0.3.3' into maint-0.3.4
2019-02-12 09:56:49 -05:00
Nick Mathewson
7ead2af622
Merge branch 'maint-0.2.9' into maint-0.3.3
2019-02-12 09:56:49 -05:00
Nick Mathewson
2e770216c4
Merge branch 'maint-0.3.4' into maint-0.3.5
2019-02-12 09:56:49 -05:00
Nick Mathewson
ed05b7dddc
Merge branch 'maint-0.3.5'
2019-02-12 09:55:09 -05:00
David Goulet
46b6df7122
test: Fix a warning underflow in rend_cache/clean
...
Because the test is adding entries to the "rend_cache" directly, the
rend_cache_increment_allocation() was never called which made the
rend_cache_clean() call trigger that underflow warning:
rend_cache/clean: [forking] Nov 29 09:55:04.024 [warn] rend_cache_decrement_allocation(): Bug: Underflow in rend_cache_decrement_allocation (on Tor 0.4.0.0-alpha-dev 2240fe63feb9a8cf)
The test is still good and valid.
Fixes #28660
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-02-12 09:15:41 -05:00
Karsten Loesing
a3f9ddcf03
Update geoip and geoip6 to the February 5 2019 database.
2019-02-12 14:40:42 +01:00
Nick Mathewson
f2b646a2b6
Merge branch 'ticket29435_035' into ticket29435_040
2019-02-08 10:47:04 -05:00
Nick Mathewson
192b312c97
Fix coverage script.
...
It was looking for object files made with the old automake
directorations, but those changed when we split up our libraries.
Fixes bug 29435; bugfix on 0.3.5.1-alpha.
2019-02-08 10:43:38 -05:00
Nick Mathewson
b63404ebba
Changes file for ticket29026.
2019-02-08 08:52:46 -05:00
Nick Mathewson
49ec29044d
Add more openssl includes to fix no-deprecated compilation
...
Closes ticket 29026; patch from Mangix.
2019-02-08 08:51:23 -05:00
Nick Mathewson
b9abdcd6bc
Fix compilation when openssl is compiled without engine support.
...
Patch from Mangix. Closes part of ticket 29026.
2019-02-08 08:50:43 -05:00
Nick Mathewson
7f59b9fb1f
Merge branch 'maint-0.3.5'
2019-02-08 08:37:46 -05:00
Nick Mathewson
ab65347819
Merge branch 'ticket29040_1_changes' into maint-0.3.5
2019-02-08 08:37:43 -05:00
Nick Mathewson
eca0f87801
Add changes file for bug 29040.
2019-02-08 08:37:23 -05:00
Nick Mathewson
b1ae2fd65b
Merge branch 'maint-0.3.5'
2019-02-08 08:19:34 -05:00
Nick Mathewson
4b36f9676d
Merge remote-tracking branch 'tor-github/pr/670' into maint-0.3.5
2019-02-08 08:19:31 -05:00
Nick Mathewson
a49149fc13
Extract numeric CSPRNG functions into a new module.
...
Some of the code for getting a random value within a range wants to
be shared between crypto_rand() and the new crypto_fast_rng() code.
2019-02-06 22:06:05 -05:00
Nick Mathewson
21d184a184
Remove extraneous #if/#endif wrapper in crypto_rand.c
...
I don't know how this got here, but this kind of a wrapper only
belongs in a header file.
2019-02-06 22:05:39 -05:00
Nick Mathewson
8ca808f81d
Code for anonymous mappings via mmap() or CreateFileMapping().
...
Using an anonymous mmap() is a good way to get pages that we can set
kernel-level flags on, like minherit() or madvise() or mlock().
We're going to use that so that we can make uninheritable locked
pages to store PRNG data.
2019-02-06 22:03:30 -05:00
Roger Dingledine
bfd1d70243
Merge branch 'maint-0.3.5'
2019-02-05 08:10:43 -05:00
Roger Dingledine
bca25eebfb
Merge branch 'maint-0.3.4' into maint-0.3.5
2019-02-05 08:10:14 -05:00
Roger Dingledine
8ea98c0f4c
Merge branch 'maint-0.3.3' into maint-0.3.4
2019-02-05 08:09:47 -05:00
Peter Gerber
83b1ca9b07
Add release note for bug 29150
2019-02-02 23:10:16 +00:00
Nick Mathewson
4d7a0a1310
Update Cargo.lock with new comment; suppress 29244.
2019-02-01 16:38:23 +01:00