summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge remote-tracking branch 'origin/mr/33'Nick Mathewson2021-06-172-2/+2
|\
| * Fix typosHackerNCoder2021-06-172-2/+2
| |
* | Merge branch 'retry_refactor'Nick Mathewson2021-06-179-226/+370
|\ \ | |/ |/|
| * Use retry-error in tor-circmgr.Nick Mathewson2021-06-173-19/+48
| |
| * Add deduplication for retry-errorNick Mathewson2021-06-171-7/+85
| |
| * Remove anyhow dependency from tor-retry, and rename it to retry-errorNick Mathewson2021-06-176-63/+100
| | | | | | | | Now RetryError is parameterized on an underlying error type.
* | Try to fix a nightly rustdoc warningNick Mathewson2021-06-171-1/+1
| |
* | Revise repository-level documentationNick Mathewson2021-06-175-268/+359
|/
* Remove some (but not all) needless dependencies.Nick Mathewson2021-06-179-23/+5
|
* Note a couple of more desired warnings.Nick Mathewson2021-06-171-0/+2
|
* Suppress a clippy warning.Nick Mathewson2021-06-171-0/+1
|
* Remove TODO as outdated.Nick Mathewson2021-06-171-5/+0
|
* CoC: Stop saying that Arti is not official.Nick Mathewson2021-06-171-3/+0
|
* Fix new(?) rustdoc warningsNick Mathewson2021-06-162-3/+3
|
* more improvements to circmgr tests.Nick Mathewson2021-06-163-2/+6
|
* Notes about badexit flag and opportunities for errorNick Mathewson2021-06-162-0/+5
|
* More tests on circmgr::path.Nick Mathewson2021-06-163-1/+89
|
* circmgr: tests for path/dirpath.rsNick Mathewson2021-06-161-0/+68
|
* Missing feature dependency.Nick Mathewson2021-06-161-1/+1
|
* Tests for circmgr::usageNick Mathewson2021-06-165-5/+125
|
* Expose the "construct_network()" function in tor-netdir.Nick Mathewson2021-06-163-77/+138
| | | | | | | | This function has been used for testing tor-netdir, but it will also be useful for testing path selection in tor-cirmgr as well. I've put it behind a "testing" feature, since it shouldn't really be used by most applications.
* tor_circmgr: even more testsNick Mathewson2021-06-161-16/+95
|
* More tests in tor-cirmgr::mgrNick Mathewson2021-06-162-4/+129
|
* remove now-unused importsNick Mathewson2021-06-141-5/+0
|
* Comment out build_path for now.Nick Mathewson2021-06-141-0/+3
| | | | | It just duplicates TorPath::build_circuit, which is all you actually need.
* Use FuturesUnordered, not SelectAll<Once<...>>Nick Mathewson2021-06-142-12/+11
| | | | Closes #124
* Enormous tor-circmgr rewrite.Nick Mathewson2021-06-1411-435/+1662
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As with the tor-chanmgr code, the circuit manager is now implemented using an AbstractCircMgr type that uses traits to abstract the particular behavior of other types that it uses. (Specifically: circuits, building circuits, and telling whether one circuit usage is compatible with another.) Abstracting out the dependencies in this ways makes it possible to test the circuit manager without having to actually build real circuits. This commit also introduces new behavior for handling pending circuit requests. Upon getting a new request, first we check to see if there's an existing circuit we can use. If there isn't, we look for pending circuits and wait for them. If there aren't any pending circuits we can use, we launch one or more, and wait for them. So far, that's the same as the old behavior. But here's a change: if, while we are waiting for some pending circuits, a different circuit is completed, and it's one we could use, then the task that was building _that_ circuit will tell us: "please look at this circuit". This gives us better changes of getting a usable circuit fast. Minor changes: * The Error type in CircMgr no longer uses anyhow; several errors have been simplified. * We've gotten more formal about the relationship between circuit usage and target usage.
* Implement Debug for ClientCirc and Channel.Nick Mathewson2021-06-142-0/+20
|
* Make a few error types implement CloneNick Mathewson2021-06-143-7/+31
| | | | | | | To make this work we have to wrap std::io::Error in an Arc. The benefit of having these errors implement Clone is that we can provide the same Error in response to multiple requests when they are all waiting on the same operation.
* linkspec: Define owned variants of ChanTarget and CircTarget.Nick Mathewson2021-06-135-65/+139
|
* add rustdoc link to readmeNick Mathewson2021-06-091-0/+2
|
* Remove accidentally committed graph files.Nick Mathewson2021-06-083-270/+0
|
* Add an XXXX to path.rsNick Mathewson2021-06-041-0/+1
|
* Missing experimental-api imports.Nick Mathewson2021-06-031-1/+3
|
* cirmgr: Move usage-related code into a submodule, and refactor.Nick Mathewson2021-06-023-137/+168
|
* Add a warning comment about truncate-and-reextend.Nick Mathewson2021-05-281-0/+5
|
* tor-proto: change internal meta-handler API for error-proofingNick Mathewson2021-05-282-67/+108
| | | | | | | The previous API required the caller to check that the meta-cell it got was coming from the right hop; the new API requires the caller to say which hop it expects to get a cell from. With this change, it's not possible to omit the correct-hop check.
* Add noop_method_call warning.Nick Mathewson2021-05-2725-0/+25
| | | | | | This would have saved ahf and me a lot of confusion in debugging a situation where we were cloning a reference of a type that didn't implement Clone.
* Use the "typos" tool to fix some spellingNick Mathewson2021-05-2626-30/+30
|
* Use thiserror to simplify tor-unitsNick Mathewson2021-05-262-26/+7
|
* Add a Display test in tor-unitsNick Mathewson2021-05-261-0/+6
|
* Add a script with the command I've been using for coverageNick Mathewson2021-05-262-0/+4
|
* Try some tweaks to .gitlab-ci.ymlNick Mathewson2021-05-251-7/+8
| | | | | | | | | | The "--all" flag is deprecated in favor of "--workspace", which isn't actually needed here. "--all-features" catches a few things that we want to make sure we're catching. Let's try out cargo doc and make sure that passes too.
* Update hs_ntor code.Nick Mathewson2021-05-251-4/+6
| | | | | Work with the latest version of the crypto crate, and suppress the unreachable_pub warning.
* Enable cargo_common_metadata warning.Nick Mathewson2021-05-2525-3/+27
|
* Add automatically generated README.md files to each crate.Nick Mathewson2021-05-2524-0/+1145
|
* Module docs for remaining cratesNick Mathewson2021-05-255-13/+53
|
* Replace the last user of caret_enum with caret_int.Nick Mathewson2021-05-254-301/+74
| | | | This lets us remove caret_enum entirely.
* Remove extern crate declarations.Nick Mathewson2021-05-251-1/+0
| | | | They're no longer needed for macro use in Rust 2018.
* Use "use" in tor_netdir, remove needless qualifications.Nick Mathewson2021-05-251-7/+8
|