summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | tor-error: Clarify what we mean by "hostile".Gabriela Moldovan2023-06-121-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | | tor-error: Document another potential cause for ↵Gabriela Moldovan2023-06-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | OnionServiceDescriptorValidationFailed. Signed-off-by: Gabriela Moldovan <[email protected]>
* | | | Merge branch 'intro_sketch' into 'main'Nick Mathewson2023-06-1213-165/+369
|\ \ \ \ | |/ / / |/| | | | | | | | | | | hsclient: fill in a bunch of introduce/rendezvous logic See merge request tpo/core/arti!1235
| * | | hsclient: fill in a lot more introduce/rendezvous logic.Nick Mathewson2023-06-121-4/+146
| | | | | | | | | | | | | | | | | | | | | | | | This code tries to fill in some TODO HS code, replacing it with a lot more code with a bunch more TODO HS comments. Hopefully the expansions of the new TODO HS comments should be simpler.
| * | | cell: Add an accessor for the body of a Rendezvous2.Nick Mathewson2023-06-121-0/+6
| | | |
| * | | proto: Add a commment about a problem in my hs_ntor plans.Nick Mathewson2023-06-121-0/+4
| | | | | | | | | | | | | | | | | | | | I am pretty sure that C tor works around this somehow; we should figure out how!
| * | | proto: code movement and reindentation in hs_ntorNick Mathewson2023-06-121-86/+75
| | | |
| * | | proto: Remove now-unused hs_ntor APIsNick Mathewson2023-06-121-43/+21
| | | |
| * | | proto: refactor hs_ntor to reuse state.Nick Mathewson2023-06-121-14/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want the ability to send the same handshake request in parallel on multiple introduce circuits. This implies encoding the client handshake more than once. (Sadly we can't _actually_ do this in the protocol as it stands, since the onion service can use a separate KP_hss_ntor for each introduction point; I'll add a comment to that effect later.)
| * | | hsclient: receive rendezvous2 messages too.Nick Mathewson2023-06-121-17/+25
| | | |
| * | | hsclient: Move the body of the msg handler into a new functionNick Mathewson2023-06-121-26/+41
| | | |
| * | | hsclient: Add a second oneshot to Rendezvous msghandlerNick Mathewson2023-06-121-9/+36
| | | | | | | | | | | | | | | | | | | | | | | | On a client's circuit to the rendezvous point, we need to first wait for an `RENDEZVOUS_ESTABLISHED` message, and then for a `RENDEZVOUS2` message.
| * | | hsclient: use hs-client feature in tor-proto.Nick Mathewson2023-06-121-1/+1
| | | |
| * | | Upgrade async-trait requirement to 1.54Nick Mathewson2023-06-1210-12/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | We need the fix from [82d69902], which first appeared in async-trait version 1.54. (Technically we only need this fix in tor-hsclient, but we may as well update our minimal async-trait version everywhere.) [82d69902]: https://github.com/dtolnay/async-trait/commit/82d69902535f5cb7f5d9e1ea4168c64abd496389
* | | Merge branch 'redactable_relayids' into 'main'Nick Mathewson2023-06-124-12/+77
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Implement Redactable for RelayIds, and other improvements Closes #882 See merge request tpo/core/arti!1233
| * | | linkspec: cleanup usage; change std::fmt to fmt.Nick Mathewson2023-06-121-6/+6
| | | |
| * | | RelayId: Display the ID type on redacted identities.Nick Mathewson2023-06-092-4/+3
| | | | | | | | | | | | | | | | | | | | Formerly we would display just the first characters of the identity, without telling you what kind of ID it was.
| * | | linkspec: implement Display/Redacted on RelayIdsNick Mathewson2023-06-091-0/+22
| | | |
| * | | linkspec: Implement HasRelayIds::display_relay_ids().Nick Mathewson2023-06-092-6/+50
| | | |
* | | | Merge branch 'circuit_send_message_fixes' into 'main'Nick Mathewson2023-06-122-12/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct documentation and API on ClientCirc::send_control_message Closes #885 and #881 See merge request tpo/core/arti!1232
| * | | | Apply 1 suggestion(s) to 1 file(s)Ian Jackson2023-06-121-1/+1
| | | | |
| * | | | proto: Have send_control_message take an AnyRelayMsg.Nick Mathewson2023-06-092-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we break the 1:1 relationship of message and cell, we'll want this API to take messages, not cells. This API is experimental, so we don't need to call it a semver break. Closes #881.
| * | | | proto: Correct the docs on send_control_messageNick Mathewson2023-06-091-2/+7
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formerly we said that it would not return until the handler was uninstalled. This is incorrect: it returns as soon as the message is sent and the handler installed. Closes #885.
* | | | Merge branch 'arc_hsdirs_in_netdir' into 'main'Ian Jackson2023-06-121-5/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | netdir: Wrap HsDir an Arc<> Closes #883 See merge request tpo/core/arti!1234
| * | | | netdir: Wrap HsDir an Arc<>Nick Mathewson2023-06-091-5/+7
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change reduces the cost of cloning a `NetDir`. It's fine since–although we replace the HsDir once–we never modify it once it exists. Closes #883.
* | | | Merge branch 'pt-snowflake' into 'main'Nick Mathewson2023-06-113-2/+116
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | add documentation for configuring snowflake pt Closes #879 and #875 See merge request tpo/core/arti!1216
| * | | add a few more comments on PTstrinity-1686a2023-06-092-2/+5
| | | |
| * | | change path to snowflake clienttrinity-1686a2023-06-081-1/+2
| | | |
| * | | change link for more information on ptstrinity-1686a2023-06-081-1/+1
| | | |
| * | | remove forgoten debug linetrinity-1686a2023-06-081-1/+0
| | | |
| * | | add anchor to amp-cache linktrinity-1686a2023-06-081-1/+1
| | | |
| * | | complement general documentation on bridges and pttrinity-1686a2023-06-073-0/+12
| | | |
| * | | move snowflake example to dedicated file and comment it moretrinity-1686a2023-06-072-27/+103
| | | |
| * | | add documentation for configuring snowflake pttrinity-1686a2023-06-071-4/+27
| |/ /
* | | Merge branch 'hs2' into 'main'Nick Mathewson2023-06-091-28/+36
|\ \ \ | | | | | | | | | | | | | | | | tor-hsclient: Fix use of send_control_message See merge request tpo/core/arti!1230
| * | | tor-hsclient: Use send_control_message properly (fmt)Ian Jackson2023-06-091-10/+10
| | | | | | | | | | | | | | | | This re-indents the body of the trapping IEFE.
| * | | tor-hsclient: Use send_control_message properlyIan Jackson2023-06-091-14/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The comment was entirely wrong. send_control_message returns as soon as the message has been enqueued. So we actually *need* to wait for the oneshot. Also, given that a circuit collapse doesn't give us a real error, we plumb the error through the oneshot. Introduce an IEFE to capture the error from the decoding.
| * | | tor-hsclient: Obtain reply_tx earlierIan Jackson2023-06-091-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | No functional change other than to error cases. Will fit better with code to come in a moment.
| * | | tor-hsclient: Break out handle_proto_errorIan Jackson2023-06-091-4/+6
| | | | | | | | | | | | | | | | We're going to want to reuse this.
* | | | Merge branch 'hs' into 'main'Ian Jackson2023-06-0910-59/+778
|\| | | | | | | | | | | | | | | | | | | Implement rendezvous setup, and hsconn attempt/retry framework See merge request tpo/core/arti!1228
| * | | tor-hsclient: Add TODO for broken send_control_message useIan Jackson2023-06-091-0/+1
| | | |
| * | | tor-hsclient: Discuss circuit parallelisation in sad caseIan Jackson2023-06-091-1/+6
| | | | | | | | | | | | | | | | | | | | Apropose https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1228#note_2910588
| * | | tor-hsclient: Add a TODO to retain the NetDir less longIan Jackson2023-06-091-0/+5
| | | |
| * | | tor-hsclient: Add some trace! temporarilyIan Jackson2023-06-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this I see this: 2023-06-09T12:26:27.698815Z DEBUG tor_hsclient::connect: hs conn to duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion: RPT $36acd600bc8ea6c2800434778909ce3d83621358: sending ESTABLISH_RENDEZVOUS 2023-06-09T12:26:27.699144Z TRACE tor_proto::circuit::reactor: Circ 1.0: reactor received SendMsgAndInstallHandler { msg: RelayCell { streamid: StreamId(0), msg: EstablishRendezvous(EstablishRendezvous { cookie: RendCookie(CtByteArray([220, 39, 37, 30, 37, 108, 111, 23, 127, 220, 50, 108, 161, 109, 229, 235, 110, 88, 233, 38])) }) }, sender: Sender { complete: false } } 2023-06-09T12:26:27.699238Z TRACE tor_guardmgr: Received report of guard status guard_id=FirstHopId(Guard(Default, GuardId(RelayIds { ed_identity: Some(Ed25519Identity { 6lORxW93KRbhHFPNG0g+oBkXZbRnpwBzyfDcta7ed/M }), rsa_identity: Some(RsaIdentity { $f0c9c07d1b7c6fc8547f52cac1015b4a79e2ac1a }) }))) status=Success 2023-06-09T12:26:27.699429Z TRACE tor_hsclient::connect: SEND CONTROL MESSAGE RETURNED 2023-06-09T12:26:27.699966Z INFO tor_guardmgr::guard: We have found that guard [scrubbed] is usable. 2023-06-09T12:26:27.700030Z TRACE tor_guardmgr::guard: Guard status changed. guard_id=GuardId(RelayIds { ed_identity: Some(Ed25519Identity { 6lORxW93KRbhHFPNG0g+oBkXZbRnpwBzyfDcta7ed/M }), rsa_identity: Some(RsaIdentity { $f0c9c07d1b7c6fc8547f52cac1015b4a79e2ac1a }) }) old=Untried new=Reachable 2023-06-09T12:26:27.700607Z TRACE tor_guardmgr: Known usability status guard_id=FirstHopId(Guard(Default, GuardId(RelayIds { ed_identity: Some(Ed25519Identity { 6lORxW93KRbhHFPNG0g+oBkXZbRnpwBzyfDcta7ed/M }), rsa_identity: Some(RsaIdentity { $f0c9c07d1b7c6fc8547f52cac1015b4a79e2ac1a }) }))) usable=true 2023-06-09T12:26:27.701481Z DEBUG arti_client::status: 45%: connecting successfully; directory is fetching authority certificates (8/8) 2023-06-09T12:26:27.765193Z TRACE tor_proto::circuit::reactor: Circ 1.0: handling cell: Relay(Relay { body: .. }) 2023-06-09T12:26:27.765284Z TRACE tor_proto::circuit::reactor: Circ 1.0: Received meta-cell UnparsedRelayCell { body: [39, 0, 0, 0 [[[ eldied -iwj ]]]] } 2023-06-09T12:26:27.765352Z TRACE tor_hsclient::connect: SENDING VIA ONESHOT 2023-06-09T12:26:27.765363Z TRACE tor_hsclient::connect: SENDING VIA ONESHOT DONE 2023-06-09T12:26:27.765367Z TRACE tor_proto::circuit::reactor: Circ 1.0: meta handler completed with result: Ok(UninstallHandler) 2023-06-09T12:26:29.588045Z DEBUG tor_hsclient::connect: hs conn to duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion: attempt failed: error: internal error (bug) at /volatile/rustcargo/Rustup/Arti/arti/crates/tor-hsclient/src/connect.rs:725:28: RENDEZVOUS_ESTABLISHED not sent yet This seems to suggest that send_control_message is returning sooner than expected.
| * | | tor-hsclient: Add a lot of debug! (fmt)Ian Jackson2023-06-091-1/+4
| | | |
| * | | tor-hsclient: Add a lot of debug!Ian Jackson2023-06-091-3/+46
| | | |
| * | | safelog: Provide Redacted.as_inner() and .as_ref()Ian Jackson2023-06-092-0/+14
| | | | | | | | | | | | | | | | Just like for Sensitive.
| * | | tor-hsclient: Add missing `#[source]` annotation for `Failure` errorIan Jackson2023-06-091-1/+1
| | | | | | | | | | | | | | | | Without this, the printed errors are very bland.
| * | | tor-hsclient: Discuss gold-plated handling of RENDEZVOUS_ESTABLISHEDIan Jackson2023-06-091-0/+6
| | | |
| * | | tor-hsclient: Check RENDEZVOUS_ESTABLISHED *after* it should existIan Jackson2023-06-091-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bugfix, without which this code wouldn't work. Reported in https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1228#note_2910293