Commit Graph

6822 Commits

Author SHA1 Message Date
Nick Mathewson 84d9bd1d6a Merge branch 'ci' into 'main'
CI: Upgrade every-crate test to required

See merge request tpo/core/arti!1252
2023-06-14 19:19:22 +00:00
Ian Jackson bca999790f CI: Upgrade every-crate test to required
Since it passes now.
2023-06-14 19:49:13 +01:00
Nick Mathewson d66ff621be Merge branch 'ci2' into 'main'
Test every crate with default features

See merge request tpo/core/arti!1250
2023-06-14 18:23:45 +00:00
Ian Jackson a156e60780 Merge branch 'pt-snowflake-fix' into 'main'
make snowflake example feature-gated

See merge request tpo/core/arti!1249
2023-06-14 18:13:57 +00:00
trinity-1686a 02a82ad748 make snowflake example feature-gated 2023-06-14 18:13:57 +00:00
Ian Jackson eeaae5a3bf CI: test every crate with default features 2023-06-14 18:47:51 +01:00
Ian Jackson 952bcb11ed CI: add script to test every crate with default features 2023-06-14 18:47:51 +01:00
Ian Jackson ab2ebcb910 Merge branch 'retry' into 'main'
impl HasRetryTime for various errors

See merge request tpo/core/arti!1246
2023-06-14 17:40:31 +00:00
Ian Jackson d277f6729d tor-hsclient: InvalidTarget::ImpossibleRelayIds is RetryTime::Never
As per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1246#note_2912105
2023-06-14 17:26:05 +01:00
Nick Mathewson 46a89ffb14 tor-hsclient: Correction to HasRetryTime for InvalidTarget doc 2023-06-14 17:26:05 +01:00
Ian Jackson c99207b60e tor-hsclient: Add doc for HasKind for FailedAttemptError
There is a cross-reference here to code (`IptSortKey`) in another
branch that I haven't made an MR for yet.
2023-06-14 17:26:05 +01:00
Ian Jackson d5bf90c33e tor-hsclient: Add docs and comments about HasRetryTime for InvalidTarget 2023-06-14 17:26:05 +01:00
Ian Jackson 3e8590c2b5 tor-cell: HasRetryTime for IntroduceAckStatus: Confirm re CANT_RELAY (fmt)
rustdoc insisted on misindenting this before, and now it insists on
un-mis-indenting it.
2023-06-14 17:26:05 +01:00
Ian Jackson fb4e33fbdf tor-cell: HasRetryTime for IntroduceAckStatus: Confirm re CANT_RELAY
Remove this todo as per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1246#note_2912104
2023-06-14 17:26:05 +01:00
Ian Jackson bfcddd4e59 tor-cell: Add a doc comment for impl tor_error::HasRetryTime for IntroduceAckStatus 2023-06-14 17:26:05 +01:00
Ian Jackson ea678ffa22 tor-hsclient: impl HasRetryTime for FailedAttemptError 2023-06-14 15:17:54 +01:00
Ian Jackson c4944de996 tor-hsclient: impl HasRetryTime for InvalidTarget 2023-06-14 15:16:31 +01:00
Ian Jackson f98c7df12e tor-cell: impl HasRetryTime for IntroduceAckStatus 2023-06-14 15:16:31 +01:00
Nick Mathewson ab56dcf145 Merge branch 'tor-cell-todos' into 'main'
Resolve most TODO HS comments in tor-cell

See merge request tpo/core/arti!1245
2023-06-13 22:30:50 +00:00
gabi-250 677148d077 Merge branch 'hscrypto-todos' into 'main'
hscrypto: Resolve all but one TODO HS comment.

See merge request tpo/core/arti!1244
2023-06-13 18:40:59 +00:00
Nick Mathewson 0912496dbb cell: Downgrade a couple more TODO HS comments. 2023-06-13 13:57:57 -04:00
Nick Mathewson 2fc0f83cdf Merge branch 'rotten-chutney' into 'main'
CI: integration-chutney: Turn into a warning

See merge request tpo/core/arti!1243
2023-06-13 17:06:02 +00:00
Ian Jackson d843aaa3b2 Merge branch '20_byte_sendme_digest' into 'main'
proto: Make sure that auth tags are truncated to 20 bytes

See merge request tpo/core/arti!1242
2023-06-13 17:05:27 +00:00
Nick Mathewson 589fefd581 cell: Remove relaycell::restrict
This module didn't have anything in it; nonetheless, removing it
does count as an API break since it was public.
2023-06-13 13:04:16 -04:00
Nick Mathewson 6a6164a360 cell: Remove some TODOs
Yes, we still will need more accessors for onion services, but we
can add them as we find the need.
2023-06-13 12:58:22 -04:00
Nick Mathewson 0f3724322d cell: remove/localize "allow(dead-code)" 2023-06-13 12:50:09 -04:00
gabi-250 a931c7e5d9 Merge branch 'hs' into 'main'
tor-hsclient: Finish(?) plumbing up first cut of HS client connection

