| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
Provide module for handling storage of times on disk
See merge request tpo/core/arti!1723
|
| | | |
| | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2960861
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2961013
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1723#note_2960877
and following some IRC discussion.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
These are the logically necessary accessors.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | | |
Retain the TODO for making this properly pub somewhere.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
denotator.
Note that instead of matching each individual component of a key
denotator (e.g. using a glob pattern like `*_*_*`), we now match the
entire denotator (using the `*` pattern) and let `KeyDenotator::decode`
handle its parsing.
In the long run, this approach should reduce code duplication (as
the decoding logic for each type is centralized in its `KeyDenotator`
implementation) and the need for complex glob patterns.
Closes #1070
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Underscores are used within `ArtiPath`s as visual separators. To reduce
ambiguity, we now use a different character for separating the
key denotators (e.g. time periods) from the rest of the `ArtiPath`.
Closes #1063
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This addresses the TODO that resulted from this thread
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1677#note_2955700
|
| | | |
| | |
| | |
| | |
| | |
| | | |
(The actual false positive rate for these cases is very small, since
the filters are very much not full. I haven't been able to hit one
in hours of looping.)
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Right now, this is always an ephemeral log, which isn't right: There
are TODO comments here explaining what to do instead.
|
| | | |
| | |
| | |
| | | |
See comments for design notes.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
HSS misc tweaks
See merge request tpo/core/arti!1718
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-keymgr: Fix a broken docs link
See merge request tpo/core/arti!1721
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes:
cargo doc --workspace $f --document-private-items
1 | //! [`KeySpecifier`] implementations for hidden service keys.
| ^^^^^^^^^^^^ no item named `KeySpecifier` in scope
8 | /// A helper for defining service [`KeySpecifier`]s.
| ^^^^^^^^^^^^ no item named `KeySpecifier` in scope
|
| |/ /
| |
| |
| |
| | |
`cargo clippy --all-features --tests` is reporting warnings about
the unnecessary cloning.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
tor-keymgr: Add macros for defining key specifiers.
Closes #1069
See merge request tpo/core/arti!1710
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Closes #1069
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
The trait is no longer sealed because users should be allowed to define
their own key denotators.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Update versions for today's releases.
See merge request tpo/core/arti!1716
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
```
These crates have new APIs:
tor-async-utils ADDED
tor-config ADDED
tor-hscrypto ADDED
tor-netdoc ADDED, plus BREAKING-experimental.
These crates have patch-level changes only:
tor-netdir (bugfix only). (re-exposes netdoc)
arti-rpcserver (tweaks only, uses nothing that broke.)
arti 1.1.10, no stable public APIs.
```
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
```
tor-basic-utils BREAKING
tor-rtmock BREAKING.
tor-cert BREAKING
tor-cell BREAKING
tor-proto BREAKING: re-exposes cell. (Also BREAKING-experimental)
tor-chanmgr BREAKING: Re-exposes proto.
tor-ptmgr BREAKING: re-exposes tor-chanmgr
tor-guardmgr BREAKING: re-exposes proto. (Only for ClockSkew I think?)
tor-circmgr BREAKING: re-exposes proto
tor-dirclient BREAKING
tor-hsclient BREAKING, re-exposes proto.
tor-hsservice BREAKING, re-exposes proto.
tor-hsrproxy BREAKING
arti-client BREAKING: re-exposes proto.
arti-hyper: BREAKING, re-exposes arti-client.
tor-dirmgr Let's assume BREAKING, very high-level.
tor-keymgr BREAKING, but experimental.
```
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
I think retaining this lint even in tests is probably reasonable.
IptsPublisherView has interior mutability, so with this function
taking one, it won't ever need mut.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
timeout_track improvements
See merge request tpo/core/arti!1711
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We have a profusion of similar methods with similar names and similar
documentation. Centralising the documentation in a trait is helpful.
This also means that callers can just naturally call `.update` rather
than needing to spell out `.update_abs` vs `.update_rel` etc.
|
| | |/ /
| | |
| | |
| | |
| | | |
Clarify this in the update functions, and in the general discussion.
We don't want zero timeouts.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Representing the supported HTYPEs as `HandshakeType`s instead of `u32`s
makes it more difficult to pass in wrong/invalid values to
`HsDescBuilder::create2_formats`.
This also fixes a descriptor publisher bug spotted by @jnewsome, where
the advertised CREATE2 HTYPEs included HTYPE `1`, which is actually
supposed to be a reserved value. The publisher now only advertises the
`NTOR` HTYPE (just like C Tor).
|
| | |
| |
| |
| |
| |
| | |
`Bug` wasn't necessarily the right error type here. Plus, with the new
error type adding new errors (i.e. `CertEncodeError` variants), is not a
breaking change.
|
| | |
| |
| |
| | |
blinded_id.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
argument.
This will enable us to (eventually) the load the descriptor signing key
cert from the keystore (as opposed to always recomputing it when
building the `HsDesc`).
Part of #1048
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Enough of them have turned out to need to be async so far that I
don't think it's a great idea to commit to making any of them
not-async forever. Additionally, we've written the code that uses
these, and having them be async didn't seem to cause any major
trouble.
By the same "we may want to make these more complicated underneath"
argument, we should IMO leave them as fallible.
|