Nick Mathewson
8d6aafbb4a
Merge remote-tracking branch 'teor/comments-20151213'
2016-01-07 12:50:10 -08:00
dana koch
be841f77aa
Compatibility defines should be used for LibreSSL.
...
LibreSSL doesn't use OpenSSL_version (it uses the older SSLeay_version
API), but it reports a major version number as 2 in
OPENSSL_VERSION_NUMBER. Instead of fudging the version check, for now,
let's just check if we're using LibreSSL by checking the version number
macro exists, and use compatibility defines unconditionally when we
detect LibreSSL.
2016-01-07 12:48:59 -08:00
Nick Mathewson
62bc4a199a
Fix #18012 harder.
2016-01-07 09:58:48 -08:00
Nick Mathewson
77bc95cb5e
Merge remote-tracking branch 'public/17826_redux'
2016-01-07 09:52:09 -08:00
Nick Mathewson
55232e32c7
Merge branch 'maint-0.2.7'
2016-01-07 09:43:24 -08:00
Nick Mathewson
b34c5c6b8a
Merge branch 'maint-0.2.6' into maint-0.2.7
...
Conflicts:
src/or/config.c
2016-01-07 09:43:12 -08:00
Nick Mathewson
c7b0cd9c2f
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-01-07 09:41:36 -08:00
Nick Mathewson
9ca329581a
Merge branch 'maint-0.2.4' into maint-0.2.5
...
Conflicts:
src/or/config.c
2016-01-07 09:40:23 -08:00
teor (Tim Wilson-Brown)
11f63d26ac
Update dannenberg's V3 authority identity fingerprint
...
This new identity key was changed on 18 November 2015.
2016-01-07 09:39:04 -08:00
Nick Mathewson
b5ce332958
Try to fix windows test build ( #18012 )
2016-01-07 09:25:44 -08:00
Nick Mathewson
5ba7b1a74d
Merge remote-tracking branch 'gtank/feature16774-squashed'
2016-01-07 09:20:03 -08:00
Nick Mathewson
37b0d27a34
Merge branch 'maint-0.2.7'
2016-01-07 09:14:31 -08:00
Nick Mathewson
d9b11d05e8
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-01-07 09:14:15 -08:00
Nick Mathewson
400df18688
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-01-07 09:14:05 -08:00
Nick Mathewson
ae223138fb
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-01-07 09:13:54 -08:00
Karsten Loesing
1496056c12
Update geoip and geoip6 to the January 5 2016 database.
2016-01-07 11:10:37 +01:00
George Tankersley
3bc45f2628
Add FallbackDir list to GETINFO config/defaults
2016-01-06 11:22:30 -08:00
rl1987
110765f556
Use get_interface6_via_udp_socket_hack() properly in _list().
...
When _list() is called with AF_UNSPEC family and fails to enumerate
network interfaces using platform specific API, have it call
_hack() twice to find out IPv4 and/or IPv6 address of a machine Tor
instance is running on. This is correct way to handle this case
because _hack() can only be called with AF_INET and AF_INET6 and
does not support any other address family.
2016-01-06 14:47:35 +01:00
rl1987
680d0701e5
Tweak ioctl case.
2016-01-06 11:47:31 +01:00
Nick Mathewson
7660471054
Unit tests for getpw* functions
2016-01-03 09:00:30 -08:00
Nick Mathewson
c941240f32
clean up the "skip this util test on windows" logic.
2016-01-03 08:47:14 -08:00
Nick Mathewson
8aa9ee73da
Add a test for touch_file
2016-01-03 08:37:14 -08:00
Nick Mathewson
de8110fba2
Explicitly test our get/set_uint{8,16,32,64}.
2016-01-03 08:27:54 -08:00
Nick Mathewson
a8749ea9fd
Test another codepath in inet_ntop
2016-01-03 08:27:44 -08:00
rl1987
44497e9ebc
Add family argument to get_interface_addresses_raw (and subfunctions).
2016-01-03 15:35:45 +01:00
teor (Tim Wilson-Brown)
ce5406b71a
Fix a comment typo in main.c
2016-01-03 17:34:42 +11:00
teor (Tim Wilson-Brown)
3a24364a69
Fix typos in microdesc_t and node_t comments
2016-01-03 17:34:42 +11:00
teor (Tim Wilson-Brown)
1949908d13
Fix a typo in the comment for tor_addr_port_split
2016-01-03 17:34:41 +11:00
Nick Mathewson
603110aa1d
Merge branch 'feature17796_squashed'
2015-12-29 09:48:39 -05:00
Nick Mathewson
a12c5f462f
Remove the (now-unused) digest_algorithm_bitfield_t
2015-12-29 09:47:04 -05:00
Nick Mathewson
488cdee5e7
When allocating a crypto_digest_t, allocate no more bytes than needed
...
Previously we would allocate as many bytes as we'd need for a
keccak--even when we were only calculating SHA1.
Closes ticket 17796.
2015-12-29 09:47:04 -05:00
Nick Mathewson
bc2cd0ff2b
Use timingsafe_memcmp() where available.
...
See ticket 17944; patch from "logan".
2015-12-29 09:43:01 -05:00
Nick Mathewson
263f6d11fd
Mark all object files built based on micro-revision.i as depending on it
...
Fixes make -j for some users; fixes bug 17826.
Bugfix on 0.2.5.1, when we started building testing versions of all
the object files.
2015-12-26 13:43:13 -05:00
Nick Mathewson
6365859825
Disable the dynlock functions we were giving openssl.
...
OpenSSL doesn't use them, and fwict they were never called. If some
version of openssl *does* start using them, we should test them before
we turn them back on.
See ticket 17926
2015-12-23 09:58:36 -05:00
Nick Mathewson
d7c841f467
Unit tests for crypto_force_rand_ssleay().
...
Part of 16794.
2015-12-23 09:58:08 -05:00
Nick Mathewson
b18f533cf0
Always test both ed25519 backends.
...
Part of #16794
2015-12-23 09:16:26 -05:00
Nick Mathewson
45f5e59751
Remove extra quotes from log message
...
Bug 17843; fix on ddc65e2b
2015-12-22 10:31:26 -05:00
Nick Mathewson
4ec0f8531e
Add an unreachable line to make the compiler happy
2015-12-22 10:27:04 -05:00
Nick Mathewson
f2a5df252f
whoops; really fix the 32-bit builds
2015-12-21 13:10:10 -05:00
Nick Mathewson
8ede8d411a
Fix a couple of jenkins issues from 12538.
2015-12-21 12:32:20 -05:00
Nick Mathewson
62f97545e4
Merge remote-tracking branch 'public/bug12538_merged'
2015-12-21 07:30:32 -05:00
Nick Mathewson
bb19799a49
Appease "make check-spaces"
2015-12-20 15:00:20 -05:00
Nick Mathewson
2d9c38ea72
Repair "make distcheck".
2015-12-20 14:57:27 -05:00
Nick Mathewson
7b0cbf22c0
Merge remote-tracking branch 'yawning/feature17783_take2'
2015-12-20 14:10:52 -05:00
Yawning Angel
081b159abc
Add the randomized large buffer test for SHA-3 incremental hashing.
...
This creates a random 100 KiB buffer, and incrementally hashes
(SHA3-512) between 1 and 5 * Rate bytes in a loop, comparing the running
digest with the equivalent one shot call from the start of the buffer.
2015-12-20 07:11:20 +00:00
Yawning Angel
9467485517
Add crypto_xof_t
and assorted routines, backed by SHAKE256.
...
This is an eXtendable-Output Function with the following claimed
security strengths against *all* adversaries:
Collision: min(d/2, 256)
Preimage: >= min(d, 256)
2nd Preimage: min(d, 256)
where d is the amount of output used, in bits.
2015-12-19 22:45:21 +00:00
Yawning Angel
687f9b3bd7
Add the SHA-3 hash functions to common/crypto.h.
...
* DIGEST_SHA3_[256,512] added as supported algorithms, which do
exactly what is said on the tin.
* test/bench now benchmarks all of the supported digest algorithms,
so it's possible to see just how slow SHA-3 is, though the message
sizes could probably use tweaking since this is very dependent on
the message size vs the SHA-3 rate.
2015-12-19 22:44:05 +00:00
Yawning Angel
5356eba6ca
Use tor specific headers and memwipe() instead of memset_s(), and build.
...
This is where things get tor specific. It's just replacing stdint.h
and memset_s with the tor compat code so going back is trivial...
2015-12-19 22:34:39 +00:00
Yawning Angel
18685df031
Expose an incremental API in addition to the one-shot routines.
...
The digest routines use init/update/sum, where sum will automatically
copy the internal state to support calculating running digests.
The XOF routines use init/absorb/squeeze, which behave exactly as stated
on the tin.
2015-12-19 22:34:39 +00:00
Yawning Angel
e993003792
Clean import of keccak-tiny ( https://github.com/coruus/keccak-tiny )
...
As of commit: 64b6647514212b76ae7bca0dea9b7b197d1d8186
2015-12-18 20:32:10 +00:00
Nick Mathewson
f0a4282e9a
fix routerlist/pick_directory_server_impl in light of 12538
2015-12-18 14:10:03 -05:00
Nick Mathewson
f5f35e9009
Fix config/directory_fetch after 12538 merge
2015-12-18 13:36:41 -05:00
Nick Mathewson
a6c9fcc486
Fix nodelist/node_is_dir test wrt 12538.
2015-12-18 13:24:23 -05:00
Nick Mathewson
c4fb7ad034
Merge branch 'feature12538_028_01_squashed'
2015-12-18 13:16:49 -05:00
Nick Mathewson
14c9b99051
mark a variable unused to fix a warning.
2015-12-18 13:16:40 -05:00
David Goulet
ea6f88478c
Use dir_server_mode() in find_dl_schedule()
...
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-12-18 13:14:10 -05:00
Nick Mathewson
0c8e042c30
Restore semantics of advertise vs serve on directory cacheing
...
When we are low on accounted bandwidth, we stop advertising that
we're a directory, but we will continue to answer directory
requests, just as before.
2015-12-18 13:14:10 -05:00
Nick Mathewson
54406f78b8
Change dataflow on generating 'dir-cache' flag.
...
Convention is that router_dump_router_to_string() should look at its
input "router", which should be generated by
router_build_fresh_descirptor().
2015-12-18 13:14:10 -05:00
Matthew Finkel
6a5528356f
Assert rs are added in con and con_md tests
2015-12-18 13:14:10 -05:00
Matthew Finkel
185c93c954
Automatically generate md-con method vers in test
2015-12-18 13:14:10 -05:00
Matthew Finkel
21654ca7bd
Let make_consensus_method_list be used in tests
2015-12-18 13:14:10 -05:00
Matthew Finkel
fb80a748ea
A router must be a dir cache before it may be HSDir
...
Fixes #15801
2015-12-18 13:14:09 -05:00
Matthew Finkel
3007de8efc
{dis,en}abling DirCache is a semantic change
2015-12-18 13:14:09 -05:00
Matthew Finkel
d49ad438a8
Rebuild descriptor when DirCache is {dis,en}abled
2015-12-18 13:14:09 -05:00
Matthew Finkel
997f779a7f
Add new DirCache configuration option
...
This will give relay operators the ability of disabling the caching of
directory data. In general, this should not be necessary, but on some
lower-resource systems it may beneficial.
2015-12-18 13:14:09 -05:00
Matthew Finkel
e0bd6cdef2
Add unit test for router_pick_directory_server_impl
2015-12-18 13:14:09 -05:00
Matthew Finkel
0a7d22a664
Client should check if dir server has open dir port or handles tunnelled requests
...
Final piece of prop 237. Closes 12538.
2015-12-18 13:14:09 -05:00
cypherpunks
59e5bf7e2a
Remove an extra space in backtrace version string
2015-12-18 13:09:05 -05:00
cypherpunks
4c55ccbe95
Fix a memory leak in the backtrace test
2015-12-18 13:09:05 -05:00
cypherpunks
afc5af3f00
Log the backtrace when the backtrace test fails
2015-12-18 13:09:04 -05:00
Nick Mathewson
0c5d8d9a4f
Move some more code inside a tortls.c ifdef to fix deadcode warning.
2015-12-18 11:11:42 -05:00
Nick Mathewson
4ede2decad
Fix an unreached null-pointer deref in connection tests
...
This is CID 1343603
2015-12-18 10:35:25 -05:00
Nick Mathewson
9b1c491ec6
Fix a buffer overrun in connection tests.
...
This is CID 1343601.
2015-12-18 10:32:50 -05:00
Nick Mathewson
498897e33d
Fix a coverity uninitialized-pointer warning in policy tests.
...
This is CID 1340255
2015-12-18 10:29:27 -05:00
Nick Mathewson
428e2b7636
Fix a coverity NULL-pointer deref warning in the DNS tests.
...
This is CID 1340251
2015-12-18 10:27:30 -05:00
Nick Mathewson
6b5b1a02d4
Fix a coverity NULL-pointer deref warning in the tortls tests.
...
Also, make our cert validation code more NULL-resistant.
This is CID 1327891.
2015-12-18 10:25:15 -05:00
Nick Mathewson
2e99371eb9
Looks like I added one X509_free too many :(
2015-12-18 10:20:14 -05:00
Nick Mathewson
9e2c4ee557
Fix some dead code in tortls.c
...
If SSL_CIPHER_find exists, then we won't use either of the two
kludges that would replace it.
Found by Coverity; fixes CID 1340256.
2015-12-18 10:04:01 -05:00
Nick Mathewson
4604b3ab19
Fix a null-pointer deref when writing geoip stats
...
Found by coverity; CID 1327892.
2015-12-18 10:00:44 -05:00
Nick Mathewson
2e74d182b2
Fix remaining memory leaks in unit tests.
2015-12-18 09:58:14 -05:00
cypherpunks
6598581d81
Add zlib path when linking the switch_id test
2015-12-18 08:42:16 -05:00
Nick Mathewson
f96d191cf3
Merge branch '17752_again'
2015-12-17 16:31:56 -05:00
Nick Mathewson
8585cc57f8
Merge branch 'maint-0.2.7'
2015-12-17 14:57:16 -05:00
Nick Mathewson
2cbaf39af4
Add some more ed25519 key files to the seccomp sandbox list
...
Fixes bug 17675; bugfix on 0.2.7.3-alpha.
2015-12-17 14:56:24 -05:00
Nick Mathewson
f1be33fc00
Another try at fixing 17752
...
I believe that the final SMARTLIST_DEL_CURRENT was sometimes
double-removing items that had already been removed by
connection_mark_unattached_ap or
connection_ap_handshake_attach_circuit().
The fix here is to prevent iteration over the list that other
functions might be modifying.
2015-12-17 12:30:13 -05:00
cypherpunks
54d9632cdd
Fix unused variable errors
2015-12-17 12:18:07 -05:00
Nick Mathewson
4bb72a4d12
Return 77 means "skipped"
2015-12-17 08:36:31 -05:00
cypherpunks
759e6f8afb
Improve warning message
...
The user parameter is not checked so we do not know the user has been
specified.
2015-12-17 08:34:27 -05:00
cypherpunks
9d5e47d2d7
Add missing parentheses
2015-12-17 08:34:27 -05:00
cypherpunks
fd399ec850
Remove Windows specific data type usage
...
The Tor code base already contains usage of setsockopt(2) with an int as
their option value without problems.
2015-12-17 08:34:27 -05:00
cypherpunks
2d2312d989
Conform to the type signature of setsockopt(2)
...
According to the POSIX standard the option value is a pointer to void
and the option length a socklen_t. The Windows implementation makes the
option value be a pointer to character and the option length an int.
Casting the option value to a pointer to void conforms to the POSIX
standard while the implicit cast to a pointer to character conforms to
the Windows implementation.
The casts of the option length to the socklen_t data type conforms to
the POSIX standard. The socklen_t data type is actually an alias of an
int so it also conforms to the Windows implementation.
2015-12-17 08:34:27 -05:00
cypherpunks
596f9a4b4c
Use a Windows specific socket error code
2015-12-17 08:34:27 -05:00
cypherpunks
46694f2862
Do not run switch_id test on Windows
2015-12-17 08:34:27 -05:00
Nick Mathewson
b9714e1366
Merge remote-tracking branch 'teor/fix-multi-dir'
2015-12-16 20:04:49 -05:00
teor (Tim Wilson-Brown)
1b70497948
Prop210: Fix directory fetch tests
...
Check that directory fetches behave as expected under Prop 210.
2015-12-17 11:40:49 +11:00
teor (Tim Wilson-Brown)
e7e61ec7ec
Prop210: Check fallback directories and authorities work as expected
...
Also clarify comments.
2015-12-17 11:39:40 +11:00
teor (Tim Wilson-Brown)
9882a88b74
Prop210: Only clients benefit from multiple consensus downloads
...
Anything that's a server can afford to wait for a few minutes.
(Except for bridge relays, which act like clients.)
2015-12-17 11:38:24 +11:00
Nick Mathewson
e6be486aea
More emergency-check code for un-removed pending entry conns
...
This might also be what #17752 needs.
2015-12-16 19:16:07 -05:00
Nick Mathewson
24fcb6adbb
Add an edge_about_to_close() call to ap_about_to_close().
...
Fixes #17876
2015-12-16 18:52:34 -05:00
Nick Mathewson
613e0e1c1a
Move pending-connection code into connection_ap_about_to_close
...
It is AP-specific, so that's where it belongs. This shouldn't have
caused a bug, but due to #17876 , we were never actually calling
connection_edge_about_to_close from connection_ap_about_to_close,
causing bug #17874 (aka bug #17752 ).
2015-12-16 18:49:23 -05:00