summaryrefslogtreecommitdiff
path: root/crates/tor-hsclient/src
Commit message (Collapse)AuthorAgeFilesLines
* Run cargo +nightly fmt to format many let ... else ...Ian Jackson2023-07-243-21/+30
| | | | | | | | | | | rustfmt has grown opinions about how let ... else ... ought to be formatted. They don't always agree with our previous manual decisions. I think our policy is to always insist on rustfmt. When that version of rustfmt hits stable, our CI will start to fail for everyone. (Right now this discrepancy just causes trouble for contributors who are using nightly by default.)
* Fix typosDimitris Apostolou2023-07-222-10/+10
|
* retry-error: Attempts must be AsRef<dyn Error>; print their sourcesIan Jackson2023-07-192-6/+6
| | | | | | | | The effect is that everywhere a RetryError is used, the error sources for the contained errors will be Display'd. In tor-hsclient we no longer need to explicitly wrap things up in tor_error::Report.
* Merge branch 'clippy-allow' into 'main'Ian Jackson2023-07-114-0/+4
|\ | | | | | | | | clippy: Allow some of our existing code patterns See merge request tpo/core/arti!1396
| * Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-104-0/+4
| |
* | Merge branch 'conversation' into 'main'Alexander Færøy2023-07-101-18/+28
|\ \ | | | | | | | | | | | | Overhaul send_control_message See merge request tpo/core/arti!1367
| * | tor-proto: run rustfmtIan Jackson2023-06-301-1/+3
| | |
| * | tor-proto conversation API: Provide ConversationInHandlerIan Jackson2023-06-301-1/+3
| | |
| * | tor-proto conversation API: Return a ConversationIan Jackson2023-06-301-4/+10
| | | | | | | | | | | | | | | This is just a placeholder for now, but it'll be a thing you can send more messages with.
| * | tor-proto conversation API: Rename to start_conversation_last_hopIan Jackson2023-06-301-8/+8
| | | | | | | | | | | | Was send_control_message.
| * | tor-proto conversation API: Make starting message optionalIan Jackson2023-06-301-5/+5
| | | | | | | | | | | | | | | We're going to let people start a conversation and either expect to receive first, or send messages ad-hoc later.
| * | tor-proto conversation API: Rename to ConversationFinishedIan Jackson2023-06-301-2/+2
| | | | | | | | | | | | | | | | | | Was UninstallHandler. We are going to talk more about conversations and less about handlers (although, the fact of there being a handler will still be visible).
* | | Merge branch 'recurse' into 'main'Alexander Færøy2023-07-101-26/+37
|\| | | |/ |/| | | | | tor-hsclient: Mock traits: Work around an async boobytrap See merge request tpo/core/arti!1365
| * tor-hsclient: Mock traits: Work around an async boobytrapIan Jackson2023-06-301-26/+37
| |
* | Add exceptions for some cases of diverging_sub_expressionNick Mathewson2023-07-101-0/+2
| | | | | | | | | | | | | | | | See here for documentation on the lint: https://rust-lang.github.io/rust-clippy/master/index.html#/diverging_sub_expression The issue here, from what I can tell, is that the lint triggers whenever you use a diverging expression as a function body within an
* | Throughout: Use *_report!() macros for reporting Errors.Nick Mathewson2023-07-072-25/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I identified the cases to replace by searching for the string `.report()`. There are a few that I didn't change: * A couple of cases that used anyhow::Error, * One case that reported two Errors. * Two cases in `tor_hsclient::err` that just did `error!("Bug: {}")`. I have also not audited the cases in `tor-hsclient` where we're using `tor_error::Report` manually. Nonetheless, closes #949.
* | Run add_warning to remove `missing_panics_doc` deny.Nick Mathewson2023-07-061-1/+0
| | | | | | | | Closes #950.
* | tor-hsclient: Abolish ad-hoc real-world-time sleepsIan Jackson2023-07-061-12/+4
|/ | | | | | Now we can reliably wait precisely for the tasks to be all waiting. This test case no longer involves any real executor.
* hsclient: Make HsClientSpecifier a newtype instead of a type alias.Gabriela Moldovan2023-06-291-1/+11
|
* arti-client, hsclient: Typealias HsClientSpecifier to ArtiPathComponent.Gabriela Moldovan2023-06-291-25/+2
| | | | `ArtiPathComponent` is a more generic version of `HsClientSpecifier`.
* Merge branch 'timeouts' into 'main'Ian Jackson2023-06-291-16/+109
|\ | | | | | | | | tor-hsclient: Use estimated timeouts See merge request tpo/core/arti!1342
| * tor-hsclient: Add some notes about timeouts and hopsIan Jackson2023-06-291-0/+8
| |
| * tor-hsclient: Use estimated timeouts for introduction and rendezvous (fmt)Ian Jackson2023-06-291-2/+6
| |
| * tor-hsclient: Use estimated timeouts for introduction and rendezvousIan Jackson2023-06-291-12/+44
| | | | | | | | Replacing RPT_IPT_TIMEOUT is not entirely straightforward.
| * tor-hsclient: Use estimated timeout for hsdir fetches (fmt)Ian Jackson2023-06-291-1/+1
| |
| * tor-hsclient: Use estimated timeout for hsdir fetchesIan Jackson2023-06-291-5/+7
| |
| * tor-hsclient: Provide bodge constant for circuit lengthIan Jackson2023-06-291-0/+11
| |
| * tor-hsclient: Plumb timeout estimation machineryIan Jackson2023-06-291-0/+36
| |
* | Merge branch 'maxintro3' into 'main'Ian Jackson2023-06-291-4/+0
|\ \ | |/ |/| | | | | tor-netdoc: Handle anomalous numbers of introduction points See merge request tpo/core/arti!1332
| * tor-netdoc: Reject hsdescs with no intro pointsIan Jackson2023-06-281-4/+0
| | | | | | | | None of the existing NetdocErrorKinds seemed right.
* | Merge branch 'debug' into 'main'Ian Jackson2023-06-291-15/+12
|\ \ | | | | | | | | | | | | tor-hsclient: Reimplement Debug for MockCirc See merge request tpo/core/arti!1324
| * | tor-hsclient: Reimplement Debug for MockCircIan Jackson2023-06-291-15/+12
| | | | | | | | | | | | | | | This is less code. Also it now dumps the connect_called field which was introduced in the meantime.
* | | Merge branch 'circparams' into 'main'Ian Jackson2023-06-291-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | tor-hsclient: Use proper CircParameters Closes #935 See merge request tpo/core/arti!1340
| * | tor-hsclient: Use proper CircParametersIan Jackson2023-06-291-2/+2
| | | | | | | | | | | | Fixes #935
* | | Merge branch 'handshake-error' into 'main'Nick Mathewson2023-06-292-31/+59
|\| | | | | | | | | | | | | | tor-hsclient: Handle handshake completion error correctly See merge request tpo/core/arti!1336
| * | tor-hsclient: err: Mention RENDEZVOUS2 in actual messages (fmt)Ian Jackson2023-06-291-1/+3
| | |
| * | tor-hsclient: err: Rename to RendezvousCompletionCircuitErrorIan Jackson2023-06-292-5/+5
| | | | | | | | | | | | | | | | | | | | | Thsi is a bit of a mouthful now, but it is comprehensible. As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1336#note_2917235
| * | tor-hsclient: err: Mention RENDEZVOUS2 in actual messagesIan Jackson2023-06-291-2/+2
| | |
| * | tor-hsclient: err: Move doc comment to correct implIan Jackson2023-06-291-17/+17
| | | | | | | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1336#note_2917236
| * | tor-hsclient: err: Mention RENDEZVOUS2Ian Jackson2023-06-291-2/+2
| | |
| * | tor-hsclient: err: Reword comments about errorIan Jackson2023-06-291-1/+1
| | |
| * | tor-hsclient: Handle handshake completion error correctlyIan Jackson2023-06-282-6/+31
| | |
| * | tor-hsclient: Rename RendezvousCompletionCircuit from RendezvousCompletionIan Jackson2023-06-282-5/+5
| | | | | | | | | | | | | | | | | | 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.
| * | tor-hsclient: Move handling of Bug to new sectionIan Jackson2023-06-281-1/+2
| |/ | | | | | | It was wrong where ti was.
* | tor-hsclient: Make RendPtIdentityForError use RelayIdsIan Jackson2023-06-281-6/+3
| | | | | | | | Since arti!1233 this is trivial.
* | tor-hsclient: Use RendPtIdentityForError in more placesIan Jackson2023-06-281-4/+4
|/ | | | | For some reason this wasn't used in the actual errors, although it *was* used in the types of the functions etc.
* Merge branch 'reuse' into 'main'Ian Jackson2023-06-281-1/+17
|\ | | | | | | | | tor-hsclient: Discuss intro circuit extend-and-reuse See merge request tpo/core/arti!1298
| * tor-hsclient: Add a TODO SPEC re HS intro extend-and-reuseIan Jackson2023-06-231-0/+2
| |
| * tor-hsclient: Discuss intro circuit extend-and-reuseIan Jackson2023-06-231-1/+15
| | | | | | | | This is a summary of a discussion I had on IRC.
* | HS timeout parameters: Restore some TODOsIan Jackson2023-06-281-0/+4
| | | | | | | | | | | | | | | | | | Conceptually this is a fixup to HS configuration: Add retry parameters to configuration which erroneously removed these comments - they were intended to apply to *all* these parameters, not just the max attempts. Not marking it as fixup! because that would involve merge conflicts.