Isis Lovecruft
fe3aca1491
crypto: Refactor (P)RNG functionality into new crypto_rand module.
...
* ADD new /src/common/crypto_rand.[ch] module.
* ADD new /src/common/crypto_util.[ch] module (contains the memwipe()
function, since all crypto_* modules need this).
* FIXES part of #24658 : https://bugs.torproject.org/24658
2018-04-06 21:45:28 +00:00
Nick Mathewson
a57bcffcc7
Implement the various get_foodir_*() functions.
2017-12-05 19:49:29 -05:00
Nick Mathewson
c1deabd3b0
Run our #else/#endif annotator on our source code.
2017-09-15 16:24:44 -04:00
Nick Mathewson
011d94fb11
apply ahf's test_assert_null.cocci
2017-08-24 15:55:27 -04:00
Nick Mathewson
0ae0b5aa41
Queue consensus diffs at LOW priority.
...
Fixes bug 22883.
2017-07-27 16:28:59 -04:00
Nick Mathewson
afef059795
Merge remote-tracking branch 'public/prop140_aftermath_cfg'
2017-05-15 17:26:47 -04:00
Nick Mathewson
db370bb8a8
Test fix: expect old consensuses to be deleted if not deflate-compressed
2017-05-12 17:45:44 +02:00
Nick Mathewson
c276c10d3b
Turn consdiffmgr.cache_max_age_hours into a parameter
2017-05-05 09:11:06 -04:00
Nick Mathewson
87f6979a03
Remove some unused digests from test_consdiffmgr.c
...
These were unused before I started working on #22143 -- I just found
them while I was lookinging for digests to update.
2017-05-04 08:36:50 -04:00
Nick Mathewson
3af9704e45
bug#22143/prop#140: in consdiffmgr, store and use digest-as-signed
...
We need to index diffs by the digest-as-signed of their source
consensus, so that we can find them even from consensuses whose
signatures are encoded differently.
2017-05-04 08:36:50 -04:00
Nick Mathewson
1e1581a24e
Pre-compress consensus diffs with supported consensus methods.
2017-04-27 21:40:46 -04:00
Nick Mathewson
a1172b6774
Store archived consensuses compressed on disk.
...
I'm just using gzip compression now, for performance.
2017-04-27 21:40:46 -04:00
Nick Mathewson
d949589c09
Fix some leaks in the consdiffmgr tests
2017-04-24 11:45:13 -04:00
Nick Mathewson
eb14faa0c1
Remove a checklist item that was already tested
...
The item referred to the cdm_ht_set_status() case where the item was
not already in the hashtable. But that already happens naturally
when we scan the directory on startup... and we already have a test
for that.
2017-04-24 11:01:40 -04:00
Nick Mathewson
af86895581
consdiffmgr test: do not launch a diff task that is already pending
2017-04-24 11:01:40 -04:00
Nick Mathewson
2e9e2d023b
consdiffmgr: tests for consdiffmgr_validate()
2017-04-24 11:01:40 -04:00
Nick Mathewson
6cc21aa89c
consdiffmgr: add tests for cdm_entry_get_sha3_value
2017-04-24 11:01:40 -04:00
Nick Mathewson
bb38657b77
consdiffmgr test: add a test for updating ht on clean/rescan.
...
This brings us back up to ~94% coverage
2017-04-24 11:01:40 -04:00
Nick Mathewson
de0142cd9d
Expand diff-management test to cover reloading items from disk
2017-04-24 11:01:40 -04:00
Nick Mathewson
831e656baa
consdiffmgr tests: add tests to validate diff lookup/application
...
This commit adds some helper functions to look up the diff from one
consensus and to make sure that applying it leads to another. Then
we add them throughout the existing test cases. Doing this turned
up a reference-leaking bug in consensus_diff_worker_replyfn.
2017-04-24 11:01:40 -04:00
Nick Mathewson
605bcfbf71
consdiffmgr: Enable in-progress test that was not previously working
...
Also, add a list of additional tests to write.
2017-04-24 11:01:40 -04:00
Nick Mathewson
655f1c8e01
consdiffmgr: function to re-validate stored sha3 digests at startup
2017-04-24 11:00:28 -04:00
Nick Mathewson
5726fec9c2
Consdiffmgr test: Make sure that diffs are removable
...
A diff is removable as soon as it no longer takes you to the most
recent consensus of the appropriate flavor.
2017-04-24 10:59:25 -04:00
Nick Mathewson
35f6b678ab
Test the easiest cases of consdiffmgr_cleanup.
...
One more to go: deleting the old diffs.
2017-04-24 10:59:25 -04:00
Nick Mathewson
1fade37287
consdiffmgr non-test: check for initialization failure
...
Unfortunately, this test doesn't work, so I've left it
defined-out. There is currently no way in our unit tests to catch a
fatal assertion failure.
2017-04-24 10:59:25 -04:00
Nick Mathewson
d418f28cb5
consdiffmgr test: survive failures to compute a diff.
2017-04-24 10:59:25 -04:00
Nick Mathewson
b9c2f135bd
Another consdiffmgr test: only generate the diffs that are needed
...
This test makes sure that we only generate the diffs we actually
want, rather than regenerating all the diffs every time anything
changes.
2017-04-24 10:59:25 -04:00
Nick Mathewson
7fc37d41b4
Unit tests for consdiffmgr module
...
Initial tests. These just try adding a few consensuses, looking
them up, and making sure that consensus diffs are generated in a
more or less reasonable-looking way. It's enough for 87% coverage,
but it leaves out a lot of functionality.
2017-04-24 10:59:25 -04:00