Nick Mathewson
33841a6030
Merge remote-tracking branch 'teor/fix18809-warnings' into maint-0.2.8
2016-05-19 16:04:56 -04:00
Nick Mathewson
4a14c2cfc7
Merge branch 'maint-0.2.8'
2016-05-19 15:56:39 -04:00
Nick Mathewson
0d6f293e0e
Merge remote-tracking branch 'public/bug19073' into maint-0.2.8
2016-05-19 15:56:31 -04:00
teor (Tim Wilson-Brown)
2d21f03cdc
Fix unused-but-set-variable warnings in the connection unit tests
...
No behaviour change - just remove the variables
2016-05-19 12:49:36 -04:00
Nick Mathewson
a7a44f2db0
Merge branch 'maint-0.2.8'
2016-05-19 08:29:58 -04:00
Nick Mathewson
06803c317f
Fix a compilation error in test_dir.c
2016-05-19 08:27:11 -04:00
Nick Mathewson
d718c717a6
Merge branch 'maint-0.2.8'
2016-05-19 08:25:12 -04:00
Nick Mathewson
9f217c83b0
Merge branch 'bug18809_028_squashed' into maint-0.2.8
2016-05-19 08:17:02 -04:00
teor (Tim Wilson-Brown)
f698b509d8
Add unit tests for networkstatus_consensus_is_bootstrapping
2016-05-19 07:58:41 -04:00
teor (Tim Wilson-Brown)
d5c70d7102
Restore and improve download schedule unit tests
2016-05-19 07:58:41 -04:00
teor (Tim Wilson-Brown)
4254d0297c
Update unit tests for multiple bootstrap connections
2016-05-19 07:58:41 -04:00
Nick Mathewson
159ea7a88f
Fix a bad sizeof() in test_crypto.c. Harmless. Spotted by coverity.
2016-05-18 08:29:13 -04:00
Nick Mathewson
ab932cd7bf
Remove duplicate siging_key_cert fields.
...
With the fix for #17150 , I added a duplicate certificate here. Here
I remove the original location in 0.2.8. (I wouldn't want to do
that in 027, due to the amount of authority-voting-related code
drift.)
Closes 19073.
2016-05-17 20:04:16 -04:00
Nick Mathewson
36909674b4
Merge remote-tracking branch 'teor/bug18963-remember-v2'
2016-05-17 12:15:53 -04:00
Nick Mathewson
6382cd93cb
Merge branch 'maint-0.2.8'
2016-05-17 11:10:20 -04:00
Nick Mathewson
0f9b0b8bfe
Initialize networking _before_ initializing libevent in the tests
...
This prevents WSANOTINITIALISED errors and fixes bug 18668. Bugfix
on 0.2.8.1-alpha -- 1bac468882
specifically.
2016-05-16 14:30:04 -04:00
Nick Mathewson
249f3a1664
Fix memory leak in test_crypto_aes_ctr_testvec
2016-05-16 09:55:09 -04:00
Nick Mathewson
9abd7b8f90
Windows lacks truncate(3).
...
Fix the new crypto tests, which used truncate(3).
2016-05-16 09:25:19 -04:00
Nick Mathewson
060e0d0a75
Merge branch 'crypto_unit_tests_v2_squashed'
2016-05-16 08:26:11 -04:00
Nick Mathewson
365d0fcc6d
Cover all our DH code, and/or mark it unreachable.
2016-05-16 08:26:00 -04:00
Nick Mathewson
94b34d1be6
At long last, unit tests for degenerate DH public keys.
...
Apparently, we detect and reject them correctly. Aren't you glad?
2016-05-16 08:26:00 -04:00
Nick Mathewson
d88656ec06
Slight improvements to DH coverage.
2016-05-16 08:25:59 -04:00
Nick Mathewson
7a5f15b6e0
Improve test coverage of our strongest-rng code.
2016-05-16 08:25:59 -04:00
Nick Mathewson
148f0004e1
Test coverage on ed25519 load/store functions.
2016-05-16 08:25:59 -04:00
Nick Mathewson
8a536be705
Mark unreachable lines in crypto_curve25519.c
...
Also, resolve a bug in test_ntor_cl.c
2016-05-16 08:25:53 -04:00
Nick Mathewson
df3a5e0cad
HKDF-SHA256 test vectors from RFC5869
2016-05-16 08:25:53 -04:00
Nick Mathewson
a7207329a8
Run tor_sscanf test in subprocess, in hopes of coaxing more info from jenkins
2016-05-12 13:37:05 -04:00
Nick Mathewson
445e05a015
Fix inconsistent tab/space mixing in include.am files.
...
This is a whitespace only, cosmetic fix.
There is still some inconsistency between lists, but less
inconsistency inside individual lists.
2016-05-12 13:06:58 -04:00
Nick Mathewson
607a9056d4
Merge branch 'ftrapv_v3'
...
There were some conflicts here, and some breakage to fix concerning
library link order in newer targets.
2016-05-12 13:00:45 -04:00
Nick Mathewson
fb999abea6
Document why we build memwipe that way.
2016-05-12 12:56:47 -04:00
Nick Mathewson
b1dce55b82
Do not apply bugtrapping flags to test-memwipe, since testing memwipe requires bugs.
...
Fixes bug 18901.
2016-05-12 11:22:10 -04:00
Nick Mathewson
20432fc541
Refactor out u64_dbl_t
...
This type saved a tiny amount of allocation, but not enough to be
worth keeping.
(This is in preparation for moving choose_array_element_by_weight)
2016-05-12 11:21:28 -04:00
Nick Mathewson
ce854a8d22
Add -ftrapv to gcc-hardening ... mostly!
...
We know there are overflows in curve25519-donna-c32, so we'll have
to have that one be fwrapv.
Only apply the asan, ubsan, and trapv options to the code that does
not need to run in constant time. Those options introduce branches
to the code they instrument.
(These introduced branches should never actually be taken, so it
might _still_ be constant time after all, but branch predictors are
complicated enough that I'm not really confident here. Let's aim for
safety.)
Closes 17983.
2016-05-12 11:21:28 -04:00
teor (Tim Wilson-Brown)
cdb528d841
Fetch certificates from the same directory as previous certificates
...
Improves the fix to #18963 .
2016-05-11 13:30:30 -04:00
Nick Mathewson
00ee62b8a5
Merge branch 'pubsub_squashed'
2016-05-11 13:26:29 -04:00
Nick Mathewson
80a6c8caa3
Basic work on a publish/subscribe abstraction
...
The goal here is to provide a way to decouple pieces of the code
that want to learn "when something happens" from those that realize
that it has happened.
The implementation here consists of a generic backend, plus a set of
macros to define and implement a set of type-safe frontends.
2016-05-11 13:25:11 -04:00
Nick Mathewson
33d3572a1d
Merge branch 'feature15588_squashed'
2016-05-09 14:41:36 -04:00
Roger Dingledine
ce8266d52d
fix typos/etc before i go nuts on #18809
2016-05-09 14:40:21 -04:00
John Brooks
dcc11674db
Add client auth for ADD_ONION services
2016-05-09 14:28:58 -04:00
John Brooks
d5a23ce115
Move rend auth cookie en-/decoding to a function
...
Tor stores client authorization cookies in two slightly different forms.
The service's client_keys file has the standard base64-encoded cookie,
including two chars of padding. The hostname file and the client remove
the two padding chars, and store an auth type flag in the unused bits.
The distinction makes no sense. Refactor all decoding to use the same
function, which will accept either form, and use a helper function for
encoding the truncated format.
2016-05-09 14:28:08 -04:00
Nick Mathewson
69380033d6
Merge branch 'timeouts_v2_squashed'
2016-05-09 14:06:10 -04:00
Nick Mathewson
af132fc299
timer tests: differences in timing accuracy can be negative.
...
Also, use symbolic names for good-enough thresholds for timer accuracy.
2016-05-09 14:04:54 -04:00
Nick Mathewson
11a09778d6
Test coverage for timers.
2016-05-09 14:04:54 -04:00
Nick Mathewson
118556e4b3
Quick-and-dirty test for timers code.
2016-05-09 14:04:53 -04:00
Nick Mathewson
5845c22822
Ed25519 test vectors from draft-irtf-cfrg-eddsa-05
2016-05-03 09:54:26 -04:00
Nick Mathewson
54697fa40b
Add test vector for AES_CTR from NIST SP800-38a sec F.5
2016-05-03 09:40:47 -04:00
Nick Mathewson
44a3248197
Add test vector for Curve25519 from RFC7748
2016-05-03 09:31:34 -04:00
Nick Mathewson
405b637598
tests for some of the simpler functions in crypto.c
2016-05-03 09:21:08 -04:00
Nick Mathewson
d1f2af57df
White-box tests for crypto_rand_*_range(), rand_hostname().
...
Coverage-driven; part of ticket 16794.
2016-05-03 09:21:07 -04:00
Nick Mathewson
b72aa18d73
test_bt.sh: Check stderr for backtrace as well as stdout.
...
addresssanitizer likes to put backtraces on stderr.
2016-05-02 12:58:58 -04:00
teor (Tim Wilson-Brown)
05cf286713
Make mock function static to prevent future clashes
2016-04-28 12:26:38 +10:00
teor (Tim Wilson-Brown)
692828bea5
Decide to advertise begindir support like we decide to advertise DirPort
...
Decide to advertise begindir support in a similar way to how
we decide to advertise DirPort.
Fix up the associated descriptor-building unit tests.
Resolves #18616 , bugfix on 0c8e042c30
in #12538 in 0.2.8.1-alpha.
2016-04-28 12:26:38 +10:00
Nick Mathewson
bff53aabce
Remove redundant declarations of MIN
...
Apparently somewhere along the line we decided that MIN might be
missing.
But we already defined it (if it was missing) in compat.h, which
everybody includes.
Closes ticket 18889.
2016-04-25 15:28:58 -04:00
Nick Mathewson
520799f084
Merge branch 'handles_squashed'
2016-04-19 14:08:05 -04:00
Nick Mathewson
e015f7c9cc
Basic 'handle' implementation and tests.
...
This abstraction covers the case where one part of the program needs
to refer to another object that is allowed to disappear.
2016-04-19 14:07:43 -04:00
Roger Dingledine
525307c0ea
fix typos/etc before i go nuts on #18809
2016-04-13 00:06:30 -04:00
Nick Mathewson
eafcd7b0fc
Merge branch 'maint-0.2.8'
2016-04-12 13:02:37 -04:00
Nick Mathewson
1a065cea46
Do not link tests against both libor.a and libor-testing.a
...
Also, put libor-testing.a at a better position in the list of
libraries, to avoid linker errors.
This is a fix, or part of a fix, for 18490.
Conflicts:
src/test/include.am
2016-04-12 02:48:46 +00:00
David Goulet
40827da3bf
Turn TestingClientBootstrap* into non-testing options
...
This changes simply renames them by removing "Testing" in front of them and
they do not require TestingTorNetwork to be enabled anymore.
Fixes #18481
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-04-07 10:57:59 -04:00
Nick Mathewson
7532cd439b
When we get a bad nickname, explain what a good one is.
...
Closes #18300 ; patch from "icanhasaccount".
2016-04-07 10:54:53 -04:00
Nick Mathewson
d7a0382ba3
Don't call the system toupper or tolower.
...
Yes, we could cast to unsigned char first, but it's probably safest
to just use our own (in test_util), or remove bad-idea features that
we don't use (in readpassphrase.c).
Fixes 18728.
2016-04-05 23:22:28 -04:00
Nick Mathewson
32e8886314
One more test that didnt pass on windows. See #18665 .
2016-03-28 08:57:29 -04:00
Nick Mathewson
c0568a89d9
Whitespace fixes
2016-03-26 09:54:31 -04:00
Nick Mathewson
24c0c5ef19
Disable failing broken time format case for windows.
2016-03-25 22:00:20 -04:00
Nick Mathewson
4f86d75a4b
try to fix a test failure for sizeof(time_t)==4.
2016-03-24 12:26:46 -04:00
Nick Mathewson
6256c61d95
Merge branch 'timegm_overflow_squashed'
2016-03-24 10:18:00 -04:00
teor (Tim Wilson-Brown)
19fb86a2dc
Add a missing UL on a long in a unit test
2016-03-24 10:17:48 -04:00
teor (Tim Wilson-Brown)
b99bd3e7ff
Add unit tests with dates from 2035 to 2039
...
Platforms with 32-bit time_t sometimes give different results.
They don't always indicate failure on overflow, #18480 should
fix these.
2016-03-24 10:17:48 -04:00
Nick Mathewson
dae8484107
Try to fix an intermittent test failure on openbsd.
2016-03-22 09:12:59 -04:00
Nick Mathewson
9dff41694a
Never use sprintf. tor_snprintf instead. Bug in tests, not in any released tor.
2016-03-22 08:52:17 -04:00
Nick Mathewson
ddd30f966a
Merge remote-tracking branch 'arma/ticket18332-try3'
2016-03-21 10:41:23 -04:00
Nick Mathewson
cb3f9bc2d4
Merge branch 'bug18570_027'
2016-03-21 10:20:16 -04:00
Andrea Shepard
1cdc7fddb2
Add new channel/queue_incoming unit tests; modify channel unit tests for new clarified handling of alloc/free responsibility for queued incoming cells
2016-03-21 10:14:47 -04:00
Steven Chamberlain
a42938c076
test_options.c: assert that TransProxyType is tested
...
If a new platform defines USE_TRANSPARENT, ensure that a test runs for
its TransProxyType.
2016-03-21 09:51:35 -04:00
Steven Chamberlain
45681f695c
test_options.c: NULL a pointer after free #18447
...
tdata will be double-freed if none of linux, __FreeBSD__, DARWIN or
__OpenBSD__ are defined. (For example, FreeBSD derivatives).
2016-03-17 19:20:36 -04:00
Nick Mathewson
c9899ee640
Merge remote-tracking branch 'weasel/bug18458'
2016-03-15 09:18:24 -04:00
Roger Dingledine
edeba3d472
simplify rend_cache_store_status_t back to a boolean
...
it used to be a tri-state, but now it's just a bi-state, so we can
take out all the machinery like the enum.
2016-03-11 10:49:57 -05:00
Roger Dingledine
5390296338
rip out hid_serv_acting_as_directory()
...
When we made HidServDirectoryV2 always 1, we removed the situation
where a relay could choose not to be an HSDir. Now simplify the
rest of the code to reflect this decision.
(We have to remove two apparently unrelated free() calls in the unit
tests, since they used to free stuff that we created as a side effect
of calling router_get_my_routerinfo(), and now we no longer call that.)
2016-03-11 10:45:03 -05:00
Roger Dingledine
e167910fce
rip out hid_serv_responsible_for_desc_id()
...
This simplifies relay behavior, because the relay offers the hsdir
functionality independent of whether the directory authorities have
decided this relay is suitable for clients to use yet.
Implements ticket 18332.
2016-03-11 10:40:31 -05:00
Nick Mathewson
36ac47bd85
Merge remote-tracking branch 'public/bug18204_028'
2016-03-11 10:10:15 -05:00
Nick Mathewson
ef31c8862f
Add changes file for 18448; refactor
...
(I've made it so FreeBSD || FreeBSD_kernel is enough to ensure that
we think you might have ipfw, and so that the logic is all in one
place.)
2016-03-11 10:05:28 -05:00
Steven Chamberlain
db263442af
enable and test transproxy on FreeBSD derivatives #18448
...
The transproxy feature is only enabled when __FreeBSD__ is defined, and
only regular FreeBSD does that. Change this to __FreeBSD_kernel__ which
is defined on derivatives as well.
This enables the relevant options/validate__transproxy test on FreeBSD
derivatives.
2016-03-11 10:01:25 -05:00
Nick Mathewson
82df3e70ac
Do not link tests against both libor.a and libor-testing.a
...
Also, put libor-testing.a at a better position in the list of
libraries, to avoid linker errors.
This is a fix, or part of a fix, for 18490.
2016-03-11 09:53:25 -05:00
Peter Palfrader
1ef7df551d
First RelaxDirModeCheck implementation
2016-03-01 17:08:14 +01:00
Alexander Færøy
d4c5ccf79c
Use the kdf_rfc5869() function instead of kdf().
...
This patch fixes an issue in "ntor_ref.py gen_kdf_vectors" where the
script tries to call the undefined function kdf().
2016-02-28 15:24:59 +01:00
Nick Mathewson
57699de005
Update the copyright year.
2016-02-27 18:48:19 +01:00
Nick Mathewson
f2e23d5ad6
Fix a huge number of leaks in test_config.c
...
I no longer see asan reporting memory leaks in the unit tests.
2016-02-24 15:44:40 -05:00
Nick Mathewson
a3f764ea69
Fix memory leaks in routerlist/pick_directory_server_impl test
2016-02-24 15:13:29 -05:00
Nick Mathewson
ba0ddd7467
Fix a leak in test_have_enough_mem_for_dircache
2016-02-24 15:06:12 -05:00
Nick Mathewson
73c433a48a
Remove the freelist from memarea.c
...
This is in accordance with our usual policy against freelists,
now that working allocators are everywhere.
It should also make memarea.c's coverage higher.
I also doubt that this code ever helped performance.
2016-02-24 14:32:09 -05:00
Nick Mathewson
1318c1611f
Another clang+_FORTIFY_SOURCE issue
...
There was a parenthesis issue in test_util that clang found
confusing. This part was only in master.
Closes issue 14821.
2016-02-23 14:06:45 -05:00
Nick Mathewson
e88686cb2c
Merge remote-tracking branch 'teor/bug18348-v2'
2016-02-23 07:36:56 -05:00
Nick Mathewson
882e0fbd76
Merge branch 'bug17795'
2016-02-23 07:25:12 -05:00
Nick Mathewson
b3534dfc5e
Add missing check to test_address_get_if_addrs_ifaddrs. Bug 18378
2016-02-23 07:17:00 -05:00
Andrea Shepard
cda2381789
Appease make check-spaces
2016-02-23 05:07:29 +00:00
Nick Mathewson
e019e11e61
Another memory leak in the tests
2016-02-22 16:20:11 -05:00
Nick Mathewson
4cc50ee805
Small fixup on last fix to test leaks
2016-02-22 16:16:56 -05:00
Nick Mathewson
041d6482db
Fix a bunch of memory leaks in the unit tests
2016-02-22 16:14:03 -05:00
Nick Mathewson
ef42c00cf0
asan does not like TO_CONN(NULL)
2016-02-22 15:45:37 -05:00
teor (Tim Wilson-Brown)
d359cfab13
Update unit tests for fascist_firewall_choose_address*
...
Check that clients, bridge clients, and relays choose addresses
as expected.
2016-02-21 00:00:40 +11:00