summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Implement builder patterns for ArtiConfig.Nick Mathewson2021-11-252-6/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the "metabuilder" pattern and the "builder reconstruction" pattern for the ArtiConfig type. I'm not 100% that this will be necessary, but it will certainly help with testing.
| * | | Resolve some warnings in tor-config testNick Mathewson2021-11-251-0/+4
| | | |
| * | | Impl and test Default for high-level configsNick Mathewson2021-11-252-3/+42
| | | |
| * | | Ensure that all config sections have deny_unknown_fieldsNick Mathewson2021-11-252-0/+3
| | | | | | | | | | | | | | | | | | | | When we deserialize a configuration, we should reject unknown variables (except when we have an explicit reason to allow them).
| * | | Make directory accessors crate-private.Nick Mathewson2021-11-251-4/+2
| | | | | | | | | | | | | | | | These don't need to be exposed any longer.
| * | | Define defaults for StorageConfigNick Mathewson2021-11-251-19/+18
| |/ / | | | | | | | | | | | | | | | | | | | | | I'm still not 100% sure this is the right move: should we encourage app developers to always pick their own directories? Or should we make it easy for them to use, well, `sane_defaults`? This patch takes the second approach.
* | | Mark a test as #[ignore]Nick Mathewson2021-11-291-0/+1
| | | | | | | | | | | | | | | | | | This test seems unreliable on CI: we've got to disable them for now so that we have a working CI system. The CI failure is #238; the ticket to repair them is #244.
* | | Merge remote-tracking branch 'origin/mr/149'Nick Mathewson2021-11-292-23/+0
|\ \ \
| * | | Remove address from VoterInfoBuilderNeel Chauhan2021-11-281-12/+0
| | | |
| * | | Remove unused 'address' field from DirSource structNeel Chauhan2021-11-282-11/+0
| |/ /
* | | Merge remote-tracking branch 'origin/mr/148'Nick Mathewson2021-11-291-10/+2
|\ \ \
| * | | In struct PendingEntry, remove circ_specNeel Chauhan2021-11-281-10/+2
| |/ /
* | | tor-circmgr: Write a test for BadExit support.Neel Chauhan2021-11-291-6/+20
| | |
* | | add semicolons if nothing returnedDaniel Eades2021-11-2560-108/+136
| | |
* | | deglob some enums, use concise iteration syntaxDaniel Eades2021-11-2515-80/+68
|/ /
* | Resolve a pair of rustdoc warnings.Nick Mathewson2021-11-242-2/+4
| |
* | More typo fixes that I forgot to save :(Nick Mathewson2021-11-2411-16/+16
| |
* | Fix a clippy issue on nightlyNick Mathewson2021-11-241-0/+1
| |
* | Fix a few typos.Nick Mathewson2021-11-2415-22/+22
| | | | | | | | Also fix some commonwealth spellings that had slipped in.
* | More tests for tor-config.Nick Mathewson2021-11-242-2/+71
| |
* | Remove a couple more eprintln! calls.Nick Mathewson2021-11-232-2/+1
| |
* | Avoid a warning about retain_mut() in nightly.Nick Mathewson2021-11-231-2/+2
| | | | | | | | | | | | | | Rust nightly claims that Vec might get its own retain_mut method, which would potentially conflict with the extension method we've grabbed from the retain_mut crate. To solve this, we're calling the method explicitly.
* | Merge remote-tracking branch 'origin/mr/140'Nick Mathewson2021-11-231-1/+13
|\ \
| * | Use guard-extreme-restriction-percentNeel Chauhan2021-11-231-3/+8
| | |
| * | In guard filtering code, warn if the filter is too small according to guard ↵Neel Chauhan2021-11-221-1/+8
| | | | | | | | | | | | params
* | | Try to make the tor_proto::circuit::begindir test more reliable.Nick Mathewson2021-11-231-2/+2
| |/ |/| | | | | | | | | | | | | | | | | I traced the problem here to the fact that sometimes "rx" in this test would be dropped before the test was done. When "rx" is dropped, the channel reactor shuts down, which in turn kills off the circuit reactor. This bug may exist in other cases in these tests. This patch may fix one case of #238.
* | Merge branch 'event-warnings' into 'main'eta2021-11-232-0/+40
|\ \ | | | | | | | | | | | | Add and resolve clippy warnings in tor-events. See merge request tpo/core/arti!138
| * | Add and resolve clippy warnings in tor-events.Nick Mathewson2021-11-222-0/+40
| |/ | | | | | | | | Here we add the same array of clippy warnings as usual to the new tor-event crate, and resolve the issues that triggered any of them.
* / Fix typo in tor-guardmgr comment related to suspicious guardsNeel Chauhan2021-11-221-1/+1
|/
* Merge branch 'arti-client-config' into 'main'eta2021-11-2213-179/+531
|\ | | | | | | | | Further configuration refactoring See merge request tpo/core/arti!137
| * Implement meta-builder pattern for TorClientConfigNick Mathewson2021-11-223-21/+187
| | | | | | | | | | This should be ergonomic than having to construct every section of the configuration separately.
| * Make every Config type implement Eq.Nick Mathewson2021-11-218-17/+17
| | | | | | | | | | Doing this is necessary for reconfiguration support, and will help a lot with testing, too.
| * For every* config type, make defaults consistent.Nick Mathewson2021-11-213-7/+46
| | | | | | | | | | | | | | | | | | | | This patch makes sure that for every* config type we have, the defaults you get from a Builder match those you get from Serde, and that both match the value that you get from arti_defaults.toml. Later down the line I'll be adding some tests to keep these in sync. * StorageConfig still has no defaults of its own, since we aren't so sure we want other applications to use Arti's directories by default.
| * Rename .gitignore APP_FOO to ARTI_FOO.Nick Mathewson2021-11-214-18/+18
| | | | | | | | | | | | | | | | Since these shell-variables are hardwired to use org.torproject.Arti as the program name, it isn't appropriate to call them "app-specific". If we someday reinstate APP_FOO, it should be based on a user-provided application name.
| * Give CfgPath an alternative inner representation.Nick Mathewson2021-11-212-36/+43
| | | | | | | | | | | | | | | | In order to handle explicitly specified path buffers directly, we now let CfgPath be either a string (that gets expanded) or a PathBuf (that doesn't). This simplifies TorClientConfig::with_directories()
| * Give every ConfigBuilder a From<Config> implementation.Nick Mathewson2021-11-214-6/+81
| | | | | | | | This will make it more convenient to reconfigure things.
| * Ensure that every section-level config type has a builder() function.Nick Mathewson2021-11-214-2/+43
| |
| * Make arti-client config object match arti config better.Nick Mathewson2021-11-215-85/+107
| | | | | | | | | | | | | | | | Now every section that the two configuration objects share has the same type and name. This should help us in documenting our configuration in a way that doesn't confuse people. There is still lots of API work to go.
| * Lower StorageConfig to arti-client crateNick Mathewson2021-11-213-40/+42
| |
* | Merge commit '98f38dc' (arti!131) into HEADeta2021-11-224-0/+425
|\ \ | | | | | | | | | | | | This commit message totally gives away the cursed way in which I use git. branches? what are those?
| * | Initial cut at a typed event framework for arti (arti#230).eta2021-11-224-0/+425
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements a basic typed event broadcast mechanism, as described in arti#230: consumers of the new `tor-events` crate can emit `TorEvent` events, which others can consume via the `TorEventReceiver`. Under the hood, the crate uses the `async-broadcast` (https://github.com/smol-rs/async-broadcast) crate, and a `futures::mpsc::UnboundedSender` for the event emitters; these are glued together in the `EventReactor`, which must be run in a background thread for things to work. (This is done so event sending is always cheap and non-blocking, since `async-broadcast` senders don't have this functionality.) Additionally, the `TorEventKind` type is used to implement selective event reception / emission: receivers can subscribe to certain event types (and in fact start out receiving nothing), which filters the set of events they receive. Having no subscribers for a given event type means it won't even be emitted in the first place, making things more efficient.
* | | Use consistent name for ns_consensus feature.Nick Mathewson2021-11-211-6/+6
| |/ |/|
* | Allow type-complexity in hyper.rs exampleNick Mathewson2021-11-211-0/+1
| | | | | | | | | | This isn't the prettiest, but suppressing the warning does make the example warning free.
* | Document (and allow) behavior for weird values of subnet masks.Nick Mathewson2021-11-181-2/+10
| | | | | | | | Chutney needs this, to avoid putting every relay in the same family.
* | Use named fields for the elements of ConfigBuildErrorNick Mathewson2021-11-184-23/+49
| |
* | Rename RetryConfig to DownloadSchedule, fold in parallelism.Nick Mathewson2021-11-186-85/+87
| |
* | Move the socks_port option into a new proxy section.Nick Mathewson2021-11-184-9/+29
| | | | | | | | Now there are no options that aren't in a toml section.
* | Rename the "network" configuration section to "tor_network".Nick Mathewson2021-11-181-2/+2
| | | | | | | | | | This is more accurate, since it describes the details of the tor network that we're connecting to.
* | Rename addr_config to address_filter; clarify its usage.Nick Mathewson2021-11-182-5/+6
| |
* | Flatten enforce_distance into path_rules.Nick Mathewson2021-11-186-24/+71
| | | | | | | | Also use the path_rules name consistently throughout the code.