| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This crate provides a compatibility layer in front of web-time,
which will serve three purposes:
1. Saving us from having to build web_time when we don't need it.
(This is mainly aesthetic.)
2. Allowing us to continue to use std::time::SystemTime to represent
our wall-clock times and dates.
This is fairly valuable, since we use a bunch of external crates
that expect std::time::SystemTime inputs and don't want a
web_time::SystemTime.
3. Add extension methods to web_time::Instant and std::time::Instant
so that we can enforce the use of web_time::Instant by
disallowing std::time::Instant::now().
(We can't just use the same trick as in (2) to use
std::time::Instant everywhere, since there is no way to convert a
web_time::Instant to a std::time::Instant.)
|
| |
|
|
|
|
|
|
| |
This is independent of other crates, since this one is lower-level
than the tor-* crates.
Note that we're using std::time::SystemTime except for its `now`
method; this will be our practice elsewhere too.
|
| | |
|
| |\
| |
| |
| |
| | |
Make wasm32-unknown pass clippy (with --no-default-features, with warnings) up through tor-dirmgr.
See merge request tpo/core/arti!3814
|
| | |
| |
| |
| |
| |
| |
| | |
This is temporary while we wait on arti#2106.
(This made cargo-sort have me move a section around. Not sure why it
cares.)
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
This commit adds a compile time assertion that a u32 can always be
safely casted into a usize.
|
| | |
| |
| |
| |
| |
| | |
Mark a failed apply from a consensus diff we generate as a bug as this
should not happen. We must obviously always accept the consensus diffs
we produce.
|
| | |
| |
| |
| |
| |
| |
| | |
This commit replaces the names crate with a simple hardcoded wordlist of
length 20, obtained from my systems wordlist.
Reason for that being that names triggers a cargo-audit failure.
|
| |/
|
|
|
|
|
|
| |
This commit implements support for the consensus diff generation.
Unlike CTor, it does not use its own custom algorithm but rather uses an
implementation of Myers' algorithm from the `imara-diff` crate, which is
pretty performant and comparable to size and run time to CTor, while
being much simpler in the interfacing code.
|
| |
|
|
|
|
|
| |
Advisory at https://rustsec.org/advisories/RUSTSEC-2026-0049
This issue doesn't affect Arti itself, since Arti doesn't actually
_use_ regular X.509 CAs or CRLs.
|
| |\
| |
| |
| |
| | |
Http connect outbound rebased
See merge request tpo/core/arti!3789
|
| | | |
|
| | | |
|
| |/
|
|
|
|
| |
Tests the key rotation code.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream `ssh-key` is missing some important features we need for
arti-relay:
* a bug fix without which we can't convert deserialized RSA keys to
their rsa counterparts: https://github.com/RustCrypto/SSH/pull/318
* @wesleyac 's patch https://github.com/RustCrypto/SSH/pull/412 for
allowing insecure (1024 bits long) RSA keys (needed because the
relay KS_relayid_rsa identity keys are 1024 bits long)
We plan to switch back to mainline `ssh-key` when `ssh-key 0.7.0` comes
out.
See the discussion in #2398 for more details.
|
| |
|
|
|
|
|
|
| |
This commit replaces the uses of sha1, sha2, and sha3 with their
respective pedants from tor-llcrypto for better consistency.
Internally, they still use the same logic and underlying crates but
let's use this encapsulation nonetheless.
|
| |
|
|
|
|
| |
This approach is better in order to guarantee that invariants are not
violated, such that the expiry timestamp not being earlier than the
valid after one for example.
|
| |
|
|
|
| |
This commit implements Sha1 for the database in order to use it for the
fingerprints in authority key certificates.
|
| |
|
|
|
| |
This commit implements Sha3_256 as a database type and uses it for
stroing `ConsensusMeta::unsigned_sha3_256`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit moves the `DocumentId` implementation into a macro called
`impl_hash_wrapper` that implements a hash type in a database compatible
fashion.
In our case, we implement this for `sha2::Sha256` and then type alias
`DocumentId` to this new hash. Yes, we originally moved away from a
type alias here, but I think this is fine because for the foreseeable
future, we will continue to use a hash here, just maybe not Sha2, but
the flexibility remains.
The motivation for this is to support other hash algorithms similarly
too.
|
| |\
| |
| |
| |
| | |
rpc: API for event-driven IO.
See merge request tpo/core/arti!3652
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Per discussion, it makes more sense to have the API be one
that gets called when our IO interests change.
Additionally, this commit removes the try_reading and try_writing
booleans, as previously discussed.
I've left a couple of XXXX comments where more documentation or
thought is likely needed.
|
| | |
| |
| |
| |
| |
| | |
This will improve performance for CGO.
Closes #2390.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
See #2387
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
Contains a small code change as `bare_relocation()` was replaced with
`value_relocation()`.
|
| | | |
|
| | | |
|