aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | hsclient: Use HsDescDownloadRequest::set_max_len.Nick Mathewson2023-06-271-1/+12
| | | |
| * | | dirclient: Correct an erroneous comment.Nick Mathewson2023-06-271-1/+2
| | | |
| * | | dirclient: Make maximum hsdesc length adjustable.Nick Mathewson2023-06-272-8/+12
| | | |
| * | | dirclient: Explain why hardcoding "3" is ok.Nick Mathewson2023-06-271-1/+7
| | |/ | |/|
* | | Merge branch 'ticket_914' into 'main'Nick Mathewson2023-06-282-118/+9
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Remove support for receiving unauthenticated SENDMEs. Closes #914 See merge request tpo/core/arti!1283
| * | proto: Remove support for receiving unauthenticated SENDMEsNick Mathewson2023-06-262-118/+9
| | | | | | | | | | | | | | | | | | | | | We haven't generated these since Tor 0.3.5, which is no longer supported on the network. Closes #914.
* | | Merge branch 'keymanip-ed-to-curve' into 'main'gabi-2502023-06-275-7/+144
|\ \ \ | | | | | | | | | | | | | | | | llcrypto: Implement ed25519_to_curve25519_private conversion. See merge request tpo/core/arti!1297
| * | | llcrypto: Add reference to paper about keypair reuse.Gabriela Moldovan2023-06-271-0/+2
| | | |
| * | | llcrypto: Remove `# Availability` doc sections.Gabriela Moldovan2023-06-271-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the `# Availability` section from the `convert_ed25519_to_curve25519_private` and `convert_curve25519_to_ed25519_private` docs. We don't generally have this sort of section anywhere else in the codebase (we use unstable cargo-docs features to make sure items are annotated correctly).
| * | | llcrypto: Add cvt-x25519 feature flag for exporting key conversion functions.Gabriela Moldovan2023-06-274-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | The `convert_curve25519_to_ed25519_private` and `convert_ed25519_to_curve25519_private` functions are now exported by `tor-llcrypto` if the `cvt-25519` feature is enabled.
| * | | llcrypto: Add keymgr feature to semver.mdGabriela Moldovan2023-06-271-0/+1
| | | |
| * | | llcrypto: Add `Panics`, `Availability` docs for ↵Gabriela Moldovan2023-06-271-0/+12
| | | | | | | | | | | | | | | | convert_ed25519_to_curve25519_private.
| * | | llcrypto: Fix clippy lint.Gabriela Moldovan2023-06-271-1/+1
| | | |
| * | | llcrypto: Explain what we need the ed25519->x25519 conversion for.Gabriela Moldovan2023-06-271-0/+4
| | | |
| * | | llcrypto: Document how convert_ed25519_to_curve25519_private computes the key.Gabriela Moldovan2023-06-271-0/+5
| | | |
| * | | llcrypto: Add note about bumping x25519-dalek and clamping.Gabriela Moldovan2023-06-271-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a TODO explaining how convert_ed25519_to_curve25519_private will need to be audited when we upgrade to the latest x25519-dalek. This also adds a `debug_assertions` and a test that ensures `StaticSecret::from` is clamping the input (when we bump x25519-dalek, the assertions will fail, as the latest version doesn't do clamping in StaticSecret::from).
| * | | llcrypto: Document ed25519->curve25519->ed25519 conversion behaviour.Gabriela Moldovan2023-06-271-0/+5
| | | |
| * | | llcrypto: Implement ed25519_to_curve25519_private conversion.Gabriela Moldovan2023-06-274-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In `ArtiNativeKeyStore`, private keys are stored in OpenSSH format. However, `ssh-key` (the crate we use for parsing OpenSSH keys) doesn't support x25519 keys. As a workaround, this type of key will stored as ed25519 and converted to x25519 upon retrieval. This commit implements the `convert_ed25519_to_curve25519_private` conversion function (needed by `ArtiNativeKeyStore` to support x25519 keys). Part of #900
| * | | llcrypto: Add missing docs for hsv3-service feature flag.Gabriela Moldovan2023-06-271-0/+3
| | | |
* | | | keymgr: Add regression test for tor_keymgr::Error recursion bug.Gabriela Moldovan2023-06-271-0/+39
| | | |
* | | | keymgr: Fix infinite recursion in Error impl.Gabriela Moldovan2023-06-271-2/+1
|/ / / | | | | | | | | | | | | The `source` impl `tor_keymgr::Error` was just calling itself recursively.
* | | Merge branch 'revert_to_x25519_pre1' into 'main'Nick Mathewson2023-06-277-22/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Back down x25519-dalek to 2.0.0-pre.1 from 2.0.0-rc.2 Closes #926 See merge request tpo/core/arti!1317
| * | | Back down x25519-dalek to 2.0.0-pre.1 from 2.0.0-rc.2pinkforest2023-06-277-22/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ========================= Notes from nickm: (This differs from pinkforest's original MR: It removes the Cargo.lock changes and the version bump on tor-llcrypto.) Minimal Cargo.lock changes from downgrade. (These are exactly those changes generated by running "build" and "test".) There are several reasons to do this: * It's best to bump all of our dalek dependencies at once to rc.3 or later, rather than the piecemeal approach we've been stuck with so far. * We don't want to do this bump right now, since there are some tricky questions about clamping we need to figure out (see #808), and we need to make sure we get them right, and we're in a distracted this week. * We _do_ need to move away from 2.0.0-rc.2 right now, since it was causing a failure in `cargo install arti`, and then it got yanked. Thanks to pinkforest for helping us out here and explaining all of this! Fixes #926. Commit-edited-by: Nick Mathewson <[email protected]>
* | | | Add Channel expiry info in ChanMgr docsSaksham Mittal2023-06-271-0/+7
|/ / /
* | | tor-hsclient: Increase some timeoutsIan Jackson2023-06-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Fix a use of 10ms that should have been TIMEOUT_SLOP. 2. Increase BODGE_YIELD by a factor of 5. Now this test should tolerate being hung up for 125ms. I am hoping that this will fix the CI failure https://gitlab.torproject.org/Diziet/arti/-/jobs/302457 which fails at the line comparing circuit1 with circuit2a. (I can't repro that locally.)
* | | tor-hsclient: test: Introduce some constants for timingsIan Jackson2023-06-261-5/+16
| | |
* | | tor-hsclient: test: Add another sleep for expiry task *start*Ian Jackson2023-06-261-0/+2
| | | | | | | | | | | | | | | | | | | | | Without this, the expiry task can end up choosing a 600s timeout starting *after we advanced the clock*. Fixes #923
* | | tor-hsclient: impl Debug by hand for MockCircIan Jackson2023-06-261-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | The provided impl for Mutex is hopeless: it prints just some internal flags and doesn't acquire the mutex for printing purposes. At some point we might want to factor this out as a general function on `Arc<Mutex<...>>` but not now.
* | | Merge branch 'send_sync_torclientbuilder' into 'main'gabi-2502023-06-261-1/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | arti-client: Mark DirProviderBuilder Send+Sync; Closes #924 See merge request tpo/core/arti!1307
| * | | Also require that TorClientBuilder be Sync.Nick Mathewson2023-06-261-2/+2
| | | |
| * | | arti-client: Mark DirProviderBuilder Send+Sync;Nick Mathewson2023-06-261-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing this causes TorClientBuilder to become Send. I also add a test to ensure that TorClientBuilder remains Send in the future. This isn't a semver break, but only because DirProviderBuilder is marked with `experimental-api`. Closes #924
* | | | Merge branch 'netdoc-todos-again' into 'main'Nick Mathewson2023-06-266-43/+100
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | netdoc: Resolve nearly all remaining TODO HS items. See merge request tpo/core/arti!1304
| * | | | netdoc: remove final TODO HSNick Mathewson2023-06-261-1/+0
| | | | | | | | | | | | | | | | | | | | Although this Errorkind is not perfect, it is good enough.
| * | | | netdoc: Downgrade TODO on EncryptedHsDesc::decryptNick Mathewson2023-06-261-2/+5
| | | | |
| * | | | netdoc: Remove "decrypted_with_id" as meaninglessNick Mathewson2023-06-261-26/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually, never mind about adding an accessor here: this value was set incorrectly and didn't match its documentation. As such it's basically useless, and we might as well throw it out.
| * | | | netdoc: Remove dead_code exception; add accessors.Nick Mathewson2023-06-263-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes some actual dead code and additionally adds some minimal accessors to HsDesc to expose some of its properties. (I'm trying to keep these minimal since it's not yet clear whether we want to expose more detail here.) Here we also make StoredHsDescMeta a conditional type that's only present when the new "hs-dir" feature is enabled. Neither relays nor clients need this: Only HsDirs will need it, when we finally implement relays.
| * | | | netdoc: change a TODO HS about a distinguisher to a NOTE.Nick Mathewson2023-06-261-4/+7
| | | | | | | | | | | | | | | | | | | | (We explicitly do not care if Arti can be distinguished from C tor.)
| * | | | netdoc: replace a test TODO with a reference to other testsNick Mathewson2023-06-261-1/+8
| | | | | | | | | | | | | | | | | | | | The tests called for here already existed.
| * | | | netdoc: fill in some test dataNick Mathewson2023-06-234-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | | This resolves some TODO HS items now that we are confident we want to have these actual examples in our tests.
* | | | | Merge branch 'upgrade-itertools' into 'main'gabi-2502023-06-2614-17/+21
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | Upgrade to itertools 0.11.0 See merge request tpo/core/arti!1306
| * | | | netdoc: Note new feature in itertoolsNick Mathewson2023-06-261-1/+5
| | | | |
| * | | | Upgrade to itertools 0.11.0Nick Mathewson2023-06-2613-16/+16
| | |/ / | |/| | | | | | | | | | The breaking changes here do not seem to affect us.
* | | | Merge branch 'data' into 'main'Ian Jackson2023-06-264-12/+133
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-hsclient: Expire old IPT and HS descriptor data eventually See merge request tpo/core/arti!1290
| * | | | tor-hsclient: Split out expire_old_data functionIan Jackson2023-06-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | As per discussion in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1290#note_2915679
| * | | | tor-hsclient: Add a comment about what run_housekeeping doesIan Jackson2023-06-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1290#note_2915679
| * | | | tor-hsclient: Add a debug message about task exitIan Jackson2023-06-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1290#note_2915678
| * | | | tor-hsclient: Comment explaining why no launch_background_tasksIan Jackson2023-06-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1290#note_2915676
| * | | | tor-hsclient: Say we *mustn't* do housekeeping while dormantIan Jackson2023-06-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a change to the API docs, but not to the actual code, since our call site is in arti-client and tied to netdir fetch, which *doesn't* happen when dormant. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1290#note_2915677
| * | | | tor-hsclient: Add a TODO SPEC re data lifetimeIan Jackson2023-06-231-0/+2
| | | | |
| * | | | tor-hsclient: state tests: Test housekeeping (data expiry)Ian Jackson2023-06-231-0/+5
| | | | |