summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
* Bump patchlevel versions on crates with smaller changesNick Mathewson2023-06-301-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done with the commands below. The following crates have had various changes, and should get a patchlevel bump. Since they are pre-1.0, we do not need to distinguish new APIs from other changes. ``` cargo set-version --bump patch -p arti-client cargo set-version --bump patch -p safelog cargo set-version --bump patch -p tor-bytes cargo set-version --bump patch -p tor-cert cargo set-version --bump patch -p tor-circmgr cargo set-version --bump patch -p tor-config cargo set-version --bump patch -p tor-consdiff cargo set-version --bump patch -p tor-dirclient cargo set-version --bump patch -p tor-dirmgr cargo set-version --bump patch -p tor-error cargo set-version --bump patch -p tor-hsservice cargo set-version --bump patch -p tor-linkspec cargo set-version --bump patch -p tor-llcrypto cargo set-version --bump patch -p tor-netdir cargo set-version --bump patch -p tor-netdoc cargo set-version --bump patch -p tor-proto cargo set-version --bump patch -p tor-rpcbase cargo set-version --bump patch -p tor-socksproto ``` This crate has new features, but no new non-experimental Rust APIs. So even though it is post-1.0, it gets a patchlevel bump. ``` cargo set-version --bump patch -p arti ```
* Bump minor versions on crates with breaking changesNick Mathewson2023-06-301-4/+4
| | | | | | | | | | Done with: ``` cargo set-version --bump minor -p tor-hsclient cargo set-version --bump minor -p arti-rpcserver cargo set-version --bump minor -p tor-hscrypto cargo set-version --bump minor -p tor-cell ```
* Bump versions on crates with nonfunctional changesNick Mathewson2023-06-301-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates have had nonfunctional changes only, mostly due to !1271, or ac90cb7500f2f108, or documentation changes: crates that depend on them do not require a version bump. ``` arti-bench arti-config arti-hyper arti-testing caret fs-mistrust retry-error tor-async-utils tor-basic-utils tor-chanmgr tor-checkable tor-congestion tor-consdiff tor-events tor-guardmgr tor-persist tor-protover tor-ptmgr tor-rtcompat tor-rtmock tor-units ```
* keymgr: Remove ArtiPath normalization, introduce additional restrictions.Gabriela Moldovan2023-06-291-13/+23
|
* Merge branch 'update' into 'main'Ian Jackson2023-06-291-188/+212
|\ | | | | | | | | Run "cargo update" in preparation for Friday release. See merge request tpo/core/arti!1338
| * Run "cargo update" in preparation for Friday release.Nick Mathewson2023-06-291-188/+212
| |
* | Merge branch 'netdir_by_rsa_experimental_apis' into 'main'Nick Mathewson2023-06-291-0/+1
|\ \ | | | | | | | | | | | | netdir: Conditionally expose APIs for working with unusable relays; document what "usable" means. See merge request tpo/core/arti!1325
| * | netdir: Conditionally expose some by_rsa APIs as experimental.Nick Mathewson2023-06-291-0/+1
| |/ | | | | | | | | | | | | Network-health wants these to see whether a given relay is listed in the consensus. cc @juga
* / keymgr: Add tests for ArtiNativeKeyStore::key_path.Gabriela Moldovan2023-06-291-0/+1
|/
* HS configuration: Add retry parameters to configurationIan Jackson2023-06-281-0/+1
| | | | | | | I think these should go in `[circuit_timing]`. That section already has some retry parameters, so is not strictly *timing*. This is not honoured yet.
* arti cfg tests: Overhaul exception handlingIan Jackson2023-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was super confusing and fragile. Amongst the problems: * Information about exceptional config keys was spread across a number of places, manipulated in ad-hoc ways (conditional Vec appends, etc). * As a consequence, each exceptional table has confusing and unclear semantics. * It doesn't deal well with the way that cargo sometimes enables features for dependency crates even if arti itself wouldn't demand them; this can lead to sub-crates supporting config keys when the tests in arti don't expect them to, causing spurious test failures. Fix this: * Introduce a new, systematic, way of writing information about configuration keys that need some kind of special handling. * Use this new approach in *both* sets of "thorough" config tests. * Be more relaxed about deprecated keys. We don't want to tightly couple this to absence in the supported file, I think. * Understand more clearly the concept of keys of which we don't know, in the current build config, whether the code is expected to accept them. I have tested this locally with: for p in '-p arti' '--workspace'; do for f in '--no-default-features --features=tokio,native-tls' '--all-features' ''; do nailing-cargo test $p $f; done; done
* Back down x25519-dalek to 2.0.0-pre.1 from 2.0.0-rc.2pinkforest2023-06-271-50/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ========================= Notes from nickm: (This differs from pinkforest's original MR: It removes the Cargo.lock changes and the version bump on tor-llcrypto.) Minimal Cargo.lock changes from downgrade. (These are exactly those changes generated by running "build" and "test".) There are several reasons to do this: * It's best to bump all of our dalek dependencies at once to rc.3 or later, rather than the piecemeal approach we've been stuck with so far. * We don't want to do this bump right now, since there are some tricky questions about clamping we need to figure out (see #808), and we need to make sure we get them right, and we're in a distracted this week. * We _do_ need to move away from 2.0.0-rc.2 right now, since it was causing a failure in `cargo install arti`, and then it got yanked. Thanks to pinkforest for helping us out here and explaining all of this! Fixes #926. Commit-edited-by: Nick Mathewson <[email protected]>
* Merge branch 'upgrade-itertools' into 'main'gabi-2502023-06-261-2/+2
|\ | | | | | | | | Upgrade to itertools 0.11.0 See merge request tpo/core/arti!1306
| * Upgrade to itertools 0.11.0Nick Mathewson2023-06-261-2/+2
| | | | | | | | The breaking changes here do not seem to affect us.
* | keymgr: Create a KeyStoreError trait for keystore errors.Gabriela Moldovan2023-06-261-0/+1
|/ | | | | | The new `BoxedError` type will replace `tor_keymgr::Error`. Part of #901
* netdoc: Use a dev-dependency on anyhow to fix a doc exampleNick Mathewson2023-06-221-0/+1
|
* Merge branch 'socks_errorkinds' into 'main'Nick Mathewson2023-06-221-0/+1
|\ | | | | | | | | | | | | Generate correct-ish socks5 errors for onion service errors. Closes #736 See merge request tpo/core/arti!1279
| * New ErrorKind for invalid onion addressesNick Mathewson2023-06-221-0/+1
| | | | | | | | Use this to emit HS_BAD_ADDRESS as appropriate.
* | Merge branch 'hsdesc-accessors' into 'main'Ian Jackson2023-06-211-0/+48
|\ \ | | | | | | | | | | | | | | | | | | netdoc: Use derive amplify::Getters for HsDesc accessors. Closes #909 See merge request tpo/core/arti!1266
| * | netdoc: Use derive amplify::Getters for HsDesc accessors.Nick Mathewson2023-06-201-0/+48
| | | | | | | | | | | | Closes #909.
* | | Upgrade to memmap2 0.7Nick Mathewson2023-06-211-2/+2
| | |
* | | Upgrade to strum 0.25.Nick Mathewson2023-06-211-5/+5
| |/ |/|
* | Merge branch 'geoip-nullity-fromstr' into 'main'Nick Mathewson2023-06-211-0/+1
|\ \ | | | | | | | | | | | | Followups wrt country-code robustness See merge request tpo/core/arti!1268
| * | geoip: Make ?? a little more bullet-proofNick Mathewson2023-06-201-0/+1
| | | | | | | | | | | | We want to make sure that ?? is always None, never a CountryCode.
* | | Bump openssl because RUSTSEC-2023-0044Ian Jackson2023-06-211-4/+4
| | |
* | | Merge branch 'keymgr-refactor-fs-ops' into 'main'gabi-2502023-06-201-0/+1
|\ \ \ | |/ / |/| | | | | | | | keymgr: Move FS operations out of KeyType impl See merge request tpo/core/arti!1263
| * | keymgr: Move FS operations out of ssh.rsGabriela Moldovan2023-06-201-0/+1
| |/ | | | | | | | | | | | | This moves the filesystem calls from the `ssh` module to `ArtiNativeKeyStore`. While `ArtiNativeKeyStore` shouldn't be concerning itself with filesystem operations either, that refactoring will be tackled separately (see arti#899).
* | Merge branch 'add-tor-geoip' into 'main'Nick Mathewson2023-06-201-2/+18
|\ \ | |/ |/| | | | | tor-geoip: Add new crate with GeoIP database functionality See merge request tpo/core/arti!1239
| * tor-geoip: Add new crate with GeoIP database functionalityeta2023-06-201-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - This adds a new crate, `tor-geoip`, which can parse and perform lookups in the GeoIP database C-tor already uses (generated by a maintenance utility in the C-tor codebase). - We embed a copy of C-tor's databases with the crate and use `include_str!` to ship them with the binary, bloating its size somewhat. - This does, however, solve the problem of figuring out how to distribute these. - The plan is to gate this functionality behind a feature flag anyway, so the cost should be nil unless explicitly opted into. Part of tpo/core/onionmasq#47.
* | keymgr: Add an error variant for fs_mistrust errors.Gabriela Moldovan2023-06-201-0/+1
| | | | | | | | | | This will be useful later, when `KeyMgr` will start validating permissions and paths.
* | Merge branch 'arti-client' into 'main'Alexander Færøy2023-06-191-0/+1
|\ \ | | | | | | | | | | | | Sort out .onion handling in arti-client See merge request tpo/core/arti!1257
| * | arti-client: Provide ErrorDetailDiscriminants for convenient testingIan Jackson2023-06-161-0/+1
| | | | | | | | | | | | | | | ErrorDetail isn't PartialEq so we can't assert_eq! it. But the discriminants will be.
* | | Merge branch 'netdoc-todos' into 'main'Nick Mathewson2023-06-161-0/+1
|\ \ \ | |/ / |/| | | | | | | | Resolve many TODO HS items in tor-netdoc See merge request tpo/core/arti!1251
| * | netdoc: use ct_lookup for rend descriptor cookie lookupNick Mathewson2023-06-161-0/+1
| | | | | | | | | | | | | | | (I doubt that there is a viable side channel here, but still we might as well get in the habit of doing these things properly.)
* | | keymgr: Move the HS client and service key specifiers out of tor-keymgr.Gabriela Moldovan2023-06-151-0/+1
| | | | | | | | | | | | | | | | | | The HS `HsClientSpecifier` and `HsClientSecretKeySpecifier` are moved to `tor-hsclient`. The HS service secret key specifier stubs are moved to `tor-hsservice`.
* | | keymgr: Add key manager implementation stub.Gabriela Moldovan2023-06-151-0/+1
| | |
* | | keymgr: Add ArtiNativeKeyStore implementation skeleton.Gabriela Moldovan2023-06-151-11/+246
|/ / | | | | | | | | This adds implementation stubs for `ArtiNativeKeyStore`, and introduces the traits needed to make the `KeyStore` APIs work.
* | Upgrade async-trait requirement to 1.54Nick Mathewson2023-06-121-3/+3
| | | | | | | | | | | | | | | | We need the fix from [82d69902], which first appeared in async-trait version 1.54. (Technically we only need this fix in tor-hsclient, but we may as well update our minimal async-trait version everywhere.) [82d69902]: https://github.com/dtolnay/async-trait/commit/82d69902535f5cb7f5d9e1ea4168c64abd496389
* | tor-hsclient: Implement rendezvous setup, and retry frameworkIan Jackson2023-06-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This contains code to: * Iterate over introduction points * Make multiple attempts to connect * Apply timeouts to the various phases of each attempt * Establish a rendezvous point * Represent errors that occur during the above It provides places to add: * Implementation of the INTRODUCE1/INTRODUCE_ACK handshake * Reception of RENDEZVOUS2 and actual end-to-end circuit establishment * Recording of the outcome of connection attempts via particular IPTs * Using previous IPT outcome information for selecting IPTs to try * Tests of the new code (although more mocking will probably be needed) Much of this code works with a fixed type ClientCirc rather than going via the Mockable traits. That is wrong, and it will be fixed later.
* | tor-hscrypto: implement Rng.gen() for RendCookieIan Jackson2023-06-091-0/+1
|/
* Merge branch 'ipt_to_circtarget' into 'main'Nick Mathewson2023-06-071-0/+1
|\ | | | | | | | | Construct a CircTarget from an IntroPointDesc. See merge request tpo/core/arti!1221
| * hsclient: Create a CircTarget from an IntroPointDesc.Nick Mathewson2023-06-071-0/+1
| | | | | | | | | | The main body of this function is written so that we can later use it to create a CircTarget from an INTRODUCE2 message.
* | Merge branch 'remove_arrayref' into 'main'Nick Mathewson2023-06-061-11/+0
|\ \ | | | | | | | | | | | | | | | | | | Remove use of arrayref Closes #872 See merge request tpo/core/arti!1214
| * | tor-cell: remove use of arrayrefNick Mathewson2023-06-011-7/+0
| | | | | | | | | | | | Closes #872
| * | tor-llcrypto: remove use of arrayrefNick Mathewson2023-06-011-1/+0
| | |
| * | tor-netdoc: remove use of arrayref.Nick Mathewson2023-06-011-1/+0
| | |
| * | tor-proto: Remove use of arrayref.Nick Mathewson2023-06-011-1/+0
| | |
| * | tor-bytes: Remove use of arrayrefNick Mathewson2023-05-251-1/+0
| | | | | | | | | | | | | | | Part of #872: Now that const generics are in, we have better ways to express converting slices into array-references.
* | | arti: Interpret socks request to mean "lookup an RPC session"Nick Mathewson2023-06-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The actual decoding here is just a placeholder. The important part is that we can get either a (SessionId, StreamId) tuple out of the request, or we treat it as part of an isolation token. This commit has a few TODOs for additional things that we'll need in order to build out our design.
* | | RPC: Implement a "global identifier" for non-session-bound IDsNick Mathewson2023-06-051-0/+18
| | | | | | | | | | | | | | | | | | | | | These identifiers are actually only "global" with respect to a given `RpcMgr`, but they should not be forgeable or reusable across RpcMgr objects. We're going to use them so that we have a kind of identifier for `TorClient`s that we can expose to SOCKS.