summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | tor-netdoc: ns_per_species_macros: Add blocking todo for "variety" renameIan Jackson2025-08-181-0/+1
| | | | |
* | | | | tor-netdoc: ns_per_species_macros: Swap order, make vote optionalIan Jackson2025-08-181-24/+29
| | | | |
* | | | | tor-netdoc: ns_per_species_macros: Fix some refs to CONSTIan Jackson2025-08-181-2/+2
| | | | |
* | | | | tor-netdoc: Rename `ns` species ("variety") to `plain`Ian Jackson2025-08-183-22/+26
| | | | |
* | | | | tor-netdoc: ns_per_species_macros: Add some dividersIan Jackson2025-08-181-0/+8
| | | | |
* | | | | tor-netdoc: Improved a doc commentIan Jackson2025-08-181-1/+1
| | | | |
* | | | | tor-netdoc: Link to the generated macro, for one of them (poc)Ian Jackson2025-08-184-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3139#note_3238496
* | | | | tor-netdoc: Link to the do_species macrosIan Jackson2025-08-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3139#note_3238495
* | | | | tor-netdoc: Fix botched formatting.Ian Jackson2025-08-181-1/+1
| | | | |
* | | | | tor-netdoc: Fix a "flavour" reference that should have been "species"Ian Jackson2025-08-181-1/+1
| | | | |
* | | | | tor-netdoc: rs: Abolish implement_accessors macro (fmt)Ian Jackson2025-08-181-67/+67
| | | | |
* | | | | tor-netdoc: rs: Abolish implement_accessors macroIan Jackson2025-08-182-79/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need this now; we can just write the impl in per_species.rs. Formatting will be fixed in a moment.
* | | | | tor-netdoc: rs: Move identical text to per_species.rs.Ian Jackson2025-08-184-144/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These two files were largely identical. Move the common text to per_species.rs, and fix a couple of imports so that it still compiles.
* | | | | tor-netdoc: rs: Remove some fiddly docs differencesIan Jackson2025-08-182-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not having the flavour in the type name is a shame, but we probably don't want to resort to generating the docs with macros. Part of making these two files largely identical.
* | | | | tor-netdoc: rs: Introduce FLAVOR constantIan Jackson2025-08-182-4/+10
| | | | | | | | | | | | | | | | | | | | Part of making these two files largely identical.
* | | | | tor-netdoc: rs: Swap calling orderIan Jackson2025-08-182-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Move the implementation to the trait method which then becomes completely identical in both files.
* | | | | tor-netdoc: rs: Introduce and use DOC_DIGEST_LENIan Jackson2025-08-184-6/+12
| | | | | | | | | | | | | | | | | | | | Part of making ns.rs and md.rs largely identical.
* | | | | tor-netdoc: rs: Use species macrology for DocDigestIan Jackson2025-08-182-18/+18
| | | | | | | | | | | | | | | | | | | | Part of making these two files largely identical.
* | | | | tor-netdoc: rs: Use species macrology for ConsensusRouterStatusIan Jackson2025-08-184-25/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the species-specific files ns.rs and md.rs, use the unqualified name; re-export it with the new macro. We are working towards making these two files largely identical.
* | | | | tor-netdoc: Introduce new "species" macrologyIan Jackson2025-08-186-0/+231
| | | | | | | | | | | | | | | | | | | | | | | | | This will let us deduplicate a fair amount of code, and also will let us support votes as well as ns and md consensuses.
* | | | | tor-netdoc: Change all in-tree references to ns-consensus from ns_consensusIan Jackson2025-08-185-14/+14
| | | | |
* | | | | tor-netdoc: Change feature name to `ns-consensus` with a hyphenIan Jackson2025-08-182-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our features are generally kebab-case, and this is the way it's documented. Retain the old name for compatibility.
* | | | | tor-netdoc: Remove two false commentsIan Jackson2025-08-182-2/+0
| |_|/ / |/| | | | | | | | | | | Cut-and-paste error, I think.
* | | | Merge branch 'pow-manager-onion-service-status-etc' into 'main'wesleyac2025-08-1819-236/+594
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | More PoW miscellania See merge request tpo/core/arti!3132
| * | | docs: Add notes about hs-pow-full using LGPL deps.Wesley Aptekar-Cassels2025-08-142-1/+3
| | | |
| * | | tor-hsservice: Move check for enable_pow without hs-pow-full feature.Wesley Aptekar-Cassels2025-08-142-11/+9
| | | | | | | | | | | | | | | | This also make this check a error rather than a warning.
| * | | tor-hsservice: Add note about check_solve implementation.Wesley Aptekar-Cassels2025-08-131-0/+3
| | | |
| * | | tor-hsservice: Fix error message.Wesley Aptekar-Cassels2025-08-131-1/+1
| | | |
| * | | tor-hsservice: Change capping of PoW effort.Wesley Aptekar-Cassels2025-08-133-36/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This caps the PoW effort during sorting, rather than at intake. This allows us to record efforts that are capped in our metrics histogram while only recording metrics after the PoW solve has actually been verified.
| * | | tor-hsservice: Make some PoW warnings more understandable.Wesley Aptekar-Cassels2025-08-131-3/+10
| | | |
| * | | arti: Add more explanation of pow_rend_queue_depth to example config.Wesley Aptekar-Cassels2025-08-131-1/+3
| | | |
| * | | tor-hsservice: Improve error conversion code.Wesley Aptekar-Cassels2025-08-131-16/+8
| | | |
| * | | tor-hsservice: Use warn_report for PoW errors.Wesley Aptekar-Cassels2025-08-131-9/+15
| | | |
| * | | tor-hsservice: Don't set DegradedReachable status in PowManager.Wesley Aptekar-Cassels2025-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Three is a concern that a DegradedReachable status could overwrite a previous Broken status. A nicer solution could be to add a function to StatusSender that only will change the status to a "more or equally severe" status. However, I am a little dubious about using the DegradedReachable status for PoW in general, since it has a better documented meaning for IPTs than it does for PoW.
| * | | tor-hsservice: Remove outdated comment.Wesley Aptekar-Cassels2025-08-131-5/+0
| | | | | | | | | | | | | | | | We do in fact need multiple locations to hold the sender.
| * | | tor-hsservice: Rename InternalPowError to PowError.Wesley Aptekar-Cassels2025-08-132-13/+13
| | | |
| * | | tor-hsservice: Make InternalPowError non_exhaustive.Wesley Aptekar-Cassels2025-08-131-0/+1
| | | | | | | | | | | | | | | | Now that this is public, this is prudent.
| * | | tor-hsservice: Make OpenReplayLog error transparent.Wesley Aptekar-Cassels2025-08-131-1/+1
| | | |
| * | | tor-hsservice: Fix clippy.Wesley Aptekar-Cassels2025-08-131-3/+2
| | | |
| * | | tor-hsservice: Add disable_pow_compilation option.Wesley Aptekar-Cassels2025-08-134-15/+46
| | | | | | | | | | | | | | | | | | | | | | | | I'm not 100% on this being here, it seems like it might want to be a option for all onion services, rather than per-service. However, this is good enough for now.
| * | | tor-hsservice: Warn when enable_pow is set on a non hs-pow-full build.Wesley Aptekar-Cassels2025-08-132-1/+11
| | | |
| * | | tor-hsservice: Remove unimplemented config option.Wesley Aptekar-Cassels2025-08-131-10/+0
| | | | | | | | | | | | | | | | | | | | This config option doesn't really apply to Prop 362 (which is what's implemented in Arti), as far as I can tell.
| * | | tor-hsservice: Remove outdated TODO.Wesley Aptekar-Cassels2025-08-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have thought about this and come to the conclusion (which is what I suspected when I wrote it) that the current behaviour is correct. The attack described is completely impractical (the space of nonces is very large), and checking whether a nonce is a replay is cheaper than verifying a PoW solve, so we want to do that first. Splitting this into something like the following: * Check replay log without updating * Check that solve is valid * Update replay log Would require adding a somewhat dangerous API to the ReplayLog, and requires doing more work per request for something that isn't even a practical attack, AFAICT.
| * | | tor-hsservice: Add note about not persisting per-PoW-period state.Wesley Aptekar-Cassels2025-08-131-1/+7
| | | |
| * | | tor-hsservice: Add metrics support to PoW code.Wesley Aptekar-Cassels2025-08-133-3/+60
| | | |
| * | | tor-hsservice: Restore PoW verifier state from disk.Wesley Aptekar-Cassels2025-08-131-2/+25
| | | | | | | | | | | | | | | | | | | | We restored the seeds, but doing so is counterproductive if we don't also recreate the verifiers needed to check solves for those seeds.
| * | | tor-hsservice: Add pow_rend_queue_depth config option.Wesley Aptekar-Cassels2025-08-133-35/+118
| | | |
| * | | tor-hsservice: Pass Rng into PoW code where possible.Wesley Aptekar-Cassels2025-08-132-10/+11
| | | |
| * | | tor-hsservice: Implement enable_pow option.Wesley Aptekar-Cassels2025-08-136-61/+139
| | | | | | | | | | | | | | | | | | | | | | | | This does not currently allow this option to be changed at runtime, although the code is structured so that allowing it to be changed at runtime won't be too hard. This is tracked by #2082.
| * | | tor-hsservice: Reenable publisher test in hs-pow-full.Wesley Aptekar-Cassels2025-08-132-12/+3
| | | | | | | | | | | | | | | | MockExecutor now supports the features needed for this test to work.