summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-dirserver: Enable `PRAGMA foreign_keys=ON`Clara Engler2025-09-041-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This commit enables `PRAGMA foreign_keys=ON;` for every connection by adding an appropriate statement to `schema::prepare_db`.
| * | | | tor-dirserver: Use strum for `ContentEncoding`Clara Engler2025-09-043-33/+44
| | | | |
| * | | | tor-dirserver: Document hex case in schemaClara Engler2025-09-041-1/+1
| | | | |
| * | | | tor-dirserver: Remove `ON DELETE CASCADE` for nowClara Engler2025-09-041-6/+6
| | | | |
| * | | | tor-dirserver: `Unrecognized` to `Incompatible`Clara Engler2025-09-042-2/+2
| | | | |
| * | | | tor-dirserver: Fix clippy warnings in testsClara Engler2025-09-042-3/+31
| | | | |
| * | | | tor-dirserver: Make more err fields `pub(crate)`Clara Engler2025-09-041-2/+2
| | | | |
| * | | | tor-dirserver: Use transactions in endpointsClara Engler2025-09-042-264/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit refactors a large part of the HTTP module, namely it refactors the `Callback` type to a new type called `EndpointFn` which now works in a transaction based approach and no longer gives access to the `StoreCache`. The type itself is also no longer a trait but a concrete type using `fn`. Another very notable change that became necessary during this commit was to make large parts of the codebase synchronous instead of async, namely because it is non-trivial to `Send` a `Transaction` created inside an async context to a synchronous function. Besides, this change has been deemed necessary for other reasons to. The refactoring to more synchronous code has lead to some interesting changes in `StoreCache` too, namely that in no longer uses async mutex, but a synchronous mutex instead.
| * | | | tor-dirserver: Add clippy checks and fix themClara Engler2025-09-045-18/+76
| | | | |
| * | | | tor-dirserver: Add http moduleClara Engler2025-09-045-3/+1266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the initial draft for the HTTP module. It is fairly complicated but well documented within the source code, please refer to that instead.
| * | | | tor-dirserver: Add schema moduleClara Engler2025-09-045-0/+345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the `schema.rs` module, which implements the database schema alongside some functions for initializing the database and obtaining the database schema version.
| * | | | tor-dirserver: Initial commitClara Engler2025-09-046-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit lays the initial groundwork for the `tor-dirserver` crate, a crate that shall implement functionality for dirmirros and dirauths. For now, the current crate consists of three bare bone modules: * lib.rs * err.rs * mirror.rs All of which contain mostly boilerplate code for now
* | | | | Merge branch 'conflux-p112' into 'main'gabi-2502025-09-047-38/+173
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | proto: Add extra validation for conflux SWITCH Closes #2031 See merge request tpo/core/arti!3181
| * | | | proto: Add test ensuring consecutive SWITCHes trigger tunnel teardown.Gabriela Moldovan2025-09-041-0/+48
| | | | |
| * | | | proto: Only send the bad test cell on one of the circuit legs.Gabriela Moldovan2025-09-041-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it clearer that the tunnel shutdown is triggered correctly (i.e. that it is enough for *one* of the legs to receive the bad SWITCH cell). This also updates a comment that wrongly suggests that the tunnel is only shut down if both legs get removed from the conflux set.
| * | | | proto: Pass the cc params as an argument to setup_good_conflux_tunnel.Gabriela Moldovan2025-09-041-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test code now creates the params (which enables it to build test cases that use various params). Resolves a TODO.
| * | | | proto: Add another test for SWITCH seqno validation.Gabriela Moldovan2025-09-041-8/+7
| | | | |
| * | | | proto: Update docs to clarify how we validate SWITCH seqnos.Gabriela Moldovan2025-09-041-8/+6
| | | | | | | | | | | | | | | | | | | | Also removes all the TODOs related to #2031 (which is now addressed).
| * | | | proto: Close tunnel if a leg receives consecutive SWITCH cells.Gabriela Moldovan2025-09-041-0/+14
| | | | | | | | | | | | | | | | | | | | Closes #2031
| * | | | proto: Ensure the seqno of the first SWITCH doesn't exceed the init cwnd.Gabriela Moldovan2025-09-041-0/+17
| | | | | | | | | | | | | | | | | | | | This partially addresses #2031
| * | | | proto: Store the seqno of last cell delivered in the client conflux handler.Gabriela Moldovan2025-09-042-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be needed for the SWITCH seqno validation logic. Part of #2031
| * | | | proto: Pass the cwnd params to the conflux message handler.Gabriela Moldovan2025-09-043-2/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These will be used for validating SWITCH cells. Part of #2031
| * | | | proto: Pass owned CongestionWindowParams to CongestionControl::new.Gabriela Moldovan2025-09-043-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We no longer need to clone `CongestionWindowParams` now that it implements `Copy`. Resolves a clippy warning.
| * | | | proto: Derive Copy for CongestionWindowParams.Gabriela Moldovan2025-09-041-1/+1
|/ / / / | | | | | | | | | | | | | | | | These will likely always just be a collection of integers (lightweight to copy).
* | | | Merge branch 'maybenot-triggers' into 'main'Nick Mathewson2025-09-0311-136/+384
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Circuit padding: note when cells are sent and received See merge request tpo/core/arti!3222
| * | | Whoops; let chains _still_ aren't stable in 1.85.Nick Mathewson2025-09-031-2/+1
| | | |
| * | | padding: Fix compilation with padding disabled.Nick Mathewson2025-09-031-1/+16
| | | |
| * | | padding cleanup: use QueuedCellPaddingInfo one more place.Nick Mathewson2025-09-031-5/+3
| | | |
| * | | padding: Report when we have received padding or data.Nick Mathewson2025-09-023-1/+19
| | | | | | | | | | | | | | | | (This was so much easier than reporting on the send side.)
| * | | padding: Report when outbound cells are flushed.Nick Mathewson2025-09-022-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | (This is what required us to stick a padding controller handle in each CircEnt, and what required us to accompany each queued cell with a QueuedPaddingCellInfo. Ouch!)
| * | | padding: Give CircEnt in a Channel a handle for the PaddingController.Nick Mathewson2025-09-027-99/+169
| | | | | | | | | | | | | | | | | | | | This requires some annoying plumbing to make sure that the right types wind up in the right places.
| * | | proto: Turn CircEnt variants into struct-like format.Nick Mathewson2025-09-022-29/+72
| | | | | | | | | | | | | | | | (I'm about to add more fields.)
| * | | padding: Install a PaddingController in each circuit.Nick Mathewson2025-09-023-5/+16
| | | | | | | | | | | | | | | | Also, use it to report that we have queued normal data.
| * | | padding: track which hop each queued cell is for.Nick Mathewson2025-09-026-31/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll need this so that we can tell the right padding machine(s) which of them just had a queue flush. This is not yet 100% done; the unfinished parts are marked with XXXXs.
* | | | Merge branch 'fix-congestion-signals' into 'main'opara2025-09-031-1/+3
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | tor-proto: Fix bug in `congestion_signals` Closes #2128 See merge request tpo/core/arti!3223
| * | | tor-proto: fix bug in `congestion_signals`Steven Engler2025-09-031-1/+3
|/ / /
* | | Merge branch 'randomize-seeds' into 'main'Jim Newsome2025-09-038-16/+31
|\ \ \ | | | | | | | | | | | | | | | | shadow tests: mitigate flakiness See merge request tpo/core/arti!3227
| * | | shadow CI: decrease onion service xfer sizesJim Newsome2025-09-037-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts b223d504f6a033600c61e81a0b0a0eea3e43fd44 from arti!3047. Increasing the transfer size exacerbates the failure rate of the onion services too much. We should increase it again once arti#2109 is resolved.
| * | | shadow tests: use a randomized simulation seedJim Newsome2025-09-031-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mitigates #2154 The determinism inside CI is of limited usefulness since a CI seed generally won't perfectly replicate the behavior when debugging locally. Arguably it's a feature that when there's some flakiness it does replicate inside of CI, but it leads to some confusion about blame (e.g. as in #2154 where an unrelated MR probably perturbed the PRNG to trigger some pre-existing flakiness), and means that we can't just rerun the job if we get really unlucky. i.e. even if we set a lower success threshold, a sufficiently unlucky MR can still fail and keep failing as long as it runs with the same seed.
* | | | Merge branch 'hsc-docs' into 'main'gabi-2502025-09-031-0/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | doc/hsc.md: Mention that `--batch` suppresses the prompting. See merge request tpo/core/arti!3215
| * | | | doc/hsc.md: Mention that `--batch` suppresses the prompting.Gabriela Moldovan2025-09-031-0/+8
| | |_|/ | |/| |
* | | | Merge branch 'tor-dircommon' into 'main'Ian Jackson2025-09-0312-35/+234
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | tor-dircommon: Initial commit See merge request tpo/core/arti!3205
| * | | tor-dircommon: Update to 0.34.0Clara Engler2025-09-024-7/+7
| | | |
| * | | tor-dircommon: Add dirports field to authorityClara Engler2025-09-022-18/+107
| | | |
| * | | tor-dircommon: Initial commitClara Engler2025-09-0212-17/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit initializes the `tor-dircommon` crate: A crate serving the purpose to form an umbrella for the lowest common denominator primitives found across crates implementing (parts of) the directory specification. For now, the only such primitive is the found within the `authority` module, which has been refactored from `tor-dirmgr` into this crate, alongside additional getter functions due to the lack of `pub(crate)` in this context. In the future, we may move further primitives away from `tor-dirmgr` into `tor-dircommon`.
* | | | Merge branch 'the-bell-tolls-for-once_cell' into 'main'wesleyac2025-09-033-21/+3
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | various crates: Updated MSRV TODOs for `once_cell` removal See merge request tpo/core/arti!2953
| * | | arti-client: Modified MSRV TODO for `once_cell` removalhashcatHitman2025-08-201-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Shortened the TODO added in a42413626abb57ad5610c8a73bfdd09ac68ac472 in the style of [this maintainer request] for consistency. [this maintainer request]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2953#note_3197719 Signed-off-by: hashcatHitman <[email protected]>
| * | | tor-circmgr: Modified MSRV TODOs for `once_cell` removalhashcatHitman2025-08-201-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Shortened the TODO added in e9ef7bea96c2860fa81d03e8d8da2605d0661425 in the style of [this maintainer request] for consistency. [this maintainer request]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2953#note_3197719 Signed-off-by: hashcatHitman <[email protected]>
| * | | tor-hsservice: Modified MSRV TODO for `once_cell` removalhashcatHitman2025-08-201-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Shortened the TODO added in cad6f9054a5ff4d16e953fd4617d3893639deeef in the style of [this maintainer request] for consistency. [this maintainer request]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2953#note_3197719 Signed-off-by: hashcatHitman <[email protected]>
* | | | Merge branch 'parse2-type-error-2' into 'main'Ian Jackson2025-09-032-1/+39
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc: parse2: Produce better error messages from bad field types See merge request tpo/core/arti!3220