| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Without this, actually building circuits manually is a pain.
This API is behind the `experimental-api` feature, and so it does
not require a semver.md entry.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Add a new constant-time is_zero() check for RsaIdentity
See merge request tpo/core/arti!735
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As a matter of good crypto practice, we shouldn't use
short-circuiting checks to compare keys or key-like objects, since
the amount of time taken by those checks can leak information about
their inputs.
I don't think it's actually _necessary_ to use a constant-time
operation in this case, but let's establish the precedent.
This is a follow-up to !724.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are some places in the protocol where we have an all-zero RSA
identity that does not truly represent a key, but rather represents
an absent or unknown key. For these, it's better to use
`RsaIdentity::is_zero` instead of manually checking for a set of
zero bytes: it expresses the intent better, and ensures that the
operation is constant-time.
I am deliberately not introducing a more general IsZero trait here,
or implementing is_zero for anything else: This is the only one we
seem to need right now. We can generalize it later if we have to.
|
| |\ \
| | |
| | |
| | |
| | | |
Implement onion service Introduce1
See merge request tpo/core/arti!724
|
| | | | |
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
enumerate platform with getresuid support
Closes #582
See merge request tpo/core/arti!728
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
force no inlining on internal_macro_test
Closes #570
See merge request tpo/core/arti!727
|
| |/ /
| |
| |
| | |
it may fix this test when running in release, where the function gets inlined, so its name does not appear in the backtrace
|
| |\ \
| | |
| | |
| | |
| | | |
Add a dbg!() to diagnose #570.
See merge request tpo/core/arti!726
|
| |/ /
| |
| |
| |
| | |
This won't fix anything, but it will let us see what the backtrace
looks like when it fails.
|
| |\ \
| | |
| | |
| | |
| | | |
fix compilation error with async-std
See merge request tpo/core/arti!723
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`TaskSchedule`: give error on `sleep*()` if last handle is dropped
Closes #572
See merge request tpo/core/arti!725
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes an busy-loop.
When the last `TaskHandle` on a `TaskSchedule` is dropped, the
schedule is permanently canceled: whatever operation it was
scheduling should no longer be performed. But our code was broken:
the `sleep()` and `sleep_until_wallclock()` functions don't verify
whether the handles are dropped or not.
This breakage caused an CPU-eating busy-loop in
`sleep_until_wallclock`.
With this patch, we now return a `Result<(), SleepError>` from these
functions.
Fixes #572.
|
| | | | |
|
| | |/
|/| |
|
| |\ \
| |/
|/|
| |
| | |
CI: build-repro: Bump image to 1.63, and other improvements
See merge request tpo/core/arti!716
|
| | | |
|
| | |
| |
| |
| | |
We don't want any updates!
|
| | |
| |
| |
| | |
This makes it easier to test, and perform other kinds of stunts.
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
|
|
| |
tinystr 0.6.2 (which our Cargo.toml's permit and our Cargo.lock
specifies) has an MSRV of 1.60.
The symptom with earlier Rust is this from cargo:
error: failed to select a version for the requirement `tinystr = "^0.6.0"`
(which is, on the face of it, nonsense).
|
| |\
| |
| |
| |
| | |
document TOR_SKIP_CONTROLPORTTEST=1 for no warning on Tor Browser
See merge request tpo/core/arti!719
|
| |/ |
|
| |\
| |
| |
| |
| | |
READMEs: Remove many caveats and general tidying
See merge request tpo/core/arti!717
|
| | |
| |
| |
| |
| | |
The referenced ticket is closed and I think the top-level caveats
remaining after !717 are sufficient.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/717#note_2834307
|
| | | |
|
| | | |
|
| |/ |
|
| |\
| |
| |
| |
| |
| |
| | |
update to notify v5.0.0
Closes #454
See merge request tpo/core/arti!679
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Changelog fixes
See merge request tpo/core/arti!715
|
| | | | |
|
| |/ / |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Because we want to work more on ensuring that our semver stability
story is solid, we are _not_ bumping arti-client to 1.0.0 right now.
Here are the bumps we _are_ doing. Crates with "minor" bumps have
had API breaks; crates with "patch" bumps have had new APIs added.
Note that `tor-congestion` is not bumped here: it's a new crate, and
hasn't been published before.
```
tor-basic-utils minor
fs-mistrust minor
tor-config minor
tor-rtcompat minor
tor-rtmock minor
tor-llcrypto patch
tor-bytes patch
tor-linkspec minor
tor-cell minor
tor-proto minor
tor-netdoc patch
tor-netdir minor
tor-persist patch
tor-chanmgr minor
tor-guardmgr minor
tor-circmgr minor
tor-dirmgr minor
arti-client minor
arti-hyper minor
arti major
arti-bench minor
arti-testing minor
```
|
| | |
| |
| |
| |
| |
| |
| | |
Since our last round of releases, these crates have had either
trivial changes, or changes that did not affect their APIs.
Therefore we are bumping their versions, but not changing which
versions of them other crates depend on.
|
| |\ \
| |/
|/|
| |
| | |
Fix broken build and tests after arti!700.
See merge request tpo/core/arti!714
|