summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | CI: Disble shadow cpu-pinningJim Newsome2026-04-212-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In CI, shadow's default behavior of pinning to CPU cores can result in multiple instances of shadow fighting over the same CPU cores instead of using idle ones.
* | | | | | Merge branch 'osx_min_version_10_14' into 'main'Ian Jackson2026-04-271-2/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | / / | | |_|/ / | |/| | | Update MACOS_DEPLOYMENT_TARGET to 10.14 See merge request tpo/core/arti!3920
| * | | | Remove now-false comment in reproducible-build.Nick Mathewson2026-04-261-1/+0
| | | | |
| * | | | Update MACOS_DEPLOYMENT_TARGET to 10.14Nick Mathewson2026-04-251-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives our reproducible-build tools permission to use APIs introduced in versions up to 10.14. Previously, we had this set to 10.12, which is the oldest version supported by Rust. Upgrading to 10.14 will allow us to merge !3817, and to upgrade security-framework to the latest version (#2387). OSX 10.14 ("Mojave") was released in September 2018, and hasn't been officially supported since October 2021. IMO it's a fine "very old version" for now.
* | | | Merge branch 'osx-repro-update' into 'main'Nick Mathewson2026-04-232-19/+58
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Update the OSX SDK in our reproducible build. See merge request tpo/core/arti!3901
| * | | | reproducible-build: version the osxcross directory.Nick Mathewson2026-04-181-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch puts the osx tools build (which gets cached) into a directory that includes the SDK version, so that we don't get confused with older or newer SDK builds.
| * | | | Update the OSX SDK in our reproducible build.Nick Mathewson2026-04-171-15/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: - Update the build target to 10.12, and define it in a single place. (We had 10.7 before, but Rust only supports 10.12 and higher. We will probably want to update this to something even more recent soon. - Use the default clang c++ library, rather than trying to force libstdc++, which OSX dropped after the 10.13 SDK. - Use the same clang++ for compilation and linking. - Use the 15.5 SDK. - Use a copy of the SDK with a known source. Specifically we start with the the pkg file from Apple, as cached by the TBB team on `build-sources.tbb.tpo`. Using a pkg file means that we have to run a script from them the tor-browser-build repository to extract the SDK files, and then run the osxcross script that repackages that SDK as a tar.xz file. I believe our script will make sure this gets cached. - Stop trying to use define an `ar`; nothing needs it.
| * | | | docker-reproducible-build: Fix script name.Nick Mathewson2026-04-171-1/+1
| | | | |
* | | | | Merge branch 'rsa-identity-to-bytes' into 'main'Clara Engler2026-04-231-0/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-llcrypto: Add RsaIdentity::to_bytes() See merge request tpo/core/arti!3916
| * | | | | tor-llcrypto: Add RsaIdentity::to_bytes()Clara Engler2026-04-231-0/+5
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds .to_bytes() to RsaIdentity which is similar to .as_bytes() except that it returns the RsaIdentity as a byte array. We are going to need this at a few places in tor-dirserver. The naming was inspired from x25519-dalek which has similar .as_bytes() and .to_bytes() methods. Besides, copying 20 bytes shall be okay and it avoids having to write ugly try_into() constructs.
* | | | | Merge branch 'relay-circ-checks' into 'main'gabi-2502026-04-236-211/+347
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | proto: Reject EXTEND2 targeting the previous hop in the circuit Closes #2415 See merge request tpo/core/arti!3906
| * | | | proto: Wrap PeerInfo in Arc<>Gabriela Moldovan2026-04-233-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid copying the same information for every circuit, as suggested by @opara in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3399497
| * | | | safelog: Add new MaybeSensitive::map() functionGabriela Moldovan2026-04-231-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | This is analogous to `Option::map()`, and can be useful when you need to map the inner type of a `MaybeSensitive` to another type.
| * | | | proto: Avoid collecting the chan identities in RelayIdSetGabriela Moldovan2026-04-231-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make sense to do so, as pointed out by @opara in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3398956
| * | | | proto: Apply deferred rustfmtGabriela Moldovan2026-04-231-5/+2
| | | | |
| * | | | proto: Remove expect(unused) from channel PeerInfoGabriela Moldovan2026-04-231-1/+0
| | | | | | | | | | | | | | | | | | | | This is used in the relay circuit reactor.
| * | | | proto: Build the PeerInfo from the dummy target in the testsGabriela Moldovan2026-04-231-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | The new relay circuit reactor test expect the `PeerInfo` to be populated with the identity keys of the peer, and won't work without this change.
| * | | | proto: Use PeerInfo in the extend handlerGabriela Moldovan2026-04-232-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3906#note_3397922
| * | | | proto: Add an accessor for the PeerInfo of a channelGabriela Moldovan2026-04-231-0/+6
| | | | |
| * | | | proto: Add test ensuring we won't extend to the previous hopGabriela Moldovan2026-04-231-1/+43
| | | | |
| * | | | proto: Reject EXTEND2 targeting the previous hop in the circuitGabriela Moldovan2026-04-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The relay reactor will now reject any EXTEND2 that tries to extend the circuit to a hop that shares any identities with our previous hop. Closes #2415
| * | | | proto: Give the ExtendRequestHandler a copy of the inbound peer infoGabriela Moldovan2026-04-233-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | This will soon be used for preventing the circuit from being extended to the previous hop (#2415).
| * | | | proto: Fix broken doc link in extend handlerGabriela Moldovan2026-04-231-1/+3
| | | | |
| * | | | proto: Extract EXTEND2 handling into a new moduleGabriela Moldovan2026-04-232-200/+254
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EXTEND2 handling logic is fairly self-contained, so I'm moving it outside of the `Forward` handler. This refactoring enables us to add more context to the handler (i.e. the inbound channel identities needed for #2415) without cluttering the `Forward` implementation. I recommend reviewing this commit with `git diff --color-moved`.
* | | | Merge branch 'routerdescs2-types' into 'main'Clara Engler2026-04-238-11/+403
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Introduce router descriptor types See merge request tpo/core/arti!3908
| * | | | tor-netdoc: Fix B16U debug implementationClara Engler2026-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | Replaces "B16" by "B16U".
| * | | | tor-netdoc: Fix FixedB16U debug implementationClara Engler2026-04-221-1/+1
| | | | | | | | | | | | | | | Replaces "FixedB16" by "FixedB16U"
| * | | | tor-netdoc: Add TODO for FixedB16U's Display implementationClara Engler2026-04-221-0/+1
| | | | |
| * | | | tor-netdoc: Add spec links to all routerdesc typesClara Engler2026-04-221-0/+8
| | | | | | | | | | | | | | | | | | | | This commit adds spec links to all relevant routerdesc types.
| * | | | tor-netdoc: Add spec link to RouterDescClara Engler2026-04-221-0/+4
| | | | | | | | | | | | | | | | | | | | This commit adds a specification link to the RouterDesc struct.
| * | | | tor-netdoc: pub mod routerdescClara Engler2026-04-223-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces `pub use routerdesc::*` with `pub mod routerdesc` alongside making the required changes in types.rs to not directly prelude these types but to introduce them in their own module, as that is the primary advantage of having these types there.
| * | | | tor-netdoc: ItemArgumentParseable for RelayPlatformClara Engler2026-04-222-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | This commit implements ItemArgumentParseable for RelayPlatform which we will need in the parse2 version of RouterDesc eventually.
| * | | | tor-netdoc: Public SpFingerprintClara Engler2026-04-223-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will need this type in public fields of the router descriptor data type at one point, most notably for the `fingerprint` item. No need to update semver.md because this type is, for whatever reason, already contained there (in main)?
| * | | | tor-netdoc: Test AddrPolicy's parse2 accumulatorClara Engler2026-04-221-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a test for the recent parse2 accumulator to see whether it accumulates the policies as expected.
| * | | | tor-netdoc: NetdocParseableFields for AddrPolicyClara Engler2026-04-222-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements NetdocParseableFields for AddrPolicy, which will be required, because this field accumulates exit policies in a firewall like order, making the use of it necessary.
| * | | | tor-netdoc: NormalItemArgument for AddrPortPatternClara Engler2026-04-222-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | This commit implements NormalItemArgument for AddrPortPattern because we will need it later for an accumulator.
| * | | | tor-netdoc: Derive PartialEq,Eq for addrpolicy.rsClara Engler2026-04-222-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | This commit derives PartialEq and Eq for a few types in addrpolicy.rs, as we will need these for a few unit tests later on.
| * | | | tor-netdoc: Add TODO for BTreeSet in RelayFamilyIdsClara Engler2026-04-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | The inner Vec ought to be better of as a BTreeSet as that would save us dedup and sort calls.
| * | | | tor-netdoc: Add dedup() to RelayFamilyIdsClara Engler2026-04-222-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | We will need this later for outputting RelayFamilyIds in a fashion compatible with the current API.
| * | | | tor-netdoc: Add sort() to RelayFamilyIdsClara Engler2026-04-222-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | We will need this later for outputting RelayFamilyIds in a fashion compatible with the current API.
| * | | | tor-netdoc: Add ExtraInfoDigestsClara Engler2026-04-223-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the ExtraInfoDigests structure storing the, if present, mandatory SHA-1 hash and optional SHA-256 hash of the extra-info document associated with the router descriptor it is referenced from.
| * | | | tor-cert: Derive Debug, Clone for SigCheckedCertClara Engler2026-04-222-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Most other certificate types do so too and we will need it in tor-netdoc.
| * | | | tor-netdoc: Add RouterDescIntroItemClara Engler2026-04-223-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds RouterDescIntroItem which will serve as the introduction item for router descriptors, that is, a line with the keyword "router" followed by the nickname, the IPv4 address, and a few ports.
| * | | | tor-netdoc: Eq for NicknameClara Engler2026-04-222-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This derives Eq for Nickname because we will need it for unit tests that will be added later on.
| * | | | tor-netdoc: Add OverloadGeneral typeClara Engler2026-04-223-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This type comes from the specification and indicates overload information about a relay. We will use it in router descriptors at one point, hence why we are adding it already.
| * | | | tor-netdoc: Test SpFingerprint 10x4 requirementClara Engler2026-04-221-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a test to verify the 10x4 character requirement for SpFingerprint.
| * | | | tor-netdoc: ItemArgumentParseable for SpFingerprintClara Engler2026-04-221-0/+32
| | | | |
| * | | | tor-netdoc: Speclink for SpFingerprint rustdoc commentClara Engler2026-04-221-0/+2
| | | | |
| * | | | tor-netdoc: Introduce FixedB16UClara Engler2026-04-221-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces FixedB16U which is a FixedB64 pedant for B16U. It will be required for ExtraInfoDigests.
| * | | | tor-netdoc: Add test for NumericBooleanClara Engler2026-04-221-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a round-trip test for NumericBoolean to ensure that 0 is false and 1 is true.