| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We will need this type in public fields of the router descriptor data
type at one point, most notably for the `fingerprint` item.
No need to update semver.md because this type is, for whatever reason,
already contained there (in main)?
|
| | | |
| | |
| | |
| | |
| | | |
This commit adds a test for the recent parse2 accumulator to see whether
it accumulates the policies as expected.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This commit implements NetdocParseableFields for AddrPolicy, which will
be required, because this field accumulates exit policies in a firewall
like order, making the use of it necessary.
|
| | | |
| | |
| | |
| | |
| | | |
This commit implements NormalItemArgument for AddrPortPattern because we
will need it later for an accumulator.
|
| | | |
| | |
| | |
| | |
| | | |
This commit derives PartialEq and Eq for a few types in addrpolicy.rs,
as we will need these for a few unit tests later on.
|
| | | |
| | |
| | |
| | |
| | | |
The inner Vec ought to be better of as a BTreeSet as that would save us
dedup and sort calls.
|
| | | |
| | |
| | |
| | |
| | | |
We will need this later for outputting RelayFamilyIds in a fashion
compatible with the current API.
|
| | | |
| | |
| | |
| | |
| | | |
We will need this later for outputting RelayFamilyIds in a fashion
compatible with the current API.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This commit adds the ExtraInfoDigests structure storing the, if present,
mandatory SHA-1 hash and optional SHA-256 hash of the extra-info
document associated with the router descriptor it is referenced from.
|
| | | |
| | |
| | |
| | |
| | | |
Most other certificate types do so too and we will need it in
tor-netdoc.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit adds RouterDescIntroItem which will serve as the
introduction item for router descriptors, that is, a line with the
keyword "router" followed by the nickname, the IPv4 address, and a few
ports.
|
| | | |
| | |
| | |
| | |
| | | |
This derives Eq for Nickname because we will need it for unit tests that
will be added later on.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This type comes from the specification and indicates overload
information about a relay. We will use it in router descriptors at one
point, hence why we are adding it already.
|
| | | |
| | |
| | |
| | |
| | | |
This commit adds a test to verify the 10x4 character requirement for
SpFingerprint.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This commit introduces FixedB16U which is a FixedB64 pedant for B16U.
It will be required for ExtraInfoDigests.
|
| | | |
| | |
| | |
| | |
| | | |
This commit adds a round-trip test for NumericBoolean to ensure that 0
is false and 1 is true.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit adds a new type, NumericBoolean, which implements
NormalItemArgument in order to be parseable with parse2.
It works very simple, namely it can be used to decode/encode a boolean
as a `0` (false) or `1` (true) which is found in a few places around
tor-netdoc.
The reason why this is its own type instead of implementing
NormalItemValue for the bool primitive is, that booleans are special
numerical types and to be future-proof against other oddities, a
separate wrapper type makes most sense.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-netdoc: cargo feature rationalisation, phase 1
See merge request tpo/core/arti!3910
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Part of #2492 phase 1.
No semver note because this is an experimental feature.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Part of #2492 phase 1.
No semver note because this is an undocumented transitional phase.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Because of the sorting requirement and the fact that a `KeyMgr` can have
multiple Ntor keys, the caller now explicitly extract the two Ntor keys
it wants from the `KeyMgr` and then creates a `RelayNtorKeys` object
with them.
Future changes (#2495) will move this into a view and warn if there are
more than 2 keys.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| | |
This is when we get them from the keystore so we can have a concept of
ordering in the SmallVec.
Future commit will transform this into a struct handling both keys.
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
Fix new warnings from Rust 1.95
See merge request tpo/core/arti!3902
|
| | | |
| | |
| | |
| | |
| | | |
Rust 1.95 warns us that this is an experimental API that could be
stabilized in the future.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Geoip: Move the data into the .data segment completely, and into an out-of-tree crate.
See merge request tpo/core/arti!3900
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This is perma-unstable: We'll use it to make an export tool,
but that's it.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This lets us guarantee that every bit sequence is a valid
Option<CountryCode>.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This change allows us to provide the parts of the DenseRangeMap
on the data segment.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This abolishes the NetDefn type, and turns DenseRangeDb into a map to
one or (optionally!) two types.
For the DBs we ship, which don't have asn information, this saves
about 2.5 MiB.
(It also probably saves a bit more, since the niche optimization
didn't apply to NetDefn as it existed before, since it tried
to distinguish Some(None,None) from None.)
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This required correcting some errors in our previous
ersatz geoip databases.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This type is more space-efficient than RangeInclusiveMap
in the case where most ranges do not have gaps between them.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
See torspec#401 and
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3864#note_3397715
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3864#note_3397714
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now it follows, rather than precedes, the parse2_impls and
encode_impls modules that it imports things from.
Pure code motion apart from deleting the todo.
|
| | | | | |
|
| | | | | |
|