summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | tor-dirmgr: Remove redundant hashtable.Nick Mathewson2022-03-162-22/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using a hashtable to keep track of missing microdescriptor digests. But this information is redundant with the NetDir state, and there's now no longer any performance benefit to keeping a separate copy. Part of #386.
| * | | | NetDir: Use less space in hash tablesNick Mathewson2022-03-161-61/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously kept missing-MD entries and present-MD entries all in the same HashSet, which resulted in using more slack space than we need. Now we use separate tables, so we can drop missing-MD entries as we move forward. Also, when constructing a NetDir, set its hash tables to their final capacities. This also lets us simplify some of our missing-md-listing code a lot.
* | | | | Merge branch 'set_iso_group_redux' into 'main'Ian Jackson2022-03-175-5/+13
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Alternative API for set_isolation_group(). See merge request tpo/core/arti!418
| * | | | 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.
* | | | Update semver_status.md for isolation changesNick Mathewson2022-03-171-0/+4
| | | |
* | | | Merge branch 'test-isolation' into 'main'Nick Mathewson2022-03-1712-214/+460
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 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-164-95/+69
| | | | | | | | | | | | | | | | | | | | 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-163-15/+17
| | | | |
| * | | | 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-1713-153/+207
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Absolish builders for CircMgrConfig and DirMgrConfig See merge request tpo/core/arti!417
| * | | | | semver notes.Ian Jackson2022-03-161-0/+6
| | | | | |
| * | | | | 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-164-20/+82
| | | | | |
| * | | | | 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-164-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge branch 'typos' into 'main'Nick Mathewson2022-03-161-1/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | Fix typo See merge request tpo/core/arti!416
| * | | | | Fix typoDimitris Apostolou2022-03-161-1/+1
|/ / / / /
* | | | | Merge branch 'derive-builder' into 'main'Ian Jackson2022-03-1612-25/+21
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | derive_builder: Switch to upstream 0.11 See merge request tpo/core/arti!414
| * | | | derive_builder: Switch to upstream 0.11Ian Jackson2022-03-1611-25/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | downgrade_dependencies: Upgrade darlingIan Jackson2022-03-161-0/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new version of derive_builder requires a newer darling. Ooops. Upstream MR here: https://github.com/colin-kiegel/rust-derive-builder/pull/242 For now, upgrade darling. When there's a new upstream derive_builder, we can use it and drop this.
* | | | Merge branch 'move-retry-delay' into 'main'Ian Jackson2022-03-165-153/+179
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 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-165-155/+171
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'clippy' into 'main'Nick Mathewson2022-03-161-4/+1
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Replace a match with some as_ref and as See merge request tpo/core/arti!413
| * | | 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 )
* | | Merge branch 'testing_dns_port' into 'main'Ian Jackson2022-03-162-3/+3
|\ \ \ | | | | | | | | | | | | | | | | Use port 35353 for testing, not 5353. See merge request tpo/core/arti!408
| * | | Use port 35353 for testing, not 5353.Nick Mathewson2022-03-152-3/+3
| |/ / | | | | | | | | | | | | Apparently 5353 is commonly used for mDNS, and so counts as "already in use" on many consumer machines.
* | | Merge branch 'dns' into 'main'Nick Mathewson2022-03-151-3/+2
|\ \ \ | |/ / |/| | | | | | | | fix rust-nightly CI job See merge request tpo/core/arti!409
| * | make run_dns_resolver public and fix typotrinity-1686a2022-03-151-3/+2
|/ /
* | Merge branch 'dns' into 'main'Nick Mathewson2022-03-1423-46/+614
|\ \ | | | | | | | | | | | | Add DNS resolver support to arti See merge request tpo/core/arti!390