| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
|
| |/ /
| |
| |
| | |
The lack of this seems to have been an oversight.
|
| |\ \
| |/
|/|
| |
| | |
fix error running check_licenses
See merge request tpo/core/arti!674
|
| |/
|
|
|
|
|
|
| |
--version was removed in a recent update
we use that to detected whether cargo-license is installed,
now use --help instead
|
| |\
| |
| |
| |
| |
| |
| | |
Reduce the arti crate's API surface; improve semver documentation.
Closes #522, #530, and #532
See merge request tpo/core/arti!664
|
| | | |
|
| | |
| |
| |
| | |
Closes #522.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The remaining unconditionally public APIs are those related to our
configuration objects, and the main_main() API.
The rationale for making main_main() public is to have an actual
entry point.
The rationale for making the config APIs public is:
1. We really do intend for others to be able to read our
configuration files using this API.
2. The structure of our configuration files is already part of our
interface.
Closes #530.
|
| | |
| |
| |
| |
| |
| |
| | |
It remains on-by-default, so users shouldn't notice a difference,
but it may help when we want to save a few bytes of binary size.
Closes #532
|
| |\ \
| | |
| | |
| | |
| | | |
tor-congestion: WIP implementation of RTT estimation
See merge request tpo/core/arti!525
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
tor-proto: Add a comment about the tor-proto layer.
Closes #531
See merge request tpo/core/arti!665
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We want to clarify that the tor-proto crate should only know _how_
its objects behave, not _why they behave that way_. (In other
words, we can have a "padding strategy" setting on a channel, but
not a "general usage" setting.)
Closes #531.
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Refactor tor-linkspec once more.
Closes #428
See merge request tpo/core/arti!662
|
| | |\ \
| |/ /
|/| |
| | | |
# Conflicts:
# crates/tor-netdir/semver.md
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Decrease the lifetimes for storing descriptors.
Closes #527
See merge request tpo/core/arti!669
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
These values were chosen experimentally, based on those from Tor, to
save disk space without wasting much bandwidth.
Closes #527.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
fix nighly ci
See merge request tpo/core/arti!668
|
| | | |/
| |/| |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
fix fs-misstrust on android
See merge request tpo/core/arti!667
|
| | |/ /
| | |
| | |
| | |
| | |
| | | |
it would fail to link at runtime due to missing getgrnam_r in bionic
and then it would fail again because some directory is group writeable
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Update shellexpand, and switch to non-fork
See merge request tpo/core/arti!661
|
| |/ /
| |
| |
| |
| |
| |
| |
| | |
Now we have bus>1 ownership of the crate name `shellexpand`. I have
made a release, and retired `shellexpand-fork`.
The new shellexpand release switches to a (quite similarly) unforked
version of `dirs`.
|
| |\ \
| | |
| | |
| | |
| | | |
Implement establish rendezvous cell
See merge request tpo/core/arti!651
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Revise our handling of the zeroize trait
Closes #254
See merge request tpo/core/arti!655
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Everything that is a secret encryption key, or an input that is used
to produce a secret encryption key, has to get zeroized. And that's
all!
Closes #254.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This does not yet make sure that `SecretBuf` is used where it
_should_ be, but at least it ensures that most uses of `SecretBytes`
will indeed act as intended, and make sure that whatever they
contain is zeroized.
It requires some corresponding changes to method calls for
correctness and type conformance.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This Writer is a simple wrapper around `Vec<u8>` that makes sure
that its contents are cleared whenever they are dropped _or
reallocated_.
The reallocation is the important part here: without that, we risk
not zeroizing the first allocation of the buffer.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Part of #254.
|
| | | |
| | |
| | |
| | | |
These are not secret.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using `zeroize` here tells these crates that they should make
various structures zeroize-on-drop.
(This is not yet implemented in `aes` 0.8.1, but support has been
merged in the repository for `aes`, so it should go out in the next
release.)
No corresponding feature flag is needed to enable zeroize-on-drop
for `rsa` and `*25519-dalek` private keys.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Delete unused Enum and fileinput in maint file
See merge request tpo/core/arti!660
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Add params() method to NetDirProvider
Closes #528
See merge request tpo/core/arti!658
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now it maintains an up-to-date set of default parameters to be
handed out if there is no directory.
Closes #528.
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This method will let users get the latest `NetParameters`, with
user-configured overrides, even if there is no current directory at
all.
Part of #528
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rename `.inc` and other included files to end in `.rs`
Closes #381
See merge request tpo/core/arti!645
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In order to mitigate syntax highlighting issues and a rust-analyzer bug
(https://github.com/rust-analyzer/rust-analyzer/issues/10178), rename
files that are included with the `include!` macro to have a `.rs`
extension.
Make sure the included files are outside `src/`, in order to not confuse
humans and automated editing tools that might mistake them for valid
Rust modules.
fixes arti#381
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
tor-rtcompat: s/micros/millis inside a flaky test
Closes #515
See merge request tpo/core/arti!644
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The other tests wait for 100 milliseconds; this one waits for 100
*microseconds* for some reason, which meant it was understandably flaky
if run on anything less than perfect conditions (arti#515).
This is probably a typo, so just change it.
fixes arti#515
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This had to become a new internal function, since at the point that
the handshake needs this code, it does not yet have a Channel to use.
This change made the error messages in the handshake code more
informative: and now they require a regex to check. Later, we might
want to defer formatting these strings, but I don't think we need
to do it now.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Doing this will make sure that we fix a correctness issue in netdir that
will be caused if we add more IDs.
(Also add RelayIdType::COUNT in tor-linkspec.)
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This will let us use `&RelayId` in all the places that take
`Into<RelayIdRef>`.
|
| | | | | |
|