summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | tor-netdoc: Constify VALID_SYSTEM_TIMEClara Engler2026-04-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit constifies VALID_SYSTEM_TIME, a timestamp indicating a point in time at which the certificate is valid. We will need this to test timestamp validation.
| * | | | | | | | tor-netdoc: Update test vectors in dir_auth_certClara Engler2026-04-081-15/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the longclaw test vectors in dir_auth_cert with the ones we constified previously and represent the ones found in testdata2/. It may look a bit odd that we replaced the file includes for the public keys but this is because those files should have never existed in testdata2/ in the first place and were only added by accident, meaning that the current approach is the correct one.
| * | | | | | | | tor-netdoc: Remove outdated longclaw comment in testClara Engler2026-04-081-2/+0
| | | | | | | | |
| * | | | | | | | tor-netdoc: Replace a File::open with include_strClara Engler2026-04-081-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces a File::open with the AUTHCERT_RAW constant in the dir_auth_cert test because that is obviously less error prone.
| * | | | | | | | tor-netdoc: Constify the raw authcert test vectorClara Engler2026-04-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds `const AUTHCERT_RAW` which `include_str`'s the actual raw authcert we will use for parsing test purposes. The reason for that being that a single include_str! of the same file is obviously better than multiple ones.
| * | | | | | | | tor-netdoc: Constify the authcert test vectorsClara Engler2026-04-081-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit constifies the authcert test vectors by extracting them from testdata2/keys/authority_certificate.
| * | | | | | | | tor-netdoc: Add to_rsa_id() helper functionClara Engler2026-04-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a to_rsa_id() helper function to the authcert tests in order to convert a hex-encoded RSA identity to an RsaIdentity. It will be required later on for converting the test vector values to the inner representations and this function is helpful here because it avoids us to do repetitive unwrapping and RsaIdentity::from_hex calls, which overall increase the length/readability.
| * | | | | | | | tor-netdoc: Add pem_to_rsa_pk helper functionClara Engler2026-04-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the pem_to_rsa_pk helper function to the authcert tests in order to convert a PEM encoded RSA public key to the internal data structure. It will be required later on in order to convert the test vector strings to internal representations.
| * | | | | | | | tor-netdoc: Add to_system_time helper functionClara Engler2026-04-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a to_system_time helper function accepting an &str in the Iso8601TimeSp format and converting it to a SystemTime to the authcert test cases. It will be required later on in order to conveniently convert human readable timestamps to the test vectors expected from parsed data.
| * | | | | | | | tor-netdoc: Fix broken poc testsClara Engler2026-04-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests got broken due to the replacement of the testdata. The changes required to make them work again were trivial, namely to increase a timestamp by two hours in a consensus, as the new consensus has a `valid-after 2000-01-01 00:02:20` followed by a fingerprint replacement for a directory authority because the authority identity keys were obviously also rotated.
| * | | | | | | | testdata2: Update with job 1468137Clara Engler2026-04-0745-2468/+2610
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the testdata2 directory with job 1468137 using the following command: ./testdata2-download \ "https://gitlab.torproject.org/tpo/core/arti/-/jobs/1468137/artifacts/download" The artifact will expire at one point, so you may not be able to reproduce it anymore.
| * | | | | | | | testdata2: Patch lines starting with "@"Clara Engler2026-04-071-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit patches so-called at-lines in cached-descriptors.new and cached-microdescs.new, as ctor adds those annotations manually in order to store metadata, which renders this to become an invalid network document.
| * | | | | | | | testdata: Embed testdata2/README update into scriptClara Engler2026-04-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit embeds the message added in 509145592452a5aeca573af00579233 into the generated README.
| * | | | | | | | testdata2: Fix directory structure in zip archiveClara Engler2026-04-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The data resides in `shadow.chutney.data/hosts/host` now and not at the the top-level anymore. A fix might include to use wildcards, but I feel this is potentially more error-prone.
| * | | | | | | | testdata2: Use absolute paths using gitClara Engler2026-04-071-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes the use/dependency of relatives path by obtaining the root path of the repository using a git command. Doing it this way allows us to avoid things such as `../../..` which is not a good pattern as it creates a dependency upon the directory structure.
| * | | | | | | | git: Ignore /tmpClara Engler2026-04-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This folder is used by testdata2-download; no need to track it via git, which can be quite bothersome if the script failed.
* | | | | | | | | Merge branch 'normal-item-arg-ip-addr' into 'main'Ian Jackson2026-04-081-0/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: impl NormalItemArgument for IpAddr See merge request tpo/core/arti!3867
| * | | | | | | | | tor-netdoc: impl NormalItemArgument for IpAddrIan Jackson2026-04-081-0/+2
| | |_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I want this for `dir-source` in authority entries in netstatus docs. According to the spec that's an "IP address" which ought to include v6, and indeed the type in Arti right now is IpAddr. The implication of this is that we don't think that anywhere in the Tor netdocs has a v4 or v6 address, without port, where the v6 address in square brackets.
* | | | | | | | | Merge branch 'fix-help-msg' into 'main'Nick Mathewson2026-04-086-4/+19
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti: Fix arti -h Closes #2038 See merge request tpo/core/arti!3860
| * | | | | | | | | arti: tests: Add regression test for `arti -h`hjrgrn2026-04-085-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add regression test - Update README
| * | | | | | | | | arti: Fix help message display orderhjrgrn2026-04-081-4/+6
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call `clap_app`'s metadata methods after `augment_subcommands`. If `about` is set before `augment_subcommands`, the subcommand enums' doc comment overrides it. Now, all metadata (e.g. about, version) is set after augmentation for consistency and correct help output.
* | | | | | | | | Merge branch 'bump-chutney-2026-04-08' into 'main'gabi-2502026-04-081-2/+2
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | CI: bump chutney version See merge request tpo/core/arti!3868
| * | | | | | | | CI: bump chutney versionJim Newsome2026-04-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly to get logging improvements chutney!124. Also work around a potential race condition, though I don't think we've observed it in CI chutney!125
* | | | | | | | | Merge branch 'create-fast' into 'main'opara2026-04-0825-106/+1124
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for handling CREATE_FAST cells and launching a circuit reactor See merge request tpo/core/arti!3846
| * | | | | | | | tor-proto: replace use of `ChannelDirection` with `CircIdRange`Steven Engler2026-04-084-25/+16
| | | | | | | | |
| * | | | | | | | Revert "tor-proto: change `CreateResponse` to `restricted_msg!`"Steven Engler2026-04-082-29/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9c38daf2d3548feca2ff555f5bd52165add0d20c.
| * | | | | | | | tor-proto: add a `From<$ttype>` impl for `RestrictedChanMsgSet`Steven Engler2026-04-081-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for the revert in the following commit.
| * | | | | | | | tor-{proto,chanmgr}: change how channels accept a CREATE* handlerSteven Engler2026-04-089-103/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of giving the `CreateRequestHandler` to the channel after it's constructed, we integrate it into the handshake so that we can give it to the channel constructor. The `ChannelType` is no longer part of the `Channel`. Some of the tests could be cleaned up slightly now that the channel doesn't need the `ChannelType`, but I don't want to conflict with !3853.
| * | | | | | | | tor-proto: simplify error handling in `CreateRequestHandler::handle_create()`Steven Engler2026-04-081-71/+85
| | | | | | | | |
| * | | | | | | | tor-proto: rename `CircIdRange::is_allowed_by_peer()` to `is_allowed_for_peer()`Steven Engler2026-04-081-2/+2
| | | | | | | | |
| * | | | | | | | tor-proto: remove TODO about `UniqId` overflowSteven Engler2026-04-081-2/+2
| | | | | | | | |
| * | | | | | | | tor-proto: handle incoming RELAY_EARLY messagesSteven Engler2026-04-081-2/+10
| | | | | | | | |
| * | | | | | | | arti-relay: add support for a `CreateRequestHandler`Steven Engler2026-04-086-2/+203
| | | | | | | | |
| * | | | | | | | tor-chanmgr: add support for a `CreateRequestHandler`Steven Engler2026-04-084-4/+93
| | | | | | | | |
| * | | | | | | | tor-proto: add `Channel::set_create_request_handler()`Steven Engler2026-04-082-2/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't pass the request handler during the `Channel` constructor since it would require conditionally compiled function arguments, which aren't nice.
| * | | | | | | | tor-proto: add `CreateRequestHandler`Steven Engler2026-04-084-0/+442
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for handling CREATE* messages on channels.
| * | | | | | | | tor-proto: extend `RelayHandshakeError`Steven Engler2026-04-081-1/+27
| | | | | | | | |
| * | | | | | | | tor-proto: add a `CreateRequest` restricted msg setSteven Engler2026-04-081-1/+11
| | | | | | | | |
| * | | | | | | | tor-proto: change `CreateResponse` to `restricted_msg!`Steven Engler2026-04-082-19/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This better fits with existing code that uses `restricted_msg!` and is a bit more flexible.
| * | | | | | | | tor-proto: derive `strum::EnumDiscriminants` for `Algorithm`Steven Engler2026-04-083-1/+6
| | | | | | | | |
| * | | | | | | | tor-proto: small cleanup of legacy codeSteven Engler2026-04-081-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think it was written like this because earlier versions of rust didn't allow references to temporaries like `&mut rand::rng()` and needed them to be bound to a variable. But this isn't necessary anymore and so the comment doesn't make sense.
| * | | | | | | | arti-relay: use 'tor-proto/flowctl-cc' featureSteven Engler2026-04-081-1/+1
| | | | | | | | |
| * | | | | | | | tor-proto: change channel to use `Runtime`Steven Engler2026-04-086-26/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When used for relay channels, the channel reactor will soon need to spawn relay circuit reactors.
| * | | | | | | | tor-proto: support relay circs in channel's `CircMap`Steven Engler2026-04-082-11/+87
| | | | | | | | |
| * | | | | | | | tor-proto: rename `CircEnt::Open` to `CircEnt::OpenOrigin`Steven Engler2026-04-082-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And rename `CircMap::add_ent()` to `add_origin_ent()`.
| * | | | | | | | tor-proto: add `CircIdRange::is_allowed_by_peer()`Steven Engler2026-03-311-0/+8
| | | | | | | | |
| * | | | | | | | tor-proto: add `CircIdRange::integer_range()`Steven Engler2026-03-311-6/+15
| | | | | | | | |
* | | | | | | | | Merge branch 'netdoc-fixes' into 'main'Clara Engler2026-04-083-3/+8
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Three fixes to parsing and encoding See merge request tpo/core/arti!3862
| * | | | | | | | | tor-netdoc: Constructor: Produce better error when field isn't DefaultIan Jackson2026-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The type error's span now points at the field type, rather than into the macro.
| * | | | | | | | | tor-netdoc: encoding: Fix a Result to be $P::ResultIan Jackson2026-04-071-1/+1
| | | | | | | | | |