summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
...
* | memquota: Add a toplevel account in tor-chanmgrIan Jackson2024-10-031-0/+1
| | | | | | | | | | | | | | | | | | Plumb through a top-level account. This doesn't have any channel-specific, circuit-specific or stream-specific accounts yet. tor-circmgr's and tor-hsclient's *tests* need fake account. In arti-relay, use a dummy account for now.
* | tor-chanmgr: Provide a variant for memquota errorsIan Jackson2024-10-031-0/+1
|/
* tor-memquota: Add an example for HasMemoryCost deriveIan Jackson2024-10-021-0/+1
|
* Some HasMemoryCost impls in tor-protoIan Jackson2024-10-021-0/+2
|
* Some HasMemoryCost impls in tor-cellIan Jackson2024-10-021-0/+2
|
* Some HasMemoryCost impls in tor-linkspecIan Jackson2024-10-021-0/+1
|
* Some HasMemoryCost impls in tor-hscryptoIan Jackson2024-10-021-0/+2
|
* Some HasMemoryCost impls in tor-llcryptoIan Jackson2024-10-021-0/+2
|
* Some HasMemoryCost impls in tor-unitsIan Jackson2024-10-021-0/+2
|
* tor-memquota: Provide facilities for deriving HasMemoryCostIan Jackson2024-10-021-0/+1
|
* Merge branch 'socksproto-3' into 'main'Ian Jackson2024-10-011-0/+6
|\ | | | | | | | | | | | | New tor-socksproto API Closes #1627 See merge request tpo/core/arti!2436
| * arti-rpc-client-core: Use new tor-socksproto APIIan Jackson2024-10-011-0/+1
| |
| * tor-socksproto: Introduce new APIIan Jackson2024-10-011-0/+4
| |
| * tor-socksproto: Factor out return value handlingIan Jackson2024-10-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | This centralises the handling of return values, and paves the way for further deduplication. (The two return paragraphs were identical.) There's quite a lot of initial API surface to framework.rs. Some of that is going to be hidden, but we're also going to extend this to do more work. No functional change.
* | tor-async-utils: Provide tests for ErasedSinkTrySendErrorIan Jackson2024-10-011-0/+1
| |
* | tor-async-utils: Implement SinkTrySend for mpsc::SenderIan Jackson2024-10-011-0/+2
| |
* | Merge branch 'dyn-time' into 'main'Ian Jackson2024-10-011-0/+2
|\ \ | |/ |/| | | | | Provide a type-erased SleepProvider + CoarseTimeProvider and use it for memquota queues See merge request tpo/core/arti!2460
| * tor-memquota: Erase the CoarseTimeProvider from mq_queue::SenderIan Jackson2024-09-261-0/+1
| | | | | | | | | | | | | | | | | | | | Use tor_rtcompat::DynTimeProvider instead. Ultimately, we're going to want one of these in Channel etc. The CoarseTimeProvider generic argument then becomes pervasive. Instead, erase it. This will involve an indirect function call each time an item is inserted. I think that can't be helped.
| * tor-rtcompat: Introduce DynTimeProviderIan Jackson2024-09-261-0/+1
| | | | | | | | | | | | | | | | | | This will replace the internal ad-hoc DynCoarseTimeProvider in tor-memquota. We need this to be public because it's going to be shared by many of our protocol elements (eg ClientCirc, Channel, etc.) as they need to use it for their mq queues.
* | Merge branch 'typed-index-approx' into 'main'Nick Mathewson2024-09-301-3/+3
|\ \ | | | | | | | | | | | | Fix typed-index-collections versions to ~3.1.0 See merge request tpo/core/arti!2471
| * | Fix typed-index-collections versions to ~3.1.0Nick Mathewson2024-09-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Using the tilde here tells cargo not to bump to 3.2.x, which would require Rust 1.81.0. I wish we could say "don't use 3.2.x unless you're on Rust 1.81", but I don't see an easy way. Leaving this as-is breaks our CI.
* | | Merge branch 'orport' into 'main'opara2024-09-301-0/+1
|\ \ \ | |/ / |/| | | | | | | | tor-chanmgr: support multiple channels for a relay ID See merge request tpo/core/arti!2442
| * | tor-basic-utils: add `n_key_list` macroSteven Engler2024-09-231-0/+1
| | | | | | | | | | | | | | | This is based off of the `n_key_set` macro, but lets you store multiple items per key.
* | | Merge branch 'bug_1632' into 'main'Nick Mathewson2024-09-301-13/+98
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-llcrypto: replace simple_asn1 dependency with der-parser Closes #1632 See merge request tpo/core/arti!2462
| * | | tor-llcrypto: replace simple_asn1 dependency with der_parserMorgan2024-09-281-13/+98
| | |/ | |/|
* | | 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`.