Commit Graph

7308 Commits

Author SHA1 Message Date
Nick Mathewson f2a6754c88 dirmgr: use voting_period. 2023-06-29 08:19:37 -04:00
Nick Mathewson a9da1283bc netdir: remove unnecessary wraps from srv_interval, extract_srvs 2023-06-29 08:19:37 -04:00
Nick Mathewson 4803f6447d netdir: Move voting_period() to netdoc::Lifetime
I was going to add a comment about "doing this if we need the voting
period anywhere else" but it turns out that we also use it in dirmgr.
2023-06-29 08:19:37 -04:00
Nick Mathewson 6c06acc02c arti_client: Add a warning comment to TorAddrError. 2023-06-29 08:16:51 -04:00
Nick Mathewson 800061e70e arti_client: Move BadOnion from TorAddrError to ErrorDetail.
This variant can never be constructed when parsing a TorAddr, so it
doesn't make sense to have it in TorAddrError: the use can never see
it unless they enable `error_detail`.

Not a semver break because the client feature is not yet stable.

Closes #932.
2023-06-29 08:16:51 -04:00
gabi-250 b059e02093 Merge branch 'keymgr-x25519-keys' into 'main'
keymgr: Add support for x25519 keys.

Closes #900

See merge request tpo/core/arti!1321
2023-06-29 11:46:03 +00:00
Gabriela Moldovan 294bb728cf keymgr: Add a TODO about implementing and testing has_key_bundle. 2023-06-29 12:10:35 +01:00
Gabriela Moldovan 68c91223f1 keymgr: Add some basic insert and remove tests. 2023-06-29 12:10:35 +01:00
Gabriela Moldovan 4d5f414017 keymgr: Add assert_found! test helper. 2023-06-29 11:54:54 +01:00
Gabriela Moldovan 91573c6cbc keymgr: Add some key retrieval tests for ArtiNativeKeyStore. 2023-06-29 11:54:54 +01:00
Gabriela Moldovan fd3b42688d keymgr: Add a gen_keys param to init_keystore.
This will enable future tests to optionally initialize the test key
store with some test keys.
2023-06-29 11:54:54 +01:00
Gabriela Moldovan bc447524c2 keymgr: Add tests for ArtiNativeKeyStore::key_path. 2023-06-29 11:54:54 +01:00
Gabriela Moldovan 89d52fff3e keymgr: Derive Debug for ArtiNativeKeyStore. 2023-06-29 11:49:31 +01:00
Gabriela Moldovan ff02270307 keymgr: Add tests for ssh key handling.
Part of #895
2023-06-29 11:49:31 +01:00
Gabriela Moldovan 16a7bb4624 keymgr: Return the key, not Box<()>.
This fixes a bug which caused the function to always return a
type-erased `()` instead of the actual key!
2023-06-29 11:49:31 +01:00
gabi-250 d999ea07ba Merge branch 'config-option' into 'main'
arti cfg tests: exception declaration improvements

See merge request tpo/core/arti!1330
2023-06-29 10:43:00 +00:00
Nick Mathewson c1ab36dbec Merge branch 'cleanup-todos-circmgr' into 'main'
Resolve a few "TODO HS" items in circmgr.

See merge request tpo/core/arti!1322
2023-06-28 20:14:24 +00:00
Nick Mathewson 48f7fbbc96 Merge branch 'lifecycle_doc_tweaks' into 'main'
Documentation, mostly on channel and circuit lifecycles

See merge request tpo/core/arti!1318
2023-06-28 20:06:58 +00:00
Nick Mathewson 608f6671d7 Merge branch 'tor-cert-todos' into 'main'
Remove spurious todo-hs items in tor-cert.

See merge request tpo/core/arti!1311
2023-06-28 19:41:39 +00:00
Nick Mathewson 02878518b8 circmgr: Refactor duplicate logic.
These two functions are only slightly different, and benefit from
taking a Fn.
2023-06-28 15:28:52 -04:00
Nick Mathewson 6affb50c1a circmgr: Remove a "TODO HS" about path restrictions.
I looked through the C tor source code and couldn't find any
additional path restrictions.
2023-06-28 15:28:52 -04:00
Nick Mathewson d32ba9ed18 circmgr: Defer two "TODO HS" in hspool
One of these is test-related; one is vanguards-related.
2023-06-28 15:28:52 -04:00
Nick Mathewson 4ad1a5c6ac ChanMgr: Tweak documentation a bit.
Adjust formatting, add more references to lower-level APIs, and
clarify lifetimes a little more.
2023-06-28 15:26:22 -04:00
Nick Mathewson 2944d4f91f proto: ClientCirc: remove now-obsolete note on Clone-ness 2023-06-28 15:26:22 -04:00
Nick Mathewson 644c51173a proto: document ClientCirc lifecycle better. 2023-06-28 15:26:22 -04:00
Nick Mathewson e8e95ec03b proto: document channel lifecycle better. 2023-06-28 15:26:22 -04:00
Nick Mathewson 4003e032d6 Remove spurious todo-hs items in tor-cert.
I am not sure why we wrote these comments, but they are incorrect:
I've investigated the C code and found only 3 key types.  The
"unimplemented" types that the TODO comment here complains about are
in fact certificate types.
2023-06-28 15:18:13 -04:00
Ian Jackson 47b577d7a0 tor-netdoc: Placate clippy (fmt) 2023-06-28 18:57:06 +01:00
Ian Jackson 56813d9650 tor-netdoc: Placate clippy 2023-06-28 18:56:49 +01:00
Alexander Færøy f136e8ac41 Merge branch 'more-keymgr-todos' into 'main'
keymgr: Downgrade "TODO hs" to "TODO HSS".

