| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | | |
This is useful for debugging.
|
| | | | |
|
| | | | |
|
| | |/
| |
| |
| |
| | |
We (will) use `*.sh` for shell include files. We're about to make one
of these.
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
TorClientBuilder: Add the ability to retry when fslock fails
Closes #1464
See merge request tpo/core/arti!2198
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Name chosen to match the error kind that we're detecting.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a parameter to TorClientBuilder that control how long
we should retry constructing a TorClient if we get a
LocalResourceInUse error. When this parameter is not set, we
default to 500 milliseconds for async entry points and 0
milliseconds for sync entry points.
(`LocalResourceInUse` usually means that a lockfile is held by
somebody else; but when the resource is some other type, we
typically want the same behavior anyway.)
(I really don't want to introduce delays by default for the
create_unbootstrapped case, since it previously had no delay at
all.)
There is now also an async entry point to create an unbootstrapped
TorClient.
Closes #1464.
|
| |/
|
|
|
| |
There is no actual reason to consume this type, and taking it by
reference allows us to retry.
|
| |\
| |
| |
| |
| |
| |
| | |
tor-circmgr: Refactor VanguardHsPathBuilder::pick_path
Closes #1459
See merge request tpo/core/arti!2205
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
This is just code motion: moving the vanguard-specific parts of
`maybe_extend_stub_circuit()` behind the `vanguards` feature will enable
us to refactor it to use `select_middle_for_vanguard_circuit()`, which
is only available if the `vanguards` feature is enabled.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This is a follow up from https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2186#note_3035525
Closes #1459
|
| |/
|
|
| |
There's not much to refactor about this line.
|
| |\
| |
| |
| |
| | |
tor-circmgr: Write tests for the HsPathBuilder.
See merge request tpo/core/arti!2199
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This test is not new (it was added in !2168), but I think it's a good
idea to annotate the tests preventing security issues with the TROVE
number and/or arti ticket they pertain to.
|
| | |
| |
| |
| |
| |
| |
| | |
These tests should give us *some* assurance that the upcoming
`HsVanguardPathBuilder` refactoring doesn't break anything.
Part of #1459
|
| | |
| |
| |
| | |
Part of #1459
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
We will soon need these helpers outside of `tor-guardmgr` too.
This commit is mainly code motion.
|
| |/ |
|
| |\
| |
| |
| |
| |
| |
| | |
Update curve25519-dalek to 4.1.3.
Closes #1468
See merge request tpo/core/arti!2211
|
| |/
|
|
|
|
|
|
|
| |
This updates our `curve25519-dalek` dependency to 4.1.3, which doesn't
have the issues described in RUSTSEC-2024-0344.
Closes TROVE-2024-007 and #1468
Fixes the failing cargo-audit job.
|
| |\
| |
| |
| |
| |
| |
| | |
tls: Support export keying material (RFC 5705)
Closes #1432
See merge request tpo/core/arti!2185
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a function to get the keying material as detailed by RFC 5705.
Because native-tls doesn't have such support, there is a place holder
panic!() for now.
This means that for the forseable future, relay would only work with
rustls until we figure out a solution for native-tls.
Closes #1432
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
CI: Bail if unexpectedly using a non-amd64 container
See merge request tpo/core/arti!2207
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
cf https://gitlab.torproject.org/tpo/tpa/team/-/issues/41621, it's
possible to unexpectedly run on a container for a different architecture
than the one requested. This can result in subtle and difficult to debug
issues, e.g. when unexpectedly running in the i386 variant of a
container instead of the expected amd64 variant.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Images with multi-arch manifests suffer from subtle caching issues
that can result in running an image with a different arch than intended.
See https://gitlab.torproject.org/tpo/tpa/team/-/issues/41621.
We can avoid this issue by using single-arch manifests where available.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
dirmgr::storage: Treat a missing blob file as an absent object.
Closes #1466
See merge request tpo/core/arti!2200
|
| | | |
| | |
| | |
| | | |
SQL is case-insensitive, but it is still nice to be consistent.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch removes files from dir_blobs if they are not referenced
from the database, or if their filenames are not valid UTF-8.
(If they were not valid UTF-8, we wouldn't have put them in our
database.)
To ensure that there can't be any race conditions, we only do this
when the file is a bit old.
|
| | | |
| | |
| | |
| | |
| | | |
Previously, we were putting an (optional) db.sql file and our blobs
into the same path, which is not what we do outside of our tests.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Without this, "ON DELETE CASCADE" will do nothing.
Part of fixing #1466.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously it was counted as a hard error, which would cause an
absolute failure to start if a blob file had been deleted improperly
-- for example, by a renegade cache-cleaner that had decided to
remove the largest files it could find.
Upon encountering a missing blob, we remove it from the database as
well: if we did not, then unavailable consensuses could still cause
us to try to fetch consensus diffs, because their rows would still
be present.
Fixes #1466.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Update to derive-deftly 0.12.1
See merge request tpo/core/arti!2209
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Change `pub` to `export`
* Change the `=` in define to `:`
* Change `pub_template_semver_check` to `template_export_semver_check`
Right now, 0.12.1 supports both syntaxes. I have verified this branch
also compiles with
https://gitlab.torproject.org/Diziet/rust-derive-deftly/-/merge_requests/402
ee171ffaf56d7dcb7d75584054921153fe19b222
|
| | | |/
| |/|
| | |
| | |
| | |
| | | |
* Bump in Cargo.toml
* Deal with `${Xmeta as ...}` incompatible change, by
always specifying an `as`, and changing `as tokens`.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
arti: Move arti hss subcommand implementation to separate module.
See merge request tpo/core/arti!2206
|
| | | |
| | |
| | |
| | |
| | | |
I propose we move each subcommand implementation to a `subcommand`
submodule.
|
| |/ /
| |
| |
| | |
This addresses a TODO.
|
| |\ \
| | |
| | |
| | |
| | | |
meta: Use my new name
See merge request tpo/core/arti!2204
|