Taylor Yu
bfd36177c4
Fix compilation of Rust crypto doctests
...
The doctests for src/rust/crypto don't compile for multiple reasons,
including some missing exports and incorrect identifier paths. Fixes
bug 26415; bugfix on 0.3.4.1-alpha.
2018-06-19 13:53:26 -05:00
rl1987
5af29fbb63
When possible, use RFC5869 HKDF implementation from OpenSSL
...
Also, stop supporting empty HKDF input key material
2018-06-19 19:26:31 +03:00
Nick Mathewson
bd9ebb3763
Use a rust build script to set linker options correctly for tests.
...
We need this trick because some of our Rust tests depend on our C
code, which in turn depend on other native libraries, which thereby
pulls a whole mess of our build system into "cargo test".
To solve this, we add a build script (build.rs) to set most of the
options that we want based on the contents of config.rust. Some
options can't be set, and need to go to the linker directly: we use
a linker replacement (link_rust.sh) for these. Both config.rust and
link_rust.sh are generated by autoconf for us.
This patch on its own should enough to make the crypto test build,
but not necessarily enough to make it pass.
2018-06-19 12:01:13 -04:00
Nick Mathewson
f3267741e4
Merge branch 'maint-0.3.4'
2018-06-18 17:09:03 -04:00
Nick Mathewson
d27745d81d
Remove duplicate MODULE_DIRAUTH_SOURCES from libtor_testing.a
...
This was already added to LIBTOR_A_SOURCES; it doesn't need to get
added again.
Fixes bug 26402. Bugfix on 0.3.4.1-alpha.
2018-06-18 17:07:27 -04:00
Nick Mathewson
5879909826
Revert "Remove duplicate MODULE_DIRAUTH_SOURCES from libtor_testing.a"
...
This reverts commit 70d91bd059
.
2018-06-18 17:06:18 -04:00
Nick Mathewson
70d91bd059
Remove duplicate MODULE_DIRAUTH_SOURCES from libtor_testing.a
...
This was already added to LIBTOR_A_SOURCES; it doesn't need to get
added again.
Fixes bug 26402. Bugfix on 0.3.4.1-alpha.
2018-06-18 17:03:52 -04:00
Nick Mathewson
29982e5190
Remove redundant typedefs from _st.h files
...
The typedefs are already in or.h
2018-06-18 16:05:36 -04:00
David Goulet
a8e76f3824
test: Add missing headers in test_controller.c
...
After the big or.h refactoring, one single unit test file was missing two
headers for node_t and microdesc_t.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-06-18 15:07:30 -04:00
Nick Mathewson
104c2e9e7e
Merge branch 'split_or_h'
2018-06-18 14:18:34 -04:00
Nick Mathewson
bcc1368c77
Merge branch 'maint-0.3.4'
2018-06-18 13:10:47 -04:00
Nick Mathewson
3640c63498
Merge remote-tracking branch 'ffmancera-1/bug24658-dh_stream'
2018-06-17 20:39:13 -04:00
Nick Mathewson
16dd2f7bb0
Merge remote-tracking branch 'rl1987/bug25477'
2018-06-17 20:25:40 -04:00
Nick Mathewson
5746e210b8
Merge remote-tracking branch 'rl1987/feature8323_squashed2'
2018-06-17 20:20:15 -04:00
Nick Mathewson
d5e4b6983f
Merge remote-tracking branch 'rl1987/bug26282'
2018-06-17 19:32:08 -04:00
Nick Mathewson
987174cc6f
Merge remote-tracking branch 'github/bug26152_035'
2018-06-17 19:28:59 -04:00
Nick Mathewson
e6aa2d526e
Changes to make the rust crypto::mod tests compile
...
The digest tests don't link yet, though.
2018-06-16 13:22:44 -04:00
Nick Mathewson
8184f45ad9
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-06-16 13:10:19 -04:00
Nick Mathewson
ccf1eb3164
Fix a bug in my fix for #26258
...
The fix here is use a different bourne shell subsitution for
CARGO_ONLINE, so that an empty string counts as set.
2018-06-16 13:08:40 -04:00
Nick Mathewson
71ddfbaadd
Merge remote-tracking branch 'isis/bug26267' into maint-0.3.4
2018-06-16 12:43:28 -04:00
Neel Chauhan
9d7f148885
Make frac_nodes_with_descriptors() take and use for_direct_connect
2018-06-16 11:27:28 -04:00
Nick Mathewson
97cc61e947
Merge branch 'maint-0.3.4'
2018-06-16 10:20:27 -04:00
Nick Mathewson
530d67410f
Merge remote-tracking branch 'isis/bug26245' into maint-0.3.4
2018-06-16 10:19:26 -04:00
Nick Mathewson
8c1e2d7557
Merge branch 'maint-0.3.4'
2018-06-16 10:15:39 -04:00
Isis Lovecruft
748a0c7d0b
rust: Remove unused N_DIGEST_ALGORITHMS constant from crypto_digest.rs.
...
In the C code, this constant is only ever used in src/test/bench.c.
* FIXES part of #26245 : https://bugs.torproject.org/26245
2018-06-15 23:22:43 +00:00
Isis Lovecruft
d5a9b77a28
rust: Add comment and pragma on "unused" smartlist_t type.
...
* FIXES part of #26245 : https://bugs.torproject.org/26245
2018-06-15 22:49:39 +00:00
Taylor Yu
468bf58fa2
Make Rust warnings conditionally fatal
...
Set rustc flags to treat warnings as fatal if configured with
--enable-warnings.
2018-06-15 17:27:19 -05:00
Isis Lovecruft
ac5b1428ea
rust: Expose rand module from crypto crate.
2018-06-15 21:44:22 +00:00
Nick Mathewson
e22822e4ae
Bump master to 0.3.5.0-alpha-dev
2018-06-15 17:19:49 -04:00
Taylor Yu
9dd45456fe
Set default-features = false for rand_core
...
Apparently rand and rand_core need to be built with the "std" feature
set consistently, or there will be a compile error in rngs/jitter.rs.
2018-06-15 15:19:16 -05:00
Nick Mathewson
7dbe504f3e
Move hsdir_index_t into its own header.
2018-06-15 15:41:27 -04:00
Nick Mathewson
3191ba389d
Move extend_info_t into its own header.
2018-06-15 15:37:05 -04:00
Nick Mathewson
fde868ffe3
Extract cell type and their queues into new headers
...
Since packed_cell and destroy_cell exist only to be queued, they go
in the same headers as the queues.
2018-06-15 15:27:46 -04:00
Nick Mathewson
958df2829a
Extract cached_dir_t into a new header.
2018-06-15 15:06:00 -04:00
Nick Mathewson
f85d731e3a
Extract download_status_t into its own header.
2018-06-15 14:58:43 -04:00
Nick Mathewson
03fc83ab6d
Extract signed_descriptor_t into its own header.
2018-06-15 14:53:07 -04:00
Nick Mathewson
ed0731c7de
Extract routerinfo_t into its own header.
...
I was expecting this to be much worse.
2018-06-15 14:49:46 -04:00
Nick Mathewson
9d6276bca8
Extract microdesc_t into its own header.
2018-06-15 14:38:30 -04:00
Nick Mathewson
def1f20e1f
Extract routerstatus_t into its own header.
2018-06-15 14:33:03 -04:00
Nick Mathewson
00f1d1653e
Extract extrainfo_t into its own header
2018-06-15 14:21:25 -04:00
Nick Mathewson
1e4e9db815
Extract authority_cert_t into its own header
2018-06-15 14:14:11 -04:00
Nick Mathewson
b8ae4111e3
Extract desc_store_t and routerlist_t into their own headers.
2018-06-15 14:07:17 -04:00
Nick Mathewson
62315dab84
Extract ns_detached_signatures_st into its own header.
2018-06-15 13:49:30 -04:00
Nick Mathewson
50369f8981
Extract networkstatus_t and ..sr_info_t into their own headers
2018-06-15 13:45:15 -04:00
Nick Mathewson
89aefb0319
Extract networkstatus_vote_info_t into its own header.
2018-06-15 13:31:47 -04:00
Nick Mathewson
80c9e1e585
Move document_signature_t into its own header.
2018-06-15 13:27:11 -04:00
Nick Mathewson
f901ca958a
fixup! Extract node_t into its own header.
2018-06-15 13:23:44 -04:00
Nick Mathewson
72d2fd83d8
Split vote_{microdesc_hash,routerstatus}_t into their own headers
2018-06-15 13:23:02 -04:00
Nick Mathewson
d2942d127d
Extract node_t into its own header.
2018-06-15 13:13:33 -04:00
Nick Mathewson
8b7df72359
Split socks_request_t into its own header.
2018-06-15 13:01:50 -04:00
Nick Mathewson
ad52fe7e88
Move network_liveness_t into circuitstats.h and make it private
...
This type is only used in one place and never exposed.
2018-06-15 12:56:54 -04:00
Nick Mathewson
e13f59416c
Move measured_bw_line_t into dirserv.h
2018-06-15 12:54:55 -04:00
Nick Mathewson
c9e4ebf96a
Move fp_pair_t declaration to fp_pair.h.
2018-06-15 12:52:22 -04:00
Nick Mathewson
f8794b0b36
Move vote_schedule into its own header.
2018-06-15 12:50:07 -04:00
Nick Mathewson
5cdc234330
Split rend_authorized_client_t and encoded_.._t into their own headers
2018-06-15 12:36:59 -04:00
Nick Mathewson
990184da49
Extract rend_intro_point_t into its own header.
2018-06-15 12:23:06 -04:00
Nick Mathewson
22e9c64738
Extract rend_service_descriptor_t into its own header.
2018-06-15 12:18:17 -04:00
Nick Mathewson
7d2d131afa
Extract tor_version_t into its own header.
2018-06-15 12:12:15 -04:00
Nick Mathewson
d51de77311
Extract cpath_build_state into its own header.
...
More modules use this than I had expected!
2018-06-15 12:07:20 -04:00
Nick Mathewson
c846b0e486
Extract crypt_path_reference_t into its own header.
2018-06-15 11:57:48 -04:00
Nick Mathewson
b3f2c682b7
Extract crypt_path_t and relay_crypto_t into their own headers
2018-06-15 11:52:32 -04:00
Nick Mathewson
e0830ff7bf
Extract circuit_t into its own header
2018-06-15 11:38:36 -04:00
Nick Mathewson
a0bc164af5
Extract {or,origin}_circuit_t into their own headers
2018-06-15 11:34:33 -04:00
Nick Mathewson
bba998af65
Extract connection_t into its own header.
...
Now the entire connection_t hierarchy is extracted from or.h
2018-06-15 11:05:56 -04:00
Nick Mathewson
bcc283bcc9
Split or_handshake_{certs,state}_t into their own headers.
2018-06-15 10:56:15 -04:00
Nick Mathewson
19c34b4658
Move or_connection_t to its own header.
2018-06-15 10:48:50 -04:00
Nick Mathewson
6c0fe9d07c
Split listener_connection_t into its own header
...
For once, it's a type that is used almost nowhere else besides the
logical place.
2018-06-15 10:37:33 -04:00
Nick Mathewson
1416f54d1e
Split dir_connection_t into its own header
2018-06-15 10:31:21 -04:00
Nick Mathewson
3b917b2408
Split control_connection_t into its own header.
...
This one was actually fairly simple.
2018-06-15 10:17:27 -04:00
Nick Mathewson
5d5c442e6a
Split entry and edge_connection_t into their own headers.
2018-06-15 10:10:24 -04:00
Nick Mathewson
2a574d11ac
Move dir_server_t into its own header.
2018-06-14 16:58:01 -04:00
Nick Mathewson
df9a3fe86f
Make server_port_cfg_t and port_cfg_t into separate headers.
2018-06-14 16:48:15 -04:00
Nick Mathewson
6896ab28b2
Move entry_port_cfg_t into its own header.
2018-06-14 16:19:11 -04:00
Nick Mathewson
945d871da5
Merge branch 'maint-0.3.3'
2018-06-14 12:50:26 -04:00
Nick Mathewson
71065201dd
Merge remote-tracking branch 'public/bug26258_033' into maint-0.3.3
2018-06-14 12:47:09 -04:00
Nick Mathewson
ee860b8f37
squash! Make sure that the test_rust.sh script fails when a test fails
...
Also make sure that we're actually running the test from within the right
cwd, like we do when we're building. This seems necessary to avoid
an error when running offline.
Amusingly, it appears that we had this bug before: we just weren't
noticing it, because of bug 26258.
2018-06-13 12:21:25 -04:00
Nick Mathewson
ed7b135812
Merge remote-tracking branch 'asn-github/bug26358'
2018-06-13 10:00:37 -04:00
Nick Mathewson
049ba66746
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-13 09:58:05 -04:00
Nick Mathewson
286d02995f
Merge branch 'maint-0.3.3'
2018-06-13 09:58:05 -04:00
Nick Mathewson
6017447e3a
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-13 09:58:04 -04:00
Nick Mathewson
94f3007627
Merge branch 'bug26158_031' into maint-0.3.1
2018-06-13 09:58:01 -04:00
Nick Mathewson
1c80eb92fa
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-13 09:57:10 -04:00
Nick Mathewson
76e9de7c6d
Merge branch 'maint-0.3.3'
2018-06-13 09:57:10 -04:00
Nick Mathewson
ff70cc84f8
Merge branch 'bug25686_diagnostic_032' into maint-0.3.2
2018-06-13 09:56:17 -04:00
Nick Mathewson
8c8ed91aae
Merge remote-tracking branch 'rl1987/bug24891'
2018-06-13 09:46:50 -04:00
George Kadianakis
99974d4c1e
Silence warning of relaycell/circbw tst.
...
Shouldn't send RELAY_COMMAND_DATA cell with 0 stream id.
2018-06-13 14:14:17 +03:00
George Kadianakis
2520ee34c6
Require live consensus to compute responsible HSDirs.
...
Here is how this changes the HSv3 client-side and service-side:
For service side we already required live consensus to upload descriptors (see
9e900d1db7
) so we should never get there without
a live consensus.
For the client-side we now require a live consensus to attempt to connect to
HS. While this changes the client behavior in principle, it doesn't really
change it, because we always required live consensus to set HSDir indices, so
before this patch a client with no live consensus would try to compute
responsible HSDirs without any HSDir indices and bug out. This makes the client
behavior more consistent, by requiring a live consensus (and hence a
semi-synced clock) for the client to connect to an HS entirely.
The alternative would have been to allow setting HSDir indices with a non-live
consensus, but this would cause the various problems outlined by commit
b89d2fa1db
.
2018-06-13 13:42:34 +03:00
Nick Mathewson
bbbb5f39be
bump to 0.3.3.7-dev
2018-06-12 12:05:09 -04:00
Nick Mathewson
ccf2d65610
bump to 0.3.4.2-alpha-dev
2018-06-12 12:04:58 -04:00
Nick Mathewson
16381b579e
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-06-12 09:44:17 -04:00
Nick Mathewson
53513e4bfe
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-12 09:44:17 -04:00
Nick Mathewson
eaa359650c
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-12 09:44:17 -04:00
Nick Mathewson
03f3ee6d74
Merge branch 'maint-0.3.3'
2018-06-12 09:44:17 -04:00
Linus Nordberg
6cf9288518
Add IPv6 orport address for dannenberg.
2018-06-12 09:44:01 -04:00
Nick Mathewson
f2e7570c75
Bump to 0.3.3.7
2018-06-12 08:57:09 -04:00
Nick Mathewson
6230dfaf14
Merge branch 'maint-0.3.3'
2018-06-12 08:18:57 -04:00
Nick Mathewson
5d8a927aa3
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-12 08:18:56 -04:00
Nick Mathewson
7fff99110b
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-12 08:18:56 -04:00
Nick Mathewson
d84581a3e6
Merge remote-tracking branch 'teor/bug26272-031' into maint-0.3.1
2018-06-12 08:18:53 -04:00
Nick Mathewson
f4e51990b9
Merge remote-tracking branch 'rl1987/bug26283'
2018-06-12 08:17:48 -04:00
Nick Mathewson
74ac463e7f
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-12 08:11:20 -04:00
Nick Mathewson
6dca180ae9
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-12 08:11:20 -04:00
Nick Mathewson
b2470f5140
Merge branch 'maint-0.3.3'
2018-06-12 08:11:20 -04:00
Nick Mathewson
19f3868523
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-06-12 08:11:19 -04:00
Nick Mathewson
fa195626bd
bump to 0.3.4.2-alpha
2018-06-11 16:49:17 -04:00
Nick Mathewson
faf4580061
Several attempts to diagnose ticket 25686
...
There are a few reasons that relays might be uploading desciptors
without saying X-Desc-Gen-Reason:
1. They are running an old version of our software, before 0.3.2.stable.
2. They are not running our software, but they are claiming they
are.
3. They are uploading through a proxy that strips X-Desc-Gen-Reason.
4. They somehow had a bug in their software.
According to the 25686 data, 1 is the most common reason. This
ticket is an attempt to diagnose case 4, or prove that case 4
doesn't actually happen.
2018-06-11 16:24:00 -04:00
Karsten Loesing
ae540569ce
Update geoip and geoip6 to the June 7 2018 database.
2018-06-11 21:58:55 +02:00
Nick Mathewson
f399887cfe
Merge remote-tracking branch 'mikeperry-github/bug26259'
2018-06-08 10:17:00 -04:00
Nick Mathewson
a141127435
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-08 10:12:57 -04:00
Nick Mathewson
dd63033fcb
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-08 10:11:57 -04:00
Nick Mathewson
1ef8023e00
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-06-08 10:11:57 -04:00
Nick Mathewson
aef0607f38
Merge branch 'maint-0.3.3'
2018-06-08 10:11:57 -04:00
Nick Mathewson
c27bb4072c
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-08 10:11:57 -04:00
rl1987
719b5c1d27
Avoid out-of-bounds smartlist access in protover_compute_vote()
...
and contract_protocol_list()
2018-06-08 10:11:32 -04:00
rl1987
25341245ae
Implement GETINFO md/all
2018-06-08 13:25:25 +03:00
rl1987
39bbb8d9cf
Avoid casting smartlist index implicitly
2018-06-04 11:56:37 +03:00
rl1987
9876575d2c
Silence -Wbad-function-cast warning (when DEBUG_SMARTLIST is on)
2018-06-03 16:45:09 +03:00
teor
8366be3b51
Silence unused-const-variable warnings in zstd.h on some gcc versions
...
Fixes bug 26272; bugfix on 0.3.1.1-alpha.
2018-06-02 14:11:04 -07:00
Nick Mathewson
3716ddf1b4
Merge remote-tracking branch 'rl1987/doc25237'
2018-06-02 11:35:06 -07:00
Nick Mathewson
9f884a38e3
Merge branch 'maint-0.3.3'
2018-06-02 10:36:49 -07:00
Nick Mathewson
f15f90e2ca
Merge branch 'bug26121-033-squashed' into maint-0.3.3
2018-06-02 10:36:44 -07:00
Mike Perry
fe5764012a
Bug 26121: Improve BUILDTIMEOUT_SET accuracy.
...
We were miscounting the total number of circuits for the TIMEOUT_RATE and
CLOSE_RATE fields of this event.
2018-06-02 10:36:36 -07:00
Nick Mathewson
00e150a0e4
Merge branch 'bug25939_034_01_squashed'
2018-06-02 10:33:33 -07:00
David Goulet
66e76066e0
hs-v3: Build onion address before registering ephemeral service
...
With the work on #25500 (reducing CPU client usage), the HS service main loop
callback is enabled as soon as the HS service map changes which happens when
registering a new service.
Unfortunately, for an ephemeral service, we were building the onion address
*after* the registration leading to the "service->onion_address` to be an
empty string.
This broke the "HS_DESC CREATED" event which had no onion address in it. And
also, we were logging an empty onion address for that service.
Fixes #25939
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-06-02 10:33:20 -07:00
rl1987
b7fae0f48c
Heed --disable-unittests properly
2018-06-02 12:53:04 +03:00
rl1987
f8d549db7b
Point reader to a section in tor-spec.txt
2018-06-02 11:15:10 +03:00
Mike Perry
93ee227e18
Bug 26259: Don't count 0-length RELAY_COMMAND_DATA in CIRC_BW OVERHEAD
...
This cell should be treated as invalid for purposes of CIRC_BW.
2018-06-01 00:23:08 +00:00
Nick Mathewson
9d06c41c6e
Make sure that the test_rust.sh script fails when a test fails
...
Exit codes from find(1) seem not to be so reliable as we had hoped.
Closes ticket 26258; bugfix on 0.3.3.4-alpha when we fixed #25560
2018-05-31 17:15:57 -07:00
rl1987
eb7a3fae08
Refrain from mentioning old bug in a warning
2018-05-30 19:44:20 +02:00
Nick Mathewson
d7bbfd0f62
Fix various typos
2018-05-30 07:57:22 -07:00
Nick Mathewson
fa1890e97f
Merge remote-tracking branch 'public/bug25691_033_again_squashed' into maint-0.3.3
2018-05-27 10:03:11 -04:00
Nick Mathewson
3f3739c6e0
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-05-24 09:40:06 -04:00
Nick Mathewson
f48fb8a720
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-05-24 09:40:06 -04:00
Nick Mathewson
f42739e746
Merge branch 'maint-0.3.3'
2018-05-24 09:40:06 -04:00
Nick Mathewson
0ef432d457
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-05-24 09:40:06 -04:00
Nick Mathewson
c000763f1e
Merge branch 'bug26116_033' into maint-0.3.3
2018-05-24 09:40:00 -04:00
Nick Mathewson
c380562aed
Merge branch 'bug26116_029' into maint-0.2.9
2018-05-24 09:39:46 -04:00
Nick Mathewson
aeb4be1d5a
Add a unit test for PEM-encrypted documents.
2018-05-24 09:36:33 -04:00
Nick Mathewson
36a107855b
Merge branch 'bug26156_034'
2018-05-23 09:08:57 -04:00
Nick Mathewson
ff27b7ce60
Update version to 0.3.3.6-dev
2018-05-22 18:05:28 -04:00
Nick Mathewson
38f8b3c63d
Merge branch 'maint-0.3.3'
2018-05-22 14:13:28 -04:00
Nick Mathewson
80d673ccea
Merge branch 'trove-2018-005_032' into maint-0.3.3
2018-05-22 14:13:23 -04:00
Nick Mathewson
7483aef896
avoid a signed/unsigned comparison.
2018-05-22 14:12:44 -04:00
Nick Mathewson
cde5c9d0c3
Merge branch 'maint-0.3.3'
2018-05-22 13:35:33 -04:00
Nick Mathewson
a5d4ce2b39
Make the TROVE-2018-005 fix work with rust.
2018-05-22 13:35:20 -04:00
Nick Mathewson
b858f576c3
Merge branch 'maint-0.3.3'
2018-05-22 12:54:31 -04:00
Nick Mathewson
6e8e005b53
Merge branch 'trove-2018-005_032' into maint-0.3.3
2018-05-22 12:54:26 -04:00
Nick Mathewson
240bb17714
uint breaks compilation on windows
2018-05-22 12:54:05 -04:00
Nick Mathewson
074b182baa
version bump to 0.3.3.6
2018-05-22 12:40:18 -04:00
Nick Mathewson
6442417fde
fix wide lines
2018-05-22 12:32:00 -04:00