| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Introduce the crate, move the code motion, and make minimal necessary
changes.
|
| |\
| |
| |
| |
| |
| |
| | |
Move state_dir to tor_persist and start to implement it
Closes #1205
See merge request tpo/core/arti!1913
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |/
|
|
|
| |
We need it to be public, because we're about to expose it in the
`OnionServiceStatus`.
|
| |
|
|
|
| |
The functionality previously provided by the so-called `StateMgr` is now
part of `OnionService`, so we can remove state.rs altogether.
|
| |
|
|
|
|
|
|
| |
This will enable us to construct non-launched (but configured)
`OnionService`s. We need this, for example, for implementing
the `arti hss` CLI command.
Part of #1227
|
| |
|
|
| |
This will let us make a tested example in the module doc.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
A proposal for #1163.
I haven't updated any of the calling code in tor-hsservice yet.
I think the way this will be used ought to be fairly obvious from the
API.
This commit also contains a file of notes about stuff I found in an
arti state directory. These may be too random even to put in
doc/dev/notes, so for now I've put them next to state_dir.rs.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Improve KeySpecifier, errors, IptKeySpecifier impl, etc.
Closes #1116 and #1148
See merge request tpo/core/arti!1796
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
And implement serde that way, using SerdeStringOrTransparent.
|
| | |
| |
| |
| |
| | |
And make it useable elsewhere by not expecting the particular error
type.
|
| |/
|
|
|
|
| |
(This doesn't yet send any status events.)
Begins work on arti#1083.
|
| |
|
|
|
|
|
|
|
|
| |
If we can't store IPT details, we mustn't publish the corresponding
IPT. But that's not fatal; maybe we can store later. So introduce a
new IptStoreError type, and change the return value from some
functions that are going to be able to fail that way.
This introduces a new TODO HSS: we need the publisher to be able to
retry after such a failure.
|
| |
|
|
|
|
| |
While debugging IPT persistence I wanted to see what the code was
leaving in the storage and keystore directories. This is hard when
it's all done with a vanilla tempdir().
|
| | |
|
| |
|
|
|
| |
This avoids writing "[42,\n 43,\n ...]" into the storage json,
which is (a) wasteful (b) hard to read by hand.
|
| |
|
|
| |
This will help us construct ArtiPaths
|
| | |
|
| |
|
|
|
|
| |
We're going have it in an variant in FatalError.
Also make it impl HasKind and have IptError delegate to that.
|
| |\
| |
| |
| |
| | |
Provide module for handling storage of times on disk
See merge request tpo/core/arti!1723
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
I found time handling in IPT persistence very confusing to think
about, so I propose to deal with all of the hard questions in a
module.
Again we have a doctest so use the technique we used for having
timeout_track not be semver-exposed.
|
| |/
|
|
| |
See comments for design notes.
|
| |
|
|
| |
Closes #1069
|
| | |
|
| |
|
|
|
| |
The trait is no longer sealed because users should be allowed to define
their own key denotators.
|
| | |
|
| | |
|
| |
|
|
|
| |
We will need the string rerpresentation (minus the TimePeriod or any
other metadata) of `HsSvcKeyRole`s for building `KeyPathPattern`s.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
I think that the reason we added this was in case we needed
different behavior from DataStream; but on reflection it does seem
that we don't. Having a single type here will make things a bit
simpler.
|
| |
|
|
|
|
| |
This isn't very much code, but given how long it took me to write
this and make it typecheck, I suspect that others may find it useful
as well.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This requires yet more plumbing—this time, of HsCircPool and
NetDirProvider.
|
| | |
|
| |\
| |
| |
| |
| | |
Begin working on configuration logic for onion services
See merge request tpo/core/arti!1557
|
| | | |
|
| | | |
|
| |/
|
|
|
| |
This is going to be complicated enough we probably want it split out
of the publisher.
|
| | |
|
| |
|
|
| |
There are many TODOs and no tests, but it does compile.
|
| |
|
|
|
| |
This module is perhaps rather more comprehensive than needed right
now. But I found I kept wanting to change which bits of it I used.
|
| |
|
|
|
|
|
|
|
|
| |
At the very least, I need FatalError to be distinct:
IptEstablisher::new ought not to fail unless everything is terrible.
Add a the Spawn variant to FatalError (that we'll need soon) and the
Bug variant (which it seems likely we might need).
This also gets rid of the crate-level Result alias.
|
| | |
|