| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
tor-dirmgr: Return an error if storage is readonly and DB is missing/incompatbile.
Closes #1497
See merge request tpo/core/arti!2283
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
missing/incompatbile.
This fixes a bug in `SqliteStore`'s constructor: previously, it would
unconditionally try to create the missing database, even if it didn't
have write access. As a result, it was impossible to reliably start
multiple concurrent arti processes configured with the same (empty or
nonexistent) cache_dir, because many of them would fail with errors such
as
```
attempt to write a readonly database: Error code 8: Attempt to write a readonly database
```
Returning a `LocalResourceAlreadyInUse` error kind here enables us to
leverage the retry loop from `TorClientBuilder::create_unbootstrapped`
(which retries on local resource errors if `local_resource_timeout` is
set).
Closes #1497
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
arti: Add tests for the hss/hsc subcomands
Closes #1250
See merge request tpo/core/arti!2275
|
| | | | |
| | | |
| | | |
| | | | |
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2275#note_3054040
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | |/ /
| | |
| | |
| | | |
Closes #1250
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-rtmock docs: Improve discussions of mocked time
See merge request tpo/core/arti!2286
|
| | | | | |
|
| | |/ /
| | |
| | |
| | | |
Improve/replace some out-of-date notes in the docs.
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
clippy: Disallow Path::exists().
Closes #1493
See merge request tpo/core/arti!2293
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
| |
| |
| | |
Part of #1493
|
| |\ \
| | |
| | |
| | |
| | | |
CI: Pin Rust compiler version (mostly)
See merge request tpo/core/arti!2290
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We replace uses of `amd64/rust:bookworm` in the `recent-*` jobs.
We add new latest-* jobs which
* aren't used for artifacts
* occur later in the pipeline
* only run on main, since we don't want them to block MRs
This is done with templates, to reuse the script parts.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replace almost all the open-coded occurrences of `amd64/rust:bookworm`.
This rewinds us to Rust 1.79.
We can update after
https://github.com/rustsec/rustsec/issues/1217
is fixed upstream.
We're going to handle the rust-latest-* jobs specially.
There are still a few other images that look, from the name, like they
might be uncontrolled inputs into our CI, but they don't look risky.
Let's leave them for now.
|
| | | |
| | |
| | |
| | | |
So far only used by the cargo-audit job.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Circuit reactor test cleanup
See merge request tpo/core/arti!2287
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
Use a pinned compiler version to run cargo audit
See merge request tpo/core/arti!2289
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This invalidates the cache. This may not be strictly necessary, but
it will make sure that the new pinned image is used in the CI run *for
this MR*.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This avoids CI failures like this
https://gitlab.torproject.org/nickm/arti/-/jobs/617654
arising from situations like this
cargo-audit install fails with rust 1.80
https://github.com/rustsec/rustsec/issues/1217
error[E0282]: type annotations needed for Box<_>
https://github.com/time-rs/time/issues/693
IMO we should pin many of the other images too but I suspect that may
be controversial. I'm hoping that pinning this one to get CI working
is uncontroversial (perhaps only on a temporary basis).
The other way to solve this would be to remove --locked which IMO is
going in the wrong direction, by exposing us to more rather than fewer
uncontrolled inputs from our upstreams.
|
| |\ \
| | |
| | |
| | |
| | | |
Fix new warnings from nightly clippy
See merge request tpo/core/arti!2288
|
| | | |
| | |
| | |
| | |
| | | |
(This will either become used later, or we will remove it;
the TODO RPC will remind us.)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This warning suggests using `[a,b]` as a Pattern
when it sees a search for `|ch| ch == a || ch == b`.
(All of our supported rust versions allow this kind of Pattern.)
|
| |/ /
| |
| |
| |
| | |
This warning complains when we say `where T: SomeTrait + ?Sized`
when `SomeTrait` is inherently Sized.
|
| |\ \
| | |
| | |
| | |
| | | |
rpclib: Use i64 rather than u64 for request IDs.
See merge request tpo/core/arti!2279
|
| | | |
| | |
| | |
| | | |
This makes it conform to the spec and match arti-rpcserver.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
rpcbase: Fix most TODO RPC comments.
See merge request tpo/core/arti!2284
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Per discussion, this field isn't really specified in a way that lets
us fill it sensibly at the moment. So for now, we're going to just
omit it.
Additionally, we said that we'd Report on our errors; this branch
changes the implementation of RpcError to do that.
Question: Will the blanket implementation for Into<RpcError> make
it harder to re-add a Data field later on if we want to do so?
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
It is no longer necessary to say, for every RPC method,
that its error type is RpcError.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These methods were defined on DispatchTable, and then replaced by
top-level functions in the crate. (The reason for using top-level
functions instead is so that we get the locking on the dispatch
table correct.)
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
The duplication is only a few lines. I've looked into a couple of
ways for removing it, but they make the code flow even less clear.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We have decided not to remove the "anybody can define methods"
property. This commit documents the consequences, and warns
extenders away from some really bad ideas.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
These functions are called rarely enough that it is probably okay
for the ergonomics to be a bit verbose.
|
| | | | | |
|
| | | | | |
|