Nick Mathewson
4328525770
Merge branch 'maint-0.2.4' into maint-0.2.5
2015-12-08 09:38:48 -05:00
Nick Mathewson
b0867fec96
Fix a compilation warning introduced by clang 3.6
...
There was a dead check when we made sure that an array member of a
struct was non-NULL. Tor has been doing this check since at least
0.2.3, maybe earlier.
Fixes bug 17781.
2015-12-08 09:37:05 -05:00
cypherpunks
95c03b29de
Fix memory leak by circuit marked for close list
...
This commit fixes a memory leak introduced by commit
8b4e5b7ee9
.
2015-12-08 08:52:10 -05:00
Nick Mathewson
1321608786
Merge branch 'maint-0.2.7'
2015-12-08 08:45:09 -05:00
Nick Mathewson
e9bf584694
Format IPv6 policies correctly.
...
Previously we'd suppressed the mask-bits field in the output when
formatting a policy if it was >=32. But that should be a >=128 if
we're talking about IPv6.
Since we didn't put these in descriptors, this bug affects only log
messages and controller outputs.
Fix for bug 16056. The code in question was new in 0.2.0, but the
bug was introduced in 0.2.4 when we started supporting IPv6 exits.
2015-12-08 08:44:58 -05:00
cypherpunks
4ae555face
Fix memory leak in ntor test
2015-12-08 08:28:27 -05:00
Nick Mathewson
79fdfd5231
Merge remote-tracking branch 'teor/exitpolicy-multicast'
2015-12-07 10:23:30 -05:00
Nick Mathewson
f727ebcba8
Merge remote-tracking branch 'teor/comments-20151204'
2015-12-07 10:13:20 -05:00
Nick Mathewson
0ec6757091
Merge branch 'maint-0.2.7'
2015-12-07 10:11:54 -05:00
Nick Mathewson
9c66afe772
Merge branch 'maint-0.2.6' into maint-0.2.7
2015-12-07 10:11:21 -05:00
Nick Mathewson
089ee13534
Merge branch 'maint-0.2.5' into maint-0.2.6
2015-12-07 10:10:44 -05:00
Nick Mathewson
e8e89fd7a1
Merge branch 'maint-0.2.4' into maint-0.2.5
2015-12-07 10:10:21 -05:00
teor (Tim Wilson-Brown)
329aa59e43
Comment-only change to connection_get_by_type_addr_port_purpose
...
connection_get_by_type_addr_port_purpose also ignores connections
that are marked for close.
2015-12-07 16:13:07 +11:00
teor (Tim Wilson-Brown)
b7525c39bf
Comment-only changes to connection_connect
...
port is in host order (addr is tor_addr_t, endianness is abstracted).
addr and port can be different to conn->addr and conn->port if
connecting via a proxy.
2015-12-07 16:10:37 +11:00
teor (Tim Wilson-Brown)
3461bcb10e
Move a comment in router_get_my_descriptor to the correct line
2015-12-07 16:10:37 +11:00
teor (Tim Wilson-Brown)
fb3e862b86
Update comment: get_connection_array no longer takes "n"
2015-12-07 16:10:37 +11:00
teor (Tim Wilson-Brown)
021958934f
Consistently ignore multicast in internal reject private exit policies
...
Consistently ignore multicast addresses when automatically
generating reject private exit policies.
Closes ticket 17763. Bug fix on 10a6390deb
,
not in any released version of Tor. Patch by "teor".
2015-12-07 14:46:19 +11:00
teor (Tim Wilson-Brown)
bca4095b93
Make policies_log_first_redundant_entry take a const smartlist_t *
...
Also fixup code style.
2015-12-06 21:34:52 +11:00
teor (Tim Wilson-Brown)
ba5053b45d
Refactor policies_parse_exit_policy_internal
...
Move logging of redundant policy entries in
policies_parse_exit_policy_internal into its own function.
Closes ticket 17608; patch from "juce".
2015-12-06 21:32:09 +11:00
teor (Tim Wilson-Brown)
bb32c29986
Initialise configured_addresses to a known value (NULL)
2015-12-06 20:24:45 +11:00
cypherpunks
16bec0dfd9
Fix a memory leak in the exit policy parsing code
...
This memory leak only occurs when the Tor instance is not an exit node.
Fixes code introduced in 10a6390deb
.
2015-12-06 20:24:07 +11:00
Karsten Loesing
dbb919cf94
Update geoip and geoip6 to the December 1 2015 database.
2015-12-05 17:02:59 +01:00
Nick Mathewson
ee5337e904
Merge branch 'maint-0.2.7'
2015-11-30 22:03:00 -05:00
cypherpunks
be0891667e
Fix undefined behavior caused by memory overlap
...
The tor_cert_get_checkable_sig function uses the signing key included in
the certificate (if available) when a separate public key is not given.
When the signature is valid, the tor_cert_checksig function copies the
public key from the checkable structure to the public key field of the
certificate signing key.
In situations where the separate public key is not given but the
certificate includes a signing key, the source and destination pointers
in the copy operation are equal and invoke undefined behavior.
Undefined behaviour is avoided by ensuring both pointers are different.
2015-11-30 22:02:22 -05:00
teor (Tim Wilson-Brown)
7ff18cc1b6
Avoid relying on malloc internals in test_rend_cache_purge.
...
Closes ticket 17724. Bug fix on ade5005853
and 5e9f2384cf
,
not in any released version of Tor. Patch by "teor".
2015-12-01 10:50:14 +11:00
Nick Mathewson
0a701e5377
More fixes/debugging attempts for 17659
2015-11-27 12:54:57 -05:00
Nick Mathewson
a33e9f208a
Add a stack trace for help debugging one part of 17659
2015-11-27 12:11:51 -05:00
Nick Mathewson
85a48d5e47
Merge branch 'fix-policies-memory-v2-squashed'
2015-11-27 11:54:52 -05:00
cypherpunks
8ce70fcbf3
Fix memory leak in policies test
2015-11-27 11:54:47 -05:00
teor (Tim Wilson-Brown)
3f83ea84c7
Fix use-after-free of stack memory in getinfo_helper_policies
2015-11-27 11:54:47 -05:00
teor (Tim Wilson-Brown)
7a6ed3e65e
Fix use-after-free of stack memory in policies_parse_exit_policy*
...
Change the function names & comments to make the copying explicit.
2015-11-27 11:54:47 -05:00
Nick Mathewson
eedef41944
use sockaddr_storage for stack-allocated sockets in ersatz socketpair
2015-11-27 11:52:59 -05:00
Nick Mathewson
f108be7c25
Make SIZEOF_SOCKADDR return socklen_t to avoid bad compares.
2015-11-27 11:48:54 -05:00
Nick Mathewson
a45aacd2e2
Use uint16_t, not in_port_t (which does not exist on Windows). See #17638 .
2015-11-27 11:39:03 -05:00
Nick Mathewson
5665775e8c
Check magic number in connection_ap_attach_pending
2015-11-27 11:21:51 -05:00
Nick Mathewson
0c7bfb206e
improve log messages to try to track down #17659
2015-11-26 12:44:12 -05:00
teor (Tim Wilson-Brown)
fc264975b1
Unit test the full length of SHA256 and SHA512 digests
...
Bugfix on a tor version before the refactoring in git commit
cea1225199
(23 Sep 2009). Patch by "teor".
2015-11-27 02:25:31 +11:00
Nick Mathewson
09e0ae0588
Merge remote-tracking branch 'teor/rand-failure-modes-v2'
2015-11-26 10:05:38 -05:00
Nick Mathewson
0285054189
Fix buffer size in sha512 unit test
...
Nobody likes a stack overflow, even in unit tests.
Closes 17699; but not in any released tor.
2015-11-26 10:00:12 -05:00
Nick Mathewson
fe46fffd98
Fix test_tortls.c to no longer test failing crypto_rand.
...
(crypto_rand is no longer allowed to fail.)
Closes bug 17686; bug not in any released tor. (No backport, since
the tortls tests aren't in 0.2.7)
2015-11-26 09:34:44 -05:00
teor (Tim Wilson-Brown)
b0e6010861
Correctly free a smartlist in getinfo_helper_policies
2015-11-26 09:32:33 -05:00
teor (Tim Wilson-Brown)
155fa2dbdb
Add unit tests that check for common RNG failure modes
...
Check that crypto_rand doesn't return all zeroes, identical values,
or incrementing values (OpenSSL's rand_predictable feature).
2015-11-26 21:27:05 +11:00
Nick Mathewson
e5754c42d1
Merge branch 'bug17686_v2_027'
2015-11-25 22:33:49 -05:00
Nick Mathewson
1cfa2bc859
Fix documentation for crypto_rand*
2015-11-25 22:29:59 -05:00
Nick Mathewson
ddcbe26474
Now that crypto_rand() cannot fail, it should return void.
2015-11-25 22:29:59 -05:00
Nick Mathewson
10fdee6285
Add crypto-initializer functions to those whose return values must be checked
2015-11-25 22:29:59 -05:00
Nick Mathewson
dedea28c2e
Make crypto_seed_rng() and crypto_rand() less scary.
...
These functions must really never fail; so have crypto_rand() assert
that it's working okay, and have crypto_seed_rng() demand that
callers check its return value. Also have crypto_seed_rng() check
RAND_status() before returning.
2015-11-25 22:29:59 -05:00
Nick Mathewson
c875265bbb
Merge remote-tracking branch 'teor/check-crypto-errors-v2'
2015-11-25 22:28:12 -05:00
teor (Tim Wilson-Brown)
e14f9dd44f
fixup! Add controller getinfo exit-policy/reject-private
...
Stop ignoring ExitPolicyRejectPrivate in getinfo
exit-policy/reject-private. Fix a memory leak.
Set ExitPolicyRejectPrivate in the unit tests, and make a mock
function declaration static.
2015-11-25 22:26:10 -05:00
teor (Tim Wilson-Brown)
b1b8f7982e
Check the return value of HMAC in crypto.c and assert on error
...
Fixes bug #17658 ; bugfix on commit in fdbb9cdf74
(11 Oct 2011)
in tor version 0.2.3.5-alpha-dev.
2015-11-26 10:46:36 +11:00
Nick Mathewson
289b184e11
Merge branch 'bug17654_try1'
2015-11-25 12:25:44 -05:00
cypherpunks
c59c622d85
Initialize libevent before periodic events
...
The initialization of libevent interferes with other tests so we also
fork the circuit_timeout test.
2015-11-25 09:38:46 -05:00
teor (Tim Wilson-Brown)
a09e7cd31a
fixup! Block OutboundBindAddressIPv[4|6]_ and configured ports on exit relays
...
Fix unit tests for get_interface_address6_list to assume less
about the interface addresses on the system.
Instead, mock get_interface_address6_list and use the mocked
function to provide a range of address combinations.
2015-11-25 09:31:27 -05:00
Nick Mathewson
fe8eb9b366
Merge remote-tracking branch 'public/decouple_dir_request_failed'
2015-11-25 09:21:25 -05:00
Nick Mathewson
dce708d11c
Fix a logic error in connection_tls_continue_handshake().
...
(If we take the branch above this assertion, than we *didn't* have a
v1 handshake. So if we don't take the branch, we did. So if we
reach this assertion, we must be running as a server, since clients
no longer attempt v1 handshakes.)
Fix for bug 17654; bugfix on 9d019a7db7
.
Bug not in any released Tor.
2015-11-25 09:17:44 -05:00
Nick Mathewson
45caeec9a0
Merge remote-tracking branch 'teor/comments-20151123'
2015-11-25 09:08:15 -05:00
Nick Mathewson
7194d3d957
Tweak gtank's sha512 patch a little
2015-11-25 09:04:17 -05:00
Nick Mathewson
74e5385da7
Merge remote-tracking branch 'gtank/feature17663'
2015-11-25 09:00:01 -05:00
Nick Mathewson
2079ec9ee6
Merge remote-tracking branch 'teor/feature8961-replaycache-sha256'
2015-11-25 08:55:18 -05:00
Nick Mathewson
be30c61ac1
Merge branch 'maint-0.2.7'
2015-11-25 08:53:46 -05:00
teor (Tim Wilson-Brown)
23b088907f
Refuse to make direct connections to private OR addresses
...
Refuse connection requests to private OR addresses unless
ExtendAllowPrivateAddresses is set. Previously, tor would
connect, then refuse to send any cells to a private address.
Fixes bugs 17674 and 8976; bugfix on b7c172c9ec
(28 Aug 2012)
Original bug 6710, released in 0.2.3.21-rc and an 0.2.2 maint
release.
Patch by "teor".
2015-11-25 03:11:15 +11:00
George Tankersley
695412302b
implement teor's comments
2015-11-24 02:17:37 +00:00
George Tankersley
ff54cc8481
add SHA512 support to crypto
2015-11-24 01:34:28 +00:00
teor (Tim Wilson-Brown)
2e9779e5d8
Use SHA256 in the replaycache, rather than SHA1
...
This migrates away from SHA1, and provides further hash flooding
protection on top of the randomised siphash implementation.
Add unit tests to make sure that different inputs don't have the
same hash.
2015-11-24 09:08:53 +11:00
David Goulet
273b267fa2
Fix: use the right list in find_expiring_intro_point()
...
The wrong list was used when looking up expired intro points in a rend
service object causing what we think could be reachability issues and
triggering a BUG log.
Fixes #16702
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-11-23 09:02:54 -05:00
Roger Dingledine
6cdd024c94
fix two typos in comments
2015-11-23 07:40:13 -05:00
teor (Tim Wilson-Brown)
5b2adfb3d4
Fix comments to describe actual return values (crypto.c)
2015-11-23 20:31:57 +11:00
teor (Tim Wilson-Brown)
84d1373ba0
Fix typo in comment on crypto_add_spaces_to_fp
2015-11-23 18:59:11 +11:00
teor (Tim Wilson-Brown)
604d3ee48d
Comment only: crypto_seed_rng no longer has a "startup" parameter
2015-11-23 10:26:07 +11:00
Nick Mathewson
cbc1b8a4f7
fix "make check-spaces"
2015-11-20 10:52:56 -05:00
Nick Mathewson
e3cf39cefd
Fix compilation warnings
2015-11-20 10:51:19 -05:00
Nick Mathewson
35e886fe13
Merge branch 'getinfo-private-exitpolicy-v4-squashed'
2015-11-20 10:48:28 -05:00
teor (Tim Wilson-Brown)
10a6390deb
Add controller getinfo exit-policy/reject-private
...
exit-policy/reject-private lists the reject rules added by
ExitPolicyRejectPrivate. This makes it easier for stem to
display exit policies.
Add unit tests for getinfo exit-policy/*.
Completes ticket #17183 . Patch by "teor".
2015-11-20 10:48:19 -05:00
Nick Mathewson
18ee193ad1
bump version to 0.2.7-dev
2015-11-20 10:27:35 -05:00
teor (Tim Wilson-Brown)
6913bdfcc5
Refactor router_dump_exit_policy_to_string
...
Split out policy_dump_to_string to use it in getinfo_helper_policies.
2015-11-20 10:39:37 +11:00
teor (Tim Wilson-Brown)
66fac9fbad
Block OutboundBindAddressIPv[4|6]_ and configured ports on exit relays
...
Modify policies_parse_exit_policy_reject_private so it also blocks
the addresses configured for OutboundBindAddressIPv4_ and
OutboundBindAddressIPv6_, and any publicly routable port addresses
on exit relays.
Add and update unit tests for these functions.
2015-11-20 10:39:13 +11:00
teor (Tim Wilson-Brown)
e726ad4664
Add unit tests for policies_parse_exit_policy_reject_private
...
Test that policies_parse_exit_policy_reject_private rejects supplied
IPv4 and IPv6 relay addresses, and the addresses of local interfaces.
2015-11-20 10:32:51 +11:00
teor (Tim Wilson-Brown)
c73c5a293f
Refactor policies_parse_exit_policy_internal
...
Move the code that rejects publicly routable exit relay addresses
to policies_parse_exit_policy_reject_private. Add
addr_policy_append_reject_addr_list and use it to reject interface
addresses.
This removes the duplicate reject checks on local_address and
ipv6_local_address, but duplicates will be removed by
exit_policy_remove_redundancies at the end of the function.
This also removes the info-level logging on rejected interface
addresses. Instead, log a debug-level message in
addr_policy_append_reject_addr.
This simplifies policies_parse_exit_policy_internal and prepares for
reporting these addresses over the control port in #17183 .
2015-11-20 10:32:51 +11:00
Nick Mathewson
35bfd782ea
Merge remote-tracking branch 'teor/bug17632-no-ipv4-no-localhost-squashed'
2015-11-19 11:19:31 -05:00
Nick Mathewson
5f4cd245ec
Merge remote-tracking branch 'teor/bug17638-ipv6-ersatz-socketpair'
2015-11-19 10:48:40 -05:00
Nick Mathewson
118bdc3a6d
Merge remote-tracking branch 'public/decouple_conn_attach_2'
2015-11-19 10:44:31 -05:00
teor (Tim Wilson-Brown)
f19d6b81c8
Fixup #17638 : ignore EINVAL from FreeBSD jails without ::1
...
In my testing, an IPv6-only FreeBSD jail without ::1 returned EINVAL
from tor_ersatz_socketpair. Let's not fail the unit test because of
this - it would only ever use tor_socketpair() anyway.
2015-11-19 19:20:01 +11:00
teor (Tim Wilson-Brown)
53ec840bdf
Make tor_ersatz_socketpair work on IPv6-only systems
...
(But it won't work on some systems without IPv4/IPv6 localhost
(some BSD jails) by design, to avoid creating sockets on routable
IP addresses. However, those systems likely have the AF_UNIX socketpair,
which tor prefers.)
Fixes bug #17638 ; bugfix on a very early tor version,
earlier than 22dba27d8d
(23 Nov 2004) / svn:r2943.
Patch by "teor".
2015-11-19 19:08:22 +11:00
Nick Mathewson
913fbf8f2f
Merge remote-tracking branch 'teor/bug17632-no-ipv4-no-localhost'
2015-11-18 15:02:45 -05:00
teor (Tim Wilson-Brown)
2c151d8082
Update comments in get_interface_addresses_ioctl
...
Comment-only change noting platforms that can return IPv6
addresses from SIOCGIFCONF (or SIOCGLIFCONF).
2015-11-19 00:41:06 +11:00
teor (Tim Wilson-Brown)
71fd66c866
Fix unit tests on systems without IPv4 or localhost addresses
...
Make unit tests pass on IPv6-only systems, and systems without
localhost addresses (like some FreeBSD jails).
Fixes:
* get_if_addrs_ifaddrs: systems without localhost
* get_if_addrs_ioctl: only works on IPv4 systems
* socket: check IPv4 and IPv6, skip on EPROTONOSUPPORT
* socketpair_ersatz: uses IPv4, skip on EPROTONOSUPPORT
Fixes bug #17632 ; bugfix on unit tests in 0.2.7.3-rc.
c464a36772
was a partial fix for this issue in #17255 ;
it was released in unit tests in 0.2.7.4-rc.
Patch by "teor".
2015-11-19 00:41:06 +11:00
teor (Tim Wilson-Brown)
a1ce111d32
Really Really Fixup 86eba14ac5
: Windows support, error return values
2015-11-19 00:13:58 +11:00
teor (Tim Wilson-Brown)
eed86892dd
Really Fixup 86eba14ac5
: error return values are negative
2015-11-18 23:54:26 +11:00
teor (Tim Wilson-Brown)
3351f69c75
Fixup 86eba14ac5
: add errno.h for EPROTONOSUPPORT
2015-11-18 23:47:12 +11:00
teor (Tim Wilson-Brown)
878b5738c2
Update comments in get_interface_addresses_ioctl
...
Comment-only change noting platforms that can return IPv6
addresses from SIOCGIFCONF (or SIOCGLIFCONF).
2015-11-18 23:30:25 +11:00
teor (Tim Wilson-Brown)
86eba14ac5
Fix unit tests on systems without IPv4 or localhost addresses
...
Make unit tests pass on IPv6-only systems, and systems without
localhost addresses (like some FreeBSD jails).
Fixes:
* get_if_addrs_ifaddrs: systems without localhost
* get_if_addrs_ioctl: only works on IPv4 systems
* socket: check IPv4 and IPv6, skip on EPROTONOSUPPORT
* socketpair_ersatz: uses IPv4, skip on EPROTONOSUPPORT
Fixes bug #17632 ; bugfix on unit tests in 0.2.7.3-rc.
c464a36772
was a partial fix for this issue in #17255 ;
it was released in unit tests in 0.2.7.4-rc.
Patch by "teor".
2015-11-18 23:25:21 +11:00
Yawning Angel
85bb71049a
Fix a startup time assert caused by periodic events not being initialized.
...
Loading a on disk bridge descriptor causes a directory download to be
scheduled, which asserts due to the periodic events not being
initialized yet.
Fixes bug #17635 , not in any released version of tor.
2015-11-18 11:31:05 +00:00
Nick Mathewson
8af5afedc9
windows already has a CALLBACK macro...
2015-11-17 10:00:41 -05:00
Nick Mathewson
dc0d2b5970
Don't relaunch dir requests recursively if connection_connect() returns -1
...
Closes ticket 17589.
2015-11-17 09:40:05 -05:00
Nick Mathewson
d3cb659541
Fix a server-side crash on DNS init
2015-11-17 09:37:50 -05:00
Nick Mathewson
70f337fdb2
Some unit tests now require that periodic events be initialized.
2015-11-17 09:26:50 -05:00
Nick Mathewson
58edf92678
Free pending_entry_connections on shutdown.
2015-11-17 09:06:47 -05:00
Nick Mathewson
84b3350c83
Be more conservative in scanning the list of pending streams
...
Now we only re-scan the list in the cases we did before: when we
have a new circuit that we should try attaching to, or when we have
added a new stream that we haven't tried to attach yet.
This is part of 17590.
2015-11-17 09:04:25 -05:00
Nick Mathewson
b1d56fc589
Decouple ..attach_circuit() from most of its callers.
...
Long ago we used to call connection_ap_handshake_attach_circuit()
only in a few places, since connection_ap_attach_pending() attaches
all the pending connections, and does so regularly. But this turned
out to have a performance problem: it would introduce a delay to
launching or connecting a stream.
We couldn't just call connection_ap_attach_pending() every time we
make a new connection, since it walks the whole connection list. So
we started calling connection_ap_attach_pending all over, instead!
But that's kind of ugly and messes up our callgraph.
So instead, we now have connection_ap_attach_pending() use a list
only of the pending connections, so we can call it much more
frequently. We have a separate function to scan the whole
connection array to see if we missed adding anything, and log a
warning if so.
Closes ticket #17590
2015-11-17 08:53:34 -05:00
Nick Mathewson
b91bd27e6f
Whoops; in this context the EV_TIMEOUT flag is needed
2015-11-17 08:53:16 -05:00
Nick Mathewson
c113d19b53
Merge branch 'bug3199_redux_3'
2015-11-17 08:27:42 -05:00
Nick Mathewson
661e5bdbfa
Changes to 3199 branch based on feedback from special
2015-11-17 08:26:04 -05:00
Nick Mathewson
eb721ed2d9
Add documentation for periodic event api
2015-11-16 10:40:23 -05:00
teor (Tim Wilson-Brown)
d3b7546753
Add a missing "if" in the comment on warn_nonlocal_controller_ports
...
Also reflow all the lines of that comment so that they're under
the maximum width.
2015-11-16 16:27:11 +11:00
teor (Tim Wilson-Brown)
dd82550a5e
Add missing " in AccountingMax comment in or.h
2015-11-16 12:34:53 +11:00
Nick Mathewson
dd00fd0a1f
Change periodic.c to use libevent directly
...
Libevent's periodic timers aren't the right solution when the
timeout potentially changes every time.
2015-11-13 16:25:40 -05:00
Nick Mathewson
65a6489e5e
fix whitespace; remove dead code
2015-11-13 16:24:45 -05:00
Nick Mathewson
2bf8fb5ee3
Fold all of the run-every-second stuff back into run_scheduled_events()
2015-11-13 16:24:45 -05:00
Nick Mathewson
9f31908a40
Turn all of run_scheduled_events() into a bunch of periodic events
...
This patch is designed to look good when you see it through 'diff -b':
it mostly leaves entries in the same order, and leaves the code unmodified.
2015-11-13 16:24:45 -05:00
Nick Mathewson
e8b459a2fa
Connect periodic events to main
2015-11-13 16:24:44 -05:00
Kevin Butler
fbeff307f7
Infrastructure for replacing global periodic events in main.c
...
(This is from Kevin's bug3199 patch series; nick extracted it into
a new file and changed the interface a little, then did some API
tweaks on it.)
2015-11-13 16:24:44 -05:00
Nick Mathewson
7a940fac1c
appease check-spaces
2015-11-13 13:46:47 -05:00
Nick Mathewson
d467227323
Merge remote-tracking branch 'public/ticket11150_client_only'
2015-11-13 09:58:16 -05:00
Nick Mathewson
accb726db6
Remove a little duplicated code in TAP key expansion
...
patch from pfrankw; closes 17587.
2015-11-13 09:46:32 -05:00
Nick Mathewson
741d2dc685
Bump to 0.2.7.5
2015-11-13 08:41:30 -05:00
Nick Mathewson
f7ccc9b975
Merge branch 'decouple_circuit_mark_squashed'
2015-11-12 14:20:24 -05:00
Nick Mathewson
8b4e5b7ee9
Experimentally decouple the main body of circuit_mark_for_close
2015-11-12 14:20:16 -05:00
Nick Mathewson
d20a3d07e3
Merge branch 'karsten_bug13192_026_03_teor'
2015-11-12 11:40:58 -05:00
Nick Mathewson
1f7ba115a4
Rename cast_double_to_int64 to clamp_double_to_int64
2015-11-12 11:33:48 -05:00
Nick Mathewson
0694263b75
Make round_to_next_multiple_of always round upwards.
...
Yes, even if it has to return a non-multiple. This prevents us from
ever having a bug where we try to use it for allocation, and under-allocate.
2015-11-12 11:32:14 -05:00
Nick Mathewson
0a3eed5f20
Merge branch 'bug17549'
2015-11-10 10:40:31 -05:00
Nick Mathewson
05c34b3330
appease check-spaces
2015-11-10 10:40:19 -05:00
Nick Mathewson
39e8fa81f7
every version of openssl we support has SSL_get_state
2015-11-10 10:14:58 -05:00
Nick Mathewson
3aebeeffa5
Every openssl we support has ERR_remove_thread_state
2015-11-10 10:13:04 -05:00
Nick Mathewson
c32a43a4d2
Move openssl version compatibility defines into a new header.
2015-11-10 10:02:21 -05:00
teor (Tim Wilson-Brown)
0d5a439292
Mark fallback directoriess as too busy after a 503 response
...
Mark fallback directory mirrors as "too busy" when they return
a 503 response. Previously, the code just marked authorities as busy.
Unless clients set their own fallback directories, they will never see
this bug. (There are no default fallbacks yet.)
Fixes bug 17572; bugfix on 5c51b3f1f0
released in 0.2.4.7-alpha.
Patch by "teor".
2015-11-10 09:47:48 +11:00
Yawning Angel
6512df34a4
Fix the tortls.c unit tests to pass with OpenSSL 1.1.0-dev.
...
The string description for the states got changed slightly.
2015-11-06 19:42:39 +00:00
Yawning Angel
89cb2e467d
Fix compilation with OpenSSL 1.1.0 --enable-gcc-warnings is set.
2015-11-06 19:12:43 +00:00
Yawning Angel
3e3ec750cd
Fix compilation with OpenSSL 1.1.0-dev.
...
OpenSSL changed the API:
* 5998e29035
* b0700d2c8d
2015-11-06 19:02:56 +00:00
Nick Mathewson
af80d472f7
"And now a better patch which builds the tests if LibreSSL is used."
...
Works on the latest LibreSSL (in OpenBSD-current).
(Patch from 'rubiate' on #17253 .
2015-11-06 10:58:00 -05:00
Yawning Angel
b71f6d6a47
Fix SipHash-2-4 performance for non multiple of 8 buffers.
...
Code cribbed from Andrew Moon's Public Domain SipHash-2-4
implementation (which IMO is also cleaner).
Fixes bug 17544.
2015-11-05 18:21:43 +00:00
Nick Mathewson
1385ab0605
Merge remote-tracking branch 'rl1987/ticket16831_part2_rebased'
2015-10-30 09:59:11 -04:00
rl1987
2e980e9a2e
Fix GCC warnings.
2015-10-29 13:12:29 +01:00
Nick Mathewson
19e10f95c1
Merge remote-tracking branch 'rl1987/bug17417_take2'
2015-10-26 09:18:48 -04:00
rl1987
e2f9c7d54f
Avoid crashing due to double-freeing memory.
2015-10-24 16:21:35 +03:00
rl1987
a187c772af
Seventh test case for dns_resolve_impl().
2015-10-24 14:30:53 +03:00
rl1987
f53dcf6a35
Sixth test case for dns_resolve_impl.
2015-10-24 14:30:52 +03:00
rl1987
cc1bed9974
Add a fifth unit test.
2015-10-24 14:30:52 +03:00
rl1987
bb8ec2e1c6
Whitespace fixes.
2015-10-24 14:30:52 +03:00
rl1987
72bd192d80
Add a fourth test case.
2015-10-24 14:30:52 +03:00
rl1987
787a27be3e
Third test case for dns_resolve_impl.
2015-10-24 14:30:51 +03:00
rl1987
1096f7638e
A second test case for dns_resolve_impl.
2015-10-24 14:30:50 +03:00
rl1987
2fc841aacb
Making it slightly cleaner.
2015-10-24 14:30:50 +03:00
rl1987
595bd9295c
First test case for dns_resolve_impl().
2015-10-24 14:30:36 +03:00
rl1987
882d33a80c
Using namespace macros for mock functions in test_dns.c
2015-10-24 14:30:20 +03:00
rl1987
2f5d0ea133
Use NS_SUBMODULEs in test_dns.c
2015-10-24 14:30:20 +03:00
Nick Mathewson
8acaac4622
Compilation was off by one character
2015-10-22 18:47:26 -04:00
Nick Mathewson
7dbcdfab58
Fix windows build: do not assume util_process works on windows
2015-10-22 10:01:05 -04:00
Nick Mathewson
ed0c2a5e3d
Fix valgrind errors in test_util_process
2015-10-21 16:51:21 -04:00
Nick Mathewson
5431c60001
Fix whitespaces
2015-10-21 16:46:28 -04:00
Nick Mathewson
a61158aa23
Merge remote-tracking branch 'twstrike/util_process_tests'
2015-10-21 16:45:49 -04:00
Nick Mathewson
5e9f2384cf
Fix various coverity-found issues
2015-10-21 16:01:29 -04:00
Nick Mathewson
79b3c4a8a3
Yet more memory leaks closed in test_tortls
2015-10-21 14:30:34 -04:00
Nick Mathewson
13ff8e31ba
More memory leaks closed in test_tortls
2015-10-21 14:19:43 -04:00
Nick Mathewson
f5a002f69b
Fix another pile of test_tortls memory leaks
2015-10-21 14:06:13 -04:00
Nick Mathewson
eead861266
More leaks to fix.
2015-10-21 13:12:19 -04:00
Nick Mathewson
2acf72795a
resolve some leaks in test_tortls.c
2015-10-21 12:41:00 -04:00
Nick Mathewson
f217b24e05
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 12:03:04 -04:00
Nick Mathewson
4fb4906975
Merge remote-tracking branch 'public/bug17404_024' into maint-0.2.7
2015-10-21 12:02:42 -04:00
Nick Mathewson
9459ae260e
Fix the return value
2015-10-21 12:01:05 -04:00
Nick Mathewson
895a98dbaf
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 11:53:00 -04:00
Nick Mathewson
b809c265e7
Merge remote-tracking branch 'public/bug17404_024' into maint-0.2.7
2015-10-21 11:51:03 -04:00
Nick Mathewson
35bf07b8d6
Check for len < 4 in dn_indicates_v3_cert
...
Without this check, we potentially look up to 3 characters before
the start of a malloc'd segment, which could provoke a crash under
certain (weird afaik) circumstances.
Fixes 17404; bugfix on 0.2.6.3-alpha.
2015-10-21 11:44:43 -04:00
Nick Mathewson
52fd384a46
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 11:18:11 -04:00
Nick Mathewson
f41be5f9df
memory leaks in procmon tests
2015-10-21 11:17:59 -04:00
Nick Mathewson
9c4a0aef0c
Fix a memory leak in reading an expired ed signing key.
...
Closes 17403.
2015-10-21 11:16:28 -04:00
Nick Mathewson
9f5210ae46
Fix all leaks (and an introduced failure) in the rendcache tests
2015-10-21 11:05:27 -04:00
Nick Mathewson
35edd74e25
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 10:56:40 -04:00
Nick Mathewson
5d45a26f39
Whoops; infinite recursion
2015-10-21 10:56:27 -04:00
Nick Mathewson
d14b009b23
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 10:54:12 -04:00
Nick Mathewson
8b01849f3b
Yet more memory leaks in the rendcache tests
2015-10-21 10:54:07 -04:00
Nick Mathewson
aa96abe66b
Fix memory leak in rend_cache_failure_entry_free()
...
Bug 17402.
2015-10-21 10:52:57 -04:00
Nick Mathewson
a5e873ff29
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 10:28:16 -04:00
Nick Mathewson
6ef35319d9
More leaks here
2015-10-21 10:28:10 -04:00
Nick Mathewson
03eb999d42
Fix an (unreachable) memory leak in rendcache.c
...
The 0.2.8 unit tests provoke this leak, though I don't think it can
happen IRL.
2015-10-21 10:27:19 -04:00
Nick Mathewson
46cd466dec
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 10:00:52 -04:00
Nick Mathewson
34b4da709d
Fix a bunch more memory leaks in the tests.
2015-10-21 10:00:05 -04:00
Nick Mathewson
5b2070198a
Fix a use-after-free in validate_intro_point_failure. Bug 17401. Found w valgrind
2015-10-21 09:59:19 -04:00
Nick Mathewson
b7941cbfbb
Fix numerous leaks and memory errors in tests. Found by valgrind
2015-10-21 08:49:29 -04:00
Nick Mathewson
2461ea1faa
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-21 08:17:34 -04:00
Nick Mathewson
d478704de8
Fix a number of unit-test memory leaks, found by valgrind.
2015-10-21 08:17:30 -04:00
Nick Mathewson
542cc8a5ff
Fix a memory leak; bug 17398.
2015-10-21 08:17:07 -04:00
Nick Mathewson
8378a3310a
Bump version to 0.2.7.4-rc
2015-10-19 11:19:51 -04:00
Nick Mathewson
a8a26ca30e
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-15 13:56:53 -04:00
Nick Mathewson
7e7683b254
Merge remote-tracking branch 'origin/maint-0.2.6' into maint-0.2.7
2015-10-15 13:56:41 -04:00
David Goulet
2ec5e24c58
Add hidserv-stats filname to our sandbox filter
...
Fixes #17354
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-10-15 13:42:34 -04:00
Nick Mathewson
a5ed8b1667
Fix compilation of sandbox.[ch] under musl-libc
...
Patch from jamestk; fix on 0.2.5.1-alpha. Fixes 17347.
2015-10-15 10:37:41 -04:00
Nick Mathewson
fa4a81518a
Merge branch 'bug17347'
2015-10-15 10:36:29 -04:00
Nick Mathewson
50148dc45d
Fix compilation of sandbox.[ch] under musl-libc
...
Patch from jamestk; fix on 0.2.5.1-alpha. Fixes 17347.
2015-10-15 10:35:45 -04:00
Nick Mathewson
4e5e93a74b
blank line at eof for test_address.c
2015-10-15 10:22:33 -04:00
Nick Mathewson
0d8b8fa585
Merge remote-tracking branch 'twstrike/address_tests'
2015-10-15 10:21:42 -04:00
Nick Mathewson
49ccb7e7b8
Mention trunnel in CodingStandards; describe how in trunnel/README
2015-10-14 10:40:27 -04:00
Nick Mathewson
4da2f89f95
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-09 10:18:42 -04:00
Nick Mathewson
7c3f210e70
Merge remote-tracking branch 'origin/maint-0.2.6' into maint-0.2.7
2015-10-09 10:14:59 -04:00
Nick Mathewson
552136668c
Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6
2015-10-09 10:14:46 -04:00
Nick Mathewson
3569cffe14
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-10-09 10:12:59 -04:00
Karsten Loesing
62b02a1941
Update geoip and geoip6 to the October 9 2015 database.
2015-10-09 15:27:55 +02:00
Nick Mathewson
3780a6b439
Fix some 64bit issues
2015-10-07 16:54:29 -04:00
Nick Mathewson
cd14405a43
Merge remote-tracking branch 'origin/maint-0.2.7'
2015-10-07 15:21:23 -04:00
teor (Tim Wilson-Brown)
c464a36772
Make get_ifaddrs tests more tolerant of unusual network configs
...
* Don't assume that every test box has an IPv4 address
* Don't assume that every test box has a non-local address
Resolves issue #17255 released in unit tests in 0.2.7.3-rc.
2015-10-07 15:20:31 -04:00