Mike Perry
010779176b
Bug 29085: Refactor non-padding accounting out of token removal.
...
This commit moves the padding state limit checks and the padding rate limit
checks out of the token removal codepath, and causes all three functions to
get called from a single circpad_machine_count_nonpadding_sent() function.
It does not change functionality.
2019-05-15 04:57:11 +00:00
Nick Mathewson
43d4119454
Merge remote-tracking branch 'tor-github/pr/1004'
2019-05-14 11:43:10 -04:00
George Kadianakis
0f4f4fdcf5
Merge branch 'tor-github/pr/1006'
2019-05-14 15:15:09 +03:00
Nick Mathewson
5d950f3edd
Fix a compilation warning: function does not have to be STATIC.
2019-05-13 14:34:16 -04:00
Nick Mathewson
9ad2eb8f73
Merge branch 'bug28683_30173_29203_squashed'
2019-05-13 14:33:31 -04:00
Mike Perry
507df74b31
The practracker beatings will continue until the functions get smaller.
2019-05-13 14:30:35 -04:00
Mike Perry
0d275ec592
Changes file for bugs28693+30173+29203.
2019-05-13 14:30:35 -04:00
Mike Perry
42eb02a327
Tests for bugs 28683, 30173, and 29203.
2019-05-13 14:30:35 -04:00
Mike Perry
621ea2315b
Bug 29203: Provide ReducedCircuitPadding torrc and consensus params
2019-05-13 14:30:35 -04:00
Mike Perry
f4064d6ce2
Bug 28693: Provide Torrc option to disable circuit padding.
2019-05-13 14:30:35 -04:00
Nick Mathewson
c6523a6398
Merge remote-tracking branch 'tor-github/pr/998'
2019-05-13 14:25:54 -04:00
David Goulet
def96ce838
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>
2019-05-13 10:00:39 -04:00
David Goulet
2f44786e30
Merge branch 'tor-github/pr/976'
2019-05-13 07:34:00 -04:00
George Kadianakis
501d1ae0bd
Merge branch 'tor-github/pr/973'
2019-05-10 12:49:01 +03:00
David Goulet
3885e7b44b
Merge branch 'tor-github/pr/1000'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-08 08:02:28 -04:00
Neel Chauhan
3cafdeb8c0
Only call tor_addr_parse() in circuit_is_acceptable() when needed
2019-05-07 11:52:56 -04:00
David Goulet
b72f5da03d
Merge branch 'tor-github/pr/994'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-07 08:02:39 -04:00
Nick Mathewson
c8c64caf37
Merge remote-tracking branch 'tor-github/pr/923'
2019-05-06 17:16:37 -04:00
George Kadianakis
e9769d6217
Hiding crypt_path_t: Add changes file.
2019-05-06 17:54:51 +03:00
David Goulet
07e4b09b5f
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>
2019-05-03 13:56:36 -04:00
David Goulet
2aa441b88e
Merge branch 'tor-github/pr/954'
2019-05-03 13:11:03 -04:00
George Kadianakis
7f2cd6545c
Hiding crypt_path_t: Hide 'crypto' usage in sendme.c
2019-05-03 18:29:51 +03:00
George Kadianakis
ea5f355fc9
Hiding crypt_path_t: Change code to use the privatization macro.
2019-05-03 18:15:26 +03:00
George Kadianakis
55d35c0caa
Hiding crypt_path_t: Hiding 'crypto' using a macro.
2019-05-03 18:15:26 +03:00
George Kadianakis
2ef0324639
Revert "Hiding crypt_path_t: Ensure that ->private is initialized."
...
This reverts commit 7497c9193a0f2c891a0802bf5fbe73cf7ec1ca99.
2019-05-03 18:15:26 +03:00
George Kadianakis
4060b7623d
Revert "Hiding crypt_path_t: Create a constructor for crypt_path_t."
...
This reverts commit ab8b80944967ee5a6a0c45dbf61839cf257bfe44.
2019-05-03 18:15:26 +03:00
George Kadianakis
2e9e3e7d41
Hiding crypt_path_t: Some TODO notes for future directions.
2019-05-03 18:15:26 +03:00
George Kadianakis
0ed5c6edf9
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.
2019-05-03 18:15:26 +03:00
George Kadianakis
58fbbc1409
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
2019-05-03 18:15:26 +03:00
George Kadianakis
593b7726e9
Hiding crypt_path_t: Trivial changes to satisfy check-local.
2019-05-03 18:15:26 +03:00
George Kadianakis
cd38e41620
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.
2019-05-03 18:15:11 +03:00
George Kadianakis
f5635989b0
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.
2019-05-03 18:15:11 +03:00
George Kadianakis
18d61c0e6e
Hiding crypt_path_t: Fixup broken unittests.
2019-05-03 18:15:11 +03:00
George Kadianakis
4bd0c4852a
Hiding crypt_path_t: Move the free func in crypt_path.c.
...
Again everything is moved, apart from a free line using ->private.
2019-05-03 18:15:11 +03:00
George Kadianakis
5f96b7abcc
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.
2019-05-03 18:15:11 +03:00
George Kadianakis
0c5176d00c
Hiding crypt_path_t: Start with crypt_path.crypto .
...
Create some functions to eventually be able to hide crypt_path_t.crypto.
2019-05-03 18:15:11 +03:00
George Kadianakis
f74a80dc3b
Hiding crypt_path_t: Move init functions to crypt_path.c.
...
This commit only moves code.
2019-05-03 18:15:00 +03:00
George Kadianakis
9584798e57
Hiding crypt_path_t: Move assert functions in crypt_path.c.
...
This commit only moves code, and makes one function public.
2019-05-03 18:15:00 +03:00
George Kadianakis
c3a5e6b436
Hiding crypt_path_t: Introduce opaque crypt_path_private_t .
...
This will be our base for incrementally hiding crypt_path_t.
2019-05-03 18:15:00 +03:00
David Goulet
b3492d53c3
Merge branch 'tor-github/pr/984'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-03 10:56:12 -04:00
Nick Mathewson
d20cfc00ce
Note how to update the new website in the ReleasingTor.md instructions
2019-05-03 08:51:28 -04:00
Nick Mathewson
1f13c2bd23
Merge branch 'maint-0.4.0'
...
"ours" to avoid version bump.
2019-05-02 14:33:09 -04:00
Nick Mathewson
2b54733dc0
Bump to 0.4.0.5-dev
2019-05-02 14:32:55 -04:00
Nick Mathewson
2fca2ed499
forward-port changelog and releasenotes from 0.4.0.5
2019-05-02 14:32:24 -04:00
George Kadianakis
b2c2cb9287
Merge branch 'tor-github/pr/986'
2019-05-02 18:12:52 +03:00
David Goulet
562bcbcfc2
sendme: Add changes file for prop289
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-02 11:10:41 -04:00
George Kadianakis
4d461e20f7
Merge branch 'tor-github/pr/999'
2019-05-02 17:48:09 +03:00
Nick Mathewson
721e65a1d5
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.
2019-05-02 09:37:18 -04:00
Nick Mathewson
ee36bfa6de
Changes file for improved dirauth modularity (ticket 30345)
2019-05-02 09:22:13 -04:00
Nick Mathewson
0f365e2f46
practracker updates.
2019-05-02 09:22:13 -04:00