summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-netdoc: Un-gate test2 moduleIan Jackson2026-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | Everything that this needs is un-gated now.
| * | | | tor-netdoc: Un-gate RouterStatusMdDigestsVote and SoftwareVersionIan Jackson2026-04-282-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | These are complete. Un-gate the RouterStatusMdDigestsVote implementation, and the export of both.
| * | | | tor-netdoc: Un-gate "plain-consensus" cargo featureIan Jackson2026-04-288-30/+13
| | | | | | | | | | | | | | | | | | | | As per #2492.
| * | | | tor-netdoc: Un-gate "routerdesc" cargo featureIan Jackson2026-04-285-23/+4
| | | | | | | | | | | | | | | | | | | | As per #2492.
| * | | | tor-netdoc: Un-gate top-level NetdocBuilderIan Jackson2026-04-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This is only used for hsdescs right now. But it doesn't need to be gated behind encode.
| * | | | tor-netdoc: Un-gate parse2 and encode loose impls under doc/netstatus (tidy)Ian Jackson2026-04-284-21/+10
| | | | |
| * | | | tor-netdoc: Un-gate parse2 and encode loose impls under doc/netstatusIan Jackson2026-04-285-29/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This stabilises the parse2 and encode impls of consensus tyepe: * {plain, md}::{Preamble, RouterStatus, RouterStatusIntroItem} It also un-gates the parse2 and encode impls of some vote types. * VoteAuthorityEntry - this type has been completed. * RouterStatusMdDigestsVote - whole type still gated with ns-vote Re the remaining vote types (vote::*): although each_variety.rs doesn't have a cfg itself, there is a feature gate in the variety macrology.
| * | | | tor-netdoc: Un-gate parse2 and encode loose impls in doc/netstatus.rs (rewrap)Ian Jackson2026-04-281-14/+4
| | | | |
| * | | | tor-netdoc: Un-gate parse2 and encode loose impls in doc/netstatus.rsIan Jackson2026-04-281-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This stabilises the parse2 and encode impls of * Lifetime * ConsensusMethods * SharedRandStatus * ConsensusAuthorityEntry All of these are complete.
| * | | | tor-netdoc: Un-gate features impls in doc/netstatus/dir_source.rs (rewrap)Ian Jackson2026-04-281-4/+1
| | | | |
| * | | | tor-netdoc: Un-gate features impls in doc/netstatus/dir_source.rsIan Jackson2026-04-281-8/+4
| | | | | | | | | | | | | | | | | | | | There are no outstanding TODOs here.
| * | | | tor-netdoc: Un-gate parse2 and encode mods in doc/netstatus.rs (fmt)Ian Jackson2026-04-281-12/+12
| | | | |
| * | | | tor-netdoc: Un-gate parse2 and encode mods in doc/netstatus.rs (tidy)Ian Jackson2026-04-281-19/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tidy the imports, and remove some now-unneeded { }. We'll run rustfmt in a moment to sort and reindent.
| * | | | tor-netdoc: Un-gate parse2 and encode mods in doc/netstatus.rsIan Jackson2026-04-281-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | tor-netdoc: Upgrade a TODO re NetworkStatusUnverifiedVoteIan Jackson2026-04-281-1/+1
| | | | |
| * | | | tor-netdoc: Un-gate features in doc/microdesc.rs (fmt)Ian Jackson2026-04-281-3/+1
| | | | |
| * | | | tor-netdoc: Un-gate features in doc/microdesc.rsIan Jackson2026-04-281-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are all parse2, and there are no blocking TODOs. We're leaving `build_docs` alone.
| * | | | tor-netdoc: Un-gate parse2 in doc/routerdesc.rsIan Jackson2026-04-281-1/+0
| | | | | | | | | | | | | | | | | | | | This is just one cfg, for RelayPlatform.
| * | | | tor-netdoc: Un-gate parse2 and encode in types/relay_flags.rsIan Jackson2026-04-281-6/+0
| | | | | | | | | | | | | | | | | | | | There is one irrelevant TODO.
| * | | | tor-netdoc: Un-gate features in types/policy/addrpolicy.rsIan Jackson2026-04-281-3/+0
| | | | | | | | | | | | | | | | | | | | There is only one TODO in this file and it's not really relevant.
| * | | | tor-netdoc: Un-gate features in types/family.rsIan Jackson2026-04-281-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | tor-netdoc: Un-gate features in types/policy/portpolicy.rs (fmt)Ian Jackson2026-04-281-16/+15
| | | | |
| * | | | tor-netdoc: Un-gate features in types/policy/portpolicy.rs (tidy)Ian Jackson2026-04-281-6/+0
| | | | |
| * | | | tor-netdoc: Un-gate features in types/policy/portpolicy.rsIan Jackson2026-04-281-9/+2
| | | | | | | | | | | | | | | | | | | | These are all parse2, and there are no blocking TODOs.
| * | | | tor-netdoc: Un-gate features in types/policy.rs (fmt)Ian Jackson2026-04-281-10/+10
| | | | |
| * | | | tor-netdoc: Un-gate features in types/policy.rs (tidy)Ian Jackson2026-04-281-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove a now-pointless pair of { }. We'll reindent this in a moment.
| * | | | tor-netdoc: Un-gate features in types/policy.rsIan Jackson2026-04-281-3/+1
| | |/ / | |/| | | | | | | | | | These are all parse2, and there are no blocking TODOs.
* | | | Merge branch 'proto-rpc' into 'main'Nick Mathewson2026-04-289-7/+311
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | Implement path inspection for RPC Closes #2286 See merge request tpo/core/arti!3888
| * | | arti-rpcserver: Require tor-proto/rpc.Nick Mathewson2026-04-281-1/+1
| | | |
| * | | reformat python to appease script.Nick Mathewson2026-04-281-2/+2
| | | |
| * | | proto rpc: Turn tunnel paths into a dictNick Mathewson2026-04-284-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | proto rpc: Change PathEntry to an enum.Nick Mathewson2026-04-282-29/+33
| | | |
| * | | python integration test for rpc path inspectionNick Mathewson2026-04-281-2/+25
| | | |
| * | | rpc: Have OneShotClient delegate to ClientDataStreamCtrl.Nick Mathewson2026-04-281-2/+5
| | | | | | | | | | | | | | | | | | | | This enables the rpc client to call "arti:describe_path" and similar methods on streams constructed via this mechanism.
| * | | proto: Add an RPC function to access tunnel and inspect its path.Nick Mathewson2026-04-282-0/+225
| | | | | | | | | | | | | | | | Additionally, allow inspecting tunnel paths directly from streams.
| * | | proto: Allow DataStreamCtrl and ClientTunnel to be RPC objects.Nick Mathewson2026-04-282-0/+10
| | | |
| * | | proto: add an "rpc" feature, and mark "stream-ctrl" stable.Nick Mathewson2026-04-282-2/+8
| | | | | | | | | | | | | | | | | | | | stream-ctrl should have been stable a while ago, since it is a dependency of arti/rpc, which is itself stable.
* | | | Merge branch 'feat-deftly-llcrypto' into 'main'gabi-2502026-04-281-6/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | tor-llcrypto: Fix a derive to unconditionally Deftly See merge request tpo/core/arti!3929
| * | | tor-llcrypto: Fix a derive to unconditionally DeftlyIan Jackson2026-04-281-6/+2
| |/ / | | | | | | | | | | | | It is harmless to derive Deftly without doing more. Do that, rather than cfg'ing the use of derive_deftly::Deftly.
* | | Merge branch 'update-security-framework' into 'main'gabi-2502026-04-282-7/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Remove bodge for security-framework, and update it. Closes #2387 See merge request tpo/core/arti!3928
| * | | Update to security-framework 3.7.0Nick Mathewson2026-04-281-2/+2
| | | |
| * | | dependencies-bodge: remove bodge for security-frameworkNick Mathewson2026-04-282-5/+5
| |/ / | | | | | | | | | | | | | | | | | | Now that we've updated to MACOS_DEPLOYMENT_TARGET 10.15 (see !3920) we can use more recent versions of the security-framework crate. Closes #2387.
* | | Merge branch 'geoip-convert' into 'main'Nick Mathewson2026-04-282-0/+189
|\ \ \ | | | | | | | | | | | | | | | | geoip: Add an internal-use tool to convert geoip db formats. See merge request tpo/core/arti!3909
| * | | geoip: Add an internal-use tool to convert geoip db formats.Nick Mathewson2026-04-282-0/+189
| |/ / | | | | | | | | | | | | | | | | | | 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.)
* | | Merge branch 'feature/syslog' into 'main'Nick Mathewson2026-04-285-4/+70
|\ \ \ | |/ / |/| | | | | | | | | | | | | | implement syslog support Closes #444 See merge request tpo/core/arti!3817
| * | implement syslog supportAndrew Kloet2026-04-285-4/+70
| | |
* | | Merge branch 'mutex-sha1-sha2' into 'main'Ian Jackson2026-04-283-24/+18
|\ \ \ | | | | | | | | | | | | | | | | tor-dirserver: Make sha1 and sha2 mutually exclusive in schema See merge request tpo/core/arti!3917
| * | | tor-dirserver: Make use of only one descriptor hash in missing selectionClara Engler2026-04-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | tor-dirserver: Store precisely one descriptor hash in schemaClara Engler2026-04-273-24/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'ns-auth-entry' into 'main'Clara Engler2026-04-2710-195/+543
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc: Parsing and encoding for netstatus authority sections See merge request tpo/core/arti!3892