[tor-dev] Hidden Services and IP address changes

George Kadianakis desnacked at riseup.net
Tue Jun 16 12:19:46 UTC 2015

Martin Florian <florian at kit.edu> writes:

> Hello everyone,
> I think I've found one or more bugs that appear when Tor clients
> hosting HSes change their IP address during operation. I'm slightly
> overwhelmed from reading the Tor source code and not sure how to best
> fix them.
> The central issue that I discovered can be reproduced like this
> (assuming Tor clients A, B and C):
> 1. (Setup) A hosts the HS X and A, B and C are all booted up.
> 2. B connects to X - it works!
> 3. A changes its IP address.
> 4. B tries to talk to X again - doesn't work!
> 5. C tries to talk to X (for the first time) - works like a charm (so
> X IS working)
> I digged through the Tor log and source code and have now arrived at
> following hypothesis for why this particular error happens:
> - after A changes its IP addresses, it never establishes a circuit to
> the old RP with B again.
> - B, on the other hand, keeps trying to talk with A through that RP,
> saying that it is an "Active rendezvous point". B never stops trying
> to use that RP.
> So, they appear to be two sides to this:
> a) A not notifying B or the RP about its IP address change.
> b) B not considering the possibility that the RP might not be active
> anymore.
> b) seems easier to fix. Some logic needs to be included for forgetting
> about RPs that have failed once. I identified
> connection_ap_expire_beginning() as one potential place to do this. Am
> I on the right track? Is this a good idea? And how do I forget about
> RPs? These are some of the questions I'm struggling with...

Hello friend!

I opened a trac ticket for this whole "hidden services on mobile
phones don't work that well" issue. You can find it here:


More information about the tor-dev mailing list