| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
I tried to use petgraph, but it was optimized for performance over
usability, and the usability was beyond me.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem with our old rules is that "reachable from __nonadditive"
and "reachable from experimental" were not themselves sensible
definitions of nonadditive and experimental.
See
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1068#note_2887939
|
| |\ \
| | |
| | |
| | |
| | | |
llcrypto: upgrade x25519-dalek.
See merge request tpo/core/arti!1181
|
| | | |
| | |
| | |
| | | |
The `new` function is deprecated in x25519-dalek 2.0.0-rc.2
|
| |/ /
| |
| |
| |
| |
| |
| |
| | |
This upgrades us to 2.0.0-rc.2, which is the latest in the
not-quite-done-yet 2.0 series.
The only code change that's absolutely needed is opting into the
static_secrets feature.
|
| |\ \
| | |
| | |
| | |
| | | |
hsclient: Build cached descriptor TimerangeBounds from descriptor lifetime.
See merge request tpo/core/arti!1154
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
closed bound.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | | |
We can now get rid of the standalone `intersect_bounds` function.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By implementing `RangeBounds` for `TimerangeBound`, we get
`RangeBoundsExt` for free. This will enable `parse_decrypt_validate` to
easily compute the intersection of the `TimerangeBound`s its layers.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
`descriptor_fetch_attempt` now returns a `TimerangeBound<HsDesc>` (and
so does `parse_descript_validate`).
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`parse_decrypt_validate` will need to "peek" inside an encrypted
descriptor (before validating it) to extract the `TimerangeBound` of the
inner layer. This is needed to compute the intersection of the
`TimerangeBound`s of both layers.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes `descriptor_ensure` refetch the descriptor if either of its
layers (inner or outer) expires.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will be used for computing the final `TimerangeBound` of a `HsDesc`
from the `TimerangeBound`s of its inner and outer layers.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |/ /
| |
| |
| |
| |
| |
| | |
This makes `descriptor_ensure` refetch the descriptor if it has been
cached for longer than `descriptor-lifetime` minutes.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
netdoc: Rename parse_error_kind() to netdoc_error_kind().
See merge request tpo/core/arti!1179
|
| | | |
| | |
| | |
| | |
| | |
| | | |
A `NetdocErrorKind` is a `NEK` rather than a `PEK`.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |/ /
| |
| |
| |
| |
| |
| | |
`ParseErrorKind` was renamed to `NetdocErrorKind`, so we need to
rename this acccessor too.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
Fix a few warnings from rust nightly
See merge request tpo/core/arti!1178
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This fixes a warning from nightly clippy. I don't care for this
warning, but fixing it is easier than adding a version-conditional
warning exception.
|
| | | |
| | |
| | |
| | | |
This fixes a warning from nightly clippy.
|
| | |/
| |
| |
| | |
This fixes a warning from nightly clippy.
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
Second take on linkspec manipulation code needed by onion services
Closes #794
See merge request tpo/core/arti!1177
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Relays and onion service services/clients will both need this.
I'm marking this experimental for now; we should stabilize it before
we release onion services.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
If we didn't do this, we would need to transfrom
`EncodedLinkSpec`s into a `LinkSpec::Unrecognized`, which is not
semantically right. What's more, every user of this API wants to
consume encoded link specifiers, so encoding them early saves a
little effort.
|
| | |
| |
| |
| |
| | |
This lets us check the type of an `EncodedLinkSpec` as well, and
lets us remove an interface that took a raw u8.
|
| | |
| |
| |
| |
| |
| | |
This commit adds functions to convert between LinkSpec and
EncodedLinkSpec, and refactors their read/write implementations a
bit to avoid code duplication.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Previously, we only accepted an OwnedCircTarget, which would have
kept us from getting a circuit that was aimed at a specialized
CircTarget that gave us LinkSpecs in a raw order.
|
| | |
| |
| |
| | |
This is pure code movement.
|
| | |
| |
| |
| |
| |
| | |
This change is necessary so that we can build Extend2 messages
that have their LinkSpecs appear in a verbatim order as provided
in an INTRODUCE2 message or in a HS descriptor.
|
| |\ \
| |/
|/|
| |
| | |
netdoc: Rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`.
See merge request tpo/core/arti!1176
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`parse_decrypt_validate` was marked as experimental because it was
unclear if the newly added `BadTimeBound` error kind belongs in
`ParseErrorKind`. However, we have since renamed `ParseErrorKind` to
`NetdocErrorKind` and decided to keep the new variant, so this API
doesn't need to be experimental anymore.
Closes arti #852
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |/
|
|
|
|
|
|
|
|
|
| |
`ParseErrorSource` was originally meant to represent a parsing error,
this enum has since gained some variants that aren't really parsing
related (`Signature`, `CertSignature`, `UntimelyDescriptor`).
Since this error type is now used for general-purpose netdoc errors,
let's rename `ParseError{Kind, Source}` to `NetdocError{Kind, Source}`.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |\
| |
| |
| |
| | |
bump to latest version of bumpalo to appease cargo_audit.
See merge request tpo/core/arti!1175
|
| |/ |
|