| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Run maint/add_warning
|
| |\
| |
| |
| |
| | |
tor-proto,tor-netdir: add flow control consensus parameters
See merge request tpo/core/arti!3249
|
| | | |
|
| |/
|
|
|
|
|
|
| |
This is fine because we still default to non-cc circuits unless the
"flowctl-cc" feature is enabled. See `exit_circparams_from_netparams`
and `onion_circparams_from_netparams` from `tor_circmgr::build`, where
both will only call `build_cc_vegas()` if `cfg(feature = "flowctl-cc")`,
and otherwise call `build_cc_fixedwindow()`.
|
| |
|
|
|
|
|
|
|
|
| |
```text
warning: duplicated attribute
--> crates/tor-hsservice/src/timeout_track.rs:630:14
|
630 | #![allow(clippy::needless_pass_by_value)] // TODO hoist into standard lint block
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds the three new parameters specified in Prop 362 [0].
Two of these replace hardcoded defaults in the code.
The third, HiddenServiceProofOfWorkV1ServiceIntroTimeoutSeconds, is not
implemented yet, but will be in a future commit.
[0]: https://spec.torproject.org/proposals/362-update-pow-control-loop.html
|
| |\
| |
| |
| |
| |
| |
| | |
Implement proposal 360 (limit HsDesc inflation opportunities)
Closes #2046
See merge request tpo/core/arti!3070
|
| | | |
|
| | |
| |
| |
| | |
(maxima are as amended in torspec!411)
|
| |/
|
|
| |
Made with https://crates.io/crates/typos-cli
|
| |
|
|
|
|
|
| |
On one hand, this can be quite noisy when something *is* out of range.
On the other hand, a clamped value shouldn't normally happen, and is
likely to result in surprising and otherwise difficult-to-debug
behavior.
|
| | |
|
| |
|
|
|
|
|
|
| |
This matches the spec change:
<https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/406>
Progress on:
<https://gitlab.torproject.org/tpo/core/chutney/-/issues/40038>
|
| |
|
|
|
| |
- https://github.com/rust-lang/rust-clippy/issues/11764 was fixed upstream, so
this is no longer needed.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Related #534
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
| |
These are tentative, so I haven't added them to param-spec yet.
Part of #1729
|
| |
|
|
| |
Spotted in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2053#note_3012632
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
See also torspec!258
Part of #1272
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
(Also, correct the comments that describe them.)
We may as well match the spec names when they aren't completely
bogus.
We are already renaming these parameters for this release, so it
isn't an additional breaking change.
|
| |
|
|
|
|
| |
The old names were somewhat inaccurate. (I would have considered
keeping and deprecating the old names, but we already have breaking
changes in tor-netdir.)
|
| |
|
|
|
|
|
|
|
|
| |
clippy in current stable thinks
|(a, b)| (a, b)
is always the identity function, but due to match ergonomics, it might
be an implicit copy.
This is fixed in nightly by
https://github.com/rust-lang/rust-clippy/pull/11792
|
| |
|
|
|
|
| |
It does not help that C tor has a set of parameters and a set of
configuration options with exactly the same names which configure
the same thing in two slightly different ways.
|
| | |
|
| | |
|
| |
|
|
|
| |
This panics on error, and we're fine with a panic on misbehavior in
tests.
|
| |
|
|
|
|
|
| |
These are available unconditionally, since they represent
comparatively little storage and processing effort.
See param-spec.txt section 8 for the original information here.
|
| |
|
|
|
| |
This is precisely the result of running the rune in
maint/adhoc-add-lint-blocks.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit implements the round-trip-time estimation algorithm from Tor
proposal 324, validating the implementation against the test vectors
found in C tor. (Note that at the time of writing, the new test vectors
may not be committed to C tor yet, but they will be soon.)
This also adds the necessary consensus parameters to `NetParameters`.
Some of them have been renamed in order to (hopefully) make them more
understandable.
|
| |
|
|
|
|
|
| |
Now it maintains an up-to-date set of default parameters to be
handed out if there is no directory.
Closes #528.
|
| | |
|
| |
|
|
| |
We need this because it is a type parameter for the types of nf_ito_*.
|
| |
|
|
| |
Pending an official value from the spec.
|
| | |
|
| |
|
|
|
| |
These all say, in one form or another, "there is no guard filtering;
there is only one selection". That's now false.
|
| |
|
|
|
| |
Remove all `use` statements for `TryFrom` and `TryInto`. These are
now redundant in Rust 2021.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had no function to infallibly convert BoundedInt32<{0 or 1},H>
into a u32, even though we could have. Because of that, we were
treating weight_scale as an i32 when logically it's a u32 or a
NonZeroU32.
Moreover, it turns out we were using an incorrect minimum for the
bwweightscale param, which would in theory have allowed the
authorities to make us divide by zero.
This patch introduces the necessary From<> implementation and uses
it. It corrects the binimum bwweightscale, and prevents a
division-by-zero issue in case weight_scale is zero.
|
| |
|
|
|
| |
I've opened torspec!54 to fill in the missing parts of the spec
about these issues.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This is a big change, but it does simplify the type of Builder a
little, and isolates locking across different (potential) timeout
estimator types.
|
| |
|
|
|
|
|
| |
There are some missing parts here (like persistence and tests)
and some incorrect parts (I am 90% sure that the "exploratory
circuit" flag is bogus). Also it is not integrated with the circuit
manager code.
|
| | |
|