| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3991#note_3413168
|
| |
|
|
|
|
|
|
| |
For encoding, we need to represent the raw parameters.
This change is carefully arranged so that when the retain unknown feature is
disabled (ie, in clients), the per-router data structure remains the
same.
|
| |
|
|
| |
As per #2492.
|
| |
|
|
| |
(It's now done in tor_protover.)
|
| | |
|
| |
|
|
| |
This will have space for unknown flags.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
In md consensuses the referenced document digest is in the `m` field.
This seems to be to make it similar to votes. But really the function
of the md desc hash in md rs entries is much more parallel to the
plain desc hash in plain rs entries. The way the spec has done it
means the `r` item has a needlessly different syntax.
|
| |
|
|
|
|
|
| |
This will allow type-driven parsing.
Don't change the type in the (now-mostly-obsolete) builder and
accessors; that would seem like pointless churn.
|
| | |
|
| |
|
|
|
| |
This is now more obviously not needed. We should eventually remove
this, or remove finish.
|
| |
|
|
| |
Now we only need one type.
|
| | |
|
| |
|
|
|
|
| |
More code motion.
We're going to get rid of this type completely eventually.
|
| |
|
|
|
|
|
|
|
| |
This is much code motion.
This splits many types into two. For example, `Conensus` is
now`plain::Consensus<RS>` and `md::Consensus<RS>`.
We're going to get rid of the generics later in this branch.
|
| |
|
|
| |
This is empty modules and scaffolding.
|
| |
|
|
|
|
| |
ns-consensus doesn't seem to have ever been released.
This is part of abolishing the use of "ns" to mean "plain".
|
| |
|
|
| |
This is part of abolishing the use of "ns" to mean "plain".
|
| | |
|
| |
|
|
| |
(For testing.)
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Relay nicknames are always between 1 and 19 characters long, and
they're always ASCII: That means that storing them in a [u8;19] will
always be possible, and always use less resources than storing them
in a String.
Fortunately, the tinystr crate already helps us with this kind of
thing.
|
| |
|
|
|
|
|
|
| |
This should save around 1MB per consensus, since every relay has a
'protocols' lines, but there are only a few distinct possibilities
for such a line.
Closes #385.
|
| |
|
|
|
|
| |
When the version is a Tor version, we can just parse it; otherwise,
we can intern it. This shrinks GenericRouterStatus and avoids a lot
of extra help allocations.
|
| |
|
|
| |
Part of #387
|
| |
|
|
|
| |
Every other case of tor_netdoc::Error means a parse failure. This one,
though, means a failure to construct a document.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Put most non-universally-needed functionality behind features
Closes #125
See merge request tpo/core/arti!129
|
| | |
| |
| |
| |
| |
| | |
Clients never need these.
Part of #125.
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
This field isn't used in modern Tor, and has never been used in
Arti. If tor!489 is merged, then it will no longer contain a useful
value in future consensuses. We shouldn't store it, or else
somebody else will get the smart idea of using it for something.
This commit breaks API compatibility for tor-netdoc with the
`build_docs` feature enabled. I haven't entered that into the
semver_status.md file, since we already have a pending tor-netdoc
API breaker in !129.
|
|
|
This will cause some pain for now, but now is really the best time
to do this kind of thing.
|