summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-client: rename circ function to a more descriptive nameNick Mathewson2021-07-271-5/+6
|
* tor_proto: Use iterators and functions to simplify resolve functions.Nick Mathewson2021-07-271-40/+35
|
* ResolvedVal: Rename answers() to into_answers().Nick Mathewson2021-07-272-4/+10
|
* tor-proto: Tweak documentation for resolve/resolve_ptrNick Mathewson2021-07-271-6/+11
|
* Merge remote-tracking branch 'origin/mr/39'Nick Mathewson2021-07-275-45/+212
|\
| * Add support for RESOLVE and RESOLVE_PTRYuan Lyu2021-07-225-45/+212
| |
* | Add OSX instructions to CONTRIBUTING.mdNick Mathewson2021-07-231-1/+14
|/ | | | Closes #151.
* [f] fix pareto test not compile issuedagger2021-07-221-8/+8
| | | | Signed-off-by: dagger <[email protected]>
* adjust WANT_FROM_OTHER_CRATESNick Mathewson2021-07-211-3/+7
|
* Merge remote-tracking branch 'origin/mr/42'Nick Mathewson2021-07-2127-99/+75
|\
| * address some possibly slightly controversial lintsDaniel Eades2021-07-215-18/+12
| |
| * address a bunch of hopefully uncontroversial lintsDaniel Eades2021-07-2025-81/+63
| |
* | Use cargo audit with "-D warnings".Nick Mathewson2021-07-211-1/+1
| |
* | Merge remote-tracking branch 'origin/mr/41'Nick Mathewson2021-07-217-19/+21
|\ \
| * | attempt to add cargo audit to CITrinity Pointard2021-07-201-0/+2
| | |
| * | switch to maintained crates for memmap and tmpdirTrinity Pointard2021-07-206-19/+19
| |/ | | | | | | | | | | | | | | They don't have actual documented security issues but it makes `cargo audit` complain https://rustsec.org/advisories/RUSTSEC-2018-0017 https://rustsec.org/advisories/RUSTSEC-2020-0077
* / Fix a ocumentation link issue.Nick Mathewson2021-07-211-1/+1
|/
* Temporarily disable build.rs tests as unreliable :/Nick Mathewson2021-07-201-0/+6
|
* tor-circmgr: Improve coverage on build.rs.Nick Mathewson2021-07-195-9/+254
| | | | | | | | | The good news is that this tests the succeeding and failing cases, and even managed to expose an off-by-one error in our hop counting. The bad news is that these tests have shown even more ways in which our wait_for code is unreliable, and forced me to slow it down even harder.
* Fix an actual off-by-one error!Nick Mathewson2021-07-191-1/+1
| | | | This was in deciding when to report a circuit as completed.
* Try refactoring build.rs for testability.Nick Mathewson2021-07-195-59/+175
| | | | | | | I'm adding a local "Buildable" trait here so I can swap out Circuits for something else. This also lets me refactor Builder<> to be parameterized on TimeoutEstimator again, and lets us get rid of the first_hop() accessor on paths.
* Add a test for double_timeout.Nick Mathewson2021-07-193-1/+118
| | | | | | There is something wrong here, though. I had to rewrite wait_for() a lot back in the main branch to get this test working right. See arti#149 for details on that issue.
* tor-circbuild: use SleepProvider::now() instead of Instant::now()Nick Mathewson2021-07-191-5/+5
| | | | This should make time mockable for testing purposes.
* Add the ability to reconfigure a running ParetoEstimatorNick Mathewson2021-07-194-2/+22
|
* Monomorphize: just use the pareto timeout implementation.Nick Mathewson2021-07-191-3/+2
|
* Allow the pareto estimator to be disabled.Nick Mathewson2021-07-191-2/+15
|
* Connect the timeout estimator code to our circuit builder.Nick Mathewson2021-07-195-32/+134
| | | | | This currently leaves a bit to be desired, since the logic is kind of gnarly. I'm not sure I want to be using so many Arc<>s.
* Implement a circuit timeout estimator backend.Nick Mathewson2021-07-194-1/+1001
| | | | | | | | | | | This backend uses the kludged-up^W heuristic-enhanced Pareto estimator from path-spec.txt section 2.4. See path-spec.txt for full details on the algorithm. I've tried to note with TODO-SPEC comments all the things that the spec currently leaves out. Nothing actually uses this code yet. By the time it's in use, I'd expect that many of these functions will need to have new visibilities.
* Implement consensus parameters related to circuit timeout inference.Nick Mathewson2021-07-191-0/+74
|
* Implement TryInto<u64> for BoundedInt32Nick Mathewson2021-07-191-3/+23
|
* derives for TorVersion and AuthKeyIdsEugene Lomov2021-07-182-41/+2
| | | | Closes tpo/core/arti#147
* Spelling fix.Nick Mathewson2021-07-151-1/+1
|
* Merge remote-tracking branch 'origin/mr/38'Nick Mathewson2021-07-156-33/+333
|\
| * remove now invalid doc-commentTrinity Pointard2021-07-151-2/+0
| |
| * reexport IsolationToken in tor-clientTrinity Pointard2021-07-143-3/+2
| |
| * create new type for isolation_mapTrinity Pointard2021-07-141-10/+53
| | | | | | | | and make it garbage-collected
| * make isolation_group optional in SupportedCircUsageTrinity Pointard2021-07-141-13/+122
| |
| * move IsolationToken to circmgrTrinity Pointard2021-07-148-38/+31
| | | | | | | | | | document the behavior of IsolationToken::default remove From and Into impls between IsolationToken and u64
| * fix clippy lintsTrinity Pointard2021-07-133-4/+16
| |
| * implement isolation in artiTrinity Pointard2021-07-133-9/+44
| | | | | | | | | | rules are not configurable, but similar to default rules for Tor (isolate by client addr, by listening port and by authentication if any)
| * implement stream isolationTrinity Pointard2021-07-136-15/+126
| |
* | Try to re-enable simple_tls test on osx.Nick Mathewson2021-07-152-7/+5
| | | | | | | | | | | | On #111, trinity-1686a points me towards a post on the apple dev forum, suggesting that the problem here is that OSX's SecureTransport API doesn't support PKCS12 files with empty passwords.
* | Refactor MockSleepProvider::wait_for to work better.Nick Mathewson2021-07-153-24/+53
| | | | | | | | | | | | | | This is necessary for some tests I'm doing on circuit timeout code. It doesn't solve the wait_for issues completely; I've opened #149 for those.
* | time mocking: only insert each Sleeping future once.Nick Mathewson2021-07-151-6/+14
| |
* | Move wait_for into MockSleepProvider.Nick Mathewson2021-07-152-82/+67
| | | | | | | | | | This function is generally useful for testing functions where we want time to advance bit by bit.
* | Revert "Use coarsetime to build an incoming traffic timestamp."Nick Mathewson2021-07-136-150/+0
| | | | | | | | | | | | | | | | This reverts commit f30b22802aeafaa4dd1b8d424fa83ceb6f45d4aa. It turns out (see torspec#57) that there is no need for us to keep this timestamp -- at least, not for the use we had in mind in circuit timeouts.
* | Use coarsetime to build an incoming traffic timestamp.Nick Mathewson2021-07-136-0/+150
| | | | | | | | | | | | | | | | | | | | | | We need this for the circuit timeout estimator (#57). It needs to know "how recently have we got some incoming traffic", so that it can tell whether a circuit has truly timed out, or whether the entire network is down. I'm implementing this with coarsetime, since we need to update these in response to every single incoming cell, and we need the timestamp operation to be _fast_.
* | Update WANT_FROM_OTHER_CRATES again.Nick Mathewson2021-07-131-1/+16
| |
* | Changes to WANT_FROM_OTHER_CRATES based on discussion on #146Nick Mathewson2021-07-121-10/+16
| |
* | cleanlinessTrinity Pointard2021-07-101-11/+8
| |