See merge request tpo/core/arti!1240
2023-06-13 16:47:19 +00:00
Nick Mathewson 0add7df458 hscrypto: fix TODOs in time-period code.
* Return a more informative error type (instead of Option)
* Check that time periods are an integer number of seconds
* Decide not to change the semantics of an argument.
2023-06-13 12:39:52 -04:00
Nick Mathewson 0a4dac0fa0 hscrypto: remove compatibility note about time periods.
We updated and clarified the spec in arti!107, and noted the
remaining infelicities in proposal 342.
2023-06-13 12:20:12 -04:00
Nick Mathewson 44ced7dbd3 hscrypto: write a README 2023-06-13 12:15:04 -04:00
Nick Mathewson 848793da5a hscrypto: note that hs_mac is not a good choice for new protocols 2023-06-13 12:11:38 -04:00
Nick Mathewson 7a82285984 hscrypto: comment out an unused key type.
(I'm not removing it entirely since maybe we _should_ use it, and
maybe we _will_ as we do services.  I've added a TODO HS for
removing it or using it, and removed the TODO HS at the head of
pk.rs about making sure that all the key types in the module really
belong there.)
2023-06-13 12:01:12 -04:00
Ian Jackson 69a0efee03 CI: integration-chutney: Turn into a warning
This test is known to fail "when the load is high".  Recently I had to
press the "merge unverified changes" button to merge !1238, after four
consecutivew spurious failures.

IMO this is intolerable.
2023-06-13 16:56:10 +01:00
Nick Mathewson 9888c4422d hscrypto: Remove a TODO about extending an internal macro. 2023-06-13 11:53:29 -04:00
Ian Jackson cc7fd57511 Merge branch 'hs3' into 'main'
tor-hsclient: Plumb some needed values through etc.

See merge request tpo/core/arti!1238
2023-06-13 15:53:01 +00:00
Nick Mathewson 670c73a159 hscrypto: Remove a TODO about implementing ErrorKind.
I think it isn't actually a great idea for HsIdParseError to
implement ErrorKind, since the actual ErrorKind would depend
entirely on where the problematic ID came from.
2023-06-13 11:50:53 -04:00
Nick Mathewson 9311a8da5b hscrypto: clarify and downgrade TODOs about blinding secrets 2023-06-13 11:48:54 -04:00
Ian Jackson bfaf0bba6f tor-hsclient: Add some more debugging 2023-06-13 16:14:57 +01:00
Ian Jackson e123ade035 tor-hsclient: Return the circuit 2023-06-13 16:14:57 +01:00
Ian Jackson 57ba35dfe0 tor-hsclient: Conduct the INTRODUCE1 exchange 2023-06-13 16:14:57 +01:00
Ian Jackson ab11a2042f tor-hsclient: Remove an already-done TODO
Since !1238 we do pass the handshake_state along.
2023-06-13 16:14:57 +01:00
Ian Jackson f76b6eb614 tor-cell: IntroduceAck: Add .success() function to give a Result
The type is a bit odd but this is a result of the underlying protocol.
I don't feel like inventing `IntroduceAckSuccess` that contains only
the extensions.
2023-06-13 16:14:57 +01:00
Ian Jackson 0c10a9554b tor-hsclient: Rename some errors for greater consistency 2023-06-13 16:14:57 +01:00
Ian Jackson d98405d1e0 tor-hsclient: Reorder timeout errors to be "less interesting"
If something *other* than a timeout went wrong, then that is less
expected so more interesting.
2023-06-13 16:14:57 +01:00
Nick Mathewson c79ed2b31b tor-hsclient: Improve proto_oneshot docs 2023-06-13 16:14:06 +01:00
Ian Jackson b1ac10203a tor-hsclient: Pass handshake_state to complete_handcshake (fmt) 2023-06-13 16:14:03 +01:00
Ian Jackson 6810881f38 tor-hsclient: Pass handshake_state to complete_handcshake
Pass Introduced to complete_handshake.  The lack of this was a slip.
Add handshake_state to Introduced, and use it.
2023-06-13 16:13:57 +01:00
Nick Mathewson 40840b1f3a proto: Make sure that auth tags are truncated to 20 bytes
Onion service hops (pointlessly) use SHA3-256 for their
authentication, but they truncate it to 20 bytes (assuming I'm
reading the C right.)

See torspec#204 for clarification here.
2023-06-13 11:04:23 -04:00
Nick Mathewson 864ec4d3ff Merge branch 'fix' into 'main'
RPC: Suppress a warning to do with RPC and SOCKS

See merge request tpo/core/arti!1237
2023-06-13 13:20:19 +00:00
Ian Jackson 85273a7646 tor-hsclient: Add a missing doc
Requested in !1228 but overlooked
2023-06-13 13:22:27 +01:00