| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
| | | |
| | | |
| | | | |
There are no outstanding TODOs here.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Tidy the imports, and remove some now-unneeded { }.
We'll run rustfmt in a moment to sort and reindent.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This stabilises the parse2 and encode impls of
* NetParams<i32>
* ProtoStatuses
It also stabilises the parse2 impls of the following types which do
not currently have any encode impls:
* RelayWeight
* rs::SoftwareVersion
* IgnoredPublicationTimeSp
As for TODOs and incomplete code: the things we're stabilising here
are very simple, or fully formed.
Implementing encoding for IgnoredPublicationTimeSp looks impossible,
but we can cross that bridge when we come to it.
We un-cfg-gate the parse2 and encode imports too.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These are all parse2, and there are no blocking TODOs.
We're leaving `build_docs` alone.
|
| | | | |
| | | |
| | | |
| | | | |
This is just one cfg, for RelayPlatform.
|
| | | | |
| | | |
| | | |
| | | | |
There is one irrelevant TODO.
|
| | | | |
| | | |
| | | |
| | | | |
There is only one TODO in this file and it's not really relevant.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
There is one TODO DIRMIRROR but it's a possible API change.
I think it doesn't mean we can't un-gate this now.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
These are all parse2, and there are no blocking TODOs.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Remove a now-pointless pair of { }.
We'll reindent this in a moment.
|
| | | |/
| |/|
| | |
| | | |
These are all parse2, and there are no blocking TODOs.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
Implement path inspection for RPC
Closes #2286
See merge request tpo/core/arti!3888
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This will make it possible to tell whether a path has been replaced
in the tunnel.
Since the UniqId type might change its representation in the future,
I've documented that we don't guarantee anything about the strings
used to distinguish paths.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This enables the rpc client to call "arti:describe_path" and similar
methods on streams constructed via this mechanism.
|
| | | |
| | |
| | |
| | | |
Additionally, allow inspecting tunnel paths directly from streams.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
stream-ctrl should have been stable a while ago, since it is a
dependency of arti/rpc, which is itself stable.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-llcrypto: Fix a derive to unconditionally Deftly
See merge request tpo/core/arti!3929
|
| | |/
| |
| |
| |
| | |
It is harmless to derive Deftly without doing more. Do that, rather
than cfg'ing the use of derive_deftly::Deftly.
|
| |\ \
| | |
| | |
| | |
| | | |
geoip: Add an internal-use tool to convert geoip db formats.
See merge request tpo/core/arti!3909
|
| | |/
| |
| |
| |
| |
| |
| | |
This should eventually be integrated with Tor's geoip-db-tool,
but for now, we ought to put this somewhere.
(And until the next tor-geoip crate is released, we can't really use
its new functionality.)
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
implement syslog support
Closes #444
See merge request tpo/core/arti!3817
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-dirserver: Make sha1 and sha2 mutually exclusive in schema
See merge request tpo/core/arti!3917
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit makes use of the presence of only one descriptor hash inside
consensus_router_descriptor_member by adding a respective AND clause to
the select statements of missing descriptors to only select the rows
with a non-null SHA-1 (or SHA-2 for the sake of microdescs) in the
consensus_router_descriptor_member table.
This is defensive programming and should not be required in practice
because the docid as well as the "XOR" CHECK should already ensure that
this value is always non-NULL. However, if it still happens and slips
through, the statement would return NULL rows, which is not what we
want and was previously prevented by ensuring this field was never NULL
in the first place.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit modifies the consensus_router_descriptor_member table in the
database schema, removing the NOT NULL constraint on unsigned_sha1 and
unsigned_sha2 by replacing it with a new CHECK constraint that checks
that either one of them is set but not both.
The reason for this is as follows: We are going to use this table to
compute the queue of missing descriptors, which means that we can only
populate this table with the data we know from the consensus. The
consensus however tells us only one of those hashes, namely sha1 in the
case of a consensus-ns and sha2 in the case of a consensus-md.
In other words: This commit can also be seen as an effort to change the
design of the operation in such a way that the queue is obtained
directly from the database and not computed at the start during state
transition.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-netdoc: Parsing and encoding for netstatus authority sections
See merge request tpo/core/arti!3892
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replace poc code with new ConsensusAuthoritySection.
This is an entirely new parsing approach.
Key differences:
* We parse the arguments to dir-source, which poc didn't.
* We don't clone the input and fully parse the first item; instead,
we dismantle the dir-source line ad-hoc to determine the item type.
* Rather than a Vec of Enums, we parse into two Vecs
of the different entry types.
The few lines that aren't rewritten show up as moved in
git show --color-moved --color-moved-ws=allow-indentation-change
but I suggest reviewing the new implementation de novo.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This is the type corresponding to a "superseded authority key entry",
which is a single dir-source line with a weird nickname.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is going to handle the bizarre `-legacy` nickname encoding for
superseded authority keys. That's going to be a fair amount of code,
some derived from DirSource. Make a module for it all.
We're going to take a different approach that in poc. So there's
going to be all-new code and then the poc version will be deleted.
They don't resemble each other very much.
In this commit: just code motion, and the creation of the new module
with associated doc comment. Review with --color-moved.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We must add to our ad-hoc derive, since the normal derive can't do the
encoding either.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Use deftly's field loop, rather than handcoding the two fields.
(We don't expect to add any fields, but if we did this would be more correct.)
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Almost entirely code motion. Review with --color-moved.
This is new correct for votes, and uses the non-poc names for things.
We'll improve up a few minor things in a moment.
The cfg situation is getting very tangled. There are already various
TODOs about this. I think it is time to bite the bullet; I will do
that separately from this MR.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Prepare for the namespace environment in the mainline doc/netstatus
modules. (Add a couple of temporary use's.)
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We are going to move this code to the main doc/netstatus modules.
Rename the struct and its associated derive macro, to the naming
approach used outside poc.
We leave a `use` behind in poc. That can remain until poc is
eventually abolished.
|