summaryrefslogtreecommitdiff
path: root/crates/arti
Commit message (Collapse)AuthorAgeFilesLines
* Bump arti crate to 1.3.1Gabriela Moldovan2024-12-021-1/+1
| | | | | | | | Done using: ``` cargo set-version --bump patch -p arti ```
* Bump all the unstable tor- and arti- crates to 0.25.0.Gabriela Moldovan2024-12-021-16/+16
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.25.0 done ```
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-12-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list_crates | rg -v '^(tor|arti)' oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error ``` We split them in the following categories: * crates with no changes (no version bumps): ``` maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-' oneshot-fused-workaround: No change. test-temp-dir: No change. caret: No change. ``` * crates that only have non-functional changes (bump the patch version): - slotmap-careful - fslock-guard - hashx - equix - fs-mistrust - safelog - retry-error * crates where APIs were broken (bump minor): None The bumps from this commit were created using this script: ``` PATCH=" slotmap-careful fslock-guard hashx equix fs-mistrust safelog retry-error " for crate in $PATCH; do cargo set-version --bump patch -p $crate; done ```
* Run fixup-features in preparation for release (fmt).Gabriela Moldovan2024-12-021-1/+2
|
* Run fixup-features in preparation for release.Gabriela Moldovan2024-12-021-1/+1
|
* PoW: Consolidate feature flags into a single flag.Wesley Aptekar-Cassels2024-11-251-2/+2
| | | | | | | | | | | | | | | | | This replaces the hs-pow, hs-pow-full, hs-pow-v1, pow-v1, and pow-full features with a single hs-pow-full feature. It's possible that in the future we will want to split different schemes into different features, but we can do that when it comes up. For now, having this as a single flag makes it clearer what's going on, since the previous thing was not actually expressive enough to capture some things we care about (like "at least one pow scheme is enabled" that works in a future-compatible way). This change is not semver breaking since it's a experimental feature. Related: #1751
* arti: Add onion_service.enable_pow option.Wesley Aptekar-Cassels2024-11-251-0/+4
| | | | This currently is not implemented.
* arti-client: add path resolver to `TorClient` and `TorClientConfig`Steven Engler2024-11-182-2/+2
| | | | | | Rather than using `arti_client::config::path_resolver()`, third-party code can get the path resolver using `TorClientConfig`s `AsRef<CfgPathResolver>` impl instead.
* update `CfgPath::path` to use a `CfgPathResolver`Steven Engler2024-11-183-6/+16
| | | | | | | | | | | | | | | | This is a big change across multiple crates since there isn't a good way to break it up. This changes the signature of `CfgPath::path` to: ``` pub fn path(&self, path_resolver: &CfgPathResolver) -> Result<PathBuf, CfgPathError> { ``` Making this change means that our global `CfgPathResolver` needs to be stored in the 'arti-client' library instead of `tor-config-path`, and must be passed through to anything that calls `path` to expand the variables.
* cargo: Update `thiserror` to `2`Clara Engler2024-11-121-1/+1
|
* tor-config: removed re-export of `CfgPath`Steven Engler2024-11-043-5/+7
| | | | | Also updated other packages to get `CfgPath` directly from `tor-config-path' instead of 'tor-config'.
* Merge branch 'versions' into 'main'Ian Jackson2024-10-301-17/+17
|\ | | | | | | | | Version bumps for release of 1.3.0 See merge request tpo/core/arti!2599
| * Bump arti crate version to 1.3.0Ian Jackson2024-10-301-1/+1
| | | | | | | | | | | | | | | | I think we should bump the minor version because of the new features, particularly supporting .onion domains as a client by default, and the OOM DoS resistance features (#351). cargo set-version --offline --bump=minor -p arti
| * Bump minor versions of crates with new APIs/implsIan Jackson2024-10-301-1/+1
| | | | | | | | | | cargo set-version --bump=patch -p slotmap-careful cargo set-version --bump=patch -p safelog
| * Bump unstable tor-* and arti-* crates to 0.24.0Ian Jackson2024-10-301-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cargo set-version -p tor-async-utils 0.24.0 cargo set-version -p tor-basic-utils 0.24.0 cargo set-version -p tor-bytes 0.24.0 cargo set-version -p tor-cell 0.24.0 cargo set-version -p tor-cert 0.24.0 cargo set-version -p tor-chanmgr 0.24.0 cargo set-version -p tor-checkable 0.24.0 cargo set-version -p tor-circmgr 0.24.0 cargo set-version -p tor-config 0.24.0 cargo set-version -p tor-config-path 0.24.0 cargo set-version -p tor-consdiff 0.24.0 cargo set-version -p tor-dirclient 0.24.0 cargo set-version -p tor-dirmgr 0.24.0 cargo set-version -p tor-error 0.24.0 cargo set-version -p tor-general-addr 0.24.0 cargo set-version -p tor-geoip 0.24.0 cargo set-version -p tor-guardmgr 0.24.0 cargo set-version -p tor-hsclient 0.24.0 cargo set-version -p tor-hscrypto 0.24.0 cargo set-version -p tor-hsrproxy 0.24.0 cargo set-version -p tor-hsservice 0.24.0 cargo set-version -p tor-key-forge 0.24.0 cargo set-version -p tor-keymgr 0.24.0 cargo set-version -p tor-linkspec 0.24.0 cargo set-version -p tor-llcrypto 0.24.0 cargo set-version -p tor-log-ratelim 0.24.0 cargo set-version -p tor-memquota 0.24.0 cargo set-version -p tor-netdir 0.24.0 cargo set-version -p tor-netdoc 0.24.0 cargo set-version -p tor-persist 0.24.0 cargo set-version -p tor-proto 0.24.0 cargo set-version -p tor-protover 0.24.0 cargo set-version -p tor-ptmgr 0.24.0 cargo set-version -p tor-relay-crypto 0.24.0 cargo set-version -p tor-relay-selection 0.24.0 cargo set-version -p tor-rpcbase 0.24.0 cargo set-version -p tor-rtcompat 0.24.0 cargo set-version -p tor-rtmock 0.24.0 cargo set-version -p tor-socksproto 0.24.0 cargo set-version -p tor-units 0.24.0 cargo set-version -p arti-client 0.24.0 cargo set-version -p arti-relay 0.24.0 cargo set-version -p arti-rpc-client-core 0.24.0 cargo set-version -p arti-rpcserver 0.24.0
* | cargo: Run fixup-features (formatting)Ian Jackson2024-10-301-1/+2
| | | | | | | | Manual fixup. I filed #1719 about the fact that I had to do this.
* | cargo: Run fixup-featuresIan Jackson2024-10-301-2/+2
| | | | | | | | | | | | | | This is output from nailing-cargo -Eu run -p fixup-features Cargo.toml There are some formatting glitches which I'll fix in a moment.
* | cargo: Make default-runtime feature part of fullIan Jackson2024-10-301-0/+1
|/ | | | It's weird that full doesn't imply default. But here we are.
* Update notify to 7.xIan Jackson2024-10-301-1/+1
| | | | | Nothing in the changelog seems concerning. There's an MSRV bump, but still lower than our own MSRV.
* Make memquota feature part of full in artiIan Jackson2024-10-222-2/+3
| | | | Mark it no longer experimental, but part of full. And document it.
* tor-memquota: Declare memquota feature stable, and defaultIan Jackson2024-10-221-1/+0
| | | | | | | | And document the Cargo features. This compiles in the memquota support for people who depend directly on tor-memquota. But all our in-tree dependencies turn off default features, so this doesn't have any effect for in-tree crates.
* arti cfg tests: Clarify here and thereIan Jackson2024-10-221-1/+2
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2561#note_3097443
* arti cfg tests: Fix typoIan Jackson2024-10-221-1/+1
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2561#note_3097442
* minimal features test: Introduce new --cfg arti_features_preciseIan Jackson2024-10-222-1/+21
| | | | | Work around awkward cargo behaviour and allow us to more reliably test disabled features, even if they're enabled by default at lower levels.
* test-all-crates: conditional options, to test more cratesIan Jackson2024-10-221-1/+1
| | | | | | | | | | | | | This new feature lets us provide the "enable these options which are needed to make the tests pass" featrure, which is different for each of the afflicted crates. Then we can test these crates tor-hsservice arti arti-client which minimal features. This will be important in a moment, as we're going to want to be relying on actually minimal features tests in arti cfg.rs.
* rpcserver: Wrap InvokeError as internal errorNick Mathewson2024-10-171-3/+10
| | | | | | | | | I'm about to remove HasKind from InvokeError, which would otherwise break this code. These errors are all in fact internal errors, since in this context they can only stem from incorrectly formed calls to `invoke_special_method`.
* Merge branch 'dead' into 'main'Alexander Hansen Færøy2024-10-173-2/+7
|\ | | | | | | | | Disable a lot of dead code warnings and add a default-runtime feature in arti See merge request tpo/core/arti!2551
| * arti: Introduce a new default-runtime Cargo featureIan Jackson2024-10-172-2/+5
| | | | | | | | | | | | Now one can do a minimal build with cargo build -p arti --no-default-features --features=default-runtime rather than needing to specify tokio,native-tls.
| * Disable a lot of dead code warningsIan Jackson2024-10-171-0/+2
| | | | | | | | | | | | | | Now cargo check --workspace --no-default-features --all-targets cargo build -p arti --no-default-features --features=memquota,tokio,native-tls are both clean.
* | Merge branch 'fs-watcher-poll' into 'main'gabi-2502024-10-173-0/+10
|\ \ | | | | | | | | | | | | | | | | | | tor-config: Use a polling watcher on non-windows platforms that don't have inotify. Closes #1644 See merge request tpo/core/arti!2547
| * | arti: Add a warning about watch_configuration's performance issues.Gabriela Moldovan2024-10-171-0/+7
| | | | | | | | | | | | Part of #1644
| * | tor-config: Document the limitations of the FileWatcher.Gabriela Moldovan2024-10-161-0/+2
| | |
| * | arti: Enable tor-config/testing when testing.Gabriela Moldovan2024-10-161-0/+1
| |/ | | | | | | | | This enables us to make use of the unfortunately-necessary test-specific code path.
* | Merge branch 'fix-arti-relay-deps' into 'main'opara2024-10-164-50/+1
|\ \ | |/ |/| | | | | arti: remove 'relay' subcommand and 'arti-relay' dependency See merge request tpo/core/arti!2542
| * arti: remove 'relay' subcommand and 'arti-relay' depSteven Engler2024-10-154-50/+1
| |
* | Apply `default-features = false` to all tor-memquota depsIan Jackson2024-10-161-1/+1
|/ | | | | | | This will allow us to make `tor-memquota/memquota` enabled by default, without forcing it to be compiled in everywhere. I don't change that in this MR, though.
* arti: Bump secmem-proc to fix the build errors on FreeBSD.Gabriela Moldovan2024-10-151-1/+1
| | | | | | | | The FreeBSD fixes were released in [`secmem-proc 0.3.4`]. Closes #1686 [`secmem-proc 0.3.4`]: https://github.com/niluxv/secmem-proc/pull/11
* arti: Make hs-pow a experimental feature.Wesley Aptekar-Cassels2024-10-091-2/+1
|
* Enable onion client proof-of-work in the standalone "arti" toolWesley Aptekar-Cassels2024-10-091-0/+3
| | | | | | | | | The proof-of-work libraries are off by default in part because they depend on libraries that are currently GPL licensed. This precludes the use of this option in closed-source binaries, but here in the open-source arti tool (or consumers that bundle the binary) it's fine. Co-authored-by: Micah Elizabeth Scott <[email protected]>
* Merge branch 'secondary-keystores' into 'main'gabi-2502024-10-083-1/+58
|\ | | | | | | | | | | | | tor-keymgr: Support reading C Tor keys. Closes #858 See merge request tpo/core/arti!2481
| * tor-keymgr: Move C Tor keystore configs under ctor key.Gabriela Moldovan2024-10-082-4/+5
| | | | | | | | | | | | | | This way we have a more intuitive layout, where all C Tor keystore configuration is under the `ctor` key. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2481#note_3090486
| * arti: Add a ctor-keystore feature.Gabriela Moldovan2024-10-081-0/+1
| | | | | | | | This enables us to build `arti` with C Tor keystore support.
| * tor-keymgr: Add configuration for C Tor client keystores.Gabriela Moldovan2024-10-082-4/+25
| | | | | | | | | | This is intentionally partially mis-indented to make this more reviewable (in case the reviewer isn't using `ignore-all-space`).
| * arti-client: Use the configured C Tor keystores, if any.Gabriela Moldovan2024-10-081-8/+1
| |
| * arti: Remove extraneous whitespace from example config.Gabriela Moldovan2024-10-081-1/+1
| |
| * tor-keymgr: Add configuration for C Tor service keystores.Gabriela Moldovan2024-10-082-0/+41
| |
* | Merge branch 'update-feature-flag-docs' into 'main'Ian Jackson2024-10-081-3/+3
|\ \ | |/ |/| | | | | docs: Add vanguard feature flag to README. See merge request tpo/core/arti!2507
| * arti: Remove outdated information from README.Wesley Aptekar-Cassels2024-10-081-2/+2
| | | | | | | | | | We now support pluggable transports, so it's not true that there's no anti-censorship support.
| * docs: Add vanguard feature flag to README.Wesley Aptekar-Cassels2024-10-071-3/+3
| |
* | Default allow_onion_addrs to true.Wesley Aptekar-Cassels2024-10-071-10/+1
|/ | | | | | | This was disabled due to lack of vanguard support. Now that we support vanguards, we should enable this by default. Fixes: #1402