summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Alternative API for set_isolation_group().Nick Mathewson2022-03-175-5/+13
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of requiring a `Box<dyn Isolation>`, it now takes either a `Box<dyn Isolation>`, or an arbitrary `T` that implements `Isolation`. This API still allows the user to pass in a `Box<dyn Isolation>` if that's what they have, but it doesn't require them to Box the isolation on their own. Part of #414.
* | | | | Merge branch 'test-isolation' into 'main'Nick Mathewson2022-03-1711-214/+440
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | new api for isolation See merge request tpo/core/arti!377
| * | | | | replace TODOs with documentationtrinity-1686a2022-03-162-3/+2
| | | | | |
| * | | | | add isolation to dns requeststrinity-1686a2022-03-162-9/+35
| | | | | |
| * | | | | accept boxed isolation in StreamPref::set_isolation_grouptrinity-1686a2022-03-163-4/+4
| | | | | |
| * | | | | add trait to help test isolation related codetrinity-1686a2022-03-163-49/+182
| | | | | |
| * | | | | add tests on Isolation and fix conditional compilation issuestrinity-1686a2022-03-163-3/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it seems I added conditional compilation without noticing it?? and there was some errors when choosing a prefered runtime depending on feature flags
| * | | | | replace IsolationMap with new Isolation traittrinity-1686a2022-03-162-102/+15
| | | | | |
| * | | | | refactor restrict_muttrinity-1686a2022-03-161-14/+15
| | | | | |
| * | | | | replace Arc with Box and use dyn-clonetrinity-1686a2022-03-163-95/+62
| | | | | | | | | | | | | | | | | | | | | | | | this also removes JoinResult
| * | | | | replace result with eithertrinity-1686a2022-03-161-5/+6
| | | | | |
| * | | | | add some documentation for new traitstrinity-1686a2022-03-161-12/+18
| | | | | |
| * | | | | replace isolated with compatibletrinity-1686a2022-03-161-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | the inverted logic was too easy to mess up
| * | | | | use downcast-rs instead of our own AsAnytrinity-1686a2022-03-162-15/+4
| | | | | |
| * | | | | fix existing teststrinity-1686a2022-03-162-68/+62
| | | | | |
| * | | | | add a join() on Isolationtrinity-1686a2022-03-161-4/+65
| | | | | |
| * | | | | testing new api for isolationTrinity Pointard2022-03-163-45/+124
| | | | | |
* | | | | | Merge branch 'config-partials-transparent' into 'main'Ian Jackson2022-03-1711-153/+199
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Absolish builders for CircMgrConfig and DirMgrConfig See merge request tpo/core/arti!417
| * | | | | | DirMgrConfig: abolish builder; make it transparent and exhaustiveIan Jackson2022-03-165-82/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | See rationale in the comment.
| * | | | | | Add rationale for CircMgrConfig transparency and traitIan Jackson2022-03-161-1/+22
| | | | | | |
| * | | | | | Provide define_accessor_trait and use it to generate CircMgrConfigIan Jackson2022-03-163-20/+81
| | | | | | |
| * | | | | | Make CircMgrConfig transparent (and make it a trait)Ian Jackson2022-03-164-68/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | See commentary for the rationale.
| * | | | | | Change type of TorClientConfig::override_net_paramsIan Jackson2022-03-163-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we use NetParams. That implies making its constructor public, which I think it fine. This is related to #413 but is far from completing that ticket.
| * | | | | | Actually honour preemptive circuits configurationIan Jackson2022-03-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handwritten conversion function omitted a field. There was nothing to spot this mistake. IMO this shows why these particular types ought not to use builders, but instead, should cause API breaks when things change. Adding this line here to explicitly fix the bug, although we are about to abolish this function completely almost right away.
* | | | | | | Merge branch 'always-ims' into 'main'eta2022-03-161-10/+49
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dirmgr: Always send if-modified-since on consensus documents. Closes #403 See merge request tpo/core/arti!412
| * | | | | | | dirmgr: Always send if-modified-since on consensus documents.Nick Mathewson2022-03-161-10/+49
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We never want a consensus document that's super-old, since we would reject it immediately for being too old. Also, never send an if-modified-since that's so old that we'd reject the response. Closes #403
* | | | | | | Fix typoDimitris Apostolou2022-03-161-1/+1
| |_|/ / / / |/| | | | |
* | | | | | Merge branch 'derive-builder' into 'main'Ian Jackson2022-03-169-14/+14
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | derive_builder: Switch to upstream 0.11 See merge request tpo/core/arti!414
| * | | | | derive_builder: Switch to upstream 0.11Ian Jackson2022-03-169-14/+14
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has the different syntax for builder field attributes than what I originally proposed in my MR, and which therefore is in the pinned branch. My upstream MR for the field attributes feature was morged: https://github.com/colin-kiegel/rust-derive-builder/issues/239
* | | | | Merge branch 'move-retry-delay' into 'main'Ian Jackson2022-03-164-153/+178
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Move RetryDelay into tor-basic-utils See merge request tpo/core/arti!411
| * | | | | RetryDelay: remove accessors.Nick Mathewson2022-03-162-24/+10
| | | | | | | | | | | | | | | | | | | | | | | | Instead, check initial_delay in dirmgr directly.
| * | | | | Remove re-export of retry-schedule in tor-dirmgr.Nick Mathewson2022-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It wasn't necessary.
| * | | | | Fix up documentation on RetryDelay.Nick Mathewson2022-03-162-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's no longer about downloads; it's about whatever you need to retry.
| * | | | | Move RetryDelay from dirmgr to basic-utils.Nick Mathewson2022-03-164-155/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This (almost) a pure code-movement commit: it also makes one public function private in order to suppress a warning.
| * | | | | RetryDelay: add accessors for stateNick Mathewson2022-03-161-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll need these for our unit tests in tor-dirmgr once we move RetryDelay into tor-basic-utils.
| * | | | | tor-basic-utils/Cargo.toml: reformat.Nick Mathewson2022-03-161-1/+2
| | |/ / / | |/| | | | | | | | | | | | | | | | | | This is a separate commit to avoid putting format changes in the next commit.
* | | | | Replace a match with some as_ref and asIan Jackson2022-03-161-4/+1
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | The match was doing a deref coercion. Found by current nightly's needless_match (whose suggestion doesn't compile, https://github.com/rust-lang/rust-clippy/issues/8551 )
* | | | make run_dns_resolver public and fix typotrinity-1686a2022-03-151-3/+2
|/ / /
* | | add simple unit test on UDPtrinity-1686a2022-03-144-2/+47
| | |
* | | fix typos and minor issuestrinity-1686a2022-03-143-16/+24
| | |
* | | actually add DNS supporttrinity-1686a2022-03-144-5/+89
| | |
* | | add skeleton for DNS handlingtrinity-1686a2022-03-145-14/+99
| | |
* | | add udp to runtimetrinity-1686a2022-03-1416-37/+314
| | |
* | | Merge branch 'main' into 'intern-more'Nick Mathewson2022-03-1412-95/+39
|\ \ \ | | | | | | | | | | | | # Conflicts: # doc/semver_status.md
| * \ \ Merge branch 'missing_shrink_to_fit' into 'main'eta2022-03-141-0/+7
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dirmgr: Call shrink_to_fit on missing-microdesc hashtable Closes #388 See merge request tpo/core/arti!399
| | * | | dirmgr: Call shrink_to_fit on missing-microdesc hashtableNick Mathewson2022-03-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This hashtable starts out pretty large, but it can spend most of our runtime (when we aren't downloading) being small. To avoid doing too much work, I've made it so we only call shrink_to_fit twice per consensus: once when we're no longer pending, and once when we're complete. Closes #388.
| * | | | Merge branch 'slice-from-ref' into 'main'eta2022-03-142-49/+21
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Simpify tor-netdoc TokVal See merge request tpo/core/arti!404
| | * | | | tor-netdoc: Actually, make TokVal be a VecIan Jackson2022-03-112-46/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enum was otiose: its set of valid values is precisely those of a Vec. (Indeed what would TokVal::Multi(vec![]) have meant?)
| | * | | | Remove a pointless sliceIan Jackson2022-03-111-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | std::slice::from_ref exists. Spotted while reviewing !400
| * | | | | Revert "humantime_serde_option: New module in tor-basic-utils"Ian Jackson2022-03-143-33/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have upstreamed this code. This reverts commit 6193c9d9742d1d19a45a0ee1c383858201304912.