summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'arti-1.2.8-bumps' into 'main'arti-v1.2.8Nick Mathewson2024-09-301-53/+53
|\ | | | | | | | | Version bumps for arti-1.2.8 release See merge request tpo/core/arti!2466
| * Bump "arti" crate to 1.2.8Nick Mathewson2024-09-301-1/+1
| | | | | | | | | | | | | | Generated with ``` cargo set-version --bump patchlevel -p arti ```
| * Bump arti- and tor- crates to 0.23.0Nick Mathewson2024-09-301-42/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Per our policy, every one of these gets a minor bump. Generated with: ``` for crate in $(./maint/list_crates | grep '^\(tor\|arti\)-' ); do cargo set-version --bump minor -p $crate; done ``` (Note the use of `-` at the end end of the grep pattern to prevent matching the `arti` crate.)
| * Minor bumps on non-tor/arti cratesNick Mathewson2024-09-301-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates are not in the tor/arti namespace, but we have given them MSRV bumps: ``` oneshot-fused-workaround slotmap-careful fslock-guard hashx equix caret fs-mistrust safelog test-temp-dir retry-error ``` We are counting this as a breaking change. Since all of these crates are at 0.x.x, we have indicated the breaking change with a minor version bump. This commit was generated with the following script: ``` BUMPS=" oneshot-fused-workaround slotmap-careful fslock-guard hashx equix caret fs-mistrust safelog test-temp-dir retry-error " for crate in $BUMPS; do cargo set-version --bump minor -p $crate; done ```
* | downgrade typed-index-collections to 3.1.0Nick Mathewson2024-09-301-2/+2
| | | | | | | | version 3.2.0 requires rust 1.81.
* | Run "cargo update" in preparation for 1.2.8Nick Mathewson2024-09-301-223/+192
|/
* Merge branch 'msrv-1.77-and-rusqlite-update' into 'main'David Goulet2024-09-261-12/+12
|\ | | | | | | | | Upgrade MSRV to 1.77 , and rusqlite to 0.32.1 See merge request tpo/core/arti!2451
| * Upgrade to rusqlite 0.32.1.Nick Mathewson2024-09-251-14/+14
| |
* | Upgrade to derive_more version 1.0.0Nick Mathewson2024-09-251-7/+31
| | | | | | | | | | | | The `derive_more` crate broke backward compatibility with this version, so this change involved quite a few manual fixups. With luck, they'll keep compatibility for some while in the future.
* | Upgrade to latest version of float-cmp.Nick Mathewson2024-09-251-2/+2
|/
* obfs4-checker: update axum to 0.7.6Steven Engler2024-09-241-121/+29
|
* add example: axum router as onion servicetidely2024-09-241-4/+100
|
* rtcompat: Add definitions for unix::SocketAddr.Nick Mathewson2024-09-241-0/+1
|
* tor-keymgr: added support for specifying keystore kind to ArtiKeystoreConfigMorgan2024-09-201-0/+1
|
* Merge branch 'rotate-keys' into 'main'gabi-2502024-09-201-0/+45
|\ | | | | | | | | | | | | arti: Add hsc subcommands for key rotation and deletion Closes #1475 See merge request tpo/core/arti!2435
| * arti: Add an hsc subcommand for rotating client keys.Gabriela Moldovan2024-09-191-0/+45
| | | | | | | | Part of #1475
* | tor-key-forge: encapsulate `define_ed25519_keypair` macro depsSteven Engler2024-09-181-3/+0
|/ | | | | | | | | This re-exports the types/traits needed by the `define_ed25519_keypair` macro so that the macro caller doesn't need to import a bunch of extra packages in its Cargo.toml that it doesn't use, and so that the caller doesn't need a `use prelude::*` before invoking the macro. This makes the macro nicer to use for the caller, and should prevent the macro from causing "cannot find ... in this scope" errors.
* relay: Try to generate long-term identity keyDavid Goulet2024-09-181-0/+2
| | | | | | | | | | | | When creating the KeyMgr, attempt to create the long-term identity key if none are found in the KeyMgr. Until the KeyMgr has certificate support, we can't create the certificate. Add a TODO comment item about future work needed there. Related to #1604 Signed-off-by: David Goulet <[email protected]>
* relay: Add KeyMgr to TorRelayDavid Goulet2024-09-181-0/+1
| | | | | | | | | | | | This is the first step before creating relay key definition and storing them into a keystore. The KeyMgr should be passed on the ChanMgr in later commit so the ChanMgr can use it for the authenticated channel handshake. Part of #1604 Signed-off-by: David Goulet <[email protected]>
* relay-crypto: Initial import of new tor-relay-crypto crateDavid Goulet2024-09-181-0/+14
| | | | | | | | | | | | | | | | | | | | | | | This adds a new crate called tor-relay-crypto which is responsible for declaring the relay keys and certificate that will be used by a relay and stored in a KeyMgr. This is in its own crate and considered pretty low level so other crates can use it to access the relay keys, like tor-proto, for cryptographic actions like channel authentication or descriptor signing. The lower level cryptographic keys are wrapped in a higher level object in this crate, using tor-key-forge crate, so we can have proper semantic and strong type check on those keys so they are not misused or confused with other keys. At this point, the key declaration might change once the KeyMgr supports attaching a certificate to a key. We are likely going to see more code related to certificate creation in this crate in the future. Part of #1604 Signed-off-by: David Goulet <[email protected]>
* key-forge: Add helper function and implement traitsDavid Goulet2024-09-181-0/+1
| | | | | | | | | | | | | | | Implement the signature::Signer and Ed25519PublicKey trait so the ed25519 keypair wrapper can be easily used for certificate creation. This also adds a to_ed25519_id() so we can get a Ed25519Identity which is an object used around. Finally, add a prelude module as the list of imports started to grow a bit out of control. Part of #1604 Signed-off-by: David Goulet <[email protected]>
* tor-bytes: derive impl PartialEq for ErrorIan Jackson2024-09-111-0/+1
| | | | | | | I just perpetrated a bug by adding a variant to this which ended up not PartialEq to itself. This open-coded match is a footgun. No functional change.
* tor-bytes: Error::Truncated: mark the deficit as SensitiveIan Jackson2024-09-101-0/+1
| | | | | Suggested in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2390#note_3072975
* Merge branch 'relay-err' into 'main'David Goulet2024-09-091-0/+3
|\ | | | | | | | | arti-relay: add and use `Error`/`ErrorDetail` See merge request tpo/core/arti!2392
| * arti-relay: add and use `Error`/`ErrorDetail`Steven Engler2024-09-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Most of this is copied from `arti_client::err`, but with a lot of stuff removed to simplify the error types (for example no `error_detail` feature handling). I tried to keep things generally consistent with arti-client so that error handling will be similar in both crates. `TorRelayBuilder::create()` will likely need to be fallible in the future (for example if spawning a task for the OR port listener fails), so it now returns a `Result<TorRelay, crate::err::Error>` instead of just a `TorRelay`.
* | rpclib: FFI for opening data streams.Nick Mathewson2024-09-091-0/+1
| | | | | | | | | | There's a blocking TODO here about exposing socks error codes that I still need to solve.
* | rpclib: Support opening a data stream.Nick Mathewson2024-09-091-0/+1
|/ | | | | | Requires #1523. Implements #1524.
* Rename tor-keys crate to tor-key-forgeDavid Goulet2024-09-041-19/+19
| | | | Signed-off-by: David Goulet <[email protected]>
* tor-keymgr: Use tor-keys crate and remove dead codeDavid Goulet2024-09-041-0/+2
| | | | | | | | | | | Everything copied in the previous commits to tor-keys is now removed and tor-keys crate is used accross the code. Minor changes to tor-keys to accomodate this change. Part of #1137 Signed-off-by: David Goulet <[email protected]>
* tor-keys: Move HS crypto keys impl from tor-keymgrDavid Goulet2024-09-041-0/+1
| | | | | | | | | | As stated in the comment added in this commit, this is temporary as we want tor-hscrypto to start using tor-keys and define these implementation there. Part of #1137 Signed-off-by: David Goulet <[email protected]>
* tor-keys: Copy several types/traits from tor-keymgrDavid Goulet2024-09-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move EncodableKey, ToEncodableKey and Keygen to tor-keys crate from tor-keymgr. To pull this off, an err.rs was added taken from tor-keymgr but stripped down to what was needed only. No code was changed in any of the files copied from tor-keymgr. Our deftly macro now auto implement these traits for the key wrapper type created. This gives the ability of the wrapper to be used by a tor-keymgr::Keystore. In order to pull this off, most of the SSH code has been moved into this crate (ssh.rs) meaning that its ABI/API now resides in the tor-keys trait outside of tor-keymgr. Note that Sealed was not put back because the deftly macro is designed to be used outside of this crate and thus implementing EncodableKey. The alternative is that we would need to force all arti keys to be declared in this crate which is not great because it then exposes all these key types to the world outside their subsystem. Part of #1137 Signed-off-by: David Goulet <[email protected]>
* tor-keys: Automatically implement keymgr traitDavid Goulet2024-09-041-0/+1
| | | | | | | | | | | | | | | | | The derive ed25519 keypair macro now implements the keymgr trait so the key wrapper can now be used with a keystore without needing to specify it in the tor-keymgr crate. For this to work, a slight change to the KeygenRng trait was needed as in to expect the CryptoRngCore trait which is what ed25519-dalek requires. And also, the removal of the Sealed trait since now it is accepted to implement these traits outside tor-keymgr. Fixes #1137 Signed-off-by: David Goulet <[email protected]>
* tor-keys: New crate for Tor key declarationDavid Goulet2024-09-041-0/+12
| | | | | | | | | | At this commit, we also add a derive-deftly macro for ed25519 keypair along a helper macro that can define a wrapper around a lower-level ed25519::Keypair. Part of #1137 Signed-off-by: David Goulet <[email protected]>
* arti: Proper testing of the memory limit config parsingIan Jackson2024-09-041-0/+1
| | | | | | Including testing that uncommenting the example generates a config with tracking enabled, and that the example low_water is the default value for the example max.
* arti-client: Unstable cargo feature for exposing info for testingIan Jackson2024-09-041-0/+1
|
* tor-memquota: Unstable cargo feature for exposing info for testingIan Jackson2024-09-041-0/+1
|
* connection-checker: Do not enable arti "experimental" featureIan Jackson2024-09-041-0/+1
| | | | | This breaks config tests in crates/arti which test configuration parsing of disabled experimental features.
* Add memquota cargo features to arti and arti-clientIan Jackson2024-09-041-0/+1
| | | | | | * In arti, memquota simply turns on in memquota arti-client * In arti-client, add an (unconditional) dependency on tor-memquota, and have the memquota feature turn on the feature in tor-memquota.
* tor-memquota: Rework optionality configurationIan Jackson2024-09-041-1/+0
| | | | | | | | | | | | | | | | | | Allow a `Config` to represent "this is supposed to be disabled". This involves wrapping the actual built configuration in an IfEnabled. We treat max = usize::MAX, or max being unspecified, as "disable". We can now reporting an error during config building if max is set but we're compiling the feature out. Conversely, we can now make `MemoryQuotaTracker::new()` unconditional, since enabled confiogurations are uninhabited when the feature is compiled out. We change how we derive the setters, deriving them from the Builder. I chose to abolish the use of derive_builder. See the new comment on ConfigBuilder.
* tor-memquota: Add unit tests for config handlingIan Jackson2024-09-041-0/+1
| | | | | We're about to change the config behaviour; adding these tests first allows us to demonstrate the changes.
* Bump arti crate to 1.2.7Gabriela Moldovan2024-09-031-1/+1
| | | | | | | | Done using: ``` cargo set-version --bump patch -p arti ```
* Bump all the unstable tor- and arti- crates to 0.22.0.Gabriela Moldovan2024-09-031-40/+40
| | | | | | | | | | Done using: ``` for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do cargo set-version -p $crate 0.22.0 done ```
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-09-031-6/+6
| | | | | | | | | | | | | | | | | | | | | This bumps the versions of the non-{arti,tor-} crates that have non-functional changes: - fslock-guard (updated rustdoc-args) - equix (comment typo fixes) - caret (updated rustdoc-args) - safelog (updated rustdoc-args) - retry-error (updated rustdoc-args) And of the pre-1.0.0 crates that have new APIs: - fs-mistrust (new `CheckedDir::metadata` API) Done using ``` for c in "${non_tor[@]}"; do maint/bump_nodep $c; done ``` where `non_tor` contains the list above
* oneshot-fused-workaround: Set the initial version to 0.1.0.Gabriela Moldovan2024-09-031-1/+1
| | | | This is the first time we're publishing this, so let's start at 0.1.0.
* tor-async-utils: Re-export oneshot-fused-workaround as oneshot.Gabriela Moldovan2024-09-031-0/+1
|
* Run cargo update in preparation for release.Gabriela Moldovan2024-09-021-259/+247
|
* Merge branch 'ahf/macos-cross-build' into 'main'Alexander Hansen Færøy2024-09-021-2/+3
|\ | | | | | | | | | | | | Fix reproducible build CI job for macOS Closes #1394 and #1507 See merge request tpo/core/arti!2377
| * Bump CC version to 1.1.15.Alexander Færøy2024-09-011-2/+3
| | | | | | | | Fixes: tpo/core/arti#1507.
* | Move stream_peek into tor-async-utilsJim Newsome2024-08-291-1/+3
| |
* | tor-rtmock: remove dependency on tor-async-utilsJim Newsome2024-08-281-1/+0
| | | | | | | | | | Now that `oneshot-fused-workaround` is its own crate, `tor-rtmock` doesn't need `tor-async-utils`.