| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| | |
(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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The congestion control parameters are created from the consensus
parameters (netparams) and then put into the CircParameters object that
is then passed down the tor-proto crate.
Because different parameters are selected depending on the circuit type
(onion vs exit vs sbws), a CircuitType enum is introduced for the sole
purpose of being used to select the right parameters.
Related #534
Signed-off-by: David Goulet <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
Crate is unused and most of its code will be reworked and folded into
tor-proto in the future commit with the Congestion Control work.
Related #534
Signed-off-by: David Goulet <[email protected]>
|
| |\
| |
| |
| |
| |
| |
| | |
RPC: Implement cookie authentication
Closes #1529
See merge request tpo/core/arti!2702
|
| | | |
|
| | |
| |
| |
| | |
Conforms to rpc-cookie-sketch.md.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This moves the `NetParameters -> KistParams` conversion to
`tor-chanmgr`.
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2706#note_3147557
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
|
| |
Note: this commit makes `tor-proto` depend on `tor-netdir`
(because it adds a `KistParams` type that is buildable from
`NetParameters`, which is defined in `tor-netdir`).
Closes #1729
|
| |
|
|
| |
(We don't add it to the handful of unit tests that don't use an executor.)
|
| |
|
|
| |
Closes #1777
|
| |
|
|
| |
We'll soon use this.
|