| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Make conversation::send_message work without an error.
Closes #1085
See merge request tpo/core/arti!1726
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously it was possible for `handler` to be None only when
`msg` was also None, which would make SendMsgAndInstallHandler into
a no-op. Now, if `msg` is present but `handler` is absent, we
use the previously installed handler, which I think was our
intention.
Without this patch, `Conversation::send_message` simply won't work.
Fixes #1085.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
(We already require that it is Send when the client gives it to us
in circuit.rs, but we had previously forgotten that when we stored
it in the Reactor.)
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Always reify a default SimpleMockTimeProvider, and then apply the
starting_wallclock to it. This will make the next change fit.
|
| | | | |
| | | |
| | | |
| | | | |
Retain the TODO for making this properly pub somewhere.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We no longer need this function now that we always match the entire
denotator rather than its individual components,
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`'+'` is now allowed to occur once within an `ArtiPath` (but **not**
within an `ArtiPathComponent`), so we need to special case the `"c++"`
test.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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 renames the serialization function to `encode()` for consistency
with its `KeyDenotator::decode()` counterpart.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`KeyDenotator::decode` will soon replace the ad-hoc `TimePeriod` parsing
logic from ipt_establish.rs.
Part of #1070
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
|
| | | | |
|
| | | | |
|