| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For the most part, this is just code motion.
The only change here is that `prepare` is no longer a method on
`FileWatcher`. This decouples `FileWatcher` from `ConfigurationSources`,
enabling us to use it to watch files and directories that aren't
configuration.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
tor-ptmgr: make managed PTs optional ('managed-pts' feature flag)
Closes #1334
See merge request tpo/core/arti!2354
|
| | | |
| | |
| | |
| | |
| | | |
This conditionally compiles most of the code related to managed
transports.
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
Add and use `PeekableStream` and `UnobtrusivePeekableStream`
See merge request tpo/core/arti!2345
|
| | | | |
|
| | |/ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Now it exists unconditionally so that we can have our assertion for
public key consistency happen unconditionally. (Blinding secret
keys is not remotely in the critical path, so I'm not concerned
about the critical path.)
From a suggestion from Gabi on !2341.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the basic TorRelayConfig object along a builder in order to
create a TorRelay object.
At this commit, the configuration object only holds a "StorageConfig"
which is a simple starting point which will allow to expand to a KeyMgr
and then a ChanMgr along more configuration.
There is also no custom Error for the crate at this point.
Fixes #1534
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
Unlike generational-arena, slotmap is maintained.
Unlike slotmap, slotmap-careful should never be able to reuse the
same key for two different objects.
Closes #1282.
|
| |\
| |
| |
| |
| | |
New `slotmap-careful` crate to use when we mustn't re-use keys.
See merge request tpo/core/arti!2298
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This crate works as a drop-in replacement for
the generational arena types
`slotmap::{SlotMap, DenseSlotMap, HopSlotMap}`,
and is implemented a set of wrappers around those types.
The wrappers guarantee that slot versions numbers can never wrap
around by marking as unusable any slot whose version number
would otherwise get too high. (We add some leeway between our max
allowed version number and the largest possible version number,
so that we can detect bugs.)
The code relies on the serde encoding of slotmap key versions.
For notes on stability and (surprisingly good) performance,
see the comments.
Test coverage is around 98% for the lib.rs file; it's lower in
key_data.rs, since the error cases are unreachable given
slotmap's current behavior.
Open questions:
* What further testing is a good idea?
* Will slotmap ever upstream something like this?
See "# Limitations" comment for the parts of slotmap that are not
implemented; I hope that we don't need them.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Nightly rust doesn't like it when you have a `match` arm that can
never be reached because of an uninhabited type. As such,
we can't say stuff like:
```
let x: Option<Void> = ...;
match x {
Some(_) => unreachable!(),
None => ...
}
```
|
| |\ \
| | |
| | |
| | |
| | | |
RPC: Method to expose a list of RPC methods.
See merge request tpo/core/arti!2332
|
| | |/ |
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
Use std::backtrace instead of backtrace crate
Closes #1144
See merge request tpo/core/arti!2301
|
| | |
| |
| |
| |
| | |
Removes resolve_backtraces from rtmock since it is no longer needed as
stdlib's backtraces automatically lazily resolve without needing a &mut.
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Version bumps for Arti 1.2.6
See merge request tpo/core/arti!2303
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Done with
```
cargo set-version --bump patch -p arti
```
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the result of:
```
for crate in $( ./maint/list_crates |grep '^\(tor\|arti-\)' ); do
cargo set-version -p $crate 0.21.0
done
```
|
| | |/
| |
| |
| |
| |
| |
| |
| | |
No updates on their dependents, because:
fslock-guard (only tests have changed)
equix (only change is removal of a private constant)
fs-mistrust (documentation, formatting, and use of Path::try_exists in tests)
|
| | |
| |
| |
| |
| |
| |
| | |
The previous commit added a pinned dep on cc 1.0.93, which we don't
want.
See also !2231
|
| | |
| |
| |
| |
| |
| | |
Roughly the same as 32a45edb84a210eb9fa692f7f339b2a0b20cb1c6.
Add the line to arti's Cargo.toml for convenience for next time.
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This only covers the absolute minimal API in order to launch a
connection and run simple requests, and it doesn't document anything
nearly well enough. Nonetheless I think it's good enough for an
initial review, to make sure that we've got the basics right (as
well as a general consensus on the error handling API, naming, and
so forth).
|
| | |
|
| |
|
|
| |
Closes #1250
|
| |
|
|
|
|
| |
I'm not particularly pleased with this name. We need names for both
the type, and the trait we'll almost certainly want to introduce in
the future.
|
| |
|
|
|
|
| |
The "complex" test here is fairly involved, since it tries to detect
deadlocks and race conditions by using multiple threads and
answering requests out of order.
|
| | |
|
| |
|
|
| |
See RUSTSEC-2024-0357.
|
| |\
| |
| |
| |
| | |
Lower and middle levels of Arti rpc core, version 4.
See merge request tpo/core/arti!2270
|
| | | |
|
| | | |
|
| |\ \
| |/
|/|
| |
| | |
A bit more test coverage in tor-rpcbase
See merge request tpo/core/arti!2264
|
| | | |
|
| |/
|
|
|
| |
Version 1.6.0 has been yanked. We don't use the affected API,
but our dependencies may.
|
| | |
|
| |
|
|
|
| |
This removes the deprecated syntaxes. Updating now will prevent us
re-introducing the old syntaxes, which we updated in arti!2209.
|
| |
|
|
| |
cargo set-version --offline -p arti 1.2.5
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nailing-cargo -uE set-version -p arti-client 0.20.0
nailing-cargo -uE set-version -p arti-relay 0.20.0
nailing-cargo -uE set-version -p arti-rpcserver 0.20.0
nailing-cargo -uE set-version -p tor-async-utils 0.20.0
nailing-cargo -uE set-version -p tor-basic-utils 0.20.0
nailing-cargo -uE set-version -p tor-bytes 0.20.0
nailing-cargo -uE set-version -p tor-cell 0.20.0
nailing-cargo -uE set-version -p tor-cert 0.20.0
nailing-cargo -uE set-version -p tor-chanmgr 0.20.0
nailing-cargo -uE set-version -p tor-checkable 0.20.0
nailing-cargo -uE set-version -p tor-circmgr 0.20.0
nailing-cargo -uE set-version -p tor-config 0.20.0
nailing-cargo -uE set-version -p tor-consdiff 0.20.0
nailing-cargo -uE set-version -p tor-dirclient 0.20.0
nailing-cargo -uE set-version -p tor-dirmgr 0.20.0
nailing-cargo -uE set-version -p tor-error 0.20.0
nailing-cargo -uE set-version -p tor-geoip 0.20.0
nailing-cargo -uE set-version -p tor-guardmgr 0.20.0
nailing-cargo -uE set-version -p tor-hsclient 0.20.0
nailing-cargo -uE set-version -p tor-hscrypto 0.20.0
nailing-cargo -uE set-version -p tor-hsrproxy 0.20.0
nailing-cargo -uE set-version -p tor-hsservice 0.20.0
nailing-cargo -uE set-version -p tor-keymgr 0.20.0
nailing-cargo -uE set-version -p tor-linkspec 0.20.0
nailing-cargo -uE set-version -p tor-llcrypto 0.20.0
nailing-cargo -uE set-version -p tor-log-ratelim 0.20.0
nailing-cargo -uE set-version -p tor-memquota 0.20.0
nailing-cargo -uE set-version -p tor-netdir 0.20.0
nailing-cargo -uE set-version -p tor-netdoc 0.20.0
nailing-cargo -uE set-version -p tor-persist 0.20.0
nailing-cargo -uE set-version -p tor-proto 0.20.0
nailing-cargo -uE set-version -p tor-protover 0.20.0
nailing-cargo -uE set-version -p tor-ptmgr 0.20.0
nailing-cargo -uE set-version -p tor-relay-selection 0.20.0
nailing-cargo -uE set-version -p tor-rpcbase 0.20.0
nailing-cargo -uE set-version -p tor-rtcompat 0.20.0
nailing-cargo -uE set-version -p tor-rtmock 0.20.0
nailing-cargo -uE set-version -p tor-socksproto 0.20.0
nailing-cargo -uE set-version -p tor-units 0.20.0
Each of which runs a rune like
cargo set-version --offline -p tor-units 0.20.0
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As proposed in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2231#note_3043322
I made this commit by:
* Taking the hunk to add `cc = "1.0.93"` from !2231.
* Running `cargo fetch`
* Staging everything except the additions of cc
to `Cargo.toml` and `Cargo.lock`
Here is the output I got from cargo:
Updating crates.io index
Locking 5 packages to latest compatible versions
Downgrading addr2line v0.22.0 -> v0.21.0 (latest: v0.23.0)
Downgrading backtrace v0.3.73 -> v0.3.71 (latest: v0.3.73)
Downgrading cc v1.0.100 -> v1.0.93 (latest: v1.0.101)
Downgrading gimli v0.29.0 -> v0.28.1 (latest: v0.30.0)
Downgrading object v0.36.0 -> v0.32.2 (latest: v0.36.0)
Downloaded cc v1.0.93
Downloaded derive-deftly v0.13.1
Downloaded 2 crates (149.8 KB) in 1.52s
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This fixes build breakage in the build-repro test.
derive-deftly 0.13.0 has an MSRV violation, due to a breach by cargo
of the Rust stability guarantee: d-d 0.13.0 works with Rust 1.56 but
not 1.76.
References:
https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/issues/103
https://github.com/rust-lang/cargo/issues/14147#issuecomment-2189915460
|
| |
|
|
|
|
| |
This has been obsolete for a very long time.
We have already published a version with a "won't be updated" warning.
|
| | |
|
| |
|
|
|
|
|
| |
No code changes needed.
Precisely
nailing-cargo -Eu upgrade --incompatible -p base32
|
| |
|
|
|
|
|
| |
No code changes needed.
Precisely
nailing-cargo -Eu upgrade --incompatible -p statrs
|
| |
|
|
|
|
|
| |
No code changes needed.
Precisely
nailing-cargo -Eu upgrade --incompatible -p itertools
|
| |
|
|
|
|
|
| |
No code changes needed.
Precisely
nailing-cargo -Eu upgrade --incompatible -p derive-deftly
|