summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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.
* Add coverage_meta to .gitignoreNick Mathewson2021-11-231-0/+1
|
* 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
* | Merge branch 'begindir_test_fix' into 'main'eta2021-11-231-2/+2
|\ \ | | | | | | | | | | | | Try to make the tor_proto::circuit::begindir test more reliable. See merge request tpo/core/arti!142
| * | 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.
* | Add usage string from commit message to with_coverage.Nick Mathewson2021-11-231-0/+3
| |
* | add with_coverage scriptTrinity Pointard2021-11-231-0/+30
| | | | | | | | | | usage: with_coverage <command> [args...]: run <command> with [args...] with_coverage : run bash
* | 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-2214-179/+532
|\ | | | | | | | | 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-215-2/+44
| |
| * 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-226-0/+456
|\ \ | | | | | | | | | | | | 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-226-0/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | |
* | | Update to latest fuzzing corporaNick Mathewson2021-11-211-0/+0
| |/ |/|
* | 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.
* | Fold "circuit_timing" and "request_timing" into a single section.Nick Mathewson2021-11-186-86/+33
| |
* | Move top-level configuration downwards from `arti` to `arti-config`.Nick Mathewson2021-11-1826-306/+537
| | | | | | | | | | | | | | | | To do this at all neatly, I had to split out `tor-config` from `arti-config` again, and putting the lower level stuff (paths, builder errors) into tor-config. I also changed our use of derive_builder to always use a common error type, to avoid error type proliferation.
* | Merge remote-tracking branch 'origin/mr/134'Nick Mathewson2021-11-182-22/+28
|\ \
| * | Make unreliable tor-proto tests more reliable (arti#238).eta2021-11-182-22/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `bad_extend_*` failures were caused by bad test code in `bad_extend_test_impl` that used `futures::join!`; this meant that the reactor could receive the `Extended2` cell before it actually got the `ExtendNtor` request, which caused it to get (quite rightly) confused and close the circuit. Spawning a background thread which has a short delay before sending the `Extended2` cell seems to have alleviated this problem. `new_circ_create_failure` is similar; I think the reactor was getting dropped before it had a chance to flush out its `CreateFast` cell properly, because it had already gotten the result back (since the test code sends it indiscriminately). This was "fixed" in much the same manner as the other test: making it wait a bit before sending the result cell back. There seem to be other tests that use `futures::join!` (like `begindir`?), and use similarly erroneous patterns; I haven't gotten any to fail reliably enough to be able to debug them, though.
* | | Merge branch 'update-pfx' into 'main'eta2021-11-182-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | use 3des instead of rc2 in .pfx test fixture Closes #239 See merge request tpo/core/arti!133
| * | use 3des instead of rc2 in .pfx test fixtureTrinity Pointard2021-11-182-1/+1
|/ /
* | Merge remote-tracking branch 'origin/mr/131'Nick Mathewson2021-11-171-44/+44
|\ \
| * | update dependenciesTrinity Pointard2021-11-171-46/+46
| | |
* | | Typo fix from reddit thread.Nick Mathewson2021-11-171-1/+1
| | |
* | | Remove dependency from arti-client to tor-config.Nick Mathewson2021-11-164-10/+16
| | | | | | | | | | | | | | | I'm about to make tor-config a higher-level module, so it can't be a dependency for tor-config.
* | | Remove unused "dirs" dependency from tor-persist.Nick Mathewson2021-11-162-2/+0
| | |