summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | proto: Give the relay reactor a stream mapGabriela Moldovan2025-10-213-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | We need it for exits and leaky pipe. Part of #2212
| * | | proto: Rename RelayReactor to BackwardReactorGabriela Moldovan2025-10-211-5/+15
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | "Backward" because this reactor will deal with relaying cells in the backward direction (from exit to client). In addition, this reactor will deal with stream handling and control/command messages. We will soon have another, "forward", reactor, relaying cells in the forward direction.
* | | tor-netdoc: Lifetime impls: reindentIan Jackson2025-10-211-37/+37
| | |
* | | tor-netdoc: derive NetdocParseableFields for LifetimeIan Jackson2025-10-211-0/+4
| | |
* | | tor-netdoc: parse2: Provide documentation for derived Accumulator typesIan Jackson2025-10-211-0/+3
| | |
* | | tor-netdoc: Lifetime: change type of fieldsIan Jackson2025-10-212-8/+8
| | | | | | | | | | | | These fields aren't public so this doesn't have semver impacts.
* | | tor-netdoc: Lifetime: derive constructor and accessorsIan Jackson2025-10-211-20/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a moment, we're going to want to transform the field arguments. That would leave us open to bugs like this: valid_after: valid_after.into(), fresh_until: fresh_until.into(), valid_until: valid_after.into(), We'll sort out the indentation later in this branch.
* | | tor-netdoc: Lifetime: Move some documentation to fieldsIan Jackson2025-10-211-10/+10
| | | | | | | | | | | | | | | This (briefly) regresses the documentation, but it's going to appear again when we derive the methods.
* | | tor-netdoc: Lifetime: Construct Lifetime struct earlierIan Jackson2025-10-211-6/+10
|/ /
* | arti-relay: refactor error handlingSteven Engler2025-10-203-142/+34
| | | | | | | | | | | | | | We decided to move away from the `Error` + `ErrorDetail` all-encompassing enum design, and will use `anyhow::Error` in more places. When we need to handle specific errors, we will create smaller more-specific error types in those cases.
* | Merge branch 'ticket_2210_squashed' into 'main'Nick Mathewson2025-10-201-2/+4
|\ \ | | | | | | | | | | | | | | | | | | Use random_hostname() to pick an (E)SNI Closes #2210 See merge request tpo/core/arti!3372
| * | Use random_hostname() to pick an (E)SNINeel Chauhan2025-10-201-2/+4
| |/ | | | | | | | | | | Closes #2210. Edited-by: Nick Mathewson <[email protected]>
* | Cleanup: Remove a variable renameNick Mathewson2025-10-201-4/+2
| |
* | Refactor: turn circ_extensions_from_settings into a methodNick Mathewson2025-10-203-63/+62
|/ | | | Closes #2067.
* Merge branch 'guardmgr-retry-logging' into 'main'wesleyac2025-10-162-8/+21
|\ | | | | | | | | Add more detail on retry times to GuardMgr logging See merge request tpo/core/arti!3153
| * tor-guardmgr: Ignore cognitive_complexity lint.Wesley Aptekar-Cassels2025-10-161-0/+1
| | | | | | | | | | While this is fairly nested, it's short, and most of the complexity is just in the logging code.
| * tor-guardmgr: Use humantime for some logging.Wesley Aptekar-Cassels2025-10-162-2/+2
| |
| * tor-guardmgr: Add retry time to guard failure warning.Wesley Aptekar-Cassels2025-10-161-7/+14
| | | | | | | | | | The "Next retry time unknown" message can't be hit right now, but could be if the code changes in the future.
| * tor-guardmgr: Include retry time in AllGuardsDown error message.Wesley Aptekar-Cassels2025-10-161-1/+6
| | | | | | | | | | I don't love shoving such a complicated expression in thiserror, but it seems nicer than writing the implementation by hand...
* | Merge branch 'ignore-watch-multiple-test' into 'main'gabi-2502025-10-161-0/+2
|\ \ | | | | | | | | | | | | arti: Ignore reload_cfg::test::watch_multiple. See merge request tpo/core/arti!3364
| * | arti: Ignore reload_cfg::test::watch_multiple.Wesley Aptekar-Cassels2025-10-161-0/+2
| |/ | | | | | | This is flaky, ignoring until #1607 is fixed.
* | Merge branch 'cmd-checkers' into 'main'gabi-2502025-10-1614-64/+101
|\ \ | |/ |/| | | | | proto: Split out IncomingDataCmdChecker as a separate type See merge request tpo/core/arti!3348
| * proto: Rename data cmd checkers to {Inbound,Outbound}DataCmdChecker (fmt)Gabriela Moldovan2025-10-161-1/+2
| |
| * proto: Rename data cmd checkers to {Inbound,Outbound}DataCmdCheckerGabriela Moldovan2025-10-167-19/+19
| | | | | | | | | | | | The previous "incoming" terminology was rather ambiguous. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3348#note_3275337
| * proto: Fix docs to refer to the right stream:: paths.Gabriela Moldovan2025-10-162-2/+2
| |
| * proto: Move IncomingDataCmdChecker to top-level stream module.Gabriela Moldovan2025-10-164-49/+55
| | | | | | | | | | | | | | This will be used by relays too (for validating incoming messages on streams). This is just code motion, so it's best reviewed with `--color-moved`.
| * proto: Split out DataCmdChecker into multiple types (fmt).Gabriela Moldovan2025-10-161-1/+1
| |
| * proto: Split out DataCmdChecker into multiple types.Gabriela Moldovan2025-10-163-13/+51
| | | | | | | | | | | | | | | | | | | | | | The incoming one will be used for the exit relay implementation too. Also, with this change, receiving `CONNECTED` on an incoming stream will result in a clearer error message. Previously, the check against receiving `CONNECTED` on an incoming stream was bundled with the double-CONNECTED check for client data streams, so in the incoming stream case, the error message was misleading ("Received CONNECTED twice on a stream.").
| * proto: Do not fully-qualify Arc.Gabriela Moldovan2025-10-161-3/+3
| | | | | | | | | | `Arc` is already in scope, and not fully-qualifying it makes it more readable.
| * proto: Replace fully-qualified paths with use (fmt).Gabriela Moldovan2025-10-162-8/+2
| |
| * proto: Replace fully-qualified paths with use.Gabriela Moldovan2025-10-162-8/+8
| |
| * proto: Reformat imports post-move.Gabriela Moldovan2025-10-1610-12/+11
| |
| * proto: Avoid crate-pub reexports of shared types from the client module.Gabriela Moldovan2025-10-1611-20/+19
| | | | | | | | | | This makes it easier to see which parts are implementation-agnostic (i.e. do not import from crate::client).
| * proto: Move cmdchecker under top-level stream module.Gabriela Moldovan2025-10-163-2/+2
| | | | | | | | | | The CmdChecker will be used by relays too, so I am moving it to the shared `stream` module.
* | Merge branch 'fix-watch-single-file-flake' into 'main'wesleyac2025-10-161-3/+5
|\ \ | | | | | | | | | | | | | | | | | | arti config: Fix flaky watch_single_file test. Closes #1607 See merge request tpo/core/arti!2503
| * | arti config: Fix flaky watch_single_file test in a more principled way.Wesley Aptekar-Cassels2025-10-071-12/+4
| | | | | | | | | | | | Thanks to gabi for the suggestion.
| * | arti config: Fix flaky watch_single_file test.Wesley Aptekar-Cassels2025-10-071-2/+12
| | | | | | | | | | | | Fixes: #1607
* | | Fix new clippy nightly warning about subtracting Durations.Nick Mathewson2025-10-162-8/+14
| | |
* | | Remove a couple of unused imports.Nick Mathewson2025-10-162-2/+1
| |/ |/|
* | Merge branch 'outbound-relay-doc-fix' into 'main'Nick Mathewson2025-10-161-1/+1
|\ \ | | | | | | | | | | | | proto: Fix typo in OutboundRelayLayer docs. See merge request tpo/core/arti!3346
| * | proto: Fix typo in OutboundRelayLayer docs.Gabriela Moldovan2025-10-081-1/+1
| | | | | | | | | | | | | | | `OutboundRelayLayer::decrypt_outbound()` is for decrypting cells moving *away* from the client (in the "forward direction").
* | | Merge branch 'parse2-routerstatus' into 'main'Ian Jackson2025-10-1519-118/+823
|\ \ \ | | | | | | | | | | | | | | | | tor-netdoc: Be able to parse routerstatus entries in votes See merge request tpo/core/arti!3351
| * | | tor-netdoc: Add a lot of spec cross-references and tidy docsIan Jackson2025-10-153-15/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add links to torspec, and other cross-references. Change heading fof `IgnoredPublicationTimeSp` to `publication` to match spec and distinguish it from the `published` item in netstatus docs. Align several descriptions with the wording from torspec. Remove a restatement of a fact from the spec, on the `valid_until` field in `Lifetime`.
| * | | tor-netdoc: Typo fixes in docsIan Jackson2025-10-152-2/+2
| | | |
| * | | tor-netdoc: tests: Print out vote routerstatusIan Jackson2025-10-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I have eyeballed the output and it seems to look right. Eventually we'll have encoing code and then we'll be able to check that things round-trip.
| * | | tor-netdoc: tests: Move vote parsing test to netstatus.rsIan Jackson2025-10-152-12/+21
| | | | | | | | | | | | | | | | | | | | This is a test of real document structs now, albeit that it still uses one of the types from `poc`.
| * | | tor-netdoc: tests: Use real `RouterStatus` in `parse2::poc`Ian Jackson2025-10-152-9/+8
| | | | | | | | | | | | | | | | This now exercises all the new parsing code.
| * | | tor-netdoc: impl parse2 for RouterStatus entryIan Jackson2025-10-152-1/+85
| | | |
| * | | tor-netdoc: Type for parsing `m` lines in votesIan Jackson2025-10-152-1/+39
| | | |
| * | | tor-netdoc: Add ConsensusMethod typeIan Jackson2025-10-151-3/+46
| | | |