summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * chanmgr: clean up some TODO pt-client items and documentation.Nick Mathewson2022-10-133-80/+23
| |
| * Allow multiple ChannelBuilders to share a ChanMgrEventSender.Nick Mathewson2022-10-132-4/+9
| |
| * chanmgr: Use ChannelFactory via a Box<dyn<ChannelFactory>>.Nick Mathewson2022-10-132-4/+28
| | | | | | | | | | This will prepare for supporting multiple different ChannelFactory implementations.
| * chanmgr: Move Timeout functionality into a decorator object.Nick Mathewson2022-10-132-12/+51
| |
| * Have ChannelBuilder use TransportHelper.Nick Mathewson2022-10-134-27/+92
| | | | | | | | | | | | This lets us build channels using different TransportHelpers, including the (new) default TransportHelper, which just uses the old connect_to_one() code.
| * Implement ChannelFactory for (a wrapper of) TransportRegistry.Nick Mathewson2022-10-121-1/+23
| | | | | | | | This will let us just have ChanMgr take a `dyn ChannelFactory`.
| * chanmgr: Clean up async-ness on factory types.Nick Mathewson2022-10-122-12/+18
| | | | | | | | | | | | | | | | The traits that launch connections need to be async; the traits that don't, shouldn't be async. Additionally, we need a few more "Sync" annotations here for the futures to work.
| * Rename mgr::ChannelFactory to mgr::AbstractChannelFactoryNick Mathewson2022-10-123-19/+22
| | | | | | | | | | | | | | | | | | This is an internal type (distinct from factory::ChannelFactory) that we use to make the code in `tor_chanmgr::mgr` agnostic about what a channel actually is, and how it is actually launched. Therefore, I'm renaming it and giving better documentation in a couple of places, to prevent confusion.
| * Add several accessors to ChannelMethod.Nick Mathewson2022-10-121-0/+33
| | | | | | | | | | | | * Get `TransportId` * Get the target address (of any type) * Ask, "is this a direct connection"?
* | Merge branch 'readmes' into 'main'Nick Mathewson2022-10-1242-2109/+61
|\ \ | |/ |/| | | | | | | | | Abolish maint/readme and use doc include Closes #603 See merge request tpo/core/arti!768
| * Abolish maint/readmesIan Jackson2022-10-122-13/+0
| | | | | | | | This is not needed any more
| * cargo fmt to remove blank linesIan Jackson2022-10-1235-35/+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-1235-2048/+35
| | | | | | | | | | | | | | | | 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
| * README doctests: fix tor-rtmockIan Jackson2022-10-121-2/+3
| |
| * README doctests: fix safelogIan Jackson2022-10-121-0/+3
| | | | | | | | Add some dummy definitions that support the example.
| * README doctests: fix fs-mistrustIan Jackson2022-10-121-3/+12
| | | | | | | | | | | | Add fn main wrappers to allow use of ?. Add ,no-run to test cases that fail due to accessing the filesystem.
| * README doctests: fix arti-clientIan Jackson2022-10-121-5/+5
| | | | | | | | Add ,ignore to ignore three shell runes.
| * README doctests: fix arti-clientIan Jackson2022-10-121-3/+3
| | | | | | | | | | | | | | | | Add ,ignore to ignore three examples that don't actually compile. cargo readme would add these annotations to lib.rs, but the doc include doesn't do stuff like that. pandoc seems to still render the result just fine.
* | Merge branch 'bridge-rename' into 'main'eta2022-10-124-23/+23
|\ \ | | | | | | | | | | | | | | | | | | Rename Bridge to BridgeConfig Closes #599 See merge request tpo/core/arti!767
| * | struct BridgeConfig: Rename from BridgeIan Jackson2022-10-124-22/+22
| | | | | | | | | | | | Fixes #599
| * | struct Bridge: add ref to ticketIan Jackson2022-10-121-1/+1
| |/
* | Merge branch 'bridge-config-example' into 'main'Ian Jackson2022-10-1233-18/+732
|\| | | | | | | | | Add bridges configuration section See merge request tpo/core/arti!744
| * cfg tests: bridges: Document test case assumptionsIan Jackson2022-10-121-0/+19
| |
| * cfg tests: bridges: Remove now-redundant block { }Ian Jackson2022-10-121-13/+11
| |
| * cfg test: bridges: Test all three feature casesIan Jackson2022-10-121-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | This demonstrates that: * !bridge-client: uncommenting nondefault bridge config generates urecognized config key warnings (but the config is still accepted)( * bridge-client, !pt-client: uncommenting nondefault bridges generates error due to attempting to use a PT. If that's filtered out, everything is fine. * pt-client: Everything is good (as before).
| * cfg tests: bridges: Prepare for more comprehensive testingIan Jackson2022-10-121-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce filter_examples and resolve_examples helpers, which will become more complex in a moment. * Move the API test into a { } block to minimise subsequent diff. It's going to become conditional. * In subsequent comparisons, use the parsed version, since the API built one might not exist. No overall functional change.
| * cfg tests: Make ExampleSectionLines::resolve fallibleIan Jackson2022-10-121-5/+5
| |
| * Fix comment typo.Nick Mathewson2022-10-121-1/+1
| |
| * Fix error messageNick Mathewson2022-10-121-1/+1
| |
| * bridge config: Clarify that examples are nonfunctionalIan Jackson2022-10-121-0/+2
| |
| * bridges: Test configurationIan Jackson2022-10-121-0/+121
| |
| * pt and bridges: Parse configurationIan Jackson2022-10-122-3/+84
| |
| * config exhaust checking: Feature-limit some of the testsIan Jackson2022-10-121-11/+17
| |
| * tor-config: Provide MultilineListBuilderIan Jackson2022-10-122-0/+208
| | | | | | | | This is what we'll use to parse the `bridges.bridges` config key.
| * tor-guardmgr: Export BridgeParseError from toplevelIan Jackson2022-10-121-1/+1
| | | | | | | | | | Callers could `use` it as `tor_guardmgr::config::BridgeParseError` but it seems unecessary to force them to.
| * tor-config: Remove unneeded braces in an exampleIan Jackson2022-10-121-1/+1
| |
| * tor-config: Provide BoolOrAutoIan Jackson2022-10-121-0/+107
| | | | | | | | | | We're going to use this for the config item `bridges.enabled`, but it seems general enough that it ought to go here.
| * tor_config: define_list_builder_helper: Support custom serdeIan Jackson2022-10-121-2/+42
| | | | | | | | | | | | | | | | We're going to want something that has the standard list builder methods at the Rust API, but which has different serialisation. Sadly the implementation is annoying, because macro_rules makes it hard to parse a nice input syntax.
| * Add pt-client and bridge-client features to arti and arti-clientIan Jackson2022-10-126-1/+15
| |
| * bridges config example: Add much more example syntaxIan Jackson2022-10-121-4/+14
| |
| * bridges config example: Add bridges section to example configIan Jackson2022-10-122-0/+24
| | | | | | | | | | | | | | This is precisely the text from the original version of !744. There is no implementation yet, so we must add a entry to the exception list in the tests.
| * config exhaust checking: Allow for whole sectionsIan Jackson2022-10-121-2/+17
| | | | | | | | | | | | | | | | Section headings appear uncommented in the file, so if we have a whole section which is completely unrecognized (ie, an entry with no `.`, it will be spotted when we parse the not-uncommented file too. Right now there aren't any but there will be in a moment.
| * config exhaust checking: Allow for options only unrecognized in newIan Jackson2022-10-121-4/+10
| |
| * config exhaust checking: Move unrecognized lists earlierIan Jackson2022-10-121-3/+3
| | | | | | | | It turns out that we will need these even for uncommented parsing.
| * arti config exhaust checking: Improve message, add commentIan Jackson2022-10-121-2/+4
| | | | | | | | I had a failure that was confusing to me, and I wrote it...
| * Allow "clippy::single_char_pattern" in tests.Ian Jackson2022-10-1222-0/+22
|/ | | | | | | This lint exists for perf reasons, and this is rarely relevant in tests. Using double quoted str is generally cognitively less burdensome.
* Merge branch 'typo' into 'main'eta2022-10-111-2/+2
|\ | | | | | | | | tor-config: CfgPath: Fix two typos "expaneded" See merge request tpo/core/arti!764
| * tor-config: CfgPath: Fix two typos "expaneded"Ian Jackson2022-10-111-2/+2
| |
* | Merge branch 'disable_rtt_test' into 'main'eta2022-10-111-0/+5
|\ \ | | | | | | | | | | | | Disable rtt_test_vectors test on non-Linux platforms See merge request tpo/core/arti!766
| * | Disable rtt_test_vectors test on non-Linux platformsNick Mathewson2022-10-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test depends on `Duration` having a granularity of 1 nanosecond, which is not the case on OSX, and is probably not the case on other places too. We can re-enable this once we have a set of test vectors that use more realistic RTTs, and a set of testing code that tolerates some divergence. Temporary solution for #574.