aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-client/src
Commit message (Collapse)AuthorAgeFilesLines
* now this is really a hacketa2023-09-191-1/+1
|
* tor-ptmgr: add very basic support for unmanaged PTseta2023-09-191-0/+11
| | | | | | | | | | - `tor-ptmgr` has a new `add_unmanaged` function to insert an unmanaged PT into the `cmethods` table. - There are many ways to misuse this API and have it blow up in your face (for example, by overwriting an existing PT's cmethod, etc.) - It's unclear whether these are worth caring about. - The `TorClient` gains a new experimental `ptmgr()` function, and the `PtClientMethod` can now be constructed by user code.
* arti-client: add exit selection with GeoIP country codeseta2023-09-182-1/+44
| | | | | | | | | | | | | | | | | | | | This threads the country codes work through the rest of the codebase: - `tor-dirmgr` will now enable GeoIP with the embedded database when the `geoip` future is enabled - This can be extended later using the `DirMgrConfig` to allow specifying a custom database; this is not done here, though - `tor-circmgr`'s `SupportedCircUsage` and `TargetCircUsage` fields gain new `country_code` members to allow filtering circuits by country - These are `()` in builds where the `geoip` feature is not enabled -- doing it this way means we don't have to copy and paste huge swathes of code, since we can't use `#[cfg]` in patterns - `ExitPathBuilder` gains (hacked-in) support for choosing a relay with the correct country code - Due to the lack of conjuction, we just copy and paste a small bit, pending further refactoring - `StreamPrefs` now lets you specify a country code, letting embedders make use of the feature
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-234-0/+4
|
* arti-client: Fix a couple more typos.Nick Mathewson2023-08-221-1/+1
| | | | I spotted these while I was working on something else.
* Use "typos-cli" to fix a bunch of typos.Nick Mathewson2023-08-221-1/+1
|
* Resolve a pair of warnings about redundant closures.Nick Mathewson2023-08-221-2/+2
|
* Resolve warnings about ambiguous/redundant doc linksNick Mathewson2023-08-221-2/+2
| | | | | Nightly rustdoc now warns if you have a link that isn't necessary, and if you have a link that might refer to two different things.
* arti-client: fix conditional unused_import and dead_code warningsNick Mathewson2023-08-161-3/+5
|
* arti-client: Use Path::join instead of format!.Gabriela Moldovan2023-08-141-1/+1
|
* arti-client: Make from_directories() derive the keystore_dir from state_dir.Gabriela Moldovan2023-08-111-1/+39
| | | | Closes #988
* bridge config: Fix an error message slightlyIan Jackson2023-08-081-1/+1
|
* arti-client config test: partially un-degrade formattingIan Jackson2023-08-081-10/+10
|
* arti-client config test: degrade formattingIan Jackson2023-08-081-12/+18
| | | | As demanded by rustfmt
* arti-client config: Add an extra test case for bridgesIan Jackson2023-08-081-0/+45
| | | | This complements the new `check_bridge_pt` test.
* bridge config: reject bridges=true when there are no bridgesIan Jackson2023-08-081-2/+0
| | | | This is a bugfix. Perhaps it is a security fix?
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* Fix and expand the description of OnionAddressDisabledNick Mathewson2023-08-031-2/+9
| | | | | Previously there was a missing "not", and it didn't say what to do about the error.
* Add error if [[bridges.transports]] isn't written in config fileSaksham Mittal2023-08-011-10/+201
|
* pass reconfigure_lock guard into TorClient::reconfigure_innersw1tch2023-07-251-3/+8
|
* cargo fmtsw1tch2023-07-241-1/+3
|
* fixes deadlock in TorClient::reconfiguresw1tch2023-07-241-1/+34
|
* Revert "keymgr: Require callers to be explicit about which keystore to get ↵Gabriela Moldovan2023-07-211-6/+4
| | | | | | | | | keys from." This reverts commit 38a6c74c7894dc96b16c9039cacc2a4023977b05. This also updates some tests to make them compile with the reverted version of the code.
* keymgr: Require callers to be explicit about which keystore to get keys from.Gabriela Moldovan2023-07-201-4/+6
|
* keymgr: Explicitly specify the default keystore for `KeyMgr`.Gabriela Moldovan2023-07-201-4/+5
|
* keymgr-config: Make fields private, add function for checking if keystore is ↵Gabriela Moldovan2023-07-201-5/+1
| | | | | | | | | enabled. Hiding the underlying value of `enabled` enables us to give it a different `auto` value depending on whether the `keymgr` feature is enabled or not (it defaults to `true` if `keymgr` is enabled, and `false` otherwise).
* arti-client: Use a default keystore config if `experimental-api` is disabled.Gabriela Moldovan2023-07-202-21/+18
| | | | | | | The `experimental-api` was only meant to apply to the use of the unstable `ArtiNativeKeystoreConfig` in the Arti config. `experimental-api` was _not_ supposed to be used for enabling/disabling the keystore (that's what the `enabled` flag is for).
* arti-client: Move variable closer to where it's used (fmt).Gabriela Moldovan2023-07-201-24/+21
|
* arti-client: Move variable closer to where it's used.Gabriela Moldovan2023-07-201-2/+1
|
* arti-client: Make the `KeyMgr` optional.Gabriela Moldovan2023-07-201-34/+43
| | | | | If the Arti keystore is disabled, we have nothing to initialize the `KeyMgr` with, so we might as well make it optional.
* arti-client: Add TODO about expanding the keystore_dir in build().Gabriela Moldovan2023-07-171-0/+2
|
* arti-client: Log whether a keystore is in use.Gabriela Moldovan2023-07-131-1/+4
|
* arti-client: Use the config struct from tor-keymgr.Gabriela Moldovan2023-07-132-92/+23
|
* arti-client: Log whether the client auth keys were retrieved.Gabriela Moldovan2023-07-121-0/+2
|
* arti-client: Remove outdated TODO.Gabriela Moldovan2023-07-111-3/+0
| | | | These errors aren't ignored anymore.
* Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-105-0/+5
|
* Remove some needless into_iter() calls.Nick Mathewson2023-07-101-2/+1
| | | | | | Clippy nightly now detects when you're calling into_iter() and passing the result into something that accepts an `impl IntoIterator`.
* Throughout: Use *_report!() macros for reporting Errors.Nick Mathewson2023-07-072-6/+5
| | | | | | | | | | | | | | | I identified the cases to replace by searching for the string `.report()`. There are a few that I didn't change: * A couple of cases that used anyhow::Error, * One case that reported two Errors. * Two cases in `tor_hsclient::err` that just did `error!("Bug: {}")`. I have also not audited the cases in `tor-hsclient` where we're using `tor_error::Report` manually. Nonetheless, closes #949.
* Run add_warning to remove `missing_panics_doc` deny.Nick Mathewson2023-07-061-1/+0
| | | | Closes #950.
* Additional documentation around bridges/PT configurationNick Mathewson2023-07-031-1/+14
| | | | | | | This tries to flesh out some of the details for users who may be new to bridges and PTs. Closes #706.
* Finish a sentence in the documentation for TorClient::netdir()Nick Mathewson2023-07-031-1/+2
|
* keystore: Change the dummy HsClientSpecifier to "default".Gabriela Moldovan2023-06-301-1/+1
|
* Merge branch 'fix-unfortunate-merge-outcome' into 'main'Ian Jackson2023-06-301-1/+1
|\ | | | | | | | | arti-client: Rename KeyStore to Keystore. See merge request tpo/core/arti!1359
| * arti-client: Rename KeyStore to Keystore.Gabriela Moldovan2023-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | `KeyStore` was renamed to `Keystore` globally in !1355. This fixes a compile error caused an unfortunate series of non-conflicting (from git's POV) but incompatible merges: * !1356 added a line threferencing an error variant that capitalizes the "s" in "KeyStore" (`ErrorDetail::KeyStore`) * !1356 landed just before !1355 (the global renaming). Since there was no conflict between the 2, we're now in a state where the code added in !1356 is referencing an `ErrorDetail` variant that no longer exists.
* | Merge branch 'docsrs-fix' into 'main'Ian Jackson2023-06-301-0/+1
|\ \ | |/ |/| | | | | Add a missing "experimental-api" rustdoc notation See merge request tpo/core/arti!1353
| * Add a missing "experimental-api" rustdoc notationNick Mathewson2023-06-291-0/+1
| |
* | Merge branch 'keymgr-naming' into 'main'Alexander Færøy2023-06-302-7/+7
|\ \ | | | | | | | | | | | | keymgr: Rename KeyStore to Keystore globally. See merge request tpo/core/arti!1355
| * | keymgr: Rename KeyStore to Keystore globally.Gabriela Moldovan2023-06-292-7/+7
| |/ | | | | | | | | We've been capitalizing the "s" in "KeyStore" inconsistently. This `s/KeyStore/Keystore/g` across the codebase.
* / keymgr: Fix another infinite loop around Keymgr error handling.Gabriela Moldovan2023-06-291-1/+1
|/ | | | This `From` impl was just calling itself recursively...
* Merge branch 'validate-client-spec' into 'main'Ian Jackson2023-06-291-1/+2
|\ | | | | | | | | keymgr: Validate ArtiPaths, replace HsClientSpecifier with generic ArtiPathComponent See merge request tpo/core/arti!1262