summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | tor-netdoc: NetworkStatus: derive EncodeIan Jackson2026-06-171-1/+1
| | | | | | | |
* | | | | | | | Merge branch 'sp-fingerprint-encode' into 'main'Clara Engler2026-06-172-5/+32
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Encode for SpFingerprint See merge request tpo/core/arti!4116
| * | | | | | | | tor-netdoc: Round-trip test SpFingerprint encodingClara Engler2026-06-171-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a round-trip encoding for SpFingerprint to the already existing parsing test.
| * | | | | | | | tor-netdoc: Small SpFingerprint test refactoringClara Engler2026-06-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not shadow s and provide access to Wrapper instead of just the inner fingerprint. We will make use of this soon.
| * | | | | | | | tor-netdoc: Encode for SpFingerprintClara Engler2026-06-172-0/+16
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements encode::ItemArgument for SpFignerprint. A test will be added in the next commit.
* | | | | | | | Merge branch 'ntor-cc-rd' into 'main'Ian Jackson2026-06-173-7/+25
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | Add ntor onion key cross certificate to RouterDesc See merge request tpo/core/arti!4109
| * | | | | | | tor-netdoc: Create NtorOnionKeyCrossCert at better placeClara Engler2026-06-171-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves the construction place for the NtorOnionKeyCrossCert from the final RouterDesc construction to the crosscert code block, which should be more correct.
| * | | | | | | tor-netdoc: Add ntor_onion_key_crosscert to RouterDescClara Engler2026-06-152-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds ntor_onion_key_crosscert to RouterDesc as well as integrating it into the legacy parser.
| * | | | | | | tor-netdoc: Extract ntor bit and cert in legacy parser (fmt)Clara Engler2026-06-151-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No functional change.
| * | | | | | | tor-netdoc: Extract ntor bit and cert in legacy parserClara Engler2026-06-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will soon need it for the ntor cross certificate.
| * | | | | | | tor-netdoc: Make dangerous_new_unverified available outside testsClara Engler2026-06-151-2/+4
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | We will need it for compatibility with the legacy parser soon. Not super nice.
* | | | | | | Merge branch 'trivial-encode-derive' into 'main'Clara Engler2026-06-172-3/+6
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trivial ItemValueEncodable dervies See merge request tpo/core/arti!4115
| * | | | | | | tor-netdoc: ItemValueEncodable for ExtraInfoDigestsClara Engler2026-06-172-1/+2
| | | | | | | |
| * | | | | | | tor-netdoc: ItemValueEncodable for RouterDescIntroItemClara Engler2026-06-172-1/+2
| | | | | | | |
| * | | | | | | tor-netdoc: ItemValueEncodable for OverloadGeneralClara Engler2026-06-172-1/+2
|/ / / / / / /
* | | | | | | Merge branch 'display-range' into 'main'Clara Engler2026-06-172-24/+61
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: port policies: Encode with reject if it's shorter See merge request tpo/core/arti!4108
| * | | | | | | tor-netdoc: placate clippyIan Jackson2026-06-161-1/+1
| | | | | | | |
| * | | | | | | tor-netdoc: port policies: Encode with reject if it's shorterIan Jackson2026-06-151-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to repro a live consensus, I discovered that `reject 25` turned into `accept 1-24,26-65535`.
| * | | | | | | tor-netdoc: port policies: tests: reformatIan Jackson2026-06-151-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use // to force rustdoc to multi-line layout. That makes the layout uniform across all these test cases, and will make the next commit clearer.
| * | | | | | | tor-netdoc: port policies: Provide .invertedIan Jackson2026-06-151-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll want this in a moment, not just invert in place. I was tempted to remove the mutating form, but there are at least two call sites.
| * | | | | | | tor-netdoc: port policies: Simplify display with iter_joinIan Jackson2026-06-151-6/+2
| | | | | | | |
| * | | | | | | tor-netdoc: port policies: Declare iter return value as CloneIan Jackson2026-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's Copy, in fact. But Copy iterators are a hazard.
| * | | | | | | tor-netdoc: port policies: Provide display method on PortRangesIan Jackson2026-06-152-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to want this for a more clever formatting algorithm.
* | | | | | | | Merge branch 'ahf/fix-wasm-build' into 'main'David Goulet2026-06-161-1/+1
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | Use wasm_js for getrandom in tor-bytes. See merge request tpo/core/arti!4119
| * | | | | | | Use wasm_js for getrandom in tor-bytes.Alexander Hansen Færøy2026-06-161-1/+1
|/ / / / / / /
* | | | | | | Merge branch 'relay-platform-encode' into 'main'Ian Jackson2026-06-162-4/+21
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Encoding for RelayPlatform See merge request tpo/core/arti!4114
| * | | | | | | tor-netdoc: Add ItemValueEncodable for RelayPlatformClara Engler2026-06-162-0/+14
| | | | | | | |
| * | | | | | | tor-netdoc: Implement ItemValueParseable instead for RelayPlatformClara Engler2026-06-162-4/+7
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | ItemArgumentParseable does not make much sense because the field is effectively a free-form field similar to ContactInfo.
* | | | | | | Merge branch 'edcert-papercuts' into 'main'Ian Jackson2026-06-161-38/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix small edcert papercuts See merge request tpo/core/arti!4112
| * | | | | | | tor-netdoc: Remove unequal key check from edcertsClara Engler2026-06-161-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a follow up to !4022 and discussed on IRC: > Since we don't think we need to check the keys are different I think > it's OK to delete the thing in the tests that insists we have such a > check. > [...] > We are the relying party here. That MUST is directed to the signing > party. As reliers we don't need to check it.
| * | | | | | | tor-netdoc: Merge edcert tests togetherClara Engler2026-06-161-22/+4
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a TODO as discussed in !4022. Review with --color-moved.
* | | | | | | Merge branch 'reconfig-check' into 'main'David Goulet2026-06-161-15/+42
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti-client: Warn if `reconfigure()` possibly left the client in an inconsistent state See merge request tpo/core/arti!4101
| * | | | | | | arti-client: warn if reconfig left client in inconsistent stateSteven Engler2026-06-111-15/+42
| | | | | | | |
* | | | | | | | Merge branch 'flowctrl-tests' into 'main'opara2026-06-163-15/+435
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Add unit test for `XonXoffReader` See merge request tpo/core/arti!4093
| * | | | | | | | tor-proto: add a unit test for `XonXoffReader`Steven Engler2026-06-162-1/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'futures' version bump is needed so that our test can use `UnboundedSender::try_recv()` in the minimal-versions CI test.
| * | | | | | | | tor-proto: add `DrainRateNotifier` trait for `XonXoffReader`Steven Engler2026-06-101-13/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to add a unit test for `XonXoffReader`.
| * | | | | | | | tor-cell: impl `PartialEq + Eq` on `XonKbpsEwma`Steven Engler2026-06-101-1/+1
| | | | | | | | |
* | | | | | | | | Merge branch 'bump-chutney-2026-06' into 'main'Jim Newsome2026-06-162-5/+11
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bump chutney and add additional middle nodes to chutney test net Closes #2463 See merge request tpo/core/arti!4111
| * | | | | | | | chutney test network: add 4 suitable middle/guard/vg relaysJim Newsome2026-06-151-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the chutney bump in the previous commit alone, we hit arti#2463 consistently. According to the spec, a hidden service using vanguards-lite needs 2 guards and 4 vanguards <https://spec.torproject.org/vanguards-spec/index.html>. All 6 of those relays need to be Fast and Stable. At least the 2 guards also need to be Measured. (Probably the 4 vanguards too, but I haven't verified). authority relays are never considered Measured. Prior to the chutney bump, none of the relays were, but since chutney!142, we create a bandwidth file to ensure the non-authorities *are* Measured, and will get the Fast flag. (IIUC, tor doesn't apply the bandwidth measurements to authorities). Maybe the presence of *some* measured relays gets us out of some fallback path that was getting used before to allow unmeasured relays? Adding the additional relays seems to fix the issue.
| * | | | | | | | Bump chutney to get Stable flag fixJim Newsome2026-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is primarily to get chutney!149. This should fix arti#2463, but I haven't been able to repro locally to verify. I suspect it'll mitigate some of the other difficult-to-repro cases of arti#2209 as well.
* | | | | | | | | Merge branch 'fix-authcert' into 'main'Clara Engler2026-06-161-1/+2
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: fix EncodedAuthCert parsing See merge request tpo/core/arti!4104
| * | | | | | | | tor-netdoc: fix EncodedAuthCert parsingIan Jackson2026-06-151-1/+2
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It would swallow the whole rest of the document, leading to bizarre output on re-encoding. There is no test case for this in-tree (which is why this is cfg "incomplete"), but I have a full roundtrip test of a vote (which contains an authcert) in a wip branch, which detected this problem.
* | | | | | | | Merge branch 'string-slice-types' into 'main'Ian Jackson2026-06-153-36/+21
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | Avoid string slices in netdoc types See merge request tpo/core/arti!4103
| * | | | | | | tor-netdoc: Replace string slice in LongIdentClara Engler2026-06-151-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the use of string slices in LongIdent by using .strip_prefix() and .split_once() instead.
| * | | | | | | tor-netdoc: Use .rsplit_once() in AddrPortPatternClara Engler2026-06-151-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces the use of a string slice in conjuction with .rfind() with a call to .rsplit_once().
| * | | | | | | tor-netdoc: Replace string slice in address parse helperClara Engler2026-06-151-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the use of a string slice in an address parse helper by replacing calls to `.starts_with` / `.ends_with` to calls with `.strip_prefix` / `.strip_suffix` and using the respective `.is_some()` for the boolean like value, making the result functionally equivalent.
| * | | | | | | tor-netdoc: Use .split_once() in IpPatternClara Engler2026-06-151-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the use of string slices in IpPattern with a call to split_once(). Either review as it is or with --word-diff=color.
| * | | | | | | tor-netdoc: Use .split_once() in PortRangeClara Engler2026-06-151-17/+10
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces a string slice use in PortRange with a call to .split_string(). Either review the change as an entire rewrite, as the function in itself is pretty small or use --color-moved --color-moved-ws=ignore-all-space if you want to verify that the lines regarding a port range without a hyphen is still using the same logic.
* | | | | | | Merge branch 'rs-stats' into 'main'Ian Jackson2026-06-155-3/+11
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | tor-netdoc: routerstatus entries: Add `stats` item (votes only) See merge request tpo/core/arti!4097
| * | | | | | tor-netdoc: rs.rs: tidy importsIan Jackson2026-06-151-2/+3
| | | | | | |