| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This code was duplicated across hsclient and hsservice.
Logically, it belongs in netdir, since that's where we have the
latest required-protocol information, and the ability to look up
relays by IDs.
Closes #1223
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes part of #2193.
(Edits from nickm: I selected the cases here that I could verify
were correct from immediate context.)
Edited-by: Nick Mathewson <[email protected]>
|
| |\ \ \
| |_|/
|/| |
| | |
| | | |
tor-netdoc: Implement new authority certificates
See merge request tpo/core/arti!3462
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit implements directory authority certificates using the
`parse2` approaches.
For now, those are in a module `doc::authcert::tmp`, with the eventual
goal of moving it into its super module after removing/deprecating the
legacy types.
|
| | | | |
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
proto: Bump criterion, criterion-cycles-per-byte to 0.8.0
Closes #2281
See merge request tpo/core/arti!3528
|
| | |/
| |
| |
| | |
Closes #2281
|
| |\ \
| | |
| | |
| | |
| | | |
Make Protocols type inherently interned; add notes about usage.
See merge request tpo/core/arti!3524
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
(It's now done in tor_protover.)
|
| | | |
| | |
| | |
| | |
| | | |
This will help us with all the places we want to copy around
Protocols objects.
|
| | | |
| | |
| | |
| | | |
This will help us make it self-interning.
|
| | | | |
|
| | | | |
|
| | |/ |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-netdoc: Store n_authorities in usize
See merge request tpo/core/arti!3522
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, this value was stored in a u16. However, because this
number is usually always derived from some sort of list type, such as
`Vec`, it makes more sense to use usize for this, as it avoid
unnecessary casting and error checking.
|
| | | |
| | |
| | |
| | |
| | | |
This provides a way to explicitly consume the encoder and finish the
item, without use of mem::drop.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The new derive is going to want this. So it would need to be at least
`#[doc(hidden)]`. But it makes sense to expose it.
But, it had a weird signature. Make its signature like that of `.arg_empty()`.
(Note that an ItemEncoder contains just a `&mut NetdocEncoder`.)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
These cannot be encoded. So that is logically incoherent.
(Perhaps String ought not to be NormalItemArgument, but let's not
tackle that now.)
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
talking about the "keyword argument syntax" makes it sound a bit like
its' the *keyword* that is wrong.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
NormalItemArgument is for types where we use the Display as the netdoc
argument formatter. But what if gives the empty string?
Previously we would allow `add_arg` to handle the error. That would
record it in the NetdocEncoder. That's kind of OK, but it will
prevent the caller from aborting early (and from elaborating the error).
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Update to derive-deftly 1.6.0
See merge request tpo/core/arti!3525
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We are supposed to pin whenever we enable the `beta` cargo feature,
see
https://docs.rs/derive-deftly/latest/derive_deftly/doc_changelog/index.html#beta-features
Empirically, we somehow failed to do that in tor-circmgr.
In practice not pinning makes little difference since cargo wants to
pick the same version everywhere, but we should be correct. But it is
more maintainable to pin everywhere.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This code sometimes expands to `let item = item;`. That's OK.
In derive-deftly 1.5.x the two `item` wrongly had different hygiene
span so the warning didn't trigger.
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This has:
* Fixes to hygiene spans from the new modules feature, needed for
my WIP netdoc encoder derive.
* A substantially richer `${error }` construct.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Since "info" is the default level, we don't want to log by default each
time a circuit reactor is created.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Add `KeyMgr` accessor to `TorClient`
See merge request tpo/core/arti!3442
|
| | | |
| | |
| | |
| | |
| | |
| | | |
`run_check_integrity`
This change simplifies the signature of `run_check_integrity`.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-error: Provide new `bug_context` method on Bug and Result<_, Bug>
See merge request tpo/core/arti!3512
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This allows call sites which have a `Bug` to add additional context,
beyond just the stack trace.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
proto: Start handling incoming streams in the relay reactor
See merge request tpo/core/arti!3487
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This was all wrong, as mentioned in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3487#note_3296033
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since EXTEND is not used anymore, it's fine to handle it in our
catch-all branch for unrecognized/unsupported cells.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This TODO was copied over from the client reactor, but it doesn't make
any sense here (we don't yet handle control messages in the backward
reactor).
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While we still re-export StreamReceiver from the client module, I want
to avoid importing it from there in the implementation-agnostic modules,
just to make it clearer we're not using client-specific types.
|