summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Merge branch 'release-2' into 'main'Nick Mathewson2025-10-313-15/+14
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | ci: Upgrade container versions See merge request tpo/core/arti!3418
| * | | | | maint: update 'extract-md-links' for mistune 3.xSteven Engler2025-10-311-6/+5
| | | | | |
| * | | | | ci: upgrade container versionsSteven Engler2025-10-312-9/+9
|/ / / / /
* | | | | Merge branch 'circ-sync-view-3' into 'main'Nick Mathewson2025-10-308-11/+54
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | proto: Add a new CircSyncView type See merge request tpo/core/arti!3414
| * | | | | proto: Move a TODO to CircSyncViewGabriela Moldovan2025-10-302-3/+3
| | | | | |
| * | | | | proto: Replace ClientCircSyncView in IncomingStreamRequestFilterGabriela Moldovan2025-10-306-8/+11
| | | | | |
| * | | | | proto: Add a new CircSyncView typeGabriela Moldovan2025-10-302-0/+40
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | This will replace ClientCircView in the IncomingStreamRequestFilter APIs, which will enable us to use IncomingStreamRequestFilter for incoming streams on the exit side too.
* | | | | Merge branch 'dirmirror-op' into 'main'Clara Engler2025-10-3010-272/+1312
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-dirserver: Start working on mirror operation See merge request tpo/core/arti!3301
| * | | | | tor-dirserver: Add SaturatingSystemTimeClara Engler2025-10-304-156/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes various things in the dirmirror operation, namely the use of a SystemTime wrapper type that provides saturation on both ends.
| * | | | | tor-dirserver: Ensure positive timestampsClara Engler2025-10-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds `CHECK` constraints to the database schema in order to ensure all timestamps are positive.
| * | | | | tor-dircommon: Add TODO to DirTolerance::DefaultClara Engler2025-10-301-0/+2
| | | | | |
| * | | | | tor-dirserver: Small database::open() improvementsClara Engler2025-10-301-115/+58
| | | | | |
| * | | | | Revert "maint/downgrade_dependencies: No longer mess with [email protected]"Clara Engler2025-10-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d37824953f9c530c57c8c5936c12b16a829778c3. Unfortunately, this merge request introduces futures-lite again into the Cargo.lock generated by maint/downgrade_dependencies. Without this, it once again caused the same failures in async-fs and async-global-executor, that were previously fixed before the above commit landed into main. This bug is apparently not reproducible on current git main, because the downgraded Cargo.lock lacks respective dependencies that get transitively introduced by this (arti!3301) merge request.
| * | | | | tor-dirserver: Make database full syncClara Engler2025-10-307-346/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes the entire database operations synchronous, thereby replacing deadpool with r2d2. The full motivation is outlined in a rustdoc comment at the top of the `database` module, but it can be summarized to the fact that SQLite is by design inherently synchronous due to directly interfacing with the file system.
| * | | | | tor-dirserver: Outline the dirmirror operationClara Engler2025-10-302-147/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit creates a function named `mirror::operation::serve`, that will serve as the primary entry point for the dirmirror operation. While the function itself already contains some logic, such as querying the timeout to wait for the next consensus, it is largely a rustdoc design document that adds lots of comment to the `mirror::operation` module.
| * | | | | tor-dirserver: Implement download timeoutClara Engler2025-10-305-0/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit starts work in the `mirror::operation` module by implementing the functions for calculating the `Duration` to wait from a given `SystemTime` until the point in time when the dirmirror should download new documents from the authorities again. Also, this commit introduces new error types and internal helper functions in order to fulfill this purpose better.
| * | | | | tor-dirserver: Implement read_tx and rw_txClara Engler2025-10-302-55/+352
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit does a large overhaul in the overall way on how we interact with SQLite. Although SQLite is a fairly straightforward tool, it has one large caveat, namely the handling of the infamous `SQLITE_BUSY` error. In WAL mode, the journaling mode we are using, the respective error may occur if there is an existing write transaction while another thread is trying to either upgrade an existing read transaction or create an exclusive transaction at the same time. In this case, SQLite will fail at the statement that either requires the write operation or at the creation of the transaction respectively. In order to tackle this problem, SQLite provides the `busy_timeout` pragma, which allows specifying a timeout in milliseconds during which SQLite will retry to obtain a write transaction or fail immediately. This only works in the latter case, that is, creating a write transaction from the beginning. To solve this issue, we introduce two new functions: 1. `database::read_tx` 2. `database::rw_tx` Both functions accept a database pool alongside a closure accepting a `Transaction` and returning an arbitrary return value. The first function creates a deferred transaction that gets rolled-back in the end, making it suitable for read-only connections. The latter function creates an exclusive transaction that gets committed in the end, making it suitable for read-write connections. This also honors the `busy_timeout`, i.e. the function retries for up to 1s to acquire a write transaction before failing ultimately.
| * | | | | tor-dirmirror: Introduce the `sql!` macroClara Engler2025-10-303-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces the no-op sql macro used to mark string literals as SQL statements. It is purely semantical and serves the purpose to quickly identify string literals as SQL statements.
| * | | | | tor-dirserver: Outline the `mirror` APIClara Engler2025-10-303-1/+151
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces the `mirror` module which is fairly boilerplate at the moment. However, everything of it is very well documented using rustdoc, thereby more or less creating a design document.
* | | | | Merge branch 'release-3' into 'main'Nick Mathewson2025-10-305-33/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | maint: Remove all semver.md files after 1.7.0 release See merge request tpo/core/arti!3415
| * | | | | maint: remove all semver.md filesSteven Engler2025-10-305-33/+0
|/ / / / /
* | | | | Merge branch 'release-3' into 'main'arti-v1.7.0Nick Mathewson2025-10-291-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti-client: Update `ARTI_CLIENT_RELEASE_DATE` See merge request tpo/core/arti!3413
| * | | | | arti-client: update `ARTI_CLIENT_RELEASE_DATE`Steven Engler2025-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```bash ./maint/update-release-date ```
* | | | | | Merge branch 'release-2' into 'main'Nick Mathewson2025-10-2974-832/+788
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | maint: Bump minor versions of all published crates See merge request tpo/core/arti!3412
| * | | | | equix-bench: ran `cargo update`Steven Engler2025-10-291-87/+65
| | | | | |
| * | | | | hashx-bench: ran `cargo update`Steven Engler2025-10-291-86/+64
| | | | | |
| * | | | | maint: bump minor versions of all published cratesSteven Engler2025-10-2972-659/+659
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```bash readarray -t publish < <(cargo metadata --format-version 1 | jq -r '.packages[] | select((.id | startswith("path+file:///")) and (.rust_version != null) and (.publish == null or .publish == true or .publish != [])) | .name') for package in "${publish[@]}"; do echo "$package:"; cargo set-version --bump minor -p "$package"; done ```
* | | | | Merge branch 'p101-2025-q3' into 'main'Ian Jackson2025-10-291-0/+30
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Update P101 numbers for September 2025. See merge request tpo/core/arti!3409
| * | | | | Update P101 numbers for September 2025.Alexander Hansen Færøy2025-10-291-0/+30
| |/ / / /
* | | | | Merge branch 'changelog-1.7.0' into 'main'opara2025-10-291-1/+250
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Changelog for arti 1.7.0 See merge request tpo/core/arti!3411
| * | | | | changelog syntax tweaks from oparaNick Mathewson2025-10-291-6/+7
| | | | | |
| * | | | | Changelog suggestions from gabiNick Mathewson2025-10-291-2/+2
| | | | | |
| * | | | | changelog: add links.Nick Mathewson2025-10-291-2/+111
| | | | | |
| * | | | | Changelog draft for 1.7.0Nick Mathewson2025-10-291-0/+139
| |/ / / /
* | | | | Merge branch 'revert_contributor_fork' into 'main'opara2025-10-291-20/+0
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Revert contributor-fork update notice. See merge request tpo/core/arti!3408
| * | | | Revert contributor-fork update notice.Micah Anderson2025-10-291-20/+0
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the contributor fork model is being wound down, because the underlying issue with personal project forks has been resolved, this note no longer is correct. See https://gitlab.torproject.org/tpo/team/-/issues/405
* | | | Merge branch 'remove_socks' into 'main'Nick Mathewson2025-10-286-13/+38
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti: Revise strings that implied that we were a SOCKS-only proxy. Closes #2225 See merge request tpo/core/arti!3398
| * | | | arti: explain APP_STREAM_BUF_LEN is what it is.Nick Mathewson2025-10-281-0/+6
| | | | |
| * | | | proto: Adjust a comment about a buffer size.Nick Mathewson2025-10-281-3/+3
| | | | |
| * | | | arti: Revise strings that implied that we were a SOCKS-only proxy.Nick Mathewson2025-10-285-7/+19
| | | | | | | | | | | | | | | | | | | | Closes #2225
| * | | | arti: Stop using SOCKS_BUF_LEN for non-SOCKS proxies.Nick Mathewson2025-10-281-3/+10
| | | | |
* | | | | Merge branch 'futures-copy' into 'main'Nick Mathewson2025-10-2810-0/+1421
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | New futures-copy crate to replace copy_interactive. See merge request tpo/core/arti!3393
| * | | | | futures-copy: Add a test for an interactive protocolNick Mathewson2025-10-283-9/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that flushes happen correctly by relaying traffic over a pair of buffered connections between two parties that don't say anything until they receive a message.
| * | | | | New futures-copy crate to replace copy_interactive.Nick Mathewson2025-10-2810-0/+1312
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate's API is loosely based on some of tokio's functions, and its implementation strategy is loosely based on futures::io::copy. It's designed to be generally useful outside of the arti ecosystem. Should help with the original challenge of #786.
* | | | | Merge branch 'arti-ureq-msrv' into 'main'opara2025-10-282-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti-ureq: Add MSRV in Cargo.toml See merge request tpo/core/arti!3404
| * | | | | arti-ureq: Add MSRV in Cargo.tomlnield2025-10-292-0/+2
|/ / / / /
* | | | | Merge branch 'release' into 'main'Nick Mathewson2025-10-281-0/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | doc: Add note about increasing minor version for MSRV changes See merge request tpo/core/arti!3399
| * | | | | doc: add note about increasing minor version for MSRV changesSteven Engler2025-10-281-0/+4
| |/ / / /
* | | | | Merge branch 'release-2' into 'main'Nick Mathewson2025-10-283-0/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | maint: Fixup features for release See merge request tpo/core/arti!3400
| * | | | | maint: fixup featuresSteven Engler2025-10-283-0/+3
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | ```bash cargo run -p fixup-features -- --exclude examples/ --exclude maint/ Cargo.toml ```