summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | 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
* | | | Merge branch 'nightly_fixes' into 'main'Nick Mathewson2025-10-164-10/+15
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Fix a couple of clippy warnings from nightly See merge request tpo/core/arti!3361
| * | | 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 'shellcheck' into 'main'gabi-2502025-10-161-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | maint/reproducible_build: Use cp -R to placate shellcheck See merge request tpo/core/arti!3362
| * | | maint/reproducible_build: Use cp -R to placate shellcheckIan Jackson2025-10-161-1/+1
|/ / / | | | | | | | | | | | | | | | I'm not sure I agree with this complaint - it seems like foolish standards-wonkery - but GNU cp supports -R too and this change will fix CI on main.
* | | 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
| | | | |
| * | | | tor-netdoc: Add types for hashes with their accompanying alg idIan Jackson2025-10-152-3/+143
| | | | |
| * | | | tor-netdoc: B64: impl Clone, [ConstantTime]Eq, Display, DebugIan Jackson2025-10-151-0/+27
| | | | |
| * | | | tor-netdoc: B64 helper type: ExposeIan Jackson2025-10-153-4/+6
| | | | |
| * | | | tor-netdoc: impl parse2 multiplicity for BTreeSetIan Jackson2025-10-153-3/+36
| | | | |
| * | | | tor-netdoc: RouterStatus: Add `publication` argument fieldIan Jackson2025-10-156-3/+28
| | | | |
| * | | | tor-netdoc: Mirror netdoc structure in RouterStatus document digestsIan Jackson2025-10-155-7/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In md consensuses the referenced document digest is in the `m` field. This seems to be to make it similar to votes. But really the function of the md desc hash in md rs entries is much more parallel to the plain desc hash in plain rs entries. The way the spec has done it means the `r` item has a needlessly different syntax.
| * | | | tor-netdoc: Provide doc_digest on vote routerstatus entriesIan Jackson2025-10-152-6/+12
| | | | |
| * | | | tor-netdoc: RouterStatus: Split out the `r` item's fieldsIan Jackson2025-10-155-28/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the Rust structure closer to the document structure. Arguably, this makes the Rust structure worse. But: I'm really very keen on avoiding handwritten parsing and printing code. And, in the longer term, having this linkage will hopefully apply pressure to avoid further protocol complexity/variation/chaos.
| * | | | tor-netdoc: impl parse2 for rs::VersionIan Jackson2025-10-151-0/+10
| | | | |
| * | | | tor-netdoc: impl parse2 for RelayFlagsIan Jackson2025-10-151-0/+13
| | | | |
| * | | | tor-netdoc: split up RelayFlags parsing (fmt)Ian Jackson2025-10-151-5/+1
| | | | |
| * | | | tor-netdoc: split up RelayFlags parsingIan Jackson2025-10-151-14/+47
| | | | |
| * | | | tor-netdoc: impl parse2 traits for RelayWeightIan Jackson2025-10-151-0/+25
| | | | |
| * | | | tor-netdoc: split up RelayWeight parsing (fmt)Ian Jackson2025-10-151-4/+2
| | | | |
| * | | | tor-netdoc: split up RelayWeight parsingIan Jackson2025-10-151-2/+9
| | | | | | | | | | | | | | | | | | | | We're going to call from_net_params from the parse2 trait impl.
| * | | | tor-netdoc: impl parse2 traits for protoversIan Jackson2025-10-153-1/+25
| | | | |
| * | | | tor-netdoc: Provide convenience method for handling invalid argumentsIan Jackson2025-10-152-0/+15
| | | | |
| * | | | tor-netdoc: Introduce ArgumentNotPresent placeholder utility typeIan Jackson2025-10-152-3/+22
| | | | |
| * | | | tor-netdoc: Make Ignored part of a moduleIan Jackson2025-10-151-16/+23
| | | | | | | | | | | | | | | | | | | | | | | | | The rest of types::misc does this. We should probably follow suit for consistency. Also we're going to want to add soemthing here.
| * | | | tor-netdoc: impl Default for IgnoredIan Jackson2025-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This omission seems like an oversight. I thought I wanted it, but it turns out I don't - but I think it should still be there.