| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Change our mind about the logic for encoding an Ignored.
|
| |
|
|
|
|
|
|
|
| |
Currently this is mishandled: the current use sites (in
rs/each_variety.rs) use Option<Ignored>, which would reject repeated
items with that keyword, which is technically wrong. And encoing
will become a problem. Vec<Ignored> would be wrong too.
Instead, broaden NotPresent and give it multiplicity impls.
|
| | |
|
| |
|
|
| |
This makes it match the protocol and the spec.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
We're going to want to change some now-public fields to use these types.
|
| | |
|
| |
|
|
| |
We'll want to general way to find the error problem column.
|
| |
|
|
|
|
|
| |
Provide facilities in ArgumnetStream for determining the column, and
add the field to all the error types up to and including ErrorProblem.
The value still needs to be propagated to ParseError, and printed there.
|
| | |
|
| |
|
|
|
| |
This will allow us to (1) move field name handling out of the argument
parser method, and also (2) add columns more easily.
|
| |
|
|
|
|
|
| |
We're about to have some functions return ArgumentError and some
ErrorProblem. We don't want to provide a conversion directly between
these types, so instead introduce a new type that will be convertible
to either.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
We had two functions with different return types but identical
semantics. Replace them with one function returning `impl Iterator`.
Make it return owned addresses. These are small.
|
| | |
|
| |
|
|
| |
Fixes #2192
|
| | |
|
| |
|
|
|
| |
I don't really see any way to make this less painful for downstreams,
so I haven't added compatibility aliases of any kind.
|
| | |
|
| |
|
|
|
|
| |
ns-consensus doesn't seem to have ever been released.
This is part of abolishing the use of "ns" to mean "plain".
|
| |
|
|
|
|
|
| |
Our features are generally kebab-case, and this is the way it's
documented.
Retain the old name for compatibility.
|
| | |
|
| |
|
|
|
|
|
| |
I'm about to make our parsers reject some strings at construction
time, so it makes sense to have these functions become fallible.
This is a breaking change.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Closes #1019
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
| |
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
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
StaticSecret.
Previously, when retrieving `KS_hsc_desc_enc` keys (or any other x25519
keys) from the keystore, the keymgr would discard the public part of the
key (SSH private keys contain the public part of the key too). Instead
of discarding the public key and returning just the `StaticSecret`, the
keymgr now returns a `StaticKeypair`. This makes the x25519
`EncodableKey`/`ToEncodableKey` implementation consistent with the
ed25519 one (which retrieves key pairs rather than "unescorted"
secrets).
|
| | |
|
| |
|
|
|
| |
I was going to add a comment about "doing this if we need the voting
period anywhere else" but it turns out that we also use it in dirmgr.
|
| |
|
|
|
|
|
|
|
|
|
| |
The consensus includes a listing for clients and for relays,
saying which protocol versions are _required_ for participation on
the network, and which versions are _recommended_. We have been
parsing this, but not yet exposing it.
This commit adds accessors to expose it, since we'll need that in
order to create CircTargets for introduction points and rendezvous
points.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
`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]>
|
| | |
|
| |
|
|
|
| |
Empty lines were previously reported as BadKeyword, which is
confusing.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
To implement a reasonable RsaIdentity accessor, we have to
store the RsaIdentity in the RouterDesc, or else we'd have to
recalculate it using SHA1 and DER every time.
The Ed25519 identity is hidden inside the identity cert, but it's
safe to get a reference to it.
|
| | |
|
| |
|
|
| |
Their omission was an oversight.
|