Nick Mathewson
53f9f71985
ug no, the RIGHT fix.
2016-07-21 15:29:56 +02:00
Nick Mathewson
9c210d0e81
Avoid infinite stack explosion in windows monotime.
...
[init calls get calls init calls get calls init.... ]
2016-07-21 15:26:05 +02:00
Nick Mathewson
1d0775684d
Once more, 32-bit fixes on monotime mocking
2016-07-21 14:32:15 +02:00
Nick Mathewson
9c87869dde
Merge branch 'maint-0.2.8'
2016-07-21 14:15:19 +02:00
Nick Mathewson
f1973e70a4
Coverity hates it when we do "E1 ? E2 : E2".
...
It says, 'Incorrect expression (IDENTICAL_BRANCHES)'
Fix for CID 1364127. Not in any released Tor.
2016-07-21 14:14:33 +02:00
Nick Mathewson
22314f9050
loony mingwcross bug: insist we dont have clock_gettime.
2016-07-21 14:09:00 +02:00
Nick Mathewson
852cff043b
fix monotime test mocking on 32-bit systems
2016-07-21 14:05:29 +02: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
2d26b1a549
Actually make monotonic time functions mockable.
...
This is different from making the functions mockable, since
monotime_t is opaque and so providing mocks for the functions is
really hard.
2016-07-21 07:02:33 -04:00
Nick Mathewson
72a1f0180d
Revert "Make the monotonic{_coarse,}_get() functions mockable."
...
This reverts commit 2999f0b33f
.
2016-07-21 10:30:21 +02:00
Nick Mathewson
2999f0b33f
Make the monotonic{_coarse,}_get() functions mockable.
2016-07-21 10:25:23 +02:00
Nick Mathewson
a31078a581
Merge branch 'maint-0.2.8'
2016-07-19 12:34:37 +02:00
Nick Mathewson
4d5b252f0f
Merge branch 'maint-0.2.7' into maint-0.2.8
2016-07-19 12:34:27 +02:00
Nick Mathewson
4d70ed7be0
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-07-19 12:32:14 +02:00
Nick Mathewson
210928f66a
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-07-19 12:31:54 +02:00
Nick Mathewson
d95c2809b3
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-07-19 12:31:20 +02:00
Nick Mathewson
558f7d3701
Merge branch 'monotonic_v2_squashed'
2016-07-19 11:42:26 +02:00
Nick Mathewson
1e3cf1cc83
Be sure to call monotime_init() at startup.
2016-07-19 11:40:47 +02:00
Nick Mathewson
6ba415d400
Make sure initialized_at is initialized before use.
2016-07-19 11:40:47 +02:00
Nick Mathewson
493142d91f
Changes file for monotonic time branch.
2016-07-19 11:40:47 +02:00
Nick Mathewson
abcb8ce25d
Unit tests for monotonic time
2016-07-19 11:40:47 +02:00
Nick Mathewson
2a217ef723
Expose monotonic time ratchet functions for testing.
2016-07-19 11:40:47 +02:00
Nick Mathewson
7bc4ca7de9
Remove tor_gettimeofday_cached_monotonic as broken and unneeded
2016-07-19 11:40:47 +02:00
Nick Mathewson
c7558c906a
Use coarse monotonic timer instead of cached monotonized libevent time.
2016-07-19 11:40:46 +02:00
Nick Mathewson
6a2002fc09
convert timers.c to use real monotonic time.
2016-07-19 11:40:46 +02:00
Nick Mathewson
dc6f5d1dc1
Basic portable monotonic timer implementation
...
This code uses QueryPerformanceCounter() [**] on Windows,
mach_absolute_time() on OSX, clock_gettime() where available, and
gettimeofday() [*] elsewhere.
Timer types are stored in an opaque OS-specific format; the only
supported operation is to compute the difference between two timers.
[*] As you know, gettimeofday() isn't monotonic, so we include
a simple ratchet function to ensure that it only moves forward.
[**] As you may not know, QueryPerformanceCounter() isn't actually
always as monotonic as you might like it to be, so we ratchet that
one too.
We also include a "coarse monotonic timer" for cases where we don't
actually need high-resolution time. This is GetTickCount{,64}() on
Windows, clock_gettime(CLOCK_MONOTONIC_COARSE) on Linux, and falls
back to regular monotonic time elsewhere.
2016-07-19 11:40:46 +02:00
Karsten Loesing
79939c6f11
Update geoip and geoip6 to the July 6 2016 database.
2016-07-18 08:40:22 +02:00
teor (Tim Wilson-Brown)
d8cd994ef6
Allow clients to retry HSDirs much faster in test networks
2016-07-18 13:25:15 +10: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
fbae15a856
Merge remote-tracking branch 'weasel/bug19660' into maint-0.2.8
2016-07-17 13:54:40 -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
Nick Mathewson
9932544297
Merge branch 'maint-0.2.8'
2016-07-13 09:19:35 -04:00
Nick Mathewson
c1bfa65211
changes file for bug18397
2016-07-13 09:19:23 -04:00
Nick Mathewson
bb731ca665
Merge remote-tracking branch 'Jigsaw52/seccomp-fix-18397' into maint-0.2.8
2016-07-13 09:16:59 -04:00
Peter Palfrader
36b06be738
Add (SOCK_DGRAM, IPPROTO_UDP) sockets to the sandboxing whitelist
...
If we did not find a non-private IPaddress by iterating over interfaces,
we would try to get one via
get_interface_address6_via_udp_socket_hack(). This opens a datagram
socket with IPPROTO_UDP. Previously all our datagram sockets (via
libevent) used IPPROTO_IP, so we did not have that in the sandboxing
whitelist. Add (SOCK_DGRAM, IPPROTO_UDP) sockets to the sandboxing
whitelist. Fixes bug 19660.
2016-07-11 09:37:01 +02:00
Daniel Pinto
20e89453fd
Adds missing syscalls to seccomp filter.
...
Fixes #18397 which prevented tor starting with Sandbox 1.
2016-07-09 00:36:37 +01:00
Nick Mathewson
aa971c5924
Move our "what time is it now" compat functions into a new module
...
I'm not moving our "format and parse the time" functions, since
those have been pretty volatile over the last couple of years.
2016-07-08 10:38:59 -04:00
cypherpunks
3ac434104a
Fix test-network-all target in out-of-tree builds
...
The test-network-all target assumes the test-driver script lives in the
current working directory. This assumption breaks out-of-tree builds
because it actually lives in the source directory.
Automake 1.12 introduces `LOG_DRIVER` which defines the location of the
test driver script. Because Tor still supports Automake 1.11 we use the
default value of this variable directly. The default value uses the
configured shell for calling the test driver script and explicitly
prefixes the source directory.
2016-07-08 10:19:18 -04:00
Nick Mathewson
466259eb50
Merge remote-tracking branch 'sebastian/libevent2'
2016-07-08 09:57:31 -04:00
Nick Mathewson
9a0bc46225
Remove already-merged changes files.
...
These changes files already are merged in release-0.2.8, and
therefor will not be "new in 0.2.9.1-alpha".
2016-07-07 13:16:44 -04:00
Nick Mathewson
663b659434
Merge branch 'maint-0.2.8'
2016-07-07 12:44:07 -04:00
Nick Mathewson
a931d157fd
Bump maint-0.2.8 to 0.2.8.5-rc-dev
2016-07-07 12:43:52 -04:00
Nick Mathewson
bfd50001cb
Forward-port the 0.2.8.5-rc changelog
2016-07-07 12:42:27 -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