summaryrefslogtreecommitdiff
path: root/crates/arti-client/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * tor-ptmgr: make configuration use builders, plumb into arti-clienteta2022-11-161-0/+22
| | | | | | | | | | | | | | This brings the draft configuration mechanisms in tor-ptmgr in line with the config in other crates, using builders. It also plumbs the config type through into the main `arti-client` config, and adds some example lines to `arti-example-config.toml`.
* | arti-client: Retain a strong reference to the inner Arc<BridgeDescMgr>Ian Jackson2022-11-151-5/+7
|/ | | | Fixes #636.
* bridges: Create and install a BridgeDescMgr when we bootstrapIan Jackson2022-11-152-0/+72
|
* arti-client: Store a handle to the DirMgrStore in TorClient (fmt)Ian Jackson2022-11-151-1/+6
| | | | rustfmt only.
* arti-client: Store a handle to the DirMgrStore in TorClientIan Jackson2022-11-151-1/+4
| | | | We'll need this shortly.
* arti-client: Store a handle to the guardmgr in TorClientIan Jackson2022-11-151-1/+5
| | | | We'll need this shortly.
* Merge branch 'guardmgr' into 'main'Ian Jackson2022-11-142-3/+17
|\ | | | | | | | | Move guardmgr creation to arti-client, rather than within circmgr See merge request tpo/core/arti!850
| * Move GuardMgr::new call to arti_client::TorClient (fmt)Ian Jackson2022-11-141-4/+8
| | | | | | | | rustfmt only, broken out to ease review.
| * Move GuardMgr::new call to arti_client::TorClientIan Jackson2022-11-142-1/+11
| | | | | | | | | | | | | | Having this done within circmgr was irregular - most of our other key buildup functions are done in TorClient::create_inner. It is also inconvenient, as it buries the guardmgr within the circmgr.
* | dirmgr Store: Have constructors take DirMgrStoreIan Jackson2022-11-142-4/+9
|/ | | | | | | Now the Store is constructed by arti_client, solving the problem described here https://gitlab.torproject.org/tpo/core/arti/-/issues/631#note_2853665 but in a different way.
* Spelling fixes and normalizations on some high-level cratesNick Mathewson2022-11-071-1/+1
|
* guardmgr config: Provide bridge information to new and reconfigureIan Jackson2022-11-031-2/+36
|
* bridges config: Check that bridges aren't enabled with no bridgesIan Jackson2022-11-031-1/+32
| | | | This is the validation which is called for by the documentation.
* guardmgr config: Introduce and require new GuardMgrConfig traitIan Jackson2022-11-031-0/+1
| | | | | It doesn't seem to me like it makes sense to provide the backward compatibility here.
* Run add_warnings.Nick Mathewson2022-11-031-0/+1
|
* Merge branch 'readmes' into 'main'Nick Mathewson2022-10-121-238/+1
|\ | | | | | | | | | | | | Abolish maint/readme and use doc include Closes #603 See merge request tpo/core/arti!768
| * cargo fmt to remove blank linesIan Jackson2022-10-121-1/+0
| | | | | | | | | | | | | | Apparently cargo fmt doesn't like these, which my perl rune didn't delete. This commit is precisely the result of `cargo fmt`.
| * Replace all README copies in src/lib.rs with includesIan Jackson2022-10-121-237/+1
| | | | | | | | | | | | | | | | The feature we want is `#[doc = include_str!("README.md")]`, which is stable since 1.54 and our MSRV is now 1.56. This commit is precisely the result of the following Perl rune: perl -i~ -0777 -pe 's{(^//!(?!.*\@\@).*\n)+}{#![doc = include_str!("../README.md")]\n}m' crates/*/src/lib.rs
* | struct BridgeConfig: Rename from BridgeIan Jackson2022-10-121-5/+5
|/ | | | Fixes #599
* pt and bridges: Parse configurationIan Jackson2022-10-121-0/+83
|
* Add pt-client and bridge-client features to arti and arti-clientIan Jackson2022-10-121-0/+2
|
* feature-gate some functions requiring PreferredRuntimetrinity-1686a2022-10-051-1/+10
|
* Merge branch 'hostname-validation' into 'main'Nick Mathewson2022-10-031-18/+1
|\ | | | | | | | | Use hostname-validator crate for hostname validation See merge request tpo/core/arti!739
| * Use hostname-validator crate for hostname validationReylaba2022-10-031-18/+1
| |
* | Merge branch 'fix-nightly-clippy' into 'main'Ian Jackson2022-09-221-0/+2
|\ \ | |/ |/| | | | | Fix nightly clippy See merge request tpo/core/arti!729
| * Apply 1 suggestion(s) to 1 file(s)Ian Jackson2022-09-221-1/+1
| |
| * fix clippy::needless_borrowtrinity-1686a2022-09-101-0/+2
| |
* | enumerate platform with getresuid supporttrinity-1686a2022-09-101-19/+19
|/
* READMEs: Drop stability warning re configIan Jackson2022-09-021-9/+0
| | | | | The referenced ticket is closed and I think the top-level caveats remaining after !717 are sufficient.
* arti-client README: Say we intend to provide FFIIan Jackson2022-09-021-1/+2
|
* READMEs: arti-client: Remove caveats and add some xrefsIan Jackson2022-09-021-7/+15
|
* Merge branch 'safelog_more' into 'main'Ian Jackson2022-08-262-4/+5
|\ | | | | | | | | Apply safelog to more of the things that we log See merge request tpo/core/arti!693
| * arti-client: Treat list of exit ports as sensitive.Nick Mathewson2022-08-252-3/+4
| |
| * arti-client: Downgrade "got a circuit for" message.Nick Mathewson2022-08-251-1/+1
| | | | | | | | | | | | This is not interesting to the user, and violates some of our safe-logging rules (like "Don't log at info for each user request" and "don't log ports").
* | arti: running_as_setuid: fix MacOs buildIan Jackson2022-08-261-2/+2
| | | | | | | | | | libc::getuid and geteuid are marked unsafe, even though I think they could be safe. So the previous code didn't build.
* | tor-config: Replace dir detection with ConfigurationSource enumIan Jackson2022-08-251-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/682#note_2830860 And subsequent IRC discussion. Having done the work as per review comments, I don't much like the result. It's quite un-ergonomiuc. If we can't have fs autodetection, I think syntactic autodetection within sources.rs would be nearly as nice. However, I seem to be outvoted. At least the externally visible functionality (of an arti binary, say) is reasonably ergonomic.
* | config sources: Read arti.d as well as arti.tomlIan Jackson2022-08-251-5/+10
|/ | | | Fixes #474 aka #271
* Fix setuid testing for MacOSIan Jackson2022-08-251-16/+42
|
* Merge branch 'no_setuid' into 'main'Nick Mathewson2022-08-242-0/+43
|\ | | | | | | | | arti_client: Refuse to build a client if we are setuid. See merge request tpo/core/arti!689
| * arti_client: Refuse to build a client if we are setuid.Nick Mathewson2022-08-242-0/+43
| | | | | | | | | | | | Arti is not designed to be a setuid-safe program. Part of #523.
* | add feature annotation not added by doc_auto_cfgtrinity-1686a2022-08-242-0/+2
| |
* | enable doc_auto_cfg feature on every crate when documenting for docs.rstrinity-1686a2022-08-241-0/+1
|/
* arti: Fix a minimal-versions failureIan Jackson2022-08-171-1/+1
|
* chanmgr: Use NetDirProvider::params and Arc<dyn..Netparameters>Ian Jackson2022-08-172-6/+7
| | | | | | | | | This gets rid of many Result(). Many parameters are renamed. Test cases of the now-impossible branch are removed. Deleting the match from padding_parameters will come in a moment. I've split off that commit since it has much whitespace noise. for now, change the error type to Void.
* Introduce ChannelConfigIan Jackson2022-08-162-1/+22
| | | | | This commit is just the necessary plumbing. The config is currently empty. We'll add something to it, for padding control, later.
* dormancy: Plumb through to chanmgr reconfigure_generalIan Jackson2022-08-161-4/+27
| | | | | | | | | | | | | | | The chanmgr remembers the last dormancy state it was told. We invent a chanmgr-specific Dormancy which the arti-client code knows how to convert from the richer top-level dormant status. This avoids having to have everyone know all the variants of the top-level state. To call reconfigure_general, we must also obtain and plumb through a netdir. Right now we must return an internal error if there is in fact no netdir, because reconfigure_general does not yet cope with a missing netdir. Nothing actually *uses* the dormancy yet.
* dormancy: tor-client: Break initial dormancy out into a variableIan Jackson2022-08-161-1/+2
| | | | | | We're going to need to reuse this, so we can plumb the dormancy to more places. Breaking it out avoids having repeat the initial dormancy value in two places.
* arti-client: TorClient constructor: add a blank lineIan Jackson2022-08-161-0/+1
| | | | | The rustfmt-mandated different formatting of these two very similar blocks is bad enough, without them being smooshed together.
* Document more explicitly what "voiding a semver warranty" entailsNick Mathewson2022-08-111-1/+5
| | | | Closes #522.
* Several typo fixes from `typos`.Nick Mathewson2022-07-271-1/+1
|