aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'onion-svc-negotiate-v2' into 'main'Nick Mathewson2026-07-0227-92/+724
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Negotiate flowcontrol-cc and CGO on onion services Closes #2473 and #1948 See merge request tpo/core/arti!4135
| * | | | Change HS descriptor sendme_inc into a NonZeroU8Nick Mathewson2026-07-024-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | This saves us from having to check whether it is 0, and better represents what the type is allowed to be.
| * | | | hs: Add a TODO about #2598 refactoringNick Mathewson2026-07-022-0/+6
| | | | |
| * | | | Do not incluede negotiate_subproto in subproto_requestNick Mathewson2026-07-022-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I had incorrectly thought that this was necessary. Fortunately, @opara looked at the spec. :) We do, however, still need to _advertise_ negotiate_subproto.
| * | | | Cargo plumbing to expose HS extension negotiationNick Mathewson2026-07-022-0/+9
| | | | |
| * | | | hsclient: Support protocol negotiation for CGO and flowctrl-ccNick Mathewson2026-07-028-13/+208
| | | | |
| * | | | hsservice: Accept and negotiate protocol extensions.Nick Mathewson2026-07-022-4/+93
| | | | |
| * | | | tor-units: impl From<BoundedInt<1, 254>> for u8.Nick Mathewson2026-07-021-0/+6
| | | | |
| * | | | hsservice: Advertise flowctrl and cgo as appropriate.Nick Mathewson2026-07-025-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | We put this behind a feature because we probably want to test this out before we enable it.
| * | | | netdoc: Add new capability negotiation pieces to hsdesc.Nick Mathewson2026-07-024-5/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "flow-control" item is documented in proposal 324 section 9.1; there's a ticket (torspec#418) to document it. The "proto" item is documented at https://spec.torproject.org/rend-spec/hsdesc-encrypt.html#item:proto
| * | | | cell: Accessors for more intro extensions.Nick Mathewson2026-07-021-7/+16
| | | | |
| * | | | cell: Make "extlist" generate methods to access variants.Nick Mathewson2026-07-021-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | This will simplify the case where we need to look up a particular extension in an ExtList.
| * | | | proto: Allow HsV3 to use cgo.Nick Mathewson2026-07-021-2/+8
| | | | |
| * | | | proto: Do not automatically disable CC with hsv3.Nick Mathewson2026-07-022-20/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We _already_ do not include FLOWCTRL_CC as a listed protocol among the capabilities we provide, when we make a virtual hop. This branch will make that behavior even more certain, by not looking at required-client-protocols any longer.
| * | | | proto: log virtual hop additions at trace.Nick Mathewson2026-07-021-0/+2
| | | | | | | | | | | | | | | | | | | | We do something similar with non-virtual hops at !4076.
| * | | | proto: Improve/clarify documentation on extend_virtual.Nick Mathewson2026-07-021-0/+8
| | | | |
| * | | | protover: New constructor taking kind and versionsNick Mathewson2026-07-021-0/+17
| | | | | | | | | | | | | | | | | | | | We'll want this for the flow-control line in hsdescs.
| * | | | protover: Extract version-list parsing to a new functionNick Mathewson2026-07-021-41/+48
| | | | | | | | | | | | | | | | | | | | The patch looks complicated, but this is just code movement.
* | | | | Merge branch 'rangemap-mutate-range' into 'main'Ian Jackson2026-07-026-0/+327
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | tor-netdoc: rangemap_mutate_range: New function See merge request tpo/core/arti!4190
| * | | | tor-netdoc: rangemap_mutate_range: Adjust a plaintive commentIan Jackson2026-07-021-1/+1
| | | | |
| * | | | tor-netdoc: rangemap_mutate_range: New functionIan Jackson2026-07-026-0/+327
|/ / / / | | | | | | | | | | | | This will be used for exit port summary calculations.
* | | | Merge branch 'partialeq-netdoc' into 'main'Ian Jackson2026-07-024-4/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc: Remove Eq on various types See merge request tpo/core/arti!4199
| * | | | tor-netdoc: Remove Eq on various typesClara Engler2026-07-024-4/+6
|/ / / / | | | | | | | | | | | | | | | | This reverts the Eq derives added in !4150 while keeping the PartialEq, in order to support including this in Unknown.
* | | | Merge branch 'rd-encode' into 'main'Ian Jackson2026-07-023-17/+50
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Encoding for Router Descriptors See merge request tpo/core/arti!4153
| * | | | tor-netdoc: Derive encoding for RouterSignatureClara Engler2026-07-021-9/+6
| | | | |
| * | | | tor-netdoc: Add TODO for .encode_sign()Clara Engler2026-07-021-0/+1
| | | | |
| * | | | tor-netdoc: Change concept of test_parse2Clara Engler2026-07-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test is now called test_parse2_simple and intended to test simple parse2 and encode round-trip functionality without edge-cases and such. More edge tests will be added once we have a proper verification logic.
| * | | | tor-netdoc: Round-trip encoding testClara Engler2026-07-021-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a round-trip encoding test to test_parse2 that encodes the decoded results and decodes them again in order to verify that the again decoded result is equal to the original one.
| * | | | tor-netdoc: Adjust test_parse2 to keep signaturesClara Engler2026-07-021-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Required for round trip encode testing which we will add in the next commit. We only keep the actual RouterDescSignatures because then we can do Eq.
| * | | | tor-netdoc: NetdocEncodable for RouterDescClara Engler2026-07-022-5/+8
| | | | |
| * | | | tor-netdoc: NetdocEncodable for RouterDescSignaturesClara Engler2026-07-022-1/+2
| | | | |
| * | | | tor-netdoc: ItemValueEncodable for RouterSignatureClara Engler2026-07-022-0/+8
|/ / / / | | | | | | | | | | | | Needed for encoding.
* | | | Merge branch 'stream-msg-parse' into 'main'gabi-2502026-07-022-23/+53
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | proto: Allow BeginDir and Resolve messages in the stream reactor Closes #2613 See merge request tpo/core/arti!4188
| * | | proto: Add TODO about the eventual client-side reactor rewriteGabriela Moldovan2026-07-021-0/+10
| | | | | | | | | | | | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/4188#note_3432579
| * | | proto: Re-enable IncomingCmdChecker test (fmt)Gabriela Moldovan2026-07-011-2/+6
| | | |
| * | | proto: Re-enable IncomingCmdChecker testGabriela Moldovan2026-07-011-14/+7
| | | | | | | | | | | | | | | | | | | | These assertions no longer fail now that the stream reactor is able to handle non-`BEGIN` streams.
| * | | proto: Allow BeginDir and Resolve messages in the stream reactor (fmt)Gabriela Moldovan2026-07-011-1/+3
| | | |
| * | | proto: Allow BeginDir and Resolve messages in the stream reactorGabriela Moldovan2026-07-011-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, these would fail to parse, because the (WIP) stream reactor assumed all streams would be exit (BEGIN) streams. Closes #2613
* | | | Merge branch 'addr-policy-api-bis' into 'main'Clara Engler2026-07-024-2/+27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc: Further minor improvements to addr and port policy types See merge request tpo/core/arti!4191
| * | | | tor-netdoc: Improve Debug for PortRangeIan Jackson2026-07-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This appears in a lot of debug output and the `... lo: ... hi: ...` formulation is very noisy.
| * | | | tor-netdoc: AddrPolicy::rules provides a DoubleEndedIteratorIan Jackson2026-07-012-1/+2
| | | | |
| * | | | tor-netdoc: Make PortRange CopyIan Jackson2026-07-012-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This type consists of, and will always consist of, two u16. Making it Copy is convenient. This will preclude us making it contain a RangeInclusive because std::ops::RangeInclusive is not Copy (due to API design blunder in std), and std::range is still unstable. I think that's OK.
| * | | | tor-netdoc: Add conversions between PortRange and RangeInclusiveIan Jackson2026-07-012-0/+14
| | | | |
| * | | | tor-netdoc: Add (private) PortPolicy::from_allowed_ranges constructorIan Jackson2026-07-011-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Callers in policy.rs's sub-modules should not be required to open-code constructing this, even though they can. (PortRanges is module-private, so this is too.) This is without prejudice to possible rationalisation of the types in this area.
* | | | | Merge branch 'upgrade-itertools' into 'main'Nick Mathewson2026-07-0126-63/+62
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Upgrade itertools to 0.15.0 See merge request tpo/core/arti!4192
| * | | | | Upgrade to itertools 0.15.0Nick Mathewson2026-07-0126-63/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additionally, fix itertools usage in maybenot_padding.rs The definition of `Position` changed in 0.15.0.
* | | | | | Merge branch 'fix/MissingOneOf' into 'main'Nick Mathewson2026-07-012-3/+19
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added ConfigBuildError::MissingOneOf and did TODO See merge request tpo/core/arti!4131
| * | | | | | fix: apply rustfmtpryty262026-06-201-2/+5
| | | | | | |
| * | | | | | did TODO/Changed MissingFieled into MissingOneOfpryty262026-06-201-3/+3
| | | | | | |
| * | | | | | Added ConfigBuildError::MissingOneOfpryty262026-06-191-0/+13
| | | | | | |