| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
| | |
|
| |\
| |
| |
| |
| | |
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
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |/
|/| |
|
| |/
|
|
|
|
|
|
|
|
|
| |
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 "".)
|
| | |
|
| |
|
|
|
| |
AFIACT, all of this renaming is done. I've grepped for `[Cc]onn`
and didn't find any more identifiers that needed to be renamed.
|
| | |
|
| |
|
|
|
|
| |
(This is about DataStreams, so we should make it less confusing.
This commit is _just_ about the file renaming, with no associated
function renaming.)
|
| | |
|
| | |
|
| |
|
|
|
| |
Ticket #1509 will probably get rid of this constant,
but for now we may as well put it in one place.
|
| |
|
|
|
| |
Here we make sure that we can actually skip over other proxy formats
in the future.
|
| |
|
|
|
|
|
| |
Renamed address to tcp_address, and made it optional, so that later
we can have a unix_path, etc.
On deser side, add support for unrecognized listener types.
|
| | |
|
| |
|
|
|
|
| |
This is done so that we can make "not authenticated" a non-internal
error, under the theory that someday unauthenticated connections
might be exposed.
|
| |
|
|
|
| |
There's a blocking TODO here about exposing socks error codes that
I still need to solve.
|
| |
|
|
|
|
| |
Requires #1523.
Implements #1524.
|
| |
|
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.22.0
done
```
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Its underlying function previously took `&mut RpcHandle`,
which was an accident waiting to happen. Now it takes `&RpcHandle`
and includes a Mutex to prevent multiple threads from waiting for
updates on the same request ID at once.
As an alternative, we *could* try to update connimpl::Receiver to
allow multiple simultaneous listeners on the same request ID.
But that would (I think) require a lot more bookkeeping, and thus
would be a bit more error-prone.
Closes #1532.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test is supposed to check the case where we launch a bunch
of requests but the socket is dropped before we get a response.
Different operating systems handle 'drop' a bit differently,
and schedule threads differently, so we shouldn't be surprised
at slightly different errors here.
In particular, OSX is more prone to deliver the close as a proper
"close" rather than an EPIPE or such, which previously broke
this test.
Closes #1510.
|
| |
|
|
|
|
| |
(This function manipulates an ArtiRpcStatus;
and we try to have all of the ffi functions in this library
begin with "arti_rpc_".)
|
| | |
|
| |\
| |
| |
| |
| | |
ffi: Build arti-rpc-client-core as a C dynamic library.
See merge request tpo/core/arti!2331
|
| | | |
|
| | |
| |
| |
| |
| | |
This API allows the caller to launch a request and then watch for
updates on it.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Previously, we had in_ptr_opt for functions that want to take
a nullable `*const T` without consuming it.
This is the equivalent for taking a nullable `*mut T` without
consuming it.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Previously, we had out_ptr_opt for functions that wanted to return a
newly allocated `ArtiRpcFoo` via a `struct ArtiRpcFoo **` argument.
But we didn't have a way to return non-allocated `int` via an `int
*` argument. This code provides that.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
For some reason, we wound up - not with anything missing in the
header - but with extra warnings in our expected warnings file.
I'm tentatively blaming the git merge algorithm, or perhaps
the phase of the moon.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Don't need to tell docs.rs to enable `docsrs` cfg. It does it automatically as of https://github.com/rust-lang/docs.rs/pull/2390#event-11664409098
While this change isn't in our MSRV yet, we were only using this when building for docs.rs, where we use the latest anyway.
See merge request tpo/core/arti!2308
|
| | | |
| | |
| | |
| | |
| | | |
It now does it automatically, see
<https://docs.rs/about/builds#detecting-docsrs>.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Test cbindgen correctness in CI
Closes #1502
See merge request tpo/core/arti!2320
|
| | | | |
| | | |
| | | |
| | | | |
(This is kind of thing that the CI script should remind us to do.)
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This name change should emphasize that the (module-private)
`ParsedRequestFields` type is only for parsing, and we aren't
supposed to actually construct them for our own requests.
With this change, and the others on the branch, there's no longer a
risk of trying to serialize a ParsedRequestFields (since it doesn't
implement Serialize), or to deserialize a Request (since it doesn't
implement Deserialize).
Closes #1511.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As with responses, we previously used a strategy that could have
failed in the future, if we forgot to add an "unexpected_fields"
member to one of our structs.
Closes #1512.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This lets us make a couple of types module-private,
and prepares the way for using the serde_json::Value trick on
requests too.
|
| | | | | |
|