See merge request tpo/core/arti!1334
2023-06-28 17:30:43 +00:00
Nick Mathewson 0b2c8f5e92 Merge branch 'relayids' into 'main'
tor-hsclient: Make RendPtIdentityForError use RelayIds

See merge request tpo/core/arti!1335
2023-06-28 16:26:22 +00:00
Ian Jackson 8f1a71850c tor-hsclient: Handle handshake completion error correctly 2023-06-28 17:14:45 +01:00
Ian Jackson 9216f628f1 tor-hsclient: Rename RendezvousCompletionCircuit from RendezvousCompletion
We need to handle errors during the handshake.  That also produces a
`tor_proto::Error` but we  want to print a different message for that,
so let's rename this before adding the new variant.
2023-06-28 17:14:26 +01:00
Ian Jackson 4eb3e3b6ec tor-hsclient: Move handling of Bug to new section
It was wrong where ti was.
2023-06-28 17:14:26 +01:00
Ian Jackson 18478b47a7 tor-hsclient: Make RendPtIdentityForError use RelayIds
Since arti!1233 this is trivial.
2023-06-28 16:49:49 +01:00
Ian Jackson 4d071d1c07 tor-hsclient: Use RendPtIdentityForError in more places
For some reason this wasn't used in the actual errors,
although it *was* used in the types of the functions etc.
2023-06-28 16:47:55 +01:00
Gabriela Moldovan 609e6ce7c7 keymgr: Downgrade "TODO hs" to "TODO HSS".
These TODOs can be deferred for now: we're not declaring the keymgr APIs
stable until we add support for hidden services.
2023-06-28 16:44:06 +01:00
Ian Jackson 8908d39872 tor-netdoc: Test hsdescs inners with a variety of IPT counts (fmt) 2023-06-28 16:29:05 +01:00
Ian Jackson de63a6092d tor-netdoc: Test hsdescs inners with a variety of IPT counts 2023-06-28 16:28:19 +01:00
Ian Jackson cf4adad96e tor-netdoc: hsdesc: Disregard intro points after the MAX'th 2023-06-28 16:28:11 +01:00
Ian Jackson 0e2f804d8f tor-netdoc: Reject hsdescs with no intro points
None of the existing NetdocErrorKinds seemed right.
2023-06-28 16:27:05 +01:00
Ian Jackson c95595227a tor-hscrypto: Provide values for NUM_INTRO_POINT
These are in the spec and tor-hsclient is about to want them.
2023-06-28 14:49:49 +01:00
Ian Jackson cbb8eb4fdd Merge branch 'reuse' into 'main'
tor-hsclient: Discuss intro circuit extend-and-reuse

See merge request tpo/core/arti!1298
2023-06-28 13:48:12 +00:00
Alexander Færøy ea3f93d0e2 Merge branch 'keymgr-todos' into 'main'
keymgr: Remove/downgrade a few "TODO hs"

See merge request tpo/core/arti!1328
2023-06-28 13:45:19 +00:00
Ian Jackson 68aacc2140 arti cfg tests: Suppress an undesriable clippy lint 2023-06-28 14:43:48 +01:00
Ian Jackson 464c5e5efa arti cfg tests: declare_exceptions: Annotate the types for clarity (fmt) 2023-06-28 14:25:55 +01:00
Ian Jackson 5f20b0ec29 arti cfg tests: declare_exceptions: Annotate the types for clarity 2023-06-28 14:25:55 +01:00
Ian Jackson 14b1cc0cc1 arti cfg tests: Point the reader to the types used in declarations 2023-06-28 14:25:55 +01:00
Ian Jackson 2ff494d081 arti cfg tests: Move InCode into declare_config_example
It's used for declarations only, and they should all be here.
2023-06-28 14:25:55 +01:00
Ian Jackson 5672b75de2 arti cfg tests: Make declare_exception take distinguished old/new types
As per discussion in
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1320#note_2916689
and IRC followup.
2023-06-28 14:23:13 +01:00