Validate address more carefully when checking self-reachability

Previously, we would treat *any* incoming circuit on a non-local
channel as meaning that our ORPort was reachable.  With this patch,
we make sure that the address that the peer _says_ we have is the
same as the one we're trying to advertise right now.

Closes 20165. Bugfix on 4f5192b280 in 0.1.0.1-rc, when
reachability self-tests were first introduced.
This commit is contained in:
Nick Mathewson
2020-08-06 11:21:00 -04:00
committed by George Kadianakis
parent afd88ee87f
commit 75772ea096
7 changed files with 61 additions and 7 deletions
+6
View File
@@ -0,0 +1,6 @@
o Minor bugfixes (self-testing):
- When receiving an incoming circuit, only accept it as evidence that we
are reachable if the declared address of its channel is the same
address we think that we have. Otherwise, it could be evidence that
we're reachable on some other address. Fixes bug 20165; bugfix on
0.1.0.1-rc.