summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | dirclient: Replace four very similar "ids in request"Ian Jackson2022-06-091-0/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | In reviewing !553 I noticed that the empty digest list error had to be handled in two places. I filed #492 about the duplication. In fact it turns out to have been quadruplication. The new code also avoids cloning the underlying objects, instead sorting a Vec of references.
* / / tor-bytes: Provide nested writersIan Jackson2022-06-091-0/+1
|/ /
* | Merge branch 'use-testing-rng'Nick Mathewson2022-06-071-3/+13
|\ \
| * | Rewrite tests in tor-netdir to use testing_rng()Nick Mathewson2022-06-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The randomized tests in this crate take a lot of iterations to converge, so they default to using a deterministic PRNG seed with few iterations and higher tolerance, and they only randomize the tests (with more iterations and tighter tolerances) when you explicitly opt in to randomization. (If you specify a seed explicitly, you're doing that to reproduce a randomized case, so we use the same behavior.)
| * | Use testing_rng() in tests throughout our crates.Nick Mathewson2022-06-021-0/+3
| |/ | | | | | | | | | | This only affects uses of thread_rng(), and affects them all more or less indiscriminately. One test does not work with ARTI_TEST_PRNG=deterministic; the next commit will fix it.
* | Merge branch 'llcrypto-openssl' into 'main'Nick Mathewson2022-06-071-0/+2
|\ \ | | | | | | | | | | | | | | | | | | add support for openssl backend in llcrypto Closes #442 See merge request tpo/core/arti!550
| * | add support for openssl backend in llcryptotrinity-1686a2022-05-301-0/+2
| | |
* | | Upgrade serial_test dev-dependency to 0.7.0Nick Mathewson2022-06-071-5/+6
| | |
* | | Upgrade float_eq dev-dependency to 1.0.0Nick Mathewson2022-06-071-2/+2
| | |
* | | Upgrade tls-api to latest versions in arti-hyper.Nick Mathewson2022-06-071-8/+9
| |/ |/|
* | New facility for deterministic and reproducible test PRNGs.Nick Mathewson2022-06-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | The new `testing_rng()` function is meant as a replacement for thread_rng() for use in unit tests. By default, it uses a randomly seeded RNG, but prints the seed before the test so that you can reproduce any failures that occur. You can override this via the environment to use a previous seed, or by using a deterministic seed for all your tests. Backend for #486.
* | arti config: Check that example config is exhaustiveIan Jackson2022-05-301-0/+3
|/ | | | This is the final piece of #457.
* Semantic version changes for Arti 0.4.0 releaseNick Mathewson2022-05-271-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | I followed the following procedure to make these changes: * I used maint/changed_crates to find out which crates had changed since 0.3.0. * I used grep and maint/list_crates to sort those crates in topological (dependency) order. * I looked through semver_status to find which crates were listed as having semver-relevant changes (new APIs and breaking changes). * I scanned through the git logs of the crates with no semver-relevant changes listed to confirm that, indeed, they had no changes. For those crates, I incremented their patch-level version _without_ changing the version that other crates depend on. * I scanned through the git logs of the crates with no semver-relevant changes listed to confirm that, indeed, they had no obvious breaking changes. * I treated all crates that depend on `arti` and/or `arti-client` as having breaking changes. * I identified crates that depend on crates that have changed, even if they have not changed themselves, and identified them as having a non-breaking change. * For all of the crates, I used `cargo set-version -p $CRATE --bump $STATUS` (where `STATUS` is `patch` or `minor`) to update the versions, and the depended-upon versions.
* Bump versions of trivially-changed crates.Nick Mathewson2022-05-271-7/+7
| | | | | | | | | | | | | | | | | | | These crates had only clippy fixes that do not affect their behavior: tor-bytes tor-cell tor-events tor-linkspec tor-netdir tor-socksproto This crate only had the cargo-husky dependency removed, which does not affect compatibility: tor-llcrypto Since these changes have no compatibility effects, it is not necessary to bump the versions of these crates which other crates depend on.
* Run "cargo update" in preparation for releaseNick Mathewson2022-05-271-4/+4
|
* Merge branch 'config-split' into 'main'Ian Jackson2022-05-261-0/+12
|\ | | | | | | | | | | | | Break TorClientConfig out of ArtiConfig and warn on unknown config keys Closes #459 and #417 See merge request tpo/core/arti!529
| * tor-config: Example for load moduleIan Jackson2022-05-241-0/+1
| |
| * tor-config: Support functions for tracking ignored config keysIan Jackson2022-05-241-0/+11
| | | | | | | | This turns out to need quite a complicated algorithm.
* | Run "cargo update" in preparation for the next release.Nick Mathewson2022-05-241-62/+48
|/
* Write custom serde impls for Trusted{User,Group}Nick Mathewson2022-05-241-0/+2
| | | | | | | | | | | | | | | | We support all of the following (in TOML notation): ``` user = "rose" # by name user = 413 # by ID user = false # no user user = ":current" # A 'special' user. user = { name: "rose" } user = { id: 413 } user = { special: ":none" } user = { special: ":current" } ```
* Add serde derives for MistrustBuilder.Nick Mathewson2022-05-241-0/+1
| | | | | | The Group and User (de)serialization is pretty ugly, and I can't vouch for the correcness of MistrustBuilder. I will seek feedback before I proceed.
* fs-mistrust: Add Group and User types.Nick Mathewson2022-05-241-0/+1
| | | | | This will help make the actual configuration more serializable, I hope.
* fs-mistrust: make Mistrust have a corresponding Builder type.Nick Mathewson2022-05-241-0/+1
| | | | | This is an approximately minimal revision to get Builder in place; subsequent commits will clean up the API.
* Update to newer sanitize-filename and tinystr.Nick Mathewson2022-05-231-4/+4
|
* channel: Provide and use Sink::prepare_send_fromIan Jackson2022-05-231-0/+4
| | | | | | | | | | | | | | | | | | | | This is a general-purpose implementation of the ad-hoc approach currently taken in (eg) crates/tor-proto/src/channel/reactor.rs, with an API intended to defned against the more obvious mistakes. This allows us to separate the two concerns: the channel reactor can focus on handling channel cells and control messages and is over 2.5x shorter. The complexity of the manual sink implementation, and the machinery needed to avoid having to suspend while holding an item, are dealt with separately. That separate implemenation now has proper documentation. (Tests are in the nest commit to avoid this one being even more unwieldy.) We use `extend` to define this as an extension trait. A competitor is `ext` but in my personal projects I have found `extend` slightly better.
* async-compression v0.3.12 -> v0.3.14Jim Newsome2022-05-201-8/+8
| | | | | | | This is to pick up https://github.com/Nemo157/async-compression/pull/148#issuecomment-1128862482 Fixes https://gitlab.torproject.org/tpo/core/arti/-/issues/473
* DirMgr: Improve display for DocSourceNick Mathewson2022-05-161-0/+1
| | | | (Also, implement Display for tor_dirclient::SourceInfo).
* Abolish arti-config, replacing with tombstone crateIan Jackson2022-05-131-17/+0
|
* arti-config abolition: Change references to use tor_configIan Jackson2022-05-131-0/+2
| | | | | | | | Generally, change the paths that mention the crate name to go via a module-level "use". This involves adding tor-config as a direct dependency for a few crates.
* arti-config abolition: Add deps to tor-configIan Jackson2022-05-131-0/+2
| | | | These are needed to support the code which is moving.
* arti-bench: Disable all fs permissions (fs-mistrust) checksIan Jackson2022-05-131-0/+1
| | | | | | | | | This is a benchmarking tool, and fs-mistrust doesn't like the permissions in our CI. The env var ARTI_FS_DISABLE_PERMISSION_CHECKS is (of course) specific to arti. Maybe it should be honoured here, or this should be done via the config files. But disabling this is fine for now.
* arti-example-config.toml: Re-un-comment the example settings in testIan Jackson2022-05-121-0/+1
|
* arti-config: Move cmdline to tor-configIan Jackson2022-05-111-0/+1
| | | | | | This does not know anything about arti, only about TOML and Config. Code motion, plus necessary import adjustments.
* ConfigurationSource: Move "usual" logic for constructionIan Jackson2022-05-111-0/+1
|
* Merge branch 'dirmgr-purification-2' into 'main'eta2022-05-101-0/+1
|\ | | | | | | | | Refactor the tor-dirmgr bootstrapping code more gracefully See merge request tpo/core/arti!488
| * tor-dirmgr/state.rs: feed through additional parameters, use themeta2022-05-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - The additional parameters passed to GetConsensusState are now passed through all the states, and used as well. - WriteNetDir doesn't have a now() or config() method any more, since the states now get this from the runtime or the config parameters. - This required modifying the tests to make a mocked runtime and custom config directly, instead of using DirRcv for this purpose. - Additionally, because we don't have to upgrade a weak reference for DirState::dl_config(), that function no longer wraps its return value in Result. - (A bunch of the FIXMEs from the previous commit that introduced the additional parameters have now been rectified as a result.)
* | Remove cargo-husky, and replace with manual instructionseta2022-05-101-7/+0
|/ | | | | | | | A build script reaching into your .git/hooks/ and modifying them nonconsensually was a bit of a horrifying concept, and also made it hard to build arti with the feature disabled. Remove this crate, and replace it with manual instructions on how to install the hooks in CONTRIBUTING.md.
* netdoc: add a new type for NicknamesNick Mathewson2022-05-091-0/+21
| | | | | | | | | | Relay nicknames are always between 1 and 19 characters long, and they're always ASCII: That means that storing them in a [u8;19] will always be possible, and always use less resources than storing them in a String. Fortunately, the tinystr crate already helps us with this kind of thing.
* Merge branch 'use-fs-mistrust'Nick Mathewson2022-05-091-0/+4
|\
| * arti: use fs-mistrust to validate configuration file locations.Nick Mathewson2022-05-091-0/+1
| |
| * arti-client: Configure and use fs-mistrust.Nick Mathewson2022-05-091-0/+3
| | | | | | | | | | | | This is derived from the environment, not the configuration file: We might not want to trust the configuration file until we've decided whether we like its permissions.
* | Bump the version of every* crate to 0.3.0Nick Mathewson2022-05-061-34/+34
| | | | | | | | * Except for safelog and fs-mistrust, which are new.
* | Merge branch 'derive-builder-fork' into 'main'Nick Mathewson2022-05-061-24/+27
|\ \ | | | | | | | | | | | | | | | | | | Switch to derive_builder_arti_fork Closes #446 See merge request tpo/core/arti!490
| * | Switch to derive_builder_arti_forkIan Jackson2022-05-061-24/+27
| |/ | | | | | | | | | | | | | | | | For reference, the git source for this crate (and the others in its workspace) currently lives in my personal github account (ijackson). If this fork turns out to be long-lived and gains features and/or users, it would be good to move it to a gitlab somewhere. I have granted Nick crate ownership on the crates.io system.
* | Apply `sensitive` in some info-level log messages.Nick Mathewson2022-05-061-0/+3
| | | | | | | | | | This specifically applies the `sensitive` wrapper in the places where we're logging target addresses at level "info" or higher.
* | Implement a safe-logging facility.Nick Mathewson2022-05-061-0/+66
|/ | | | | | This is a rough first-cut of an API that I think might help us with keeping limited categories of sensitive information out of our logs. I'll refine it based on experiences with using it.
* Run "cargo update" in preparation for a release... next week?Nick Mathewson2022-05-041-133/+133
|
* list_builder: Use Educe to derive DefaultIan Jackson2022-05-041-0/+1
| | | | | | This allows us to use this with an item builder type which doesn't impl Default. (Obviously this only makes sense for items which aren't actually builders.)
* Add dependency on paste crateIan Jackson2022-05-041-0/+1
| | | | The list accessor macro is going to want this.
* Merge branch 'path' into 'main'Ian Jackson2022-05-031-0/+32
|\ | | | | | | | | | | | | CfgPath overhaul Closes #449 See merge request tpo/core/arti!478