summaryrefslogtreecommitdiff
path: root/crates/arti
Commit message (Collapse)AuthorAgeFilesLines
...
* | arti: Pass a buffered stream to handle_socks_connNick Mathewson2025-10-282-3/+15
| | | | | | | | This will let us implement bilingual HTTP proxies.
* | arti: Renaming around socks/generic proxiesNick Mathewson2025-10-283-40/+43
| | | | | | | | This is _all_ renaming and comment adjustments.
* | arti: Split socks-specific parts out of handle_socks_connNick Mathewson2025-10-282-448/+475
| | | | | | | | | | | | | | | | | | We want to abstract every part of this code that knows that it's speaking SOCKS, so that we can in turn add a new proxy type. Note that several methods and types here have names that are no longer appropriate for their functionality. I'll revise those in a later commit.
* | arti::proxy: Small reformats.Nick Mathewson2025-10-281-5/+7
| | | | | | | | | | (I'm not sure why this wasn't already done, but let's do it as a separate MR.)
* | Rename "arti::socks" to "arti::proxy".Nick Mathewson2025-10-283-3/+3
| | | | | | | | I'm about to add another proxy type.
* | Merge branch 'restricted-discovery-stable' into 'main'gabi-2502025-10-222-3/+6
|\ \ | | | | | | | | | | | | arti: Mark restricted-discovery as non-experimental See merge request tpo/core/arti!3384
| * | arti: Update README to say restricted discovery is non-experimentalGabriela Moldovan2025-10-211-1/+4
| | |
| * | arti: Move restricted-discovery closer to onion-service-serviceGabriela Moldovan2025-10-211-1/+1
| | |
| * | arti: Mark restricted-discovery as non-experimentalGabriela Moldovan2025-10-211-2/+2
| |/ | | | | | | As per the team decision from the 14 Oct Arti sync.
* / Bump MSRV from 1.85.1 to 1.86Clara Engler2025-10-211-1/+1
|/
* arti: Ignore reload_cfg::test::watch_multiple.Wesley Aptekar-Cassels2025-10-161-0/+2
| | | | This is flaky, ignoring until #1607 is fixed.
* 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
* | arti: keys: Simplify `run_check_integrity`hjrgrn2025-10-081-9/+7
| |
* | arti: keys: Improve readability of `print_check_integrity_incipit`hjrgrn2025-10-081-11/+7
| |
* | arti: keys: Fix typo in `run_check_integrity`hjrgrn2025-10-081-1/+1
| |
* | arti: keys: Rename `invalid_entry` to `expired_entry` in `run_check_integrity`hjrgrn2025-10-081-3/+3
| |
* | arti: keys: Add warning for unexpected invalid keystore entryhjrgrn2025-10-081-14/+16
| |
* | arti: keys: Improve readability of `run_check_integrity`hjrgrn2025-10-081-5/+4
| |
* | arti: keys: Add comment explaining why `services` cannot be droppedhjrgrn2025-10-081-0/+2
| |
* | arti: keys: Add comment explaining difference between `affected_keystores` ↵hjrgrn2025-10-081-0/+5
| | | | | | | | and `keystores`
* | arti: keys: Refactor `get_expired_keys`hjrgrn2025-10-081-9/+6
| | | | | | | | The function now returns `Result<Vec<InvalidKeystoreEntry<'a>>>`
* | arti: keys: Add integrity check for empty expired_entrieshjrgrn2025-10-081-0/+14
| | | | | | | | | | | | | | Add a check in `run_check_integrity` to verify that the `expired_entries` collection is empty after processing all registered keystores. This should always be true, as all expired entries are expected to be removed during iteration. If not, it indicates a bug.
* | arti: keys: Introduce InvalidKeystoreEntry and InvalidKeystoreEntries structshjrgrn2025-10-081-33/+74
| | | | | | | | | | Replace raw tuples with named structs to reduce type complexity and improve code clarity and maintainability.
* | arti: keys: Remove `filter` in favor of `retain` in `run_check_integrity`hjrgrn2025-10-081-11/+9
| |
* | arti: keys: Add comment explaining expired entry handling in ↵hjrgrn2025-10-081-0/+2
| | | | | | | | `run_check_integrity`
* | arti: keys: Improve `run_check_integrity` functionhjrgrn2025-10-081-11/+23
| | | | | | | | | | | | - Fix bug where expired keys from one keystore were incorrectly associated with all keystores - Remove unnecessary clone
* | arti: keys: Adapt `maybe_remove_invalid_entries` to updated ↵hjrgrn2025-10-081-14/+19
| | | | | | | | `run_check_integrity`
* | arti: keys: Refactor function `display_invalid_keystore_entries`hjrgrn2025-10-081-32/+40
| | | | | | | | | | | | - Add `display_invalid_keystore_entries` helper function `print_check_integrity_incipit` - Add `display_invalid_keystore_entries` comment
* | arti: keys: Implement `display_invalid_keystore_entries`hjrgrn2025-10-081-2/+39
| | | | | | | | | | | | Add initial functional implementation of `display_invalid_keystore_entries`, which processes a list of invalid keystore entries grouped by `KeystoreId` and displays them with associated error messages.
* | arti: keys: Refactor `display_invalid_keystore_entries`hjrgrn2025-10-081-35/+38
| | | | | | | | | | | | | | | | | | | | Create the skeletal version of the new `display_invalid_keystore_entries` function and adapt `run_check_integrity` to use it. The function now takes a slice of pairs, each containing a `KeystoreId` and a vector of invalid keystore entries along with their error messages, and processes all entries internally by iterating over each keystore, instead of being called once per keystore.
* | arti: keys: Refactor run_check_integrity to use keystores with IDshjrgrn2025-10-081-28/+37
|/ | | | | | | | | Previously, the function worked with a flat `Vec<KeystoreEntryResult<KeystoreEntry>>`. Now, it uses a structured `Vec<(KeystoreId, Vec<KeystoreEntryResult<KeystoreEntry>>)>`, grouping entries by keystore. This makes it easier to track which keystore each entry belongs to, and prepares the code for upcoming improvements.
* opentelemetry: Upgrade crates.Wesley Aptekar-Cassels2025-10-061-6/+6
|
* release: Bump versions.Wesley Aptekar-Cassels2025-10-021-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we've updated our MSRV, we must bump the minor version for every package. This was done as follows: cargo set-version -p arti 1.6.0 cargo set-version -p oneshot-fused-workaround 0.4.0 cargo set-version -p slotmap-careful 0.4.0 cargo set-version -p test-temp-dir 0.5.0 cargo set-version -p fslock-guard 0.4.0 cargo set-version -p hashx 0.5.0 cargo set-version -p equix 0.4.0 cargo set-version -p caret 0.7.0 cargo set-version -p fs-mistrust 0.12.0 cargo set-version -p safelog 0.6.0 cargo set-version -p retry-error 0.8.0 xargs -I P <<END cargo set-version -p P 0.35.0 tor-basic-utils tor-error tor-general-addr tor-geoip tor-rtcompat tor-rtmock tor-async-utils tor-config tor-config-path tor-rpc-connect tor-log-ratelim tor-rpcbase tor-memquota tor-units tor-llcrypto tor-bytes tor-protover tor-checkable tor-cert tor-key-forge tor-hscrypto tor-socksproto tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-relay-selection tor-persist tor-keymgr tor-chanmgr tor-ptmgr tor-dircommon tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-dirserver tor-hsclient tor-hsservice tor-hsrproxy tor-relay-crypto arti-client arti-relay arti-rpcserver arti-ureq arti-rpc-client-core END
* release: Run fixup-features.Wesley Aptekar-Cassels2025-10-011-2/+1
|
* Remove "doc_auto_cfg" incantation from all crates.Nick Mathewson2025-09-291-1/+1
| | | | This feature has been removed from nightly, in favor of doc_cfg.
* arti: Add skip_all to instrument call.Wesley Aptekar-Cassels2025-09-241-1/+1
|
* arti: Make panic into error on invalid OTEL endpoint.Wesley Aptekar-Cassels2025-09-241-3/+5
|
* arti: Add note about OpenTelemetry data model.Wesley Aptekar-Cassels2025-09-241-0/+3
|
* arti: Add note about lack of filtering in OpenTelemetry layer.Wesley Aptekar-Cassels2025-09-241-0/+3
|
* arti: Add skip_all to instrument macro.Wesley Aptekar-Cassels2025-09-241-1/+1
| | | | | | It's unlikely these arguments will be particularly useful, and omitting skip_all can have security implications, so it's better to avoid it to reflect good practice.
* arti: Add more detail about OpenTelemetry in example config.Wesley Aptekar-Cassels2025-09-241-2/+9
|
* opentelemetry: Use humantime_serde for parsing Durations.Wesley Aptekar-Cassels2025-09-241-0/+3
|
* opentelemetry: Panic if configured for non-localhost HTTP endpoint.Wesley Aptekar-Cassels2025-09-241-0/+8
| | | | | | | | | We may want to add a way to opt out of this check, if someone asks for it. Checking for "localhost" and "127.0.0.1" is not a very robust check for a loopback interface, and it's possible that there could be other situations we can't detect where HTTP is safe (private network, WireGuard tunnel, etc). But I don't expect those to be likely to come up in practice, so this should be fine for now.
* arti: Add more info about OpenTelemetry to example config.Wesley Aptekar-Cassels2025-09-241-2/+6
|
* opentelemetry: Add note about lack of upstream OTLP exporter.Wesley Aptekar-Cassels2025-09-241-0/+3
|
* opentelemetry: Panic on mutex poison.Wesley Aptekar-Cassels2025-09-241-8/+1
|
* opentelemetry: Add some instrument macros.Wesley Aptekar-Cassels2025-09-243-3/+11
| | | | | I've added these in places that are useful for the debugging that I've been doing.
* arti: Add experimental support for OpenTelemetry.Wesley Aptekar-Cassels2025-09-245-0/+281
|