| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
| |
```bash
cargo set-version --bump patch -p hashx
```
|
| |
|
|
|
|
| |
```bash
cargo set-version --bump patch -p arti
```
|
| |
|
|
|
|
|
| |
```bash
readarray -t bump < <(maint/list-crates | grep -P '^tor-|^arti-')
for crate in "${bump[@]}"; do cargo set-version --bump minor -p "${crate}"; done
```
|
| |
|
|
| |
Version 3.0.3 was yanked.
|
| |
|
|
|
|
| |
Fixes unsoundness for RUSTSEC-2026-0221.
https://rustsec.org/advisories/RUSTSEC-2026-0221.html
|
| |
|
|
|
|
|
|
|
| |
Give a tx to the descriptor task so it can request the keys when
building a new descriptor.
Implement the crypto task handling of that command channel.
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
This is the basics, with many TODO(relay), for a relay descriptor upload
task which uses tor-dirpublish::Publisher.
Future commits will implement the several todo!().
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
| |
We don't need to open-code this any more.
|
| |\
| |
| |
| |
| | |
arti-dirauth: Build an arti consensus method plugin binary, and implement list-methods
See merge request tpo/core/arti!4225
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
hashx: Update dynasmrt to 5.1.0
Closes #2637
See merge request tpo/core/arti!4232
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes a rust future-incompatibilities warning, which was caused by
the proc-macro-error2 crate.
The dynasmrt crate switched to a fork proc-macro-error3 to fix this.
|
| |/ / |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
To pick up this fix:
* BETA: Allow user-defined expansions whose definition is just
a string literal `"..." within `${concat }` and `$"..."`.
which I have just released.
|
| |/
|
|
|
|
|
|
|
| |
This will be used shortly, as we need to spawn a `DirMirror::serve()`
task from `TorRelay::run()` for handling the incoming directory stream
requests.
The `DirMirror` is currently built from dummy data because there is no
config for it yet.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
For calculating `ipv6-policy` in routerdescs.
Also implement for v4 for the benefit of future tests of approximate
port policy summaries, for possible future protocol change, and for
completeness.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes cargo-audit failure, due to spin 0.9.8 being yanked:
The changelog entry for 0.9.9 says:
> ### Fixed
>
> - Unsoundness in `Once::force_into_inner`, `Once::try_into_inner`, and
> `Once::into_inner_unchecked`. \[...]
In our stack, spin <- lazy_static 1.5.0 (only). lazy_static
1.5.0 (git tag) has no hits for `into_inner`. So I think we don't
have any calls to the previously-unsound methods.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RUSTSEC-2026-0204 doesn't affect Arti, so this won't need a TROVE.
I checked using the procedure documented under "Checking whether we are
affected by a RUSTSEC" in `doc/dev/SecurityResponse.md`. I applied the
following patch to my local `crossbeam-epoch` to remove the affected
impls, and confirmed that Arti still builds successfully with it:
```diff
diff --git a/crossbeam-epoch/src/atomic.rs b/crossbeam-epoch/src/atomic.rs
index 41b4cd91..8b9b3a01 100644
--- a/crossbeam-epoch/src/atomic.rs
+++ b/crossbeam-epoch/src/atomic.rs
@@ -939,14 +939,6 @@ impl<T: ?Sized + Pointable> fmt::Debug for Atomic<T> {
}
}
-impl<T: ?Sized + Pointable> fmt::Pointer for Atomic<T> {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- let data = self.data.load(Ordering::SeqCst);
- let (raw, _) = decompose_tag::<T>(data);
- fmt::Pointer::fmt(&(unsafe { T::deref(raw) as *const _ }), f)
- }
-}
-
impl<T: ?Sized + Pointable> Clone for Atomic<T> {
/// Returns a copy of the atomic value.
///
@@ -1660,12 +1652,6 @@ impl<T: ?Sized + Pointable> fmt::Debug for Shared<'_, T> {
}
}
-impl<T: ?Sized + Pointable> fmt::Pointer for Shared<'_, T> {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- fmt::Pointer::fmt(&(unsafe { self.deref() as *const _ }), f)
- }
-}
-
impl<T: ?Sized + Pointable> Default for Shared<'_, T> {
fn default() -> Self {
Shared::null()
```
Note: the reason the `fmt::Pointer` impls I removed above look slightly
different from the ones in the [crossbeam-rs MR] from the RUSTSEC page
is because my patched `crossbeam-epoch` is based on the
`crossbeam-epoch-0.9.18` tag rather than `main`.
[crossbeam-rs MR]: https://github.com/crossbeam-rs/crossbeam/pull/1273/files
|
| |\
| |
| |
| |
| | |
Upgrade cipher, aes, and ctr.
See merge request tpo/core/arti!4195
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Negotiate flowcontrol-cc and CGO on onion services
Closes #2473 and #1948
See merge request tpo/core/arti!4135
|
| | | | |
|
| |/ /
| |
| |
| | |
This will be used for exit port summary calculations.
|
| |\ \
| |/
|/|
| |
| | |
Upgrade itertools to 0.15.0
See merge request tpo/core/arti!4192
|
| | |
| |
| |
| |
| |
| | |
Additionally, fix itertools usage in maybenot_padding.rs
The definition of `Position` changed in 0.15.0.
|
| |\ \
| |/
|/|
| |
| | |
Upgrade rdrand dependency to 0.9
See merge request tpo/core/arti!4194
|
| | | |
|
| |/ |
|
| |\
| |
| |
| |
| | |
Run cargo-update and fix deprecation warnings
See merge request tpo/core/arti!4187
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
| |
This enables us to make these configurable: any relays that are not
configured to be an exit will exclude BEGIN and RESOLVE from their list
of allowed commands, causing exit and DNS streams to be rejected as soon
as the BEGIN/RESOLVE cell is received in the circuit reactor.
Context: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4145#note_3430345
Part of #2606
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Closes #2617.
We've lucked out this time, and it turns out that every one of our
published crates gets a minor bump. So this was generated with:
```
for cr in $(./maint/list-crates); do
cargo set-version -p $cr --bump minor
done
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This resolves unsoundness in anyhow (RUSTSEC-2026-0190).
https://rustsec.org/advisories/RUSTSEC-2026-0190.html
> Affected versions of this crate violate borrow rules, resulting in
> undefined behavior, when the user adds context to an error via
> `Error::context` and then later calls `Error::downcast_mut` on the
> returned `Error`.
I don't see us calling `downcast_mut()` on any errors. It's possible
something outside of the arti code base is calling it, but I think it's
unlikely.
|
| |
|
|
| |
We will make use of it in the next commit.
|
| |\
| |
| |
| |
| |
| |
| | |
tor-netdoc: addr policy: Overhaul and fix /0 bug
Closes #2589
See merge request tpo/core/arti!4128
|
| | |
| |
| |
| |
| | |
ipnet is a very widely used crate which is already in our dependency
stack.
|