summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
* Bump all arti*, tor* crates to 0.2.0Nick Mathewson2022-04-011-31/+31
| | | | | | | | Not all of these strictly need to be bumped to 0.2.0; many could go to 0.1.1 instead. But since everything at the tor-rtcompat and higher layers has had breaking API changes, it seems not so useful to distinguish. (It seems unlikely that anybody at this stage is depending on e.g. tor-protover but not arti-client.)
* Bump caret, retry-error to 0.1.1Nick Mathewson2022-04-011-2/+2
| | | | | | | | | | | | Unlike the rest of the crates, these don't have a "tor-" or "arti-" prefix, and are potentially used by code outside arti. With that in mind, it's probably for the best not to bump them to 0.2.0 along with the rest of our crates. They have had no changes since 0.1.0 other than refactoring and changing of clippy lints. Therefore, I'm not bumping the dependencies from other crates onto these: it's fine whether our other crates use caret/retry-error 0.1.0 or 0.1.1.
* Update Cargo.lock based on build.Nick Mathewson2022-04-011-4/+30
|
* Merge branch 'upgrade_pre_020' into 'main'Nick Mathewson2022-04-011-30/+31
|\ | | | | | | | | Run cargo upgrade/update in preparation for 0.2.0 See merge request tpo/core/arti!444
| * Final "cargo update" before 0.2.0Nick Mathewson2022-04-011-30/+31
| |
* | Directory filtering in arti-testing.Nick Mathewson2022-03-311-0/+4
| | | | | | | | | | | | | | | | | | This feature allows us to detect different failing cases for arti#329 that would otherwise be hard to induce. It works by filtering consensus directory objects and/or microdescriptor objects before introducing them to the directory manager. Closes #397.
* | tor-netdoc: Conditionally expose document fields.Nick Mathewson2022-03-311-0/+23
|/ | | | | | | | This commit uses the `visibility` and `visible` crates to conditionally make certain structs and their fields public (respectively). This is incredibly dangerous to use for anything besides testing, and I've tried to write the documentation for the feature accordingly.
* Use derive_more to derive AsRef.Nick Mathewson2022-03-301-0/+1
|
* Turn FallbackList into a real type, and store one in GuardMgr.Nick Mathewson2022-03-301-0/+2
| | | | | | | | | | | | | | The guard manager is responsible for handing out the first hops of tor circuits, keeping track of their successes and failures, and remembering their states. Given that, it makes sense to store this information here. It is not yet used; I'll be fixing that in upcoming commits. Arguably, this information no longer belongs in the directory manager: I've added a todo about moving it. This commit will break compilation on its own in a couple of places; subsequent commits will fix it up.
* Move fallback.rs into guardmgr.Nick Mathewson2022-03-301-0/+1
| | | | | | | This is the logical place for it, I think: the GuardMgr's job is to pick the first hop for a circuit depending on remembered status for possible first hops. Making this change will let us streamline the code that interacts with these objects.
* Make daemon tasks self-contained; introduce NetDirProvidereta2022-03-301-0/+1
| | | | | | | | | | | | | | | The various background daemon tasks that `arti-client` used to spawn are now handled inside their respective crates instead, with functions provided to spawn them that return `TaskHandle`s. This required introducing a new trait, `NetDirProvider`, which steals some functionality from the `DirProvider` trait to enable `tor-circmgr` to depend on it (`tor-circmgr` is a dependency of `tor-dirmgr`, so it can't depend on `DirProvider` directly). While we're at it, we also make some of the tasks wait for events from the `NetDirProvider` instead of sleeping, slightly increasing efficiency.
* Upgrade to rusqlite 0.27.0Nick Mathewson2022-03-291-4/+4
|
* Run cargo-update in preparation for Arti 0.2.0Nick Mathewson2022-03-291-96/+97
| | | | | (Doing this a few days ahead of time to give updated code time to get testing)
* dirclient: Remember the source of each resposne we receive.Nick Mathewson2022-03-211-0/+1
|
* derive_builder: more entries in Cargo.lockNick Mathewson2022-03-211-0/+6
|
* Move logging configuration from arti_config::options to arti::loggingIan Jackson2022-03-211-0/+1
| | | | Code motion and import fixups.
* Move ArtiConfig to new arti::cfg moduleIan Jackson2022-03-211-9/+6
| | | | Code motion and import fixups.
* Merge branch 'test-isolation' into 'main'Nick Mathewson2022-03-171-0/+20
|\ | | | | | | | | new api for isolation See merge request tpo/core/arti!377
| * replace Arc with Box and use dyn-clonetrinity-1686a2022-03-161-0/+7
| | | | | | | | this also removes JoinResult
| * use downcast-rs instead of our own AsAnytrinity-1686a2022-03-161-0/+13
| |
* | Merge branch 'config-partials-transparent' into 'main'Ian Jackson2022-03-171-0/+2
|\ \ | |/ |/| | | | | Absolish builders for CircMgrConfig and DirMgrConfig See merge request tpo/core/arti!417
| * Provide define_accessor_trait and use it to generate CircMgrConfigIan Jackson2022-03-161-0/+1
| |
| * Change type of TorClientConfig::override_net_paramsIan Jackson2022-03-161-0/+1
| | | | | | | | | | | | | | 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.
* | Merge branch 'derive-builder' into 'main'Ian Jackson2022-03-161-8/+3
|\ \ | |/ |/| | | | | derive_builder: Switch to upstream 0.11 See merge request tpo/core/arti!414
| * derive_builder: Switch to upstream 0.11Ian Jackson2022-03-161-8/+3
| | | | | | | | | | | | | | | | | | 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
* | Move RetryDelay from dirmgr to basic-utils.Nick Mathewson2022-03-161-0/+1
|/ | | | | This (almost) a pure code-movement commit: it also makes one public function private in order to suppress a warning.
* actually add DNS supporttrinity-1686a2022-03-141-0/+56
|
* Merge branch 'slice-from-ref' into 'main'eta2022-03-141-0/+1
|\ | | | | | | | | Simpify tor-netdoc TokVal See merge request tpo/core/arti!404
| * tor-netdoc: Actually, make TokVal be a VecIan Jackson2022-03-111-0/+1
| | | | | | | | | | This enum was otiose: its set of valid values is precisely those of a Vec. (Indeed what would TokVal::Multi(vec![]) have meant?)
* | Revert "humantime_serde_option: New module in tor-basic-utils"Ian Jackson2022-03-141-2/+0
| | | | | | | | | | | | We have upstreamed this code. This reverts commit 6193c9d9742d1d19a45a0ee1c383858201304912.
* | humantime: Update to humantime-serde 1.1.1Ian Jackson2022-03-141-2/+2
|/ | | | | | | | This has the humantime_serde::option module, which we have upstreamed and are about to switch to. The remaining dependency with version = "1" is going to be removed in a moment.
* Merge branch 'config-no-retcon' into 'main'Ian Jackson2022-03-101-2/+3
|\ | | | | | | | | Drop config back-conversion from FooConfig to FooConfigBuilder See merge request tpo/core/arti!391
| * Use git source for derive_builder for now, for attrs featureIan Jackson2022-03-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We are going to want to specify custom attributes on fields of the builder struct. This feature was missing from derive_builder. This commitid is the current head of my MR branch https://github.com/colin-kiegel/rust-derive-builder/pull/237 https://github.com/ijackson/rust-derive-builder/tree/builder-field-attrs Using the commitid prevents surprises if that branch is updated. We will require this newer version of derive_builder. The version will need to be bumped again later, assuming the upstream MR is merged and upstream do a release containing the needed changes.
| * humantime_serde_option: New module in tor-basic-utilsIan Jackson2022-03-071-0/+2
| | | | | | | | | | This will be used to allow our config *builder* structs to be Deserialize.
* | arti-testing: Initial support for broken TCP.Nick Mathewson2022-03-071-0/+1
|/ | | | | | This commit adds support for a BrokenTcp provider that can make connection attempts fail or time out. It doesn't yet have a way to turn on the failure.
* Merge branch 'educe-traits' into 'main'Ian Jackson2022-03-041-0/+48
|\ | | | | | | | | Replace many manual trait impls with use of educe See merge request tpo/core/arti!375
| * Move skip_fmt into tor-basic-utilsIan Jackson2022-03-041-6/+7
| | | | | | | | | | | | | | Code motion and the minimal mechanical changes. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/375#note_2783078
| * Introduce tor-basic-utilsIan Jackson2022-03-041-0/+7
| | | | | | | | Empty crate right now
| * Replace manual Debug impl with educe in arti-clientIan Jackson2022-03-021-0/+2
| |
| * Replace manual Clone impl with educe in arti-hyperIan Jackson2022-03-021-0/+1
| |
| * Replace manual Clone impl with educe in tor-rtcompatIan Jackson2022-03-021-0/+1
| |
| * Replace manual Debug impls with educe in tor-protoIan Jackson2022-03-021-0/+1
| | | | | | | | We now print slighly more information.
| * Replace manual Debug impl with educe in tor-dirmgrIan Jackson2022-03-021-0/+2
| |
| * Replace manual Debug impl with educe in tor-chanmgrIan Jackson2022-03-021-0/+2
| |
| * Replace manual Debug impl with educe in tor-cellIan Jackson2022-03-021-0/+1
| |
| * Replace manual Debug impl with educe in tor-guardmgrIan Jackson2022-03-021-0/+2
| |
| * Replace manual Debug impl with educe in tor-circmgrIan Jackson2022-03-021-0/+2
| |
| * Import educe into tor-bytes and provide skip_fmtIan Jackson2022-03-021-0/+26
| | | | | | | | Preparatory work for getting rid of some manual Debug impls
* | Merge branch 'arti-testing-part1' into 'main'eta2022-03-041-0/+23
|\ \ | | | | | | | | | | | | arti-testing: Initial implementation See merge request tpo/core/arti!378
| * | arti-testing: Initial implementationNick Mathewson2022-03-031-0/+23
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new program to try to implement the ideas behind experimentation in arti#329. In particular, it tries to implement basic client "can I bootstrap and connect" functionality testing, with a lot of instrumentation, and support for breaking things. So far, the instrumentation is limited to counting TCP bytes and connections, and counting events. Still, this is enough to measure behavior on some of the incorrect-clock tests. NOTE: For now, you are _required_ to pass in an explicit configuration, in hopes that this will lead you to override your storage directories for doing specific experiments.