| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| | |
We're going to want this some more.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Remaining formatting churn.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
And also instance_peek_storage, which needs to share some code, so
determined the shape of this implementation.
Make StateDirectory have the (one) field we need.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These are the straightforward methods which, given a CheckedDir,
perform the relevant operation.
Make InstanceStateHandle have the necessary fields.
Constructing an InstanceStateHandle is a bit complex and will come in
a moment.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
In practice, allowing Bug here was quite inconvenient for everyone.
I think very few call sites will want to throw anything interesting.
If they *do* want to cause an error, without panicking, they could
write a syntactically invalid slug.
|
| | |
| |
| |
| |
| | |
state_dir doesn't support a "shared read-only" mode, so it needs an
error.
|
| | |
| |
| |
| |
| |
| |
| | |
Introduce a Bug variant.
Then, use it for conversions from BadSlug. See the comment for why I
think this is appropriate.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
You don't need to consume a Mistrust to get a CheckedDir - you use a
Verifier and then something clones it for you. So StateDirectory::new
should take &Mistrust.
And instance_peek_storage needs T to be deserialisable!
|
| | |
| |
| |
| |
| | |
This is rather more serious than many deletions - it wipes out the
whole directory. And this name goes better with purge_instances.
|
| | |
| |
| |
| | |
The formatting will be normalised roughly as we go.
|
| | |
| |
| |
| | |
Now we get log messages about what we're reading/writing.
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
| |
This also removes a TODO regarding adding a `Nickname` type for
representing `HsClientSpecifier` and `HsNickname` (we don't need it if
`Slug`s are non-empty).
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1931#note_2990227
|
| | |
|
| |
|
|
|
|
|
|
| |
The internal representation of `HsNickname` will soon be `Slug`,
and nicknames can contain hyphens, so let's add `-` to the allowed
charset.
Part of #1092
|
| | |
|
| |\
| |
| |
| |
| | |
TryIntoSlug
See merge request tpo/core/arti!1922
|
| | | |
|
| | |
| |
| |
| | |
And tidy up some of the docs to refer to the slug module.
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
slug: Implement the AsRefs for Slug as well as for SlugRef
See merge request tpo/core/arti!1929
|
| | |/
| |
| |
| |
| | |
Otherwise you can't use &Slug where someone wants &impl AsRef<Path>,
which is rather sad.
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
Abolish it, sprinkling cfg all over, rather than having it be
uninhabited.
See
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1912#note_2988746
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1912#note_2988748
|
| |
|
|
|
|
|
|
|
| |
I need this for state_dir (#1163, !1853).
I intend that this should be used for arti paths (#1092, #1193).
See also #1195.
Implements the spec in #1192 but doesn't connect it to anything yet.
|
| |
|
|
| |
It's not a runtime dep, in fact.
|
| | |
|
| | |
|
| |
|
|
|
| |
You can't call these yet and there aren't any tests. But this
demonstrates use of the previous refactoring.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before this, we would say the problem happened while accessing
Resource::File {
container: "STATE_DIR",
file: "KEY.json",
}
which would imply that we failed to access "STATE_DIR/KEY.json".
But that's not true: we *actually* access "STATE_DIR/state/KEY.json".
|
| |
|
|
|
| |
Bring in the fslock-guard crate and replace the Void in the structs.
(Separated out since this contains Cargo.lock churn.)
|
| |
|
|
|
|
|
|
|
|
| |
And, instead of being a hidden module, it's a public experimental one.
I have feature-gated all the new dependencies since we probably want
to feature-gate this module in perpetuity, since some builds of Arti
won't need it.
Closes #1205
|
| |
|
|
| |
Closes #1215
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This crate doesn't have a meaningful public API, so it just gets a patchlevel bump:
arti
These crates had nonbreaking changes, and get a patchlevel bump:
tor-rtcompat
fs-mistrust
tor-llcrypto
tor-cert
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates have breaking changes on their own:
tor-error
tor-netdoc
tor-dirmgr
tor-keymgr
Because of the breaking change in tor-error, and the fact that
basically every crate publicly depends on tor-error (by implementing
ErrorKind), we need to call this a breaking change on all of the
following:
tor-config
tor-geoip
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-bytes
tor-hscrypto
tor-socksproto
tor-cell
tor-proto
tor-netdoc
tor-netdir
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-testing
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This code needs fs_mistrust::Error and tor_error::ErrorKind. I think
we probably don't want fs_mistrust to depend on tor_error or vice
versa.
tor_persist is approximately the place where these two threads of
thought come together, and it's currently the lowest place where this
is needed.
Use it in tor-dirmgr too, which is currently the other place that
embodies this knowledge about fs_mistrust::Error.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This crate is new, and gets a bump to 0.1.0.
tor-log-ratelim
This crate had a breaking change:
tor-persist
tor-llcrypto had a breaking change. These crates _are_
tor-llcrypto, or (transitively) depend on it. I am assuming that
they all re-expose something from it in a way that matters:
tor-llcrypto
tor-bytes
tor-hscrypto
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates had backward-compatible changes, and get a patchlevel
bump only:
fs-mistrust
tor-error
tor-config
tor-rtcompat
tor-rtmock
This crate exposes no non-CLI APIs, and gets a patchlevel bump only:
arti
|