torproject / tor Public
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hs-v3: Remove intro point on circuit build time out #1275
Conversation
When establishing service intro points, if a circuit ever times out due to CBT, callback into the HS subsystem in order to remove the intro point from the service descriptor list. Fixese #31561 Signed-off-by: David Goulet <dgoulet@torproject.org>
Pull Request Test Coverage Report for Build 6571
|
Split the function into a client and service component so then those new functions can be used for more specific purposes. Part of #31561 Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: David Goulet <dgoulet@torproject.org>
| static int | ||
| circuit_purpose_is_hs_client(uint8_t purpose) | ||
| { | ||
| /* Client-side purpose */ |
Hmm, the split is not entirely true because vanguards also can be used for clients. There is no error introduced by this commit, but there is a semantic issue. I don't have a strong opinion on how to resolve this.
What should I do here hehe? I'm not sure. The circuit_purpose_is_hs_service() does look for vanguard also. If is_hs_client() can also return true for the Vanguard purpose, we have a problem since both would return true?...
Want me to add a comment saying ?
Hmm, how about we return True in is_hs_clietn() for vanguard circuits, so that in the future if someone uses it, we have taken it into account (and maybe also add it in the func docs)?
Do you think there will be a problem because they both would return true? Why?
Unsure if I think there is a problem. I guess if the circuit is an HS Vanguard purpose, then it doesn't matter if both return True since all we want to know is if "it is HS" since these function are primarily used in circuit_purpose_is_hidden_service().
Fixup commit has the fix: ec801f4
When establishing service intro points, if a circuit ever times out due to
CBT, callback into the HS subsystem in order to remove the intro point from
the service descriptor list.
Fixese #31561
Signed-off-by: David Goulet dgoulet@torproject.org
The text was updated successfully, but these errors were encountered: