summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | rpclib: New error type for unauthenticated connectionsNick Mathewson2024-09-092-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | This is done so that we can make "not authenticated" a non-internal error, under the theory that someday unauthenticated connections might be exposed.
| * | | arti: Add a comment explaining how RPC and SOCKS interactNick Mathewson2024-09-091-0/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This belongs in a spec, but adding things to a spec is slow and fraught. Instead we'll put it here for now and move it later. There are some XXXXs about "finalizing" the design that we need to resolve before we can merge !2373 and implement stream creation in `arti-rpc-client-core`.
| * | | arti: add and document get_rpc_proxy_info method.Nick Mathewson2024-09-091-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently this behaves the same as get_proxy_info, but this may change in the future, if we introduce RPC-unsuitable proxy ports. (Also rename the get_proxy_info method to avoid x_ prefix.)
| * | | rpclib: FFI for opening data streams.Nick Mathewson2024-09-0912-7/+409
| | | | | | | | | | | | | | | | | | | | 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-097-5/+342
|/ / / | | | | | | | | | | | | | | | Requires #1523. Implements #1524.
* | | Merge branch 'futures-lite' into 'main'gabi-2502024-09-092-1/+6
|\ \ \ | | | | | | | | | | | | | | | | maint/downgrade-dependencies: Update exceptions. See merge request tpo/core/arti!2398
| * | | maint/cargo_audit: Add exception for RUSTSEC-2024-0370.Gabriela Moldovan2024-09-091-0/+5
| | | | | | | | | | | | | | | | Adding an exception for now, as per #1608
| * | | maint/downgrade-dependencies: Update exceptions.Gabriela Moldovan2024-09-091-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the `minimal-versions` failure: ``` error: package ID specification `[email protected]` did not match any packages Did you mean one of these? [email protected] ``` (we don't actually need to un-downgrade `futures-lite` anymore) But we *do* need to un-downgrade `event-listener` (`async-global-executor` needs `event_listener::EventListener` to be `UnwindSafe`, and in `event-listener 3.0.0`, they are not)
* | | Merge branch 'watch-test' into 'main'gabi-2502024-09-091-0/+1
|\ \ \ | |/ / |/| | | | | | | | arti: Temporarily disable a flaky test. See merge request tpo/core/arti!2391
| * | arti: Temporarily disable a flaky test.Ian Jackson2024-09-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This effectively reverts 71e3d52f5aeb34ca7bca80053079a8c7505b99ac, which was itself a revert of disabling this test the first time. Sadly it still doesn't seem to be reliable. We have agreed on IRC to disable it for now.
* | | Merge branch 'deb-via-b' into 'main'Ian Jackson2024-09-051-9/+3
|\ \ \ | |/ / |/| | | | | | | | Use dpkg-buildpackage -uc -b in CI See merge request tpo/core/arti!2368
| * | Remove the `needs: []` from the deb-source jobIan Jackson2024-09-051-1/+0
| | | | | | | | | | | | | | | | | | | | | The effect of this is just to make the job run sooner. But it's actually quite unlikely to fail, and nothing now depends on it, so we should run it later along with the rest of the jobs in the `test` stage.
| * | Run `git-clean -xdff` in deb-source jobIan Jackson2024-09-051-0/+1
| | | | | | | | | | | | | | | This avoids any inherited data (eg from previous jobs) influencing the output.
| * | When building .debs, build only the .debs and don't rebuild the .dscIan Jackson2024-09-051-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Pass -b to dpkg-buildpackage, meaning "build binaries only". * Don't `need` the source package job * Don't try to import source package artifacts This means we're not building the .debs from the .dsc, but we weren't doing that anyway. (.dscs are IMPO obsolete...)
| * | Pass -uc to dpkg-buildpackage when building .debsIan Jackson2024-09-051-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | By default dpkg-buildpackage signs the output if the d/changelog isn't UNRELEASED. If we ever change the d/changelog, we don't want it to fail because it tries to sign things. In the future, if and when we want to sign things, that probably won't be done directly in gitlab CI when the package is built.
* | Merge branch 'slow-test' into 'main'Ian Jackson2024-09-051-2/+15
|\ \ | | | | | | | | | | | | | | | | | | arti: Make the config watcher debounce interval configurable. Closes #1589 See merge request tpo/core/arti!2387
| * | arti: Make the config watcher debounce interval configurable (fmt).Gabriela Moldovan2024-09-041-1/+9
| | |
| * | arti: Make the config watcher debounce interval configurable.Gabriela Moldovan2024-09-041-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the `reload_cfg::test::watch_multiple` test would take about 3s to run. This test modifies 3 files and waits for the corresponding `reconfigure()` events to fire. Because of the `sleep(DEBOUNCE_INTERVAL)` in `run_watcher`, it would wind up waiting for about 1s for each of them. This makes the event debouncing optional, and disables it in the tests. Closes #1589
* | | Merge branch 'ticket1137_01' into 'main'gabi-2502024-09-0524-668/+1010
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-keys: New crate for Tor key declaration Closes #1137 See merge request tpo/core/arti!2356
| * | | Rename tor-keys crate to tor-key-forgeDavid Goulet2024-09-0422-41/+43
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | maint: Add paste tor the tor-keys crateDavid Goulet2024-09-041-1/+2
| | | |
| * | | tor-keys: Use CryptoRng instead of the Core oneDavid Goulet2024-09-042-5/+5
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | doc: Fix unresovled links in the commentsDavid Goulet2024-09-042-7/+7
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | tor-keymgr: Use tor-keys crate and remove dead codeDavid Goulet2024-09-0418-846/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-043-1/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-048-9/+765
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Add NOTE for future featuresDavid Goulet2024-09-041-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | | tor-keys: Fix the doc testDavid Goulet2024-09-041-20/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some object use path where put explicitly in order to avoid the macro user to need to import "ed25519" module. Signed-off-by: David Goulet <[email protected]>
| * | | tor-keys: Automatically implement keymgr traitDavid Goulet2024-09-045-79/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-046-0/+296
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | | Merge branch 'semver' into 'main'Jim Newsome2024-09-042-3/+0
|\ \ \ | | | | | | | | | | | | | | | | Remove semver.md files. See merge request tpo/core/arti!2385
| * | | Remove semver.md files.Gabriela Moldovan2024-09-042-3/+0
| | | | | | | | | | | | | | | | The 1.2.7 release is out so we won't be needing these anymore.
* | | | Merge branch 'reload-cfg-test' into 'main'David Goulet2024-09-041-2/+4
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | arti: Write the test config atomically. Closes #1549 See merge request tpo/core/arti!2375
| * | | Revert "arti: Temporarily disable a flaky test."Gabriela Moldovan2024-08-291-1/+0
| | | | | | | | | | | | | | | | This reverts commit ececf6be2eaffc201666cd3413dc19c025be66de.
| * | | arti: Write the test config atomically.Gabriela Moldovan2024-08-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flakiness from the `watch_single_file` test was caused by the race between the config write, and the fake SIGHUP "signal" sent on `sighup_tx`: sometimes, the sighup would get handled between creating the config file and writing its contents. In those cases, the config received in `TestModule::reconfigure` would be `Default::default()`, which caused an assertion to fail (because the test is expecting to receive the `ArtiConfig` it wrote to disk). Closes #1549
* | | | Merge branch 'mq-config' into 'main'Ian Jackson2024-09-0418-48/+419
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Configure and set up a MemoryQuotaTracker in TorClient See merge request tpo/core/arti!2374
| * | | memory quota error message: Fix emacs-induced typoIan Jackson2024-09-041-1/+1
| | | |
| * | | Fix typo in tor_memquota::ConfigBuilder docIan Jackson2024-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2374#note_3070500
| * | | Provide a MemoryQuotaTracker in TorClientIan Jackson2024-09-044-3/+15
| | | | | | | | | | | | | | | | Nothing uses this yet.
| * | | tor-memquota: Provide reconfigure methodIan Jackson2024-09-042-1/+56
| | | |
| * | | tor-memquota: Break out reclamation wakeupIan Jackson2024-09-041-1/+6
| | | |
| * | | tor-memquota: Make reclamation wakeup no longer throw internal errorsIan Jackson2024-09-042-5/+6
| | | | | | | | | | | | | | | | I realised a way this could happen without there being a bug.
| * | | arti: Proper testing of the memory limit config parsingIan Jackson2024-09-043-2/+58
| | | | | | | | | | | | | | | | | | | | | | | | 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-043-0/+15
| | | |
| * | | tor-memquota: Unstable cargo feature for exposing info for testingIan Jackson2024-09-044-3/+27
| | | |
| * | | connection-checker: Do not enable arti "experimental" featureIan Jackson2024-09-042-1/+3
| | | | | | | | | | | | | | | | | | | | This breaks config tests in crates/arti which test configuration parsing of disabled experimental features.
| * | | obfs4-checker: Do not enable arti "experimental" featureIan Jackson2024-09-041-2/+2
| | | | | | | | | | | | | | | | | | | | This breaks config tests in crates/arti which test configuration parsing of disabled experimental features.
| * | | arti cfg tests: Provide resolve_return_resultsIan Jackson2024-09-041-0/+6
| | | |
| * | | arti cfg tests: strip_prefix: Leave section markers unchangedIan Jackson2024-09-041-1/+6
| | | |
| * | | arti cfg tests: strip_prefix: Document error behaviourIan Jackson2024-09-041-1/+3
| | | |