summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | tor-memquota: Correct a wrong commentIan Jackson2024-07-241-2/+1
| | | | | | | | | | | | | | | There is no `p_used` here; what we meant was the very same `ClaimedQty.`
* | | tor-memquota: Tidy up a minor formatting glitch in a doc commentIan Jackson2024-07-241-1/+1
|/ /
* / Tweak documentation for wait_for_stop slightly.Nick Mathewson2024-07-231-1/+7
|/
* Merge branch 'expose-annotated' into 'main'Nick Mathewson2024-07-221-0/+15
|\ | | | | | | | | | | | | tor-netdoc: Dangerously expose annotation fields Closes #1469 See merge request tpo/core/arti!2213
| * tor-netdoc: Dangerously expose annotation fieldsClara Engler2024-06-211-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | This commit exposes the fields of `routerdesc::AnnotatedRouterDesc` and `routerdesc::RouterAnnotation` with the enabled feature `dangerous-expose-struct-fields`. On one side, it achieves a greater consistency among the other structures found within this module; On the other side it makes the already public API (assuming the feature above is enabled) useable. Fixes #1469
* | tor-keymgr: Fix ArtiNativeKeystore::contains() bug.Gabriela Moldovan2024-07-171-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug in `ArtiNativeKeystore`'s `Keystore::contains()` implementation: previously, it called Path::exists() on the relative path (built by concatenating the key specifier and the extension), so unless your current directory happened to be the root of the keystore, `contains()` would always return `false`. `KeyMgr::generate` uses `Keystore::contains()` under the hood, so it was affected by this bug too: if called `overwrite = false`, it would misbehave and overwrite any existing keys. Internally, we call `KeyMgr::generate` in a couple of places: * `tor-hsservice/src/lib.rs`, to generate the `hsid` if it doesn't already exist. This callsite is not affected by the bug, because `KeyMgr::generate` is only called if `KeyMgr::get` returns `None` * `tor-hsservice/src/ipt_mgr.rs`, to generate `KS_hss_ntor` and `KS_hs_ipt_sid` keys for intro point establishment. This callsite is also not affected (because it too calls `get()` before attempting to `generate()`) The bug affects any downstream users that use `KeyMgr::generate` with a key manager backed by `ArtiNativeKeystore`. ------ `KeyMgr::get_or_generate` is not affected, even though it calls `Keymgr::generate` (it performs a separate extra check before calling `generate()`). (Both suffer from a known TOCTOU race, but that's a separate matter.) As an aside, I'd like to somehow unify `KeyMgr::get_or_generate` and `KeyMgr::get` (I've had some attempts in the past but ended up abandoning them because the result was more unergonomic than the existing APIs). Part of #1492
* | tor-keymgr: Rename function to clarify it returns a relative path (fmt).Gabriela Moldovan2024-07-171-1/+2
| |
* | tor-keymgr: Rename function to clarify it returns a relative path.Gabriela Moldovan2024-07-171-15/+15
| |
* | tor-keymgr: Add test for ArtiNativeKeystore::contains.Gabriela Moldovan2024-07-171-0/+2
| | | | | | | | | | | | | | | | | | | | This new assertion fails, because the implementation of `ArtiNativeKeystore::contains()` is buggy: it calls Path::exists() on the relative path built by concatenating the key specifier and the extension (so unless your current directory happens to be the root of the keystore, contains() is always going to return false). Part of #1492
* | Merge branch 'arti-rpc-client-core-v4' into 'main'Nick Mathewson2024-07-1611-0/+1849
|\ \ | | | | | | | | | | | | Lower and middle levels of Arti rpc core, version 4. See merge request tpo/core/arti!2270
| * | RPC: Fix rustdoc links.Nick Mathewson2024-07-162-5/+5
| | |
| * | rpc: Rename response_err and add a TODO about removing itNick Mathewson2024-07-162-2/+7
| | |
| * | rpc: Add TODO about re-normalizing repliesNick Mathewson2024-07-161-0/+4
| | | | | | | | | | | | Also add a link to #1491 where we discuss it more.
| * | rpc: Adjust documentation about reply typesNick Mathewson2024-07-161-8/+16
| | |
| * | rpc: Make "meta" an Option.Nick Mathewson2024-07-161-6/+11
| | |
| * | rpc: Remove negotiation code.Nick Mathewson2024-07-162-53/+5
| | | | | | | | | | | | I think we'll need this again later, but for now it's redundant.
| * | rpc-client: Apply the rest of the big warning set.Nick Mathewson2024-07-164-4/+46
| | |
| * | rpc client: Documentation.Nick Mathewson2024-07-169-11/+179
| | |
| * | Tests and documentation about NULs in the RPC stream.Nick Mathewson2024-07-162-0/+20
| | |
| * | Make ErrorResponse (a string) our preferred way to return an error.Nick Mathewson2024-07-163-11/+56
| | | | | | | | | | | | | | | | | | | | | | | | If we return RpcError by default, we don't give a good way to actually access the original error string. (Nonetheless, we still enforce that errors can be decoded as RpcError.)
| * | rpc-client: Resolve some dead-code warnings.Nick Mathewson2024-07-163-23/+11
| | |
| * | rpc client: Remove Unvalidated{Reader,Writer}.Nick Mathewson2024-07-162-98/+33
| | |
| * | rpc client: resolve unused-foo warnings.Nick Mathewson2024-07-163-4/+2
| | |
| * | rpc-client: Expose a few types as pub.Nick Mathewson2024-07-161-0/+3
| | |
| * | Make RequestId and ObjectId public.Nick Mathewson2024-07-161-2/+2
| | |
| * | Add a TODO about refactoring should_alertNick Mathewson2024-07-161-0/+5
| | |
| * | Rename CmdError to ProtoError.Nick Mathewson2024-07-163-23/+23
| | |
| * | RPC: Implement connection negotiation.Nick Mathewson2024-07-165-29/+211
| | |
| * | WIP: Lower and middle levels of Arti rpc core.Nick Mathewson2024-07-1610-0/+1489
| | |
* | | Merge branch 'rpcbase-testing' into 'main'gabi-2502024-07-165-19/+200
|\ \ \ | |/ / |/| | | | | | | | A bit more test coverage in tor-rpcbase See merge request tpo/core/arti!2264
| * | rpcbase: tests for crate-level invoke functions.Nick Mathewson2024-07-152-20/+73
| | |
| * | rpc: Test a previously unchecked cast function.Nick Mathewson2024-07-151-0/+3
| | |
| * | rpc: Test some lower level dispatch internals.Nick Mathewson2024-07-152-3/+81
| | |
| * | rpc: Tests for method name checking.Nick Mathewson2024-07-151-0/+38
| | |
| * | rpc: Add a test for failed downcast.Nick Mathewson2024-07-151-0/+9
| | |
* | | tor-hsservice: Add OnionServiceBuilder, deprecate OnionService::new (fmt).Gabriela Moldovan2024-07-151-10/+8
| | |
* | | tor-hsservice: Add OnionServiceBuilder, deprecate OnionService::new.Gabriela Moldovan2024-07-153-7/+47
| | | | | | | | | | | | Closes #1490
* | | tor-hsservice: Abolish OnionServiceState (fmt).Gabriela Moldovan2024-07-151-24/+27
| | | | | | | | | | | | Includes both `cargo fmt` and some manual code motion.
* | | tor-hsservice: Abolish OnionServiceState.Gabriela Moldovan2024-07-151-38/+21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes a mostly-unnecessary struct holding the state of an `OnionService` or `RunningOnionService`. It only exists because I wanted to reduce the duplication of the `OnionService` and `RunningOnionService` fields. I am removing it because `OnionService` will soon become a builder, and this inner structure is making it difficult to create an ergonomic builder API (if we keep `OnionServiceState`, the builder fields won't map 1:1 to the fields of the build `OnionService` type). Note: this commit intentionally a bit misformatted to make reviewing easier. The reformatting will come in a future commit.
* | Merge branch 'dev/cve/handshake_clarification' into 'main'gabi-2502024-07-151-1/+1
|\ \ | | | | | | | | | | | | UnverifiedChannel: Clarify check's peer_cert See merge request tpo/core/arti!2260
| * | UnverifiedChannel: Clarify check's peer_certClara Engler2024-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | This commit clarifies the documentation of the `peer_cert` parameter in the `UnverifiedChannel::check` function, in order to reflect that it represents the certificate presented during the ServerHello in the TLS handshake and not in the in-protocol CERTS cell.
* | | tor-proto: Return proper `Error::MissingId`Clara Engler2024-07-121-1/+1
|/ / | | | | | | | | | | | | | | | | This commit fixes a bug in the `ClientCirc::extend_ntor` function, which currently returns a `Error::MissingId(Ed25519)` in the case that no RSA identity has been found in the accompanying channel target. This behavior is obviously wrong, because a missing RSA identity should yield a `Error::MissingId(Rsa)`.
* | implement TorClient::wait_for_stoptrinity-1686a2024-07-113-0/+29
| |
* | Merge branch 'fix-arti-hsc-subcommand' into 'main'gabi-2502024-07-113-5/+14
|\ \ | | | | | | | | | | | | arti: Add a keymgr feature. See merge request tpo/core/arti!2257
| * | arti: Gate the hsc subcommand behind the keymgr feature (fmt).Gabriela Moldovan2024-07-102-2/+10
| | |
| * | arti: Gate the hsc subcommand behind the keymgr feature.Gabriela Moldovan2024-07-102-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `arti hsc` subcommand can't run without keymgr support. Previously, it relied on `tor-keymgr/keymgr` being enabled indirectly by its dependencies, via the `experimental` feature. We need to be able to enable this feature in `arti` without relying on `experimental` (because `arti hsc` will eventually be made non-experimental). Part of #1487
| * | arti: Add a keymgr feature.Gabriela Moldovan2024-07-101-1/+2
| | | | | | | | | | | | | | | | | | | | | Adding a `keymgr` feature here will enable us to detect if `arti` is running without keymgr support. This is needed for the correct handling of subcommands that require keymgr support (such as the `arti hsc` subcommand).
* | | Merge branch 'mistrust-message' into 'main'Ian Jackson2024-07-108-16/+54
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Fix fs_mistrust error messages and some misnamed error variants Closes #1473 See merge request tpo/core/arti!2253
| * | tor-persist: Deprecate ErrorSource::Permissions, use InaccessibleIan Jackson2024-07-101-1/+9
| | |
| * | tor-dirmgr: Deprecate Error::CachePermissions, use CacheAccessIan Jackson2024-07-101-1/+12
| | |