summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | tor-keymgr: keystore::arti::tests: More intuitive assert_eq!playbahn2025-03-262-3/+2
| | |
* | | tor-keymgr: keystore::arti: Rework ssh-keygen interop testsplaybahn2025-03-261-63/+82
| | | | | | | | | | | | Closes #1455 [PATCH 4(v2)/4]
* | | tor-keymgr: keystore::arti::ssh: Rework ssh-keygen interop testsplaybahn2025-03-261-30/+52
| | | | | | | | | | | | Part of #1455 [PATCH 3(v2)/4]
* | | tor-keymgr: Rework utils for ssh-keygen interop testsplaybahn2025-03-261-52/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #1455 [PATCH 2(v2)/4] - Rework sshkeygen::ed25519_encoded to also work as replacement for sshkeygen::exists - Drop sshkeygen::exists - Rename sshkeygen::{ed25519_encoded -> sshkeygen_ed25519_strings} - Pull out sshkeygen_ed25519_strings from mod sshkeygen - Drop mod sshkeygen
* | | tor-keymgr: Remove unused importsplaybahn2025-03-262-2/+0
| | | | | | | | | | | | _sigh_
* | | tor-keymgr: keystore::arti: Add tests for ssh-keygen interopplaybahn2025-03-261-65/+100
| | | | | | | | | | | | Closes #1455 [PATCH 4/4]
* | | tor-keymgr: keystore::arti::ssh: Add tests for ssh-keygen interopplaybahn2025-03-261-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #1455 [PATCH 3/4] Abstract of the test(s): Encoded (key) A -> Decoded (key) A Decoded A -> Encoded B Encoded B -> Decoded B Assert that Decoded A == Decoded B
* | | tor-keymgr: test_utils: Add ssh-keygen interop test utilsplaybahn2025-03-261-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #1455 [PATCH 2/4] Utils include: - mod sshkeygen - sshkeygen::exists - check if ssh-keygen is available - sshkeygen::ed25519_encoded - generate encoded Ed25519 keys
* | | tor-keymgr: dependency ssh-key: features: +allocplaybahn2025-03-261-1/+1
| | | | | | | | | | | | | | | | | | Part of #1455 [PATCH 1/4] ssh_key::{PrivateKey, PublicKey}::to_openssh requires feature alloc
* | | tor-keymgr: test_utils: Fix typo: TestSpecifier::new paramplaybahn2025-03-261-2/+2
|/ / | | | | | | | | | | | | TestSpecifier::new(prefix: ...) -> new(suffix: ...) Prefix is given by TestSpecifier::path_prefix() which returns const TEST_SPECIFIER_PATH = "..."
* | tor-proto: remove unnecessary `Option` from `circuit_action`Steven Engler2025-03-262-10/+9
| |
* | tor-proto: fix possible bug when there are no ready streamsSteven Engler2025-03-261-13/+21
| |
* | Merge branch 'use-patch-pwd-grp' into 'main'Jim Newsome2025-03-264-12/+28
|\ \ | | | | | | | | | | | | fix compiling fs-misstrust on tvOS See merge request tpo/core/arti!2890
| * | fix compiling fs-misstrust on tvOSyaucp2025-03-264-12/+28
| | |
* | | Merge branch 'dev/cve/pareto-cast' into 'main'Nick Mathewson2025-03-261-1/+1
|\ \ \ | | | | | | | | | | | | | | | | tor-circmgr: Explicit type annotation See merge request tpo/core/arti!2886
| * | | tor-circmgr: Explicit type annotationClara Engler2025-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds an explicit type annotation to the learning_timeouts() function, as leaving it out yielded an error while trying to compile tor-circmgr in a project that had this crate deep down in its supply chain.
* | | | Merge branch 'main' into 'main'gabi-2502025-03-261-86/+149
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | tor-keymgr: Implemented test improvements Closes #1888 See merge request tpo/core/arti!2848
| * | | tor-keymgr: Introduce ItemMetadata type for testing.vijayabhaskar_782025-03-261-86/+149
| |/ /
* | | Merge branch 'rpc-configuration' into 'main'opara2025-03-253-3/+142
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Cleanups related to rpc configuration Closes #1309 and #1830 See merge request tpo/core/arti!2887
| * | | Add examples and tests for RPC options.Nick Mathewson2025-03-253-3/+121
| | | | | | | | | | | | | | | | Closes #1830.
| * | | arti: warn when rpc options are set without rpc feature.Nick Mathewson2025-03-251-0/+21
| | | | | | | | | | | | | | | | Closes #1309.
* | | | Merge branch 'circuit-action' into 'main'opara2025-03-253-16/+31
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | tor-proto: simplify `ConfluxSet::circuit_action` See merge request tpo/core/arti!2884
| * | | tor-basic-utils: move `flatten` from tor-protoSteven Engler2025-03-252-10/+15
| | | | | | | | | | | | | | | | I also added an additional non-doc TODO comment.
| * | | tor-proto: simplify tunnel `run_once`Steven Engler2025-03-241-7/+1
| | | | | | | | | | | | | | | | As far as I can tell, the extra drop handling code isn't needed anymore.
| * | | tor-proto: remove `CircuitActionResult` aliasSteven Engler2025-03-241-4/+1
| | | | | | | | | | | | | | | | | | | | I think the return type is simplified enough now that we don't need this.
| * | | tor-proto: change `ConfluxSet::next_circ_action` to return a `Future`Steven Engler2025-03-242-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | Now returns only the first item of the stream rather than the stream itself. We use this in `Reactor::run_once`, which means we only ever use the first item anyways.
| * | | tor-proto: rename `ConfluxSet::circuit_action` to `next_circ_action`Steven Engler2025-03-242-6/+6
| | | |
* | | | Revise READMEs for RPC crates.Nick Mathewson2025-03-253-20/+24
| | | | | | | | | | | | | | | | | | | | | | | | We'll want to add more text here, but that should probably wait until we have a permanent home for the rendered RPC documentation. (see #1829)
* | | | Mark rpc features as non-experimental.Nick Mathewson2025-03-252-4/+6
| |/ / |/| |
* | | Merge branch 'choose_multiple_cleanup' into 'main'Nick Mathewson2025-03-253-11/+116
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Cleanups and followups for rand 0.9 choose_multiple_weighted and friends. Closes #1903 See merge request tpo/core/arti!2880
| * | | netdir: Add a (hopefully) temporary workaroundNick Mathewson2025-03-251-3/+27
| | | | | | | | | | | | | | | | | | | | Instead of doing the more sensible thing when every relay has weight 0, give a warning message.
| * | | netdir: Add a note about using f64Nick Mathewson2025-03-251-0/+8
| | | |
| * | | netdir: Another test for choose_multiple_weighted.Nick Mathewson2025-03-251-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | Here we test the (arguably inconsistent behavior) where can we return fewer items than requested if no item had zero weight. (If this ever becomes an error, we need to modify the calling code.)
| * | | netdir: Warn on unexpected WeightedErrorsNick Mathewson2025-03-251-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | WeightedError::InsufficientNonzero is expected under some circumstances, but the other instances would mean that we have a bug.
| * | | netdir: add a test to verify weighted samplingNick Mathewson2025-03-251-3/+37
| | | | | | | | | | | | | | | | | | | | We want to make sure that behavior for 0-weighted elements is consistent for choose_multiple_weighted and choose_weighted.
| * | | circmgr: test behavior of IteratorRandom::choose_multipleNick Mathewson2025-03-251-1/+15
| | | |
* | | | Merge branch 'circuit-cmd' into 'main'gabi-2502025-03-253-66/+155
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-proto: Replace RunOnceCmdInner with CircuitCmd in Circuit impl See merge request tpo/core/arti!2881
| * | | | tor-proto: Add a TODO about supporting incoming streams with conflux.Gabriela Moldovan2025-03-241-0/+1
| | | | |
| * | | | tor-proto: Clarify the semantics of various CircuitCmds.Gabriela Moldovan2025-03-241-3/+3
| | | | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2881#note_3178624
| * | | | tor-proto: Add a TODO about the unnecessary Vec allocations.Gabriela Moldovan2025-03-242-2/+11
| | | | |
| * | | | tor-proto: Add TODO about rethinking the circuit *Cmd enums.Gabriela Moldovan2025-03-241-0/+6
| | | | |
| * | | | tor-proto: s/CircuitAction::Single/CircuitAction::RunCmd.Gabriela Moldovan2025-03-243-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | There is no `Multiple` counterpart in `CircuitAction`, so the `Single` variant name doesn't make much sense.
| * | | | tor-proto: Remove now-unused leg_id argument.Gabriela Moldovan2025-03-242-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The `LegId` is now added by the caller, when converting the resulting `CircuitCmd`s to `RunOnceCmdInner`.
| * | | | tor-proto: Add docs to SendRelayCell.Gabriela Moldovan2025-03-241-3/+3
| | | | |
| * | | | tor-proto: Replace RunOnceCmdInner with CircuitCmd where appropriate.Gabriela Moldovan2025-03-243-47/+61
| | | | | | | | | | | | | | | | | | | | | | | | | `CircuitCmd`s are a subset of `RunOnceCmdInner`, and don't have a `LegId`.
| * | | | tor-proto: Add CircuitCmd enum.Gabriela Moldovan2025-03-242-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A `CircuitCmd`, unlike `RunOnceCmdInner`, doesn't know anything about `LegId`s. The user of the `CircuitCmd`s is supposed to know the `LegId` of the circuit the `CircuitCmd` came from. This is necessary because circuits don't know (and can't know) their own `LegId`. The various `Circuit` operations (e.g. `handle_cell`) will soon be updated to return `CircuitCmd` instead of `RunOnceCmdInner` (because the `RunOnceCmdInner` variants will soon be updated to also have an associated `LegId`, and `Circuit`s don't have access to their `LegId`s). The calling code, which *does* know the `LegId`, will then map `CircuitCmd`s to `RunOnceCmdInner`.
| * | | | tor-proto: Put the leg id of the circuit in CircuitAction::HandleCell.Gabriela Moldovan2025-03-232-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tells the reactor which circuit leg the input message originated from. Addresses a TODO.
* | | | | llcrypto: Document some design choices from CautiousRng.Nick Mathewson2025-03-241-1/+12
| | | | |
* | | | | Use an EntropicRng trait to enforce key generation rules.Nick Mathewson2025-03-2410-20/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to require that whenever we generate a key that's persistent (stored in KeyMgr), it's going to be made from a stronger-than-usual Rng. This trait helps us enforce that. We also add a FakeEntropicRng struct to use for testing. Note that this turned up a case that we'd missed, which required an internal change in tor-hsservice.
* | | | | Use CautiousRng for keys going into the KeyMgr.Nick Mathewson2025-03-246-6/+22
| | | | |