summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | tor-proto: remove `Arc<AsyncMutex<_>>` in `Circuit::input`Steven Engler2025-03-032-27/+3
| | |/ / / | |/| | |
* | | | | Merge branch 'ci-dependency-proxy' into 'main'wesleyac2025-03-031-10/+19
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | CI: use Dependency Proxy when available See merge request tpo/core/arti!2797
| * | | | CI: use Dependency Proxy when availableJérôme Charaoui2025-02-191-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This sets up CI to allow the use of the GitLab Dependency Proxy which caches images pulled from DockerHub, in order to bypass rate-limiting. The DOCKER_REGISTRY_URL variable is set dynamically by the check_dependency_proxy_access job defined in dependency_proxy.yml such that only pipelines triggered by users with the requisite access will be configured to use the proxy, while all others will continue to pull from DockerHub as before. When DOCKER_REGISTRY_URL is pre-set in a project's CI/CD variable settings, the extra job is skipped and the dependency proxy is used always, unconditionally. To avoid breaking CI pipelines on 3rd-party GitLab instances, we only include the dependency proxy template on gitlab.tpo
* | | | | Merge branch 'conflux-poll-multiple' into 'main'gabi-2502025-03-032-64/+148
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Rewrite reactor loop to read from all circuits. Closes #1863 See merge request tpo/core/arti!2817
| * | | | tor-proto: Document that ready_streams_iterator() is cancel-safe.Gabriela Moldovan2025-03-031-0/+2
| | | | |
| * | | | tor-proto: Add cancellation-safety note inside circuit_action().Gabriela Moldovan2025-03-031-0/+3
| | | | |
| * | | | tor-proto: Reduce select_biased! indentation.Gabriela Moldovan2025-02-271-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | This was left over from the refactoring that moved the inner `select` into the `ConfluxSet` impl.
| * | | | tor-proto: Rename SelectResult to CircuitAction.Gabriela Moldovan2025-02-272-13/+13
| | | | |
| * | | | tor-proto: Rewrite reactor loop to read from all circuits.Gabriela Moldovan2025-02-272-55/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates the `Reactor::run_once()` loop to attempt to read from (and write to) all of its circuit legs as opposed to just the primary one. Note that this slightly changes the behavior of the reactor. Previously, we'd only read from the control channel if the `chan_sender` was ready, whereas now the control channel is unconditionally read from, in the *outer* select. The overall effect is that the control channel can cause unbounded buffering in the `chan_sender` of each circuit (which can happen if the `chan_sender` is not ready to send). This was actually how the reactor worked before the refactoring from !2747, which is reflected in the `chan_sender` docs: ```rust /// Sender object used to actually send cells. /// /// NOTE: Control messages could potentially add unboundedly to this, although that's /// not likely to happen (and isn't triggereable from the network, either). chan_sender: SometimesUnboundedSink<AnyChanCell, ChannelSender>, ``` I don't believe this to be a problem, for the reason mentioned in the `chan_sender` docs, and because the main reason we check for `chan_sender` readiness is to apply backpressure on senders, which is not something we need to worry about when it comes to the control channel. Besides, the control channel is unbounded, so not reading from it won't stop the senders from sending more commands anyway. Closes #1863
| * | | | tor-proto: Add a SelectResult::RemoveLeg command.Gabriela Moldovan2025-02-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | This tells the reactor to remove a given circuit from the conflux set, and will be used to remove the circuits that have been shut down.
| * | | | tor-proto: Add function for removing circuits from ConfluxSet.Gabriela Moldovan2025-02-271-1/+23
| | | | |
* | | | | Merge branch 'remove-semver' into 'main'opara2025-03-034-4/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Remove semver files for 1.4.1 See merge request tpo/core/arti!2827
| * | | | | Remove semver files for 1.4.1Nick Mathewson2025-03-034-4/+0
| | | | | |
* | | | | | Merge branch 'rm-async-block' into 'main'gabi-2502025-03-031-43/+40
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | tor-proto: Remove unnecessary async block. See merge request tpo/core/arti!2815
| * | | | | tor-proto: Remove unnecessary async block (fmt).Gabriela Moldovan2025-02-271-42/+40
| | | | | |
| * | | | | tor-proto: Remove unnecessary async block.Gabriela Moldovan2025-02-271-3/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | `futures::future::poll_fn` returns a future, so the `async` block isn't actually necessary.
* | | | | Merge branch 'changelog-final' into 'main'arti-v1.4.1Nick Mathewson2025-03-031-5/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Remove comment in changelog See merge request tpo/core/arti!2826
| * | | | | Remove comment in changelogNick Mathewson2025-03-031-5/+0
| | |_|/ / | |/| | |
* | | | | Merge branch 'version-bumps' into 'main'Nick Mathewson2025-03-0353-494/+494
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Bump versions for 1.4.1 release See merge request tpo/core/arti!2825
| * | | | Bump arti to 1.4.1Nick Mathewson2025-03-034-4/+4
| | | | |
| * | | | Bump minor versions in tor-*, arti-*.Nick Mathewson2025-03-0350-484/+484
| | | | |
| * | | | Bump patchlevel for safelog, retry-error, test-temp-dir.Nick Mathewson2025-03-034-6/+6
|/ / / / | | | | | | | | | | | | | | | | These crates have upgraded to a newer derive_more, and have had no other changes.
* | | | Merge branch 'changelog-1.4.1' into 'main'Nick Mathewson2025-02-271-4/+125
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Changelog for Arti 1.4.1 See merge request tpo/core/arti!2814
| * | | | Changelog for Arti 1.4.1 so far.Nick Mathewson2025-02-271-15/+91
| | | | |
| * | | | Start with our changelog template.Nick Mathewson2025-02-271-0/+47
| | | | |
| * | | | Apply format_md_links to previous CHANGELOG.Nick Mathewson2025-02-271-2/+2
| | | | |
| * | | | Drop a leftover sentence from the previous changelogNick Mathewson2025-02-271-2/+0
|/ / / /
* | | | Merge branch 'cargo-update' into 'main'Nick Mathewson2025-02-273-113/+142
|\ \ \ \ | |/ / / |/| | | | | | | | | | | cargo: Run 'cargo update' in preparation for release See merge request tpo/core/arti!2812
| * | | maint: downgrade dependencies in 'reproducible_build' scriptSteven Engler2025-02-271-0/+12
| | | | | | | | | | | | | | | | | | | | This is a workaround for https://gitlab.torproject.org/tpo/core/arti/-/issues/1335
| * | | maint: add 'Apache-2.0 AND ISC' as a recognized licenseSteven Engler2025-02-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is for ring >= v0.17.10 We currently use two ring versions in our Cargo.lock: - 0.16.20 (old non-standard license) - 0.17.11 (new license)
| * | | cargo: run 'cargo update' in preparation for releaseSteven Engler2025-02-271-112/+127
|/ / /
* | | Merge branch 'sync_datastream' into 'main'Nick Mathewson2025-02-273-6/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make DataStream, and its members, implement Sync. Closes #1859 See merge request tpo/core/arti!2808
| * | | Apply 1 suggestion(s) to 1 file(s)Nick Mathewson2025-02-271-1/+1
| | | | | | | | | | | | Co-authored-by: Ian Jackson <[email protected]>
| * | | Make DataStream, and its members, implement Sync.Nick Mathewson2025-02-263-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, use static_assertions to enforce that that they _stay_ Send+Sync. Closes #1859.
* | | | Merge branch 'keymgr-readme' into 'main'Ian Jackson2025-02-271-4/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-keymgr: Minor README updates See merge request tpo/core/arti!2806
| * | | | tor-keymgr: Update README to mention the experimental features.Gabriela Moldovan2025-02-261-1/+2
| | | | |
| * | | | tor-keymgr: Update README to mention the new C Tor keystores.Gabriela Moldovan2025-02-261-3/+6
| | |_|/ | |/| |
* | | | Merge branch 'nocolor' into 'main'Ian Jackson2025-02-271-1/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti: Disable color when stdout is not a tty. Closes #1763 and #1862 See merge request tpo/core/arti!2802
| * | | | arti: Disable color when stdout is not a tty.Nick Mathewson2025-02-241-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Closes #1763. Closes #1862.
* | | | | Merge branch 'reactor-confluxation' into 'main'gabi-2502025-02-279-610/+918
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-proto: Add ConfluxSet type in the reactor See merge request tpo/core/arti!2804
| * | | | | tor-proto: Add _mut suffix to functions returning mutable circs (fmt).Gabriela Moldovan2025-02-261-1/+5
| | | | | |
| * | | | | tor-proto: Add _mut suffix to functions returning mutable circs.Gabriela Moldovan2025-02-263-20/+20
| | | | | |
| * | | | | tor-proto: s/legs/leg in variable name.Gabriela Moldovan2025-02-261-2/+2
| | | | | |
| * | | | | tor-proto: Add TODO about removing CtrlMsg::SendSendme.Gabriela Moldovan2025-02-261-0/+2
| | | | | |
| * | | | | tor-proto: Update misleading comment about SENDMEs.Gabriela Moldovan2025-02-261-1/+2
| | | | | |
| * | | | | tor-proto: Make the reactor shut down when all the legs close.Gabriela Moldovan2025-02-262-1/+17
| | | | | |
| * | | | | tor-proto: Simplify expression using is_ok_and.Gabriela Moldovan2025-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | As suggested by opara in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2804#note_3165059
| * | | | | tor-proto: Rename Circuit variable to circ.Gabriela Moldovan2025-02-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It used to be a Reactor, but the `reactor` variable name no longer makes sense.
| * | | | | tor-proto: Avoid using Reactor in the circuit extender.Gabriela Moldovan2025-02-262-12/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps us get rid of some unnecessary error handling. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2804#note_3165058
| * | | | | tor-proto: Begin documenting the circuit removal behavior.Gabriela Moldovan2025-02-261-1/+17
| | | | | |