| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | | |
This doesn't let us do any verification or anything.
|
| | | |
| | |
| | |
| | |
| | | |
This module will be used when we derive ItemValueParseable on
Signature.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And change the type of the field in Signature.
We are going to abandon the almost completely manual parsing approach
taken in poc's NdiDirectorySignature. That parsing approach was
heavily influenced by poc's struct layout, which in turn was
influenced by the way that previously, hashes were inside signatures.
Instead we'll derive ItemValueParseable from Signature, and
semi-manually implement the hash update.
This type is the one that embodies the `directory-signature` item's
parsing strangeness: the optional initial positional argument.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Abolish the parse2_test and encode_test modules. These mostly existed
because of cfg gates.
Now, we can unify the test module namespace, and also remove an
indentation level (that will come next, with rustfmt).
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This way we import via the public names, which is more sensible, and
we include things that aren't in misc. The whole of types is pretty
good as a glob import here.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
And remove a then-unneeded import in a using module.
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the circ-padding feature is enabled, we use maybenot, which does
not yet support rand 0.10. In the meantime, enabling this feature pulls
in rand 0.9. This is not ideal, but should be okay as a temporary
situation.
This also replaces the use of ReseedingRng (which was removed in 0.10)
with the reseeding_rng crate. This is somewhat less performant, but it
should be okay.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-netdoc: Abolish some empty features, deprecate encode (which is empty), etc.
See merge request tpo/core/arti!3972
|
| | | |
| | |
| | |
| | | |
Part of #2492.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Move the docs from Cargo.toml to README, and expand them.
Part of #2492.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This feature is empty already.
Part of #2492. We ought to wait a release now before we remove it
completely.
|
| | | |
| | |
| | |
| | | |
This was all un-cfg-gated previously.
|
| | | |
| | |
| | |
| | |
| | | |
Remove some otiose and leftover docs ("Testing only" related to
`hs-inner-docs`, now gone) and now-redundant blank lines.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
We don't need to say it doesn't adhere to semver since every release
of tor-netdoc is uses a semver-breaking version.
But we do need to say we don't take any care about compatibility.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was never documented. The relevant code is now part of
"incomplete".
Part of #2492.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was never documented. The relevant code is now either
unconditional, or part of "incomplete".
Part of #2492.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These were deprecated in the last release. Now we can remove them.
Also remove ns_consensus which was never really documented.
Part of #2492.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit changes the name of all (except accept/reject) real items in
RouterDesc to their proper name as found in the spec.
This is a breaking change and semver.md has been updated properly.
In the instanciation of RouterDesc in the legacy parser, we now use a
"weird" syntax of some fields using a different name throughout the
code, but that is ok. Changing this would make the diff way larger at
the risk of breaking things, especially because many variables such as
identity_cert get shadowed countless times within the function, making
it harder and error prone to change.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit reorders the real RouterDesc items according to the spec.
Unfortunately, the names of those are not real yet, meaning that
verifying this is somewhat hard. Personally, I recommend to verify that
this commit does not add/remove lines using --color-moved. The correct
order is probably easier to verify with the next commit applied that
adds nice rustdoc comments explaining to which fields in the spec the
respective items belong. This is a bit of a chicken egg situation but
if I would have added the nice rustdoc comments first, this diff would
have been awful to review, because the hunks of reordering the nice
rustdoc comments included are awful to review, so please bear with me
for the next commit.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit reorders the RouterDesc struct into virtual and real items,
with real items being items that actually exist (although potentially
under a different name) in router descriptors. Virtual items on the
other hand do not exist this way in router descriptors and have to be
removed at one point or another.
|
| | | |
| | |
| | |
| | | |
Makes this much nicer to read.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-netdoc: Combine two hex encoding loops into a function
See merge request tpo/core/arti!3947
|
| | | | |
|
| | | |
| | |
| | |
| | | |
The `revision` field is no longer dead code.
|
| | | | |
|
| | | | |
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cargo set-version -p arti-client 0.42.0
cargo set-version -p arti-config 0.42.0
cargo set-version -p arti-relay 0.42.0
cargo set-version -p arti-rpc-client-core 0.42.0
cargo set-version -p arti-rpcserver 0.42.0
cargo set-version -p arti-testing 0.42.0
cargo set-version -p arti-ureq 0.42.0
cargo set-version -p tor-async-utils 0.42.0
cargo set-version -p tor-basic-utils 0.42.0
cargo set-version -p tor-bytes 0.42.0
cargo set-version -p tor-cell 0.42.0
cargo set-version -p tor-cert 0.42.0
cargo set-version -p tor-cert-x509 0.42.0
cargo set-version -p tor-chanmgr 0.42.0
cargo set-version -p tor-checkable 0.42.0
cargo set-version -p tor-circmgr 0.42.0
cargo set-version -p tor-config 0.42.0
cargo set-version -p tor-config-path 0.42.0
cargo set-version -p tor-consdiff 0.42.0
cargo set-version -p tor-dirclient 0.42.0
cargo set-version -p tor-dircommon 0.42.0
cargo set-version -p tor-dirmgr 0.42.0
cargo set-version -p tor-dirserver 0.42.0
cargo set-version -p tor-error 0.42.0
cargo set-version -p tor-events 0.42.0
cargo set-version -p tor-general-addr 0.42.0
cargo set-version -p tor-geoip 0.42.0
cargo set-version -p tor-guardmgr 0.42.0
cargo set-version -p tor-hsclient 0.42.0
cargo set-version -p tor-hscrypto 0.42.0
cargo set-version -p tor-hsrproxy 0.42.0
cargo set-version -p tor-hsservice 0.42.0
cargo set-version -p tor-key-forge 0.42.0
cargo set-version -p tor-keymgr 0.42.0
cargo set-version -p tor-linkspec 0.42.0
cargo set-version -p tor-llcrypto 0.42.0
cargo set-version -p tor-log-ratelim 0.42.0
cargo set-version -p tor-memquota 0.42.0
cargo set-version -p tor-memquota-cost 0.42.0
cargo set-version -p tor-netdir 0.42.0
cargo set-version -p tor-netdoc 0.42.0
cargo set-version -p tor-persist 0.42.0
cargo set-version -p tor-proto 0.42.0
cargo set-version -p tor-protover 0.42.0
cargo set-version -p tor-ptmgr 0.42.0
cargo set-version -p tor-relay-crypto 0.42.0
cargo set-version -p tor-relay-selection 0.42.0
cargo set-version -p tor-rpcbase 0.42.0
cargo set-version -p tor-rpc-connect 0.42.0
cargo set-version -p tor-rtcompat 0.42.0
cargo set-version -p tor-rtmock 0.42.0
cargo set-version -p tor-socksproto 0.42.0
cargo set-version -p tor-units 0.42.0
|
| |\|
| |
| |
| |
| | |
Unknown keyword handling fixes; use a more principled type for directory signature hash algo
See merge request tpo/core/arti!3923
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This type is now directly suitable for use in directory signatures.
While we're changing its type, rename the digest algorithm name field
from `digestname` to `digest_algo`. (The spec says `algorithm` but I
don't think we're going to reuse `direcctory-signature` for non-RSA
signatures so this is just the hash algorithm.)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We want DirectorySignatureHashAlgo for prod's directory Signature
type.
However, for complex cfg gate and macro scoping reasons, we can't just
move the definition out of poc. Hence this rather unpleasant
intermediate state. This will go away, and become normal again, when
we can abolish poc's signatures and have poc use a prod signature
type.
Review with
git show --color=always --color-moved-ws=allow-indentation-change --color-moved
|
| | | |
|
| | |
| |
| |
| |
| | |
We're going to use this for `directory-signature`'s hash algorithm,
which the current code always treats as a string!
|
| | | |
|
| | |
| |
| |
| |
| | |
Make the operation of disregarding the possible existence of
already-discarded information, more explicit.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows implementing NormalItemArgument for types that can only be
parsed, or only displayed - or other combinations.
I noticed this restriction while inventing a type I later decided was
unnecessary. I still think it's a good change.
There is no practical impact elsewhere, since in practice downstream
code implements NormalItemArgument rather than relying on it.
|
| | |
| |
| |
| |
| |
| |
| | |
Part of #2492 phase 3.
This feature was experimental, so now that there are no cfg use gates,
we can abolish it right away.
|
| | |
| |
| |
| | |
Part of #2492 phase 2.
|
| | |
| |
| |
| | |
This was experimental. Everything gated by it has been stabilised.
|
| |/
|
|
|
|
| |
Change all call sites.
This completes the rename.
|
| |
|
|
|
| |
This is needed because we don't have !3926 in main yet. It will
produce a semantic conflict when that merges.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Change "ns-vote" gates to "incomplete":
* `vote` modules, and in the variety macro.
(And make a TODO more likely to be found.)
Change "parse2" gates to "incomplete":
* VoteAuthoritySection
|
| |
|
|
| |
Everything that this needs is un-gated now.
|