]>
git.ipfire.org Git - thirdparty/tor.git/log
Nick Mathewson [Tue, 14 May 2019 23:49:50 +0000 (19:49 -0400)]
Make testing_disable_reproducible_rng() log seed on test failure
This should let us simplify test_prob_distr.c and other stuff in the
future.
Nick Mathewson [Tue, 14 May 2019 23:47:43 +0000 (19:47 -0400)]
Give tinytest a function to say whether the current test has failed
Nick Mathewson [Wed, 15 May 2019 11:41:42 +0000 (07:41 -0400)]
Merge branch 'maint-0.4.0'
Nick Mathewson [Wed, 15 May 2019 11:41:42 +0000 (07:41 -0400)]
Merge branch 'maint-0.3.5' into maint-0.4.0
Nick Mathewson [Wed, 15 May 2019 11:41:34 +0000 (07:41 -0400)]
Merge branch 'bug30475_035' into maint-0.3.5
George Kadianakis [Wed, 15 May 2019 10:46:20 +0000 (13:46 +0300)]
Merge branch 'maint-0.4.0'
George Kadianakis [Wed, 15 May 2019 10:45:39 +0000 (13:45 +0300)]
Merge branch 'tor-github/pr/1013' into maint-0.4.0
Nick Mathewson [Tue, 14 May 2019 15:43:10 +0000 (11:43 -0400)]
Merge remote-tracking branch 'tor-github/pr/1004'
George Kadianakis [Tue, 14 May 2019 12:15:09 +0000 (15:15 +0300)]
Merge branch 'tor-github/pr/1006'
Nick Mathewson [Mon, 13 May 2019 18:34:16 +0000 (14:34 -0400)]
Fix a compilation warning: function does not have to be STATIC.
Nick Mathewson [Mon, 13 May 2019 18:33:31 +0000 (14:33 -0400)]
Merge branch 'bug28683_30173_29203_squashed'
Mike Perry [Thu, 18 Apr 2019 18:14:31 +0000 (18:14 +0000)]
The practracker beatings will continue until the functions get smaller.
Mike Perry [Wed, 17 Apr 2019 23:37:22 +0000 (23:37 +0000)]
Changes file for bugs28693+30173+29203.
Mike Perry [Wed, 17 Apr 2019 23:21:54 +0000 (23:21 +0000)]
Tests for bugs 28683, 30173, and 29203.
Mike Perry [Wed, 17 Apr 2019 06:09:06 +0000 (06:09 +0000)]
Bug 29203: Provide ReducedCircuitPadding torrc and consensus params
Mike Perry [Wed, 17 Apr 2019 05:51:39 +0000 (05:51 +0000)]
Bug 28693: Provide Torrc option to disable circuit padding.
Nick Mathewson [Mon, 13 May 2019 18:25:54 +0000 (14:25 -0400)]
Merge remote-tracking branch 'tor-github/pr/998'
David Goulet [Mon, 13 May 2019 14:00:39 +0000 (10:00 -0400)]
sendme: Fix coverity CID
1444999
The code flow in theory can end up with a layer_hint to be NULL but in
practice it should never happen because with an origin circuit, we must have
the layer_hint.
Just in case, BUG() on it if we ever end up in this situation and recover by
closing the circuit.
Fixes #30467.
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 13 May 2019 11:34:00 +0000 (07:34 -0400)]
Merge branch 'tor-github/pr/976'
Nick Mathewson [Fri, 10 May 2019 21:47:43 +0000 (17:47 -0400)]
Don't pass a NULL into a %s when logging client auth file load failure
Fortunately, in 0.3.5.1-alpha we improved logging for various
failure cases involved with onion service client auth.
Unfortunately, for this one, we freed the file right before logging
its name.
Fortunately, tor_free() sets its pointer to NULL, so we didn't have
a use-after-free bug.
Unfortunately, passing NULL to %s is not defined.
Fortunately, GCC 9.1.1 caught the issue!
Unfortunately, nobody has actually tried building Tor with GCC 9.1.1
before. Or if they had, they didn't report the warning.
Fixes bug 30475; bugfix on 0.3.5.1-alpha.
George Kadianakis [Fri, 10 May 2019 09:49:01 +0000 (12:49 +0300)]
Merge branch 'tor-github/pr/973'
David Goulet [Wed, 8 May 2019 12:02:28 +0000 (08:02 -0400)]
Merge branch 'tor-github/pr/1000'
Signed-off-by: David Goulet <dgoulet@torproject.org>
Neel Chauhan [Tue, 7 May 2019 15:24:53 +0000 (11:24 -0400)]
Only call tor_addr_parse() in circuit_is_acceptable() when needed
David Goulet [Tue, 7 May 2019 12:02:39 +0000 (08:02 -0400)]
Merge branch 'tor-github/pr/994'
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Mon, 6 May 2019 21:16:37 +0000 (17:16 -0400)]
Merge remote-tracking branch 'tor-github/pr/923'
George Kadianakis [Mon, 6 May 2019 14:54:51 +0000 (17:54 +0300)]
Hiding crypt_path_t: Add changes file.
David Goulet [Fri, 3 May 2019 17:24:06 +0000 (13:24 -0400)]
sendme: Add FlowCtrl protover value
See proposal 289 section 4.3 for more details.
It describes the flow control protocol at the circuit and stream level. If
there is no FlowCtrl protocol version, tor supports the unauthenticated flow
control features from its supported Relay protocols.
At this commit, relay will start advertising FlowCtrl=1 meaning they support
authenticated SENDMEs v1.
Closes #30363
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Fri, 3 May 2019 17:11:03 +0000 (13:11 -0400)]
Merge branch 'tor-github/pr/954'
George Kadianakis [Fri, 3 May 2019 15:27:58 +0000 (18:27 +0300)]
Hiding crypt_path_t: Hide 'crypto' usage in sendme.c
George Kadianakis [Fri, 26 Apr 2019 11:20:26 +0000 (14:20 +0300)]
Hiding crypt_path_t: Change code to use the privatization macro.
George Kadianakis [Fri, 26 Apr 2019 11:19:14 +0000 (14:19 +0300)]
Hiding crypt_path_t: Hiding 'crypto' using a macro.
George Kadianakis [Fri, 26 Apr 2019 11:28:03 +0000 (14:28 +0300)]
Revert "Hiding crypt_path_t: Ensure that ->private is initialized."
This reverts commit
7497c9193a0f2c891a0802bf5fbe73cf7ec1ca99 .
George Kadianakis [Fri, 26 Apr 2019 11:26:22 +0000 (14:26 +0300)]
Revert "Hiding crypt_path_t: Create a constructor for crypt_path_t."
This reverts commit
ab8b80944967ee5a6a0c45dbf61839cf257bfe44 .
George Kadianakis [Tue, 9 Apr 2019 15:04:15 +0000 (18:04 +0300)]
Hiding crypt_path_t: Some TODO notes for future directions.
George Kadianakis [Tue, 9 Apr 2019 14:57:04 +0000 (17:57 +0300)]
Hiding crypt_path_t: Move some more crypt_path-specific functions.
- Move test-only cpath_get_n_hops() to crypt_path.c.
- Move onion_next_hop_in_cpath() and rename to cpath_get_next_non_open_hop().
The latter function was directly accessing cpath->state, and it's a first step
at hiding ->state.
George Kadianakis [Tue, 9 Apr 2019 09:38:19 +0000 (12:38 +0300)]
Hiding crypt_path_t: Rename some functions to fit the crypt_path API.
Some of these functions are now public and cpath-specific so their name should
signify the fact they are part of the cpath module:
assert_cpath_layer_ok -> cpath_assert_layer_ok
assert_cpath_ok -> cpath_assert_ok
onion_append_hop -> cpath_append_hop
circuit_init_cpath_crypto -> cpath_init_circuit_crypto
circuit_free_cpath_node -> cpath_free
onion_append_to_cpath -> cpath_extend_linked_list
George Kadianakis [Mon, 8 Apr 2019 13:36:12 +0000 (16:36 +0300)]
Hiding crypt_path_t: Trivial changes to satisfy check-local.
George Kadianakis [Wed, 10 Apr 2019 13:28:29 +0000 (16:28 +0300)]
Hiding crypt_path_t: Ensure that ->private is initialized.
Now that we are using a constructor we should be more careful that we are
always using the constructor to initialize crypt_path_t, so make sure that
->private is initialized.
George Kadianakis [Mon, 8 Apr 2019 13:18:44 +0000 (16:18 +0300)]
Hiding crypt_path_t: Create a constructor for crypt_path_t.
We are using an opaque pointer so the structure needs to be allocated on the
heap. This means we now need a constructor for crypt_path_t.
Also modify all places initializing a crypt_path_t to use the constructor.
George Kadianakis [Mon, 8 Apr 2019 12:43:23 +0000 (15:43 +0300)]
Hiding crypt_path_t: Fixup broken unittests.
George Kadianakis [Mon, 8 Apr 2019 12:37:02 +0000 (15:37 +0300)]
Hiding crypt_path_t: Move the free func in crypt_path.c.
Again everything is moved, apart from a free line using ->private.
George Kadianakis [Mon, 8 Apr 2019 12:32:23 +0000 (15:32 +0300)]
Hiding crypt_path_t: Move some more init funcs in crypt_path.c.
Everything is moved, but the argument of the function is edited to access
->private->crypto.
George Kadianakis [Mon, 8 Apr 2019 12:16:37 +0000 (15:16 +0300)]
Hiding crypt_path_t: Start with crypt_path.crypto .
Create some functions to eventually be able to hide crypt_path_t.crypto.
George Kadianakis [Mon, 8 Apr 2019 10:01:18 +0000 (13:01 +0300)]
Hiding crypt_path_t: Move init functions to crypt_path.c.
This commit only moves code.
George Kadianakis [Mon, 8 Apr 2019 09:46:40 +0000 (12:46 +0300)]
Hiding crypt_path_t: Move assert functions in crypt_path.c.
This commit only moves code, and makes one function public.
George Kadianakis [Mon, 8 Apr 2019 11:35:02 +0000 (14:35 +0300)]
Hiding crypt_path_t: Introduce opaque crypt_path_private_t .
This will be our base for incrementally hiding crypt_path_t.
David Goulet [Fri, 3 May 2019 14:56:12 +0000 (10:56 -0400)]
Merge branch 'tor-github/pr/984'
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Fri, 3 May 2019 12:51:28 +0000 (08:51 -0400)]
Note how to update the new website in the ReleasingTor.md instructions
Nick Mathewson [Thu, 2 May 2019 18:33:09 +0000 (14:33 -0400)]
Merge branch 'maint-0.4.0'
"ours" to avoid version bump.
Nick Mathewson [Thu, 2 May 2019 18:32:55 +0000 (14:32 -0400)]
Bump to 0.4.0.5-dev
Nick Mathewson [Thu, 2 May 2019 18:32:24 +0000 (14:32 -0400)]
forward-port changelog and releasenotes from 0.4.0.5
George Kadianakis [Thu, 2 May 2019 15:12:52 +0000 (18:12 +0300)]
Merge branch 'tor-github/pr/986'
David Goulet [Thu, 2 May 2019 15:10:41 +0000 (11:10 -0400)]
sendme: Add changes file for prop289
Signed-off-by: David Goulet <dgoulet@torproject.org>
George Kadianakis [Thu, 2 May 2019 14:48:09 +0000 (17:48 +0300)]
Merge branch 'tor-github/pr/999'
Nick Mathewson [Thu, 2 May 2019 13:37:18 +0000 (09:37 -0400)]
Add comments to include.am files to note where new sources go
This mechanism isn't perfect, and sometimes it will guess wrong,
but it will help our automation.
Nick Mathewson [Tue, 30 Apr 2019 18:59:28 +0000 (14:59 -0400)]
Changes file for improved dirauth modularity (ticket 30345)
Nick Mathewson [Tue, 30 Apr 2019 17:04:18 +0000 (13:04 -0400)]
practracker updates.
Nick Mathewson [Tue, 30 Apr 2019 16:58:00 +0000 (12:58 -0400)]
Remove some now-needless dirauth includes
Nick Mathewson [Tue, 30 Apr 2019 16:52:00 +0000 (12:52 -0400)]
Make keypin.c dirauth-only
Nick Mathewson [Tue, 30 Apr 2019 16:48:00 +0000 (12:48 -0400)]
Make the bwauth.c module dirauth-only.
Nick Mathewson [Tue, 30 Apr 2019 16:42:33 +0000 (12:42 -0400)]
Move voteflags.[ch] to become dirauth only.
For various reasons, this was a nontrivial movement. There are
several places in the code where we do something like "update the
flags on this routerstatus or node if we're an authority", and at
least one where we pretended to be an authority when we weren't.
David Goulet [Thu, 2 May 2019 12:58:58 +0000 (08:58 -0400)]
sendme: Improve logging messages
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Thu, 2 May 2019 12:42:01 +0000 (08:42 -0400)]
Remove changes files that are already in 0.4.0.5 or earlier
Nick Mathewson [Thu, 2 May 2019 12:36:09 +0000 (08:36 -0400)]
Merge remote-tracking branch 'tor-github/pr/989'
Mike Perry [Wed, 1 May 2019 21:04:40 +0000 (21:04 +0000)]
The practracker beatings will continue until our files get smaller.
Mike Perry [Wed, 1 May 2019 21:03:23 +0000 (21:03 +0000)]
Changes file for bug29231.
Mike Perry [Wed, 1 May 2019 21:00:26 +0000 (21:00 +0000)]
Bug 29231: Report correct padding write totals and enabled totals.
Nick Mathewson [Wed, 1 May 2019 13:11:20 +0000 (09:11 -0400)]
Merge remote-tracking branch 'tor-github/pr/950'
Nick Mathewson [Tue, 30 Apr 2019 19:54:03 +0000 (15:54 -0400)]
Merge branch 'maint-0.4.0'
"ours" to avoid version bump
Nick Mathewson [Tue, 30 Apr 2019 19:53:53 +0000 (15:53 -0400)]
bump to 0.4.0.5
Nick Mathewson [Tue, 30 Apr 2019 15:33:00 +0000 (11:33 -0400)]
Make the reachability.c module dirauth-only.
Nick Mathewson [Tue, 30 Apr 2019 15:31:57 +0000 (11:31 -0400)]
Make the guardfraction.c module dirauth-only.
Nick Mathewson [Tue, 30 Apr 2019 15:31:03 +0000 (11:31 -0400)]
Make the process_descs.c module dirauth-only.
Nick Mathewson [Tue, 30 Apr 2019 15:29:31 +0000 (11:29 -0400)]
Make the dsigs_parse.c module dirauth-only.
Nick Mathewson [Tue, 30 Apr 2019 15:25:41 +0000 (11:25 -0400)]
Make the recommend_pkg file dirauth-only.
Nick Mathewson [Tue, 30 Apr 2019 18:49:05 +0000 (14:49 -0400)]
Replace all remaining tor_mem_is_zero() with fast_mem_is_zero()
Nick Mathewson [Tue, 30 Apr 2019 18:45:58 +0000 (14:45 -0400)]
Use safe_mem_is_zero in a few more places.
I don't believe any of these represent a real timing vulnerability
(remote timing against memcmp() on a modern CPU is not easy), but
these are the ones where I believe we should be more careful.
Nick Mathewson [Tue, 30 Apr 2019 18:43:35 +0000 (14:43 -0400)]
Rename tor_mem_is_zero to fast_mem_is_zero()
For memeq and friends, "tor_" indicates constant-time and "fast_"
indicates optimized. I'm fine with leaving the constant-time
"safe_mem_is_zero" with its current name, but the "tor_" prefix on
the current optimized version is misleading.
Also, make the tor_digest*_is_zero() uniformly constant-time, and
add a fast_digest*_is_zero() version to use as needed.
A later commit in this branch will fix all the users of
tor_mem_is_zero().
Closes ticket 30309.
Taylor Yu [Fri, 26 Apr 2019 18:25:12 +0000 (13:25 -0500)]
Changes file for ticket30007
Taylor Yu [Wed, 10 Apr 2019 22:22:36 +0000 (17:22 -0500)]
Clean up formatting after Coccinelle
Clean up some minor formatting quirks after the Coccinelle run.
Taylor Yu [Wed, 10 Apr 2019 22:04:09 +0000 (17:04 -0500)]
Run Coccinelle for control.c refactor
Taylor Yu [Wed, 10 Apr 2019 17:27:50 +0000 (12:27 -0500)]
Coccinelle scripts for control.c refactor
Taylor Yu [Wed, 10 Apr 2019 20:11:36 +0000 (15:11 -0500)]
Manually fix some control replies
Manually fix up some reply-generating code that the Coccinelle scripts
won't match. Some more complicated ones remain -- these are mostly
ones that accumulate data to send, and then call connection_buf_add()
or connection_write_str_to_buf() directly.
Taylor Yu [Tue, 9 Apr 2019 17:22:31 +0000 (12:22 -0500)]
Factor out control reply output
Create a set of abstractions for controller commands and events to
output replies to the control channel. The control protocol has a
relatively consistent SMTP-like structure, so it's helpful when code
that implements control commands and events doesn't explicitly format
everything on its own.
Taylor Yu [Mon, 8 Apr 2019 18:39:04 +0000 (13:39 -0500)]
Add clarifying comments to control_proto.c
Refer to control-spec.txt grammar productions in comments in
control_proto.c for clarity.
Taylor Yu [Mon, 8 Apr 2019 16:34:12 +0000 (11:34 -0500)]
Split reply formatting out of control_fmt.c
Split the core reply formatting code out of control_fmt.c into
control_proto.c. The remaining code in control_format.c deals with
specific subsystems and will eventually move to join those subsystems.
Taylor Yu [Fri, 5 Apr 2019 22:27:15 +0000 (17:27 -0500)]
Correct file name in doxygen comment
George Kadianakis [Tue, 30 Apr 2019 16:26:30 +0000 (19:26 +0300)]
Merge branch 'maint-0.4.0'
George Kadianakis [Tue, 30 Apr 2019 16:26:14 +0000 (19:26 +0300)]
Merge branch 'tor-github/pr/978' into maint-0.4.0
George Kadianakis [Tue, 30 Apr 2019 16:25:32 +0000 (19:25 +0300)]
Merge branch 'tor-github/pr/985'
George Kadianakis [Tue, 30 Apr 2019 16:21:46 +0000 (19:21 +0300)]
Merge branch 'tor-github/pr/937'
George Kadianakis [Tue, 30 Apr 2019 16:21:15 +0000 (19:21 +0300)]
Merge branch 'tor-github/pr/936'
George Kadianakis [Tue, 30 Apr 2019 16:13:57 +0000 (19:13 +0300)]
Merge branch 'tor-github/pr/993'
George Kadianakis [Tue, 30 Apr 2019 16:13:30 +0000 (19:13 +0300)]
Merge branch 'tor-github/pr/983'
David Goulet [Tue, 30 Apr 2019 15:50:36 +0000 (11:50 -0400)]
Merge branch 'tor-github/pr/980'
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Tue, 30 Apr 2019 15:17:45 +0000 (11:17 -0400)]
Merge branch 'tor-github/pr/909'
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Fri, 26 Apr 2019 17:17:35 +0000 (13:17 -0400)]
Rename and clarify some functions for periodic events
When we tell the periodic event manager about an event, we are
"registering" that event. The event sits around without being
usable, however, until we "connect" the event to libevent. In the
end, we "disconnect" the event and remove its libevent parts.
Previously, we called these operations "add", "setup", and
"destroy", which led to confusion.
Nick Mathewson [Fri, 26 Apr 2019 16:46:14 +0000 (12:46 -0400)]
Remove now-extraneous calls to initialize_periodic_events().
This is now the responsibility of the mainloop's subsystem initializer.
Nick Mathewson [Thu, 25 Apr 2019 19:12:10 +0000 (15:12 -0400)]
Changes file for periodic event movement
Nick Mathewson [Thu, 25 Apr 2019 19:09:24 +0000 (15:09 -0400)]
Move dirauth periodic events into dirauth module.
Closes ticket 30294.