| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Done using:
```
cargo set-version --bump patch -p arti
```
|
| |
|
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.29.0
done
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The non-{arti-,tor-} crates are:
```
./maint/list_crates | rg -v '^(tor|arti)'
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
```
We split them in the following categories:
* crates with no changes (no version bumps):
```
maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-'
oneshot-fused-workaround: No change.
slotmap-careful: No change.
fslock-guard: No change.
caret: No change.
retry-error: No change.
```
* crates that only have non-functional changes (bump the patch version):
- test-temp-dir
- equix
- fs-mistrust
- safelog
* crates where APIs were broken (bump minor):
- hashx (`RngCore` impl for `SipRand`)
The bumps from this commit were created using this script:
```
PATCH="
test-temp-dir
equix
fs-mistrust
safelog
"
for crate in $PATCH; do
cargo set-version --bump patch -p $crate;
done
MINOR="
hashx
"
for crate in $MINOR; do
cargo set-version --bump minor -p $crate;
done
```
|
| | |
|
| |
|
|
|
|
|
|
|
| |
The `js` feature was replaced by a configuration flag in [0.3.0], so
I've checked in a `.cargo/config.toml` for `tor-llcrypto` and
`tor-bytes` with `RUSTFLAGS` for selecting the `getrandom` backend to
use on wasm32.
[0.3.0]: https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md#030---2025-01-25
|
| |
|
|
|
|
| |
We aren't affected by any of the breaking changes from [0.103.0].
[0.103.0]: https://github.com/rustls/webpki/releases/tag/v%2F0.103.0
|
| |
|
|
|
|
|
|
|
| |
In 0.27.0, strum's MSRV was bumped to 1.66.1, but that's okay because
ours is 1.77.
We aren't affected by any of its [breaking changes].
[breaking changes]: https://github.com/Peternator7/strum/blob/master/CHANGELOG.md#0270
|
| | |
|
| |
|
|
|
|
| |
This Rng combines inputs from several sources,
including OsRng, to minimize the likelihood
of falling to a vulnerability in any particular one.
|
| |\
| |
| |
| |
| |
| |
| | |
protover: Add support for subprotocol version mnemonics.
Closes #1891
See merge request tpo/core/arti!2854
|
| | |
| |
| |
| |
| |
| |
| |
| | |
It's error-prone to have to remember e.g. that "Desc=5"
means "family ID support", so in torspec!251 we added mnemonic names
like DESC_FAMILY_IDS.
Here we use those names in tor-protover.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
dalek-cryptography is still on rand 0.8, so we need a compatibility
shim for the Rng.
Fortunately, since we merged interface-abstraction-of-the-daleks
(!2868), we no longer need to propagate this compatibility layer
throughout our codebase.
|
| | |
| |
| |
| |
| |
| | |
(Per discussion at #1774, we think the changes are acceptable.)
This commit won't compile on its own; subsequent commits will fix it.
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
Per <https://spec.torproject.org/dir-spec/netdoc.html>,
our netdocs never have a BOM, and never have internal NULs.
This makes Arti reject such documents.
For arguments on why it's okay to increase parser strictness,
see the (forthcoming) proposal 356 at torspec!342,
and see older discussion at torspec#296.
Closes #1739.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`ring` versions < 0.17.12 are affected by [RUSTSEC-2025-0009]
(potential panic when overflow checks are enabled).
I don't believe we are affected, because
* we don't use `ring::aead::quic::HeaderProtectionKey::new_mask`
* operations using `ring::aead::{AES_128_GCM, AES_256_GCM}` can panic
only in very specific circumstances, namely when
encrypting/decrypting 64 gigabytes of data in one go, if overflow
checks are enabled (and Arti never buffers that much data)
[RUSTSEC-2025-0009]: https://rustsec.org/advisories/RUSTSEC-2025-0009
|
| |
|
|
|
|
|
|
|
| |
Here we move the responsibility for removing ExtDoc entries for
vanished blobs into the _caller_ of read_blob(): we want to tidy all
such entries in one go.
Unlike a (reverted) previous approach, this time we don't need a
retry loop.
|
| |\
| |
| |
| |
| |
| |
| | |
Switch from x509-signature to rustls-webpki when using rustls.
Closes #1824 and #1854
See merge request tpo/core/arti!2816
|
| | |
| |
| |
| |
| | |
This is the version that introduces `root_hint_subjects()`,
which we want our ServerCertVerifier to override.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The x509-signature crate is archived, and won't see any more
releases. Using it is tying us to ring 0.16 internally,
which means we depend on two ring versions.
Fortunately, rustls-webpki relaxes some of the earlier restrictions
from the vanilla webpki crate, which means that its certificate parser
now accepts C tor's oddball x509 certificates as valid.
With this change, we can delegate to rustls's built-in
signature-checking code, and we only have to override its
certificate validation. (We still override it with a pile of
comments about how we don't validate link certificates much.)
I've had to include a few certificates: two are for tests,
but one is needed as a placeholder, since we can't construct
a rustls certificate validator without a root cert,
even if we'll never use it.
Closes #1824.
Closes #1854.
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
These crates have upgraded to a newer derive_more,
and have had no other changes.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Make DataStream, and its members, implement Sync.
Closes #1859
See merge request tpo/core/arti!2808
|
| | |
| |
| |
| |
| |
| |
| | |
Also, use static_assertions to enforce that that they
_stay_ Send+Sync.
Closes #1859.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-proto: Add ConfluxSet type in the reactor
See merge request tpo/core/arti!2804
|
| | |/ |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
This took a little refactoring, since derive_more::Foo
no longer re-exports std::ops::Foo.
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
This is released now. Prepared with:
cargo upgrade -i -p derive-deftly
There is some new duplication now I think mostly because pwd-grp uses
old derive-deftly.
|
| |
|
|
| |
This resolves RUSTSEC-2025-0006, which arti is not affected by.
|
| |
|
|
| |
Fixes #1841.
|
| |\
| |
| |
| |
| | |
Version bumps for 1.4.0
See merge request tpo/core/arti!2773
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See Release.md.
maint/list_crates | grep -P '^tor-|^arti-' | xargs -n1 nailing-cargo -Eu set-version --bump minor -p
This completes the version bumps.
The report of changed crates, before I started the release work, is:
$ maint/changed_crates -v "arti-v$LAST_VERSION"
oneshot-fused-workaround: No change.
slotmap-careful: No change.
test-temp-dir: No change.
fslock-guard: No change.
hashx: No change.
equix: No change.
tor-basic-utils: No change.
caret: No change.
fs-mistrust
safelog: No change.
retry-error: No change.
tor-error
tor-general-addr: No change.
tor-geoip: No change.
tor-rtcompat
tor-rtmock
tor-async-utils
tor-config
tor-config-path
tor-rpc-connect
tor-log-ratelim: No change.
tor-rpcbase
tor-memquota: No change.
tor-units
tor-llcrypto: No change.
tor-protover: No change.
tor-bytes
tor-checkable: No change.
tor-cert
tor-key-forge
tor-hscrypto: No change.
tor-socksproto: No change.
tor-linkspec: No change.
tor-cell: No change.
tor-proto
tor-netdoc: No change.
tor-consdiff: No change.
tor-netdir
tor-relay-selection: No change.
tor-persist
tor-chanmgr
tor-ptmgr: No change.
tor-guardmgr: No change.
tor-circmgr
tor-dirclient: No change.
tor-dirmgr: No change.
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy: No change.
tor-relay-crypto
arti-client
arti-relay
arti-rpcserver
arti
arti-rpc-client-core
$
|
| | |
| |
| |
| |
| |
| | |
And the in-tree dependencies.
cargo set-version --offline --bump minor -p fs-mistrust
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are new features.
cargo set-version --offline --bump minor -p fs-mistrust
Actually, I have discovered by diffing that some methods now take
`&self` where previously they took `self`. This will need a further
bump to the fs-mistrust version and a fix to the changelog.
I will do that. Filed blocker ticket #1841 for it.
|
| |/
|
|
| |
Closes #1396
|
| |
|
|
| |
No code changes needed.
|
| |
|
|
| |
We use this in an example only.
|
| |
|
|
| |
No code changes needed.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Cancellation is now fallable, which allows us to detect attempts
to cancel which cannot work.
We now guarantee that when you try to cancel a `Cancel<F>` future,
either the cancel operation will succeed, or the future will return
(or will have already returned) Ok(), but not both, and not neither.
Closes #818.
|
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
| |
Signed-off-by: David Goulet <[email protected]>
|