Nick Mathewson
c6e70dacb8
Try to make our ersatz-socketpair test work better on FreeBSD jails
2016-09-11 17:28:29 -04:00
Nick Mathewson
a671a1c9d6
Tweak tor_gmtime_r test.
...
On openbsd64, I'm seeing a warning that the log isn't saying what
I'd expect, but I'm not seeing what the answer actually _is_ here.
2016-09-11 17:13:51 -04:00
Nick Mathewson
64521a9d35
Merge remote-tracking branch 'public/solaris_warnings_028'
2016-09-11 16:52:24 -04:00
Nick Mathewson
77e2be06f6
make check-spaces
2016-09-09 15:38:46 -04:00
Nick Mathewson
75a7997148
Fix a coupole of coverity complaints.
2016-09-09 15:29:57 -04:00
Nick Mathewson
4c55e8a58f
Fix cases where the tests were doing closesocket() on a non-socket
...
These seem to have caused warnings on windows. Hmmm.
2016-09-09 10:28:12 -04:00
Nick Mathewson
2fe7e3d9d2
Oh dear, I was missing an extern.
2016-09-09 10:20:34 -04:00
Nick Mathewson
373bfd9630
Make a couple more tests run faster.
...
The point of diminishing returns has been reached.
2016-09-09 10:08:27 -04:00
Nick Mathewson
7c52109641
Disable a single pbkdf2 test vector
...
The other test vectors are pretty complete, and get full coverage, I
believe.
This one test vector accounted for half the time spent in
test-slow. "Now that's slow!"
2016-09-09 09:57:15 -04:00
Nick Mathewson
5e30e26c6d
Chop another ~93 RSA key generations out of the unit tests
...
We have a mock for our RSA key generation function, so we now wire
it to pk_generate(). This covers all the cases that were not using
pk_generate() before -- all ~93 of them.
2016-09-09 09:45:50 -04:00
Nick Mathewson
05110c9294
Move the donna-fuzzing tests into test_slow.
...
This shaves another 3-4 seconds off the main-path tests for me,
which is again worth it, according to XKCD#1204.
2016-09-09 08:58:42 -04:00
Nick Mathewson
5ec395b27f
Re-enable RSA cacheing in tests, with a better design.
...
This makes tests faster and saves about 6 seconds for me, which
makes it worth it, according to https://xkcd.com/1205 .
2016-09-09 08:58:42 -04:00
Nick Mathewson
63e34e9e49
Reinstate a couple of teardown_capture_of_logs that I missed
...
Patch from rubiate. See #19999
2016-09-08 19:49:21 -04:00
Nick Mathewson
55713f0d79
Placate "make check-spaces"
2016-09-08 15:43:56 -04:00
Nick Mathewson
d860b99dbf
Fix remaining test warnings. (in test_relay.c)
2016-09-08 15:25:56 -04:00
Nick Mathewson
e9fdec2b1d
capture and detect expected BUG messages in shared-random tests
2016-09-08 15:13:53 -04:00
Nick Mathewson
deb294ff53
Simplify log_test_helpers interface
...
Previously, you needed to store the previous log severity in a local
variable, and it wasn't clear if you were allowed to call these
functions more than once.
2016-09-08 15:03:11 -04:00
Nick Mathewson
b0a9e54705
Resolve more BUG warnings in the unit tests
2016-09-08 14:39:20 -04:00
Nick Mathewson
d0fe86f39e
Fix bug warnings in test_circuitlist.
2016-09-08 14:04:55 -04:00
Nick Mathewson
3269307daf
Treat all nonfatal assertion failures as unit test failures.
...
Part of 19999.
2016-09-08 13:27:30 -04:00
Nick Mathewson
6a1454aa46
Tolerate another failure mode of get_if_addres6_list in tests
2016-09-08 11:47:16 -04:00
Nick Mathewson
f9cb9d8990
more consistent use of expect_log_msg_containing
2016-09-08 11:16:09 -04:00
Nick Mathewson
f64f293c48
Suppress a really impressive pile of warnings in conection/.. tests
2016-09-08 10:56:51 -04:00
Nick Mathewson
d626ffe29c
Fix a bug in connection/download_status.. tests
2016-09-08 10:48:22 -04:00
Nick Mathewson
3705ee8fe4
Revise log-testing macros to dump the actual log contents on failure
2016-09-08 10:33:01 -04:00
Nick Mathewson
ae3ea9a7a1
Remove redundant definitions of expect_{no_,}log_msg()
2016-09-08 10:32:59 -04:00
Nick Mathewson
8acb951fc8
Unit test fix: windows should be able to handle DNSPort just fine.
2016-09-08 09:23:20 -04:00
Nick Mathewson
08d1ac4f2a
Patch from rubiate: disable openbsd memory protections in test-memwipe
...
Test-memwipe is *supposed* to invoke undefined behavior, alas.
Closes 20066.
2016-09-08 09:00:24 -04:00
Nick Mathewson
bee5f38e39
set the "addr" field in the dir_handle_get tests, to resolve bug warnings.
2016-09-07 14:30:51 -04:00
Nick Mathewson
ab4485e281
Remove the useless (and uninitialized) MOCK_TOR_ADDR in test_dir_handle_get.c
2016-09-07 14:26:43 -04:00
Nick Mathewson
9d933bbacf
Capture and enforce BUG warnings in dir/param_voting_lookup
2016-09-07 13:49:18 -04:00
Nick Mathewson
075c52084d
Fix unit test failure introduced by #20002
...
Updating the consensus algorithm made a non-valid node never get
listed, which messed up some other tests.
2016-09-07 13:40:38 -04:00
Nick Mathewson
a49fee1c29
Capture and enforce bug warnings in util/time test
2016-09-07 12:15:46 -04:00
Nick Mathewson
e9b1d0619f
Merge remote-tracking branch 'dgoulet/ticket18693_029_01'
2016-09-07 11:46:00 -04:00
Nick Mathewson
3823d0aa7d
Capture and detect the BUG() warnings in test_util_parse_integer.
2016-09-06 21:01:52 -04:00
Nick Mathewson
2a4a815f58
Fix a unit test bug for passing arguments to tor_parse_ulong.
...
We wanted to make sure -50 was a bad input, but instead we were
passing a 'min' that was greater than 'max'.
2016-09-06 20:29:55 -04:00
Nick Mathewson
7ba47ca1fd
Split tor_parse_{some_int} testing into separate fn. Code movement only.
2016-09-06 20:25:54 -04:00
Nick Mathewson
43092e21c1
Merge remote-tracking branch 'teor/feature20069'
2016-09-06 19:06:32 -04:00
Nick Mathewson
5927ed8d33
checkSpace.pl now forbids more identifiers.
...
The functions it warns about are:
assert, memcmp, strcat, strcpy, sprintf, malloc, free, realloc,
strdup, strndup, calloc.
Also, fix a few lingering instances of these in the code. Use other
conventions to indicate _intended_ use of assert and
malloc/realloc/etc.
2016-09-06 12:35:37 -04:00
teor
26b47f80dd
Add hs-ipv6 to the chutney IPv6 tests
...
Requires a recent version of chutney.
Also remove bridges+hs, as it's somewhat redundant.
2016-09-06 13:45:09 +10:00
Andrea Shepard
341a159ab4
Appease make check-spaces
2016-09-05 17:47:39 +00:00
Nick Mathewson
6abce601f2
Fix BUG warning with stack trace from config/parse_port_config__listenaddress
2016-09-05 13:30:50 -04:00
Nick Mathewson
6c1d1127a8
Fix memory leaks in the shared random tests.
...
Please remember to test your code with
--enable-expensive-hardening. :)
2016-09-01 09:10:27 -04:00
Nick Mathewson
7ef4eef764
Actually, always monotime_init() in the unit tests.
2016-08-31 14:38:17 -04:00
Nick Mathewson
cfc62e2374
Initialize monotonic timer code before using it in the tests
2016-08-31 14:34:49 -04:00
Nick Mathewson
d4f05dcd0e
Detect and suppress bug message from zlib compression bomb test
2016-08-31 14:30:34 -04:00
Nick Mathewson
d299c043d4
Require specific messages for remaining link-handshake failure cases
2016-08-31 14:10:15 -04:00
Nick Mathewson
273290d4fe
Always log [bug] warnings from the unit tests.
...
We should consider them bugs. If they are happening intentionally,
we should use the log_test_helpers code to capture and suppress
them. But having them off-by-default has potential to cause
programming errors.
2016-08-31 13:22:07 -04:00
Nick Mathewson
69dce09031
Do not call tor_tls_server_info_callback(NULL) from tests.
...
This isn't valid behavior, and it causes a crash when you run
the unit tests at --debug.
I've added an IF_BUG_ONCE() check for this case.
2016-08-31 13:18:13 -04:00
Nick Mathewson
871b711f10
Work even harder not to suppress logging messages unless we mean to.
2016-08-31 13:12:36 -04:00
Nick Mathewson
2df6cdc9f9
Document and clean log_test_helpers.c a bit
...
In addition to documentation, this commit makes a function static,
and removes a weird single-point-of-return-ism, and notes a thing I
should fix.
2016-08-31 13:11:26 -04:00
Nick Mathewson
d5614b2102
Use setup_full_capture_of_logs() where appropriate.
2016-08-31 12:53:18 -04:00
Nick Mathewson
f74916a98f
setup_capture_of_logs: no longer suppress log messages
...
Previously setup_capture_of_logs would prevent log messages from
going to the console entirely. That's a problem, since sometimes
log messages are bugs! Now setup_capture_of_logs() acts sensibly.
If you really do need to keep a message from going to the console
entirely, there is setup_full_capture_of_logs(). But only use that
if you're prepared to make sure that there are no extraneous
messages generated at all.
2016-08-31 12:51:22 -04:00
Nick Mathewson
1f7dc823c5
Improvements to test_link_handshake: check specific error messages
...
Otherwise it's too easy to lose our test coverage.
2016-08-31 12:11:01 -04:00
Nick Mathewson
26a63a9303
Fix all "BUG" warnings created from link-handshake tests.
2016-08-31 11:37:18 -04:00
Nick Mathewson
14c07f3f21
Another log testing helper helper, for matching partial strings.
2016-08-31 11:35:12 -04:00
Nick Mathewson
bbaa7d09a0
Merge remote-tracking branch 'teor/reject-tap-v6'
2016-08-29 15:02:11 -04:00
David Goulet
f46ce6e3d8
test: Fix shared random unit test for big endian
...
Copying the integer 42 in a char buffer has a different representation
depending on the endianess of the system thus that unit test was failing on
big endian system.
This commit introduces a python script, like the one we have for SRV, that
computes a COMMIT/REVEAL from scratch so we can use it as a test vector for
our encoding unit tests.
With this, we use a random value of bytes instead of a number fixing the
endianess issue and making the whole test case more solid with an external
tool that builds the COMMIT and REVEAL according to the spec.
Fixes #19977
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-08-26 14:46:29 -04:00
Andrea Shepard
33a3e6f718
Avoid asserts in oos/kill_conn_list unit test
2016-08-26 00:02:00 +00:00
David Goulet
9e1cb3660b
Fix duplicated if condition in connection.c
...
Furthermore, fix a test that could returned an uninitialized value.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-08-25 14:52:28 -04:00
Nick Mathewson
1dfa2213a4
Merge remote-tracking branch 'andrea/ticket18640_v3'
2016-08-25 14:29:06 -04:00
teor (Tim Wilson-Brown)
ce747f01aa
Make port names and types consistent in the port unit tests
...
String constant changes only, and only in the unit tests.
These strings are used in log messages only.
2016-08-24 14:40:53 -04:00
teor (Tim Wilson-Brown)
41cc1f612b
Parse *Port flags NoDNSRequest, NoOnionTraffic & OnionTrafficOnly
...
OnionTrafficOnly is equivalent to NoDNSRequest, NoIPv4Traffic,
and NoIPv6Traffic.
Add unit tests for parsing and checking option validity.
Add documentation for each flag to the man page.
Add changes file for all of #18693 .
Parsing only: the flags do not change client behaviour (yet!)
2016-08-24 14:40:53 -04:00
Nick Mathewson
a3d419634b
Merge remote-tracking branch 'asn/bug19872_v2'
2016-08-23 08:50:32 -04:00
George Kadianakis
b8bfdf638e
Introduce ed25519_{sign,checksig}_prefixed functions().
2016-08-23 14:53:01 +03:00
Andrea Shepard
dbdac1dc27
s/connection_handle_oos/connection_check_oos/g per code review
2016-08-20 02:44:33 +00:00
Andrea Shepard
d65f030915
Unit test for pick_oos_victims()
2016-08-20 01:43:52 +00:00
Andrea Shepard
e17083b432
Unit test for kill_conn_list_for_oos()
2016-08-20 01:43:52 +00:00
Andrea Shepard
26c2ded00c
Unit test for connection_handle_oos()
2016-08-20 01:43:51 +00:00
Nick Mathewson
507f07de09
Merge remote-tracking branch 'public/deprecation_v2'
2016-08-19 19:58:51 -04:00
Nick Mathewson
7f145b54af
Merge remote-tracking branch 'public/Fix_19450'
2016-08-12 16:11:28 -04:00
Nick Mathewson
f5dcab8072
Add new warn_deprecated option to config_assign*().
...
Also, collapse all the config_assign*() options into a flags
argument, since having two boolean arguments was already confusing.
2016-08-03 12:52:26 -04:00
Nick Mathewson
4d4ccc505b
Search for remaining references to 'bufferevent'.
...
Remove or adjust as appropriate.
2016-08-02 13:59:47 -04:00
Nick Mathewson
46ef4487d3
Remove generic_buffer_*() functions as needless.
...
These functions were there so that we could abstract the differences
between evbuffer and buf_t. But with the bufferevent removal, this
no longer serves a purpose.
2016-08-02 13:50:00 -04:00
Nick Mathewson
cd9d39d54b
Rename generic_buffer_set_to_copy, since generic buffers are not a thing
2016-08-02 13:33:41 -04:00
Nick Mathewson
8fd6b0fc46
Remove USE_BUFFEREVENTS code outside src/or
2016-08-02 13:22:06 -04:00
Nick Mathewson
94bff894f9
Fix a large pile of solaris warnings for bug 19767.
...
In nearly all cases, this is a matter of making sure that we include
orconfig.h before we include any standard c headers.
2016-07-28 10:47:46 -04:00
Nick Mathewson
9fe6fea1cc
Fix a huge pile of -Wshadow warnings.
...
These appeared on some of the Jenkins platforms. Apparently some
GCCs care when you shadow globals, and some don't.
2016-07-28 10:22:10 -04:00
Nick Mathewson
a8676b1ede
Merge branch 'bug18902_squashed'
2016-07-28 06:59:03 -04:00
Nick Mathewson
4757303873
Fix all -Wshadow warnings on Linux
...
This is a partial fix for 18902.
2016-07-28 06:58:44 -04:00
Nick Mathewson
9de9f2d48b
Merge branch 'feature19116_squashed'
2016-07-26 19:21:04 -04:00
teor (Tim Wilson-Brown)
bf2f7c265c
We fixed #15937 , update a comment
2016-07-26 19:20:53 -04:00
teor (Tim Wilson-Brown)
64b5140256
Call chutney's test-network.sh when it is available
...
Also mark the parts of tor's test-network.sh that can be deleted
once everyone has updated to chutney's test-network.sh.
2016-07-26 19:20:53 -04:00
teor (Tim Wilson-Brown)
bb4506da6f
Add a dry run mode to test-network.sh
2016-07-26 19:20:53 -04:00
Nick Mathewson
09c25697d7
Add a function to simplify a fraction.
...
Apparently remembering euclid's algorithm does pay off sooner or later.
2016-07-26 11:23:34 -04:00
Nick Mathewson
90ca446048
Remove windows debugging prints: it was an integer overflow hitting ftrapv
2016-07-26 11:07:53 -04:00
Nick Mathewson
e77c23e455
Redux: Temporarily add windows verbosity to track down jenkins failures
2016-07-26 09:24:53 -04:00
Nick Mathewson
61ce6dcb40
Make monotime test mocking work with oom tests.
2016-07-21 07:02:34 -04:00
Nick Mathewson
50463524a9
Use new mock functions in buffer/time_tracking test
2016-07-21 07:02:33 -04:00
Nick Mathewson
558f7d3701
Merge branch 'monotonic_v2_squashed'
2016-07-19 11:42:26 +02:00
Nick Mathewson
abcb8ce25d
Unit tests for monotonic time
2016-07-19 11:40:47 +02:00
Nick Mathewson
6a2002fc09
convert timers.c to use real monotonic time.
2016-07-19 11:40:46 +02:00
teor (Tim Wilson-Brown)
6afd5506e9
Rewrite test-network.sh so out-of-tree and $PATH binaries work
2016-07-18 12:15:49 +10:00
Andrea Shepard
94c27d4e8f
Keep make check-spaces happy
2016-07-17 23:22:29 +00:00
Nick Mathewson
c138c9a2be
Merge branch 'maint-0.2.8'
2016-07-17 13:55:04 -04:00
Nick Mathewson
bec4e41f4b
Fix warnings in test_util_formats.
...
Storing 255 into a char gives a warning when char is signed.
Fixes bug 19682; bugfix on 0.2.8.1-alpha, where these tests were added.
2016-07-17 13:51:45 -04:00
teor (Tim Wilson-Brown)
24e8bb2d83
Relays make sure their own descriptor has an ntor key
2016-07-15 09:55:49 +10:00
Nick Mathewson
466259eb50
Merge remote-tracking branch 'sebastian/libevent2'
2016-07-08 09:57:31 -04:00
Nick Mathewson
acba4cc954
test coverage on onion_fast: 0%->100%
2016-07-06 13:43:12 -04:00
Nick Mathewson
08cc0ef832
Capture the LOG_ERR messages in our tests that had logged errors.
...
(It's confusing for the test to write an expected error to stdout,
and then tell the user "OK".)
2016-07-06 13:01:08 -04:00
Nick Mathewson
96d32f02f2
When saving mocked log messages, always create the list.
...
Otherwise, our code needs to check "list && smarlist_len(list)..."
2016-07-06 12:59:43 -04:00
Nick Mathewson
ae22c249c3
Improve test coverage a little on onion*.c
2016-07-06 12:37:52 -04:00
Nick Mathewson
3252550fc5
Fix sign in test-timers
2016-07-06 10:07:02 -04:00
Nick Mathewson
78196c8822
Merge remote-tracking branch 'teor/bug18456'
2016-07-05 19:10:08 -04:00
David Goulet
245c10de07
Test: fix shared random test checking bad errno
...
The test was checking for EISDIR which is a Linux-ism making other OSes
unhappy. Instead of checking for a negative specific errno value, just make
sure it's negative indicating an error. We don't need more for this test.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-05 14:00:06 -04:00
Nick Mathewson
5a047cdc5f
Fix shared-random test
2016-07-05 13:31:18 -04:00
Nick Mathewson
5c97b42cac
Merge branch 'maint-0.2.8'
2016-07-05 12:52:30 -04:00
Nick Mathewson
e99cc8740f
Repair unit test that assumed we have 9 dirauths.
2016-07-05 12:52:19 -04:00
Nick Mathewson
87758dbebc
Merge remote-tracking branch 'dgoulet/bug19567_029_01'
2016-07-05 12:14:04 -04:00
Nick Mathewson
e889da1d7f
Merge remote-tracking branch 'asn/bug19551'
2016-07-05 12:12:09 -04:00
David Goulet
267e16ea61
sr: add the base16 RSA identity digest to commit
...
Keep the base16 representation of the RSA identity digest in the commit object
so we can use it without using hex_str() or dynamically encoding it everytime
we need it. It's used extensively in the logs for instance.
Fixes #19561
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-04 12:05:48 -04:00
David Goulet
7d04638a60
test: Fix shared random buffer overrun
...
Encoded commit has an extra byte at the end for the NUL terminated byte and
the test was overrunning the payload buffer by one byte.
Found by Coverity issue 1362984.
Fixes #19567
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-04 11:40:06 -04:00
Sebastian Hahn
265e40b481
Raise libevent dependency to 2.0.10-stable or newer
...
Only some very ancient distributions don't ship with Libevent 2 anymore,
even the oldest supported Ubuntu LTS version has it. This allows us to
get rid of a lot of compat code.
2016-07-04 12:40:09 +02:00
George Kadianakis
43d317f99c
Fix edge case fail of shared random unittest.
...
The test_state_update() test would fail if you run it between 23:30 and
00:00UTC in the following line because n_protocol_runs was 2:
tt_u64_op(state->n_protocol_runs, ==, 1);
The problem is that when you launch the test at 23:30UTC (reveal phase),
sr_state_update() gets called from sr_state_init() and it will prepare
the state for the voting round at 00:00UTC (commit phase). Since we
transition from reveal to commit phase, this would trigger a phase
transition and increment the n_protocol_runs counter.
The solution is to initialize the n_protocol_runs to 0 explicitly in the
beginning of the test, as we do for n_reveal_rounds, n_commit_rounds etc.
2016-07-02 02:49:59 +03:00
Andrea Shepard
be78e9ff37
Keep make check-spaces happy
2016-07-01 21:52:32 +00:00
Nick Mathewson
aa05dea5ff
Windows open() returns eacces when eisdir would be sane
2016-07-01 16:23:06 -04:00
Nick Mathewson
1597c42384
Fix i386 conversion warnings
2016-07-01 15:53:01 -04:00
Nick Mathewson
3566ff05fd
Fix a -Wmissing-variable-declarations warning
2016-07-01 15:30:12 -04:00
Nick Mathewson
aaa3129043
Merge remote-tracking branch 'dgoulet/ticket16943_029_05-squashed'
...
Trivial Conflicts:
src/or/or.h
src/or/routerparse.c
2016-07-01 15:29:05 -04:00
David Goulet
36e201dffc
prop250: Add a DEL state action and return const SRVs
...
The *get* state query functions for the SRVs now only return const pointers
and the DEL action needs to be used to delete the SRVs from the state.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-01 14:01:42 -04:00
David Goulet
4a1904c126
prop250: Use the new dirvote_get_intermediate_param_value for AuthDirNumSRVAgreements
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-01 14:01:42 -04:00
Nick Mathewson
6927467bef
Refactor parameter computation and add a helper function
...
This patch makes us retain the intermediate list of K=V entries for
the duration of computing our vote, and lets us use that list with
a new function in order to look up parameters before the consensus
is published.
We can't actually use this function yet because of #19011 : our
existing code to do this doesn't actually work, and we'll need a new
consensus method to start using it.
Closes ticket #19012 .
2016-07-01 14:01:42 -04:00
David Goulet
e62f3133bb
prop250: Change reveal_num to uint64_t and version to uint32_t
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-01 14:01:42 -04:00
George Kadianakis
f6f4668b1d
prop250: Don't reject votes containing commits of unknown dirauths.
...
Instead just ignore those commits.
Squash this commit with 33b2ade.
2016-07-01 14:01:41 -04:00
David Goulet
d43646e191
prop250: Fix unit tests about the RSA fingerprint check
...
Code has been changed so every RSA fingerprint for a commit in our state is
validated before being used. This fixes the unit tests by mocking one of the
key function and updating the hardcoded state string.
Also, fix a time parsing overflow on platforms with 32bit time_t
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-07-01 14:01:41 -04:00
George Kadianakis
edea044147
prop250: Sort smartlist before you get most frequent SRV.
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-01 14:01:41 -04:00
David Goulet
056b6186ad
prop250: Use RSA identity digest instead of fingerprint
...
The prop250 code used the RSA identity key fingerprint to index commit in a
digestmap instead of using the digest.
To behavior change except the fact that we are actually using digestmap
correctly.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-07-01 14:01:41 -04:00
David Goulet
39be8af709
prop250: Add unit tests
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: George Kadianakis <desnacked@riseup.net>
2016-07-01 14:01:41 -04:00
Nick Mathewson
738a8c655a
Add an extra check to test_dir to try to debug windows jenkins issue
2016-07-01 10:10:55 -04:00
teor (Tim Wilson-Brown)
514f0041d1
Avoid disclosing exit IP addresses in exit policies by default
...
From 0.2.7.2-alpha onwards, Exits would reject all the IP addresses
they knew about in their exit policy. But this may have disclosed
addresses that were otherwise unlisted.
Now, only advertised addresses are rejected by default by
ExitPolicyRejectPrivate. All known addresses are only rejected when
ExitPolicyRejectLocalInterfaces is explicitly set to 1.
2016-07-01 15:37:13 +10:00
Nick Mathewson
64ee7bcd0c
Make sure that our tests expect the windows path separator as needed
2016-06-30 18:26:44 -04:00
Nick Mathewson
889cfac676
One more tt_u64_op
2016-06-30 16:46:53 -04:00
Nick Mathewson
591078c76d
use tt_u64_op for comparing len_descs_dumped
2016-06-30 15:34:36 -04:00
Nick Mathewson
2713de2a47
Fix more naked strdup/malloc/free instances
2016-06-30 14:36:31 -04:00
Nick Mathewson
9a92f58219
Avoid naked strdups in test_dir.c
2016-06-30 14:30:28 -04:00
Nick Mathewson
7a7bd1f9ea
Fix a memory leak in test_dir_populate_dump_desc_fifo
2016-06-30 14:30:26 -04:00
Nick Mathewson
cb54390e0f
Merge remote-tracking branch 'andrea/ticket19323_squashed'
2016-06-30 11:44:58 -04:00
Nick Mathewson
c6846d7bf0
Merge remote-tracking branch 'andrea/bug18322_v3_squashed'
2016-06-30 11:18:00 -04:00
Andrea Shepard
9580b99dab
Add unit test for dump_desc_populate_fifo_from_directory()
2016-06-30 07:03:26 +00:00
Andrea Shepard
42f089473a
Unit test for dump_desc_populate_one_file()
2016-06-30 07:03:26 +00:00
Andrea Shepard
38cced90ef
Move unparseable descriptor dumps into subdirectory of DataDir
2016-06-30 07:03:25 +00:00
Andrea Shepard
824ee581b0
Add dir/dump_unparseable_descriptors unit test
2016-06-30 07:03:25 +00:00
teor (Tim Wilson-Brown)
69535f1284
Add tv_udiff and tv_mdiff unit tests with negative values
2016-06-30 09:29:18 +10:00
teor (Tim Wilson-Brown)
d36a0c4d22
Add more unit tests for tv_udiff and tv_mdiff
2016-06-29 17:23:42 +10:00
Andrea Shepard
ad0ce8716d
Unit tests for GETINFO download/desc and download/bridge cases
2016-06-29 06:55:57 +00:00
Andrea Shepard
45724beac4
Unit test for GETINFO download/cert case
2016-06-29 05:58:22 +00:00
Andrea Shepard
becf510ef2
Unit test for GETINFO download/networkstatus case
2016-06-29 05:56:21 +00:00
Nick Mathewson
703254a832
Merge remote-tracking branch 'public/bug15942_v2_alternative'
2016-06-23 09:01:24 -04:00
Nick Mathewson
5fbd195918
Coverage hack for test_switch_id.sh
...
This hack provides a way to make sure we can see coverage from
test-switch-id. If you set OVERRIDE_GCDA_PERMISSIONS_HACK, we
temporarily make the .gcda files mode 0666 before we run the
test scripts, and then we set them to 0644 again afterwards.
That's necessary because the test_switch_id.sh script does a
setuid() to 'nobody' part way through, and drops the ability to
change its mind back.
2016-06-20 11:15:47 -04:00
Nick Mathewson
603cb712ef
Small coverage improvements on compat.c
2016-06-20 11:03:13 -04:00
Nick Mathewson
2b74e13a7c
More coverage in backtrace.c
2016-06-20 10:31:36 -04:00
Nick Mathewson
c1f0ec3058
Merge remote-tracking branch 'dgoulet/bug19465_029_01'
2016-06-20 10:20:41 -04:00
Nick Mathewson
ba88d78127
Fix unit test crash on 32-bit.
2016-06-20 10:20:03 -04:00
David Goulet
85edef27eb
test: Increase offset to rendcache descriptor time
...
Slow system can sometime take more than 10 seconds to reach the test
callsite resulting in the unit test failing when using time in the future or
in the past.
Fixes #19465
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-20 09:53:11 -04:00
Nick Mathewson
6cedd49323
Merge branch 'bug14013_029_01_squashed'
2016-06-20 08:48:09 -04:00
nikkolasg
568dc27a19
Make base16_decodes return number of decoded bytes
...
base16_decodes() now returns the number of decoded bytes. It's interface
changes from returning a "int" to a "ssize_t". Every callsite now checks the
returned value.
Fixes #14013
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-20 08:44:58 -04:00
U+039b
58e6a6aaeb
Fix #19063 : Add check in utility macro
2016-06-19 12:34:49 -04:00
Nick Mathewson
81cfd5c9a1
Merge branch 'zlib_coverage_squashed'
2016-06-19 12:20:38 -04:00
Nick Mathewson
d937b86699
Unindent block
2016-06-19 12:20:24 -04:00
Nick Mathewson
808015316a
Remove support for zlib <= 1.1
...
zlib 1.2 came out in 2003; earlier versions should be dead by now.
Our workaround code was only preventing us from using the gzip
encoding (if we decide to do so), and having some dead code linger
around in torgzip.c
2016-06-19 12:20:24 -04:00
Nick Mathewson
b421648da2
Merge remote-tracking branch 'public/thread_coverage'
2016-06-19 12:15:55 -04:00
Andrea Shepard
1553512af4
Unit test for DL_SCHED_RANDOM_EXPONENTIAL
2016-06-18 16:32:16 +00:00
Andrea Shepard
033cf30b3c
Keep make check-spaces happy
2016-06-18 16:07:44 +00:00
Nick Mathewson
48b25e6811
Merge branch 'bug18280_029_03_nm_squashed'
2016-06-17 13:53:57 -04:00
David Goulet
f4f9a9be40
test: Add base32_encode/decode unit tests
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-06-17 13:53:47 -04:00
Nick Mathewson
a418904962
Coverage on parse_config_line_from_str_verbose.
2016-06-16 15:52:19 -04:00
Nick Mathewson
c9ea9de806
Remove parse_config_line_from_str alias
...
All of our code just uses parse_config_line_from_str_verbose.
2016-06-16 15:40:56 -04:00
Nick Mathewson
128ab31c64
Mark code unreachable in unescape_string()
...
Also, add tests for it in case someday it does become reachable.
2016-06-16 15:36:08 -04:00
Nick Mathewson
dd73787190
On Windows, tv_sec is long, not time_t.
...
I'm not angry, Windows: just very disappointed.
2016-06-16 13:57:16 -04:00
Nick Mathewson
6ceb37971e
Try to fix memarea test on 32-bit systems
2016-06-16 11:59:51 -04:00
Nick Mathewson
5c596cdbc0
Tests for message rate-limiting
...
Also note a bug in the rate-limiting message.
2016-06-16 11:54:50 -04:00
Nick Mathewson
79370914d1
tests for size_mul_check__()
...
it's important, and we should make sure we got it right.
2016-06-16 10:43:01 -04:00
Nick Mathewson
41cb26c169
Correct the rounding behavior on tv_mdiff.
...
Fix for bug 19428.
2016-06-16 10:16:04 -04:00
Nick Mathewson
f05a213fe1
Improve coverage on tv_udiff, and tv_mdiff.
...
I found some bugs in tv_mdiff; separate commit for that
2016-06-16 10:07:44 -04:00
Nick Mathewson
6dc2b605b8
Improve coverage on esc_for_log, esc_for_log_len
2016-06-16 09:58:53 -04:00
Nick Mathewson
f986e26850
Reach 100% line coverage on memarea.c
2016-06-16 09:37:44 -04:00
Nick Mathewson
05e2750ea7
whoops; blank line
2016-06-14 20:21:59 -04:00
Nick Mathewson
227d3b3d6b
Use ENABLE/DISABLE_GCC_WARNING in masater.
2016-06-14 20:21:02 -04:00
Nick Mathewson
8486dea8d7
Merge branch 'maint-0.2.8'
2016-06-14 20:16:46 -04:00
Nick Mathewson
d6b01211b9
Resolve the remaining openssl "-Wredundant-decls" warnings.
...
Another part of 19406
2016-06-14 20:14:53 -04:00
Nick Mathewson
3bffdf05d1
use new-form macros to disable -Wredundant-decls
2016-06-14 12:22:52 -04:00
Nick Mathewson
df4fa92a88
Merge branch 'maint-0.2.8'
2016-06-14 12:17:24 -04:00
Yawning Angel
c5e2f7b944
Bug 19406: Fix the unit tests to work with OpenSSL 1.1.x
...
Just as it says on the tin. Don't need to fully disable any tests and
reduce coverage either. Yay me.
2016-06-14 12:13:09 -04:00
Nick Mathewson
d6b2af7a3a
Merge branch 'bug19180_easy_squashed'
2016-06-11 10:15:40 -04:00
Nick Mathewson
e80a032b61
Add clang's -Wstring-conversion, and fix the one place it hits
2016-06-11 10:11:54 -04:00
Nick Mathewson
53a3b39da1
Add -Wmissing-variable-declarations, with attendant fixes
...
This is a big-ish patch, but it's very straightforward. Under this
clang warning, we're not actually allowed to have a global variable
without a previous extern declaration for it. The cases where we
violated this rule fall into three roughly equal groups:
* Stuff that should have been static.
* Stuff that was global but where the extern was local to some
other C file.
* Stuff that was only global when built for the unit tests, that
needed a conditional extern in the headers.
The first two were IMO genuine problems; the last is a wart of how
we build tests.
2016-06-11 10:11:54 -04:00
Nick Mathewson
80f1a2cbbd
Add the -Wextra-semi warning from clang, and fix the cases where it triggers
2016-06-11 10:11:54 -04:00
Nick Mathewson
c3adbf755b
Resolve some warnings from OSX clang.
2016-06-11 10:11:53 -04:00
Nick Mathewson
9bbd6502f0
Use autoconf, not gcc version, to decide which warnings we have
...
This gives more accurate results under Clang, which can only help us
detect more warnings in more places.
Fixes bug 19216; bugfix on 0.2.0.1-alpha
2016-06-11 10:11:53 -04:00
Nick Mathewson
4caed2424a
Enable -Woverlength-strings for GCC>=4.6 on MOST of the code.
...
IMO it's fine for us to make exceptions to this rule in the unit
tests, but not in the code at large.
2016-06-11 10:11:52 -04:00
Nick Mathewson
8f2d2933f9
Use -Wdouble-promotion in GCC >= 4.6
...
This warning triggers on silently promoting a float to a double. In
our code, it's just a sign that somebody used a float by mistake,
since we always prefer double.
2016-06-11 10:11:52 -04:00
Nick Mathewson
493499a339
Add -Wfloat-conversion for GCC >= 4.9
...
This caught quite a few minor issues in our unit tests and elsewhere
in our code.
2016-06-11 10:11:52 -04:00
Nick Mathewson
4f8086fb20
Enable -Wnull-dereference (GCC >=6.1), and fix the easy cases
...
This warning, IIUC, means that the compiler doesn't like it when it
sees a NULL check _after_ we've already dereferenced the
variable. In such cases, it considers itself free to eliminate the
NULL check.
There are a couple of tricky cases:
One was the case related to the fact that tor_addr_to_in6() can
return NULL if it gets a non-AF_INET6 address. The fix was to
create a variant which asserts on the address type, and never
returns NULL.
2016-06-11 10:10:29 -04:00
Andrea Shepard
9eeaeddbb1
Reduce make check-spaces noise
2016-06-09 11:50:25 +00:00
Nick Mathewson
f016213f7f
Unit tests for our zlib code to test and reject compression bombs.
2016-06-08 18:08:30 -04:00
Nick Mathewson
3cc374456b
Add several test scripts wrapping test_workqueue
...
This is a fairly easy way for us to get our test coverage up on
compat_threads.c and workqueue.c -- I already implemented these
tests, so we might as well enable them.
2016-06-08 17:29:06 -04:00
Nick Mathewson
1e330e1947
Repair test_crypto_openssl_version with LibreSSL
2016-06-06 10:45:23 -04:00
Nick Mathewson
83513a93a1
Check tor_sscanf return value in test_crypto.c
...
Coverity noticed that we check tor_sscanf's return value everywhere
else.
2016-06-06 10:01:50 -04:00
Nick Mathewson
ed0ecd9f13
Use tor_sscanf, not sscanf, in test_crypto.c
...
Fixes the 0.2.9 instance of bug #19213 , which prevented mingw64 from
working. This case wasn't in any released Tor.
2016-06-02 10:16:15 -04:00
Nick Mathewson
b458a81cc5
Merge branch 'maint-0.2.8'
2016-06-02 10:13:35 -04:00