| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Done using
```
(cd crates/hashx/bench && cargo update)
(cd crates/equix/bench && cargo update)
```
|
| |
|
|
|
|
|
| |
Generated with
```
cargo set-version --bump patchlevel -p arti
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per our policy, every one of these gets a minor bump.
Generated with:
```
for crate in $(./maint/list_crates | grep '^\(tor\|arti\)-' ); do
cargo set-version --bump minor -p $crate;
done
```
(Note the use of `-` at the end end of the grep pattern to prevent
matching the `arti` crate.)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates are not in the tor/arti namespace,
but we have given them MSRV bumps:
```
oneshot-fused-workaround
slotmap-careful
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
test-temp-dir
retry-error
```
We are counting this as a breaking change.
Since all of these crates are at 0.x.x,
we have indicated the breaking change with a minor version bump.
This commit was generated with the following script:
```
BUMPS="
oneshot-fused-workaround
slotmap-careful
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
test-temp-dir
retry-error
"
for crate in $BUMPS; do
cargo set-version --bump minor -p $crate;
done
```
|
| |\
| |
| |
| |
| | |
RPC: Add a Python wrapper for arti-rpc-client-core
See merge request tpo/core/arti!2446
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
arti: add an example for onion service "reject" option
See merge request tpo/core/arti!2458
|
| | | |
| | |
| | |
| | | |
There was previously no example here.
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
arti: move 'relay' subcommand to 'subcommands::relay' module
See merge request tpo/core/arti!2455
|
| | | | |
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
Upgrade MSRV to 1.77 , and rusqlite to 0.32.1
See merge request tpo/core/arti!2451
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This will allow us to upgrade to the latest version of rusqlite.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Upgrade dependencies in preparation for next week's releases.
See merge request tpo/core/arti!2450
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `derive_more` crate broke backward compatibility with this version,
so this change involved quite a few manual fixups.
With luck, they'll keep compatibility for some while in the future.
|
| | | | | |
|
| | |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
When doing the client handshake, we need to read data _after_ we
check for stuff to send, since the client speaks first in the socks
protocol.
Without this patch, the socks handshake just stalls.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
socks users: detect closed sockets. (TROVE-2024-011)
Closes #1635
See merge request tpo/core/arti!2447
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When calling copy_within, we want to copy the amount of data that
we're keeping; previously, we were copying an extra `action.drain`
bytes, which could have led to a panic.
Spotted by Opara.
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without this check, our socks code can enter an infinite loop
if a socket is closed at the wrong time.
Resolves TROVE-2024-011.
Fixes #1635.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
rpc: Rename SingletonId to SingleIdResponse
Closes #1585
See merge request tpo/core/arti!2448
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Calling it "singleton" might have suggested that it was using the
[singleton pattern](https://en.wikipedia.org/wiki/Singleton_pattern),
which it isn't.
(Renaming done with rust-analyzer and double-checked with `git grep`.)
Closes #1585.
|
| | |/
|/| |
|
| |\ \
| | |
| | |
| | |
| | | |
socks: Implement proposal 351.
See merge request tpo/core/arti!2401
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Introduce an enum, and use explicit `format_code @` syntax.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
(These streams would already be isolated by accident, since streams
with an RPC object are always on a client that's isolated from the
main client. But, as discussed on torspec!280, it's best to do this
sort of thing explicitly.)
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
The current best source here is prop351,
and later will be socks-extensions.md.
The examples are now correct.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
See https://spec.torproject.org/proposals/351-socks-auth-extensions.html
This proposal changes the interpretation of SOCKS5
usernames/passwords to give a more principled and extensible way of
getting RPC IDs and isolation strings.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
rpclib: Use prop351 protocol to open streams.
See merge request tpo/core/arti!2434
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now that prop351 is what Arti speaks, it's what the rpclib
needs to provide.
Note one change in particular: the `isolation` string
is no longer an optional argument when opening a stream.
(With prop351, there is no longer such a thing as an "absent"
isolation string, and we don't want to imply that there is a
difference between None and "".)
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
arti SOCKS proxy: Tear down connections when client sends optimistic data
See merge request tpo/core/arti!2443
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We *do* want to support optimistic data, see
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2436#note_3081886
However, right now, Arti risks mis-framing bugs if clients do send
optimistic data, which would be quite serious.
Mitigates #1627 / TROVE-2024-010 by replacing the misframing bug with
connection failure.
It doesn't seem so easy to write a test case for this.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Closes #1624.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When specifying a delegation, the template user must also say what
type they're delegating to.
We're going to use this to document and expose delegations.
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Make `HsCircPool` generic over circuit builder type
See merge request tpo/core/arti!2420
|
| | | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will allow for testing, as the CircuitBuilder can be replaced with
a mocked version.
This did require moving some of what was in the CircuitBuilder impl into
the AbstractCircuitBuilder type, since Drop implementations can't be
specialized, but that's fine, as we'll probably be doing more of that in
the future anyways.
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
rtcompat: Second attempt at AF_UNIX support
Closes #1152
See merge request tpo/core/arti!2437
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It turns out that these types are generally useful, and that they
are in fact needed for tor-rtmock to compile without a PreferredRuntime.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
(The trait no longer has any async methods.)
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is feature-complete, but will need tests.
I'm holding off at this point so we can discuss naming on these types.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since there is no way to construct a unix::SocketAddr on these
platforms, it's harmless to provide an implementation for
NetStreamProvider. What's more, doing so greatly simplifies our
AbstractAddr implementation.
|
| | | | | | |
|