| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for p in `cat ../u`; do cargo set-version --locked --offline -p $p; done
where u contains
tor-basic-utils
tor-async-utils
tor-error
tor-config
tor-units
tor-geoip
tor-rtcompat
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-memquota
tor-llcrypto
tor-protover
tor-bytes
tor-hscrypto
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-relay-selection
tor-persist
tor-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy
arti-client
arti-rpcserver
arti-hyper
|
| |
|
|
|
|
|
|
| |
There are some tricky bits here that implicitly assume particular
behavior in other bits for correctness. Document these requirements and
assumptions.
Fixes arti#1373
|
| | |
|
| |
|
|
|
|
| |
The old code produced a warning from clippy nightly; we may as well
update to use the new associated consts. (They've been there since
Rust 1.4x.)
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
streammap: Use an internal counted_hashmap to simplify invariant checking
Closes #1344
See merge request tpo/core/arti!2058
|
| | | |
|
| | |
| |
| |
| | |
This is always Send+Sync, and invariant with P.
|
| | |
| |
| |
| |
| | |
(We're letting the "unchecked" suffix of this function be enough
to indicate that it's risky to use.)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of making `streammap.rs` responsible for keeping track of a
count field, this lowers that functionality into a lower-level
CountedHashMap type. Said type has a little more functionality than
we need, to sketch out how we'd want to develop it moving forward if
we find that it's useful elsewhere.
Closes #1344.
|
| | |
| |
| |
| | |
Edited-by: Nick Mathewson <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Done with:
```
CRATES="
tor-basic-utils
tor-async-utils
tor-error
tor-config
tor-events
tor-units
tor-geoip
tor-rtcompat
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-llcrypto
tor-protover
tor-bytes
tor-hscrypto
tor-hspow
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-relay-selection
tor-congestion
tor-persist
tor-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy
arti-client
arti-rpcserver
arti-config
arti-hyper
arti-bench
arti-testing
"
for crate in $CRATES; do
cargo set-version -p "$crate" 0.17.0
done
```
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These have all had backward-compatible changes.
Generated with:
```
cargo set-version --bump patch -p fs-mistrust
cargo set-version --bump patch -p test-temp-dir
cargo set-version --bump patch -p fslock-guard
cargo set-version --bump patch -p hashx
cargo set-version --bump patch -p equix
cargo set-version --bump patch -p caret
cargo set-version --bump patch -p safelog
cargo set-version --bump patch -p retry-error
```
|
| | |
|
| |
|
|
|
|
|
|
| |
With this patch, it holds only a reference to `&reactor.hops`,
which greatly simplifies the reactor code's fight with the
borrow checker.
I've left some TODO comments about future directions here.
|
| |
|
|
| |
(Doing this to prevent us having two structs with the same name.)
|
| |
|
|
|
|
|
| |
Based on designs in #1124.
Note that there is a TODO here about a hack I had to do to appease
the borrow checker.
|
| |
|
|
|
| |
We'll use this as an argument for the callback that checks stream
requests to make sure they're permitted.
|
| | |
|
| |
|
|
|
|
| |
We want to keep an accurate count of the number of open streams, so
we have to stop exposing `&mut StreamEnt` outside of the streammap
module.
|
| |
|
|
|
|
|
| |
This is the first part of a refactoring that will let us keep code
from the outside of `streammap` from changing a stream from one
state to another. And we need to do _that_ so that StreamMap can
count how many open streams it has.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
The key insights here are:
- That relay cell format and crypto protocols aren't orthogonal:
Once we have GCO, it will require V1.
- That we only need the actual functions for layer construction to
be generic; we don't need to proliferate generic parameters
everywhere.
- That the circuit::handshake module already does most of what we
want.
|
| |
|
|
|
|
| |
This lets us paramaterize types and functions by a particular relay cell
format. We use this e.g. to statically parameterize the cell crypto
functions, thereby removing some run-time branching in the hot path.
|
| | |
|
| | |
|
| |
|
|
|
| |
Different formats will use different ranges for the `recognized` and
`digest` fields.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Prop 340:
https://spec.torproject.org/proposals/340-packed-and-fragmented.html
This updates the decoding API to support multiple versions of the relay
cell encoding, including the new encoding proposed in prop340 that
supports relay message packing and fragmentation.
This commit doesn't actually add support for that new encoding yet.
|
| |
|
|
|
| |
For consistency with the terminology proposed in
https://gitlab.torproject.org/tpo/core/torspec/-/issues/253
|
| | |
|
| | |
|
| |\
| |
| |
| |
| | |
Remove semver.md files from arti 1.2.0 release.
See merge request tpo/core/arti!2022
|
| | | |
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
deny clippy::unchecked_duration_subtraction
Closes #1304
See merge request tpo/core/arti!2008
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We bumped the minor version of `tor_checkable`, which is used in the
`tor-cell` public APIs (e.g. `Ed25519Cert` implements
`tor_checkable::Timebound`, using `tor_checkable::TimeValidityError`
as its error type).
This bumps the minor version of `tor-cert` (including for its
dependents).
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
APIs were broken in these pre-1.0.0 crates:
```
tor-keymgr
tor-config
tor-checkable
tor-circmgr
tor-dirmgr
tor-hsclient
tor-hsservice
tor-hsrproxy
```
Done with:
```
cargo set-version --bump minor -p tor-keymgr
cargo set-version --bump minor -p tor-config
cargo set-version --bump minor -p tor-checkable
cargo set-version --bump minor -p tor-circmgr
cargo set-version --bump minor -p tor-dirmgr
cargo set-version --bump minor -p tor-hsclient
cargo set-version --bump minor -p tor-hsservice
cargo set-version --bump minor -p tor-hsrproxy
```
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
APIs were added:
```
tor-units
tor-cell
tor-proto
tor-netdir
arti-client
```
Done with:
```
cargo set-version --bump patch -p tor-units
cargo set-version --bump patch -p tor-cell
cargo set-version --bump patch -p tor-proto
cargo set-version --bump patch -p tor-netdir
cargo set-version --bump patch -p arti-client
```
|
| | |
|
| |
|
|
|
|
|
|
|
| |
`tor_circmgr::Error::Protocol` will soon include an optional `UniqId`.
Since `Protocol` errors can be caused by pending circuits, we need to be
able to peek at their `UniqId`.
Part of #1297
|
| |
|
|
|
|
|
|
| |
Some of the `tor_circmgr::Error` variants will include the `UniqId` of the
corresponding circuit, so we'll need to be able to display it without the
`Circ ` prefix.
Part of #1297
|
| |
|
|
|
|
|
| |
We never actually constructed these before, but now we enforce it at
the API level.
Part of #1269.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bump the minor version of these crates, and update the in-tree
dependencies.
Recently published as fresh crates, let's just assume there are
breaking changes:
fslock-guard
test-temp-dir
Breaking API change affecting many many downstream crates:
tor-rtcompat
Downstream crates which we're (conservatively) assuming have
tor-rtcompat types in their APIs:
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-llcrypto
tor-protover
tor-bytes
tor-hscrypto
tor-hspow
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-congestion
tor-persist
tor-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy
arti-client
arti-rpcserver
arti-config
arti-hyper
arti-bench
arti-testing
|