Implement proposal 204: ignore subdomains in hidden service addresses
Attached is a patch that implements proposal 204. The present version address Nick's comments made on https://lists.torproject.org/pipermail/tor-dev/2012-July/003723.html.
- Show closed items
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Lunar changed milestone to %Tor: 0.2.4.x-final
changed milestone to %Tor: 0.2.4.x-final
Looks good! Remaining issues from my email:
- Somebody should run this to make sure that it works. :)
Otherwise it looks fine to me.
Oh! Actually, this may break IsolateDestAddr.
There's a security issue to think about here: Should we allow connections to two vhosts on the same hidden service to share a circuit? I think the answer is "not by default."
Trac:
Milestone: N/A to Tor: 0.2.4.x-finalTrac:
Keywords: N/A deleted, tor-client addedTrac:
Component: Tor Client to TorAfter applying the patch on top of ee4182612f, I have made some tests using the following protocol:
Tor started through:
src/or/tor RunAsDaemon 0 Log "info stdout" SafeLogging 0 SocksPort "127.0.0.1:9850 IsolateDestAddr"
Using curl to reach hidden services through: {{{curl -I --socks5-hostname 127.0.0.1:9850 http://idnxcnkne4qt76tg.onion/}}
- http://idnxcnkne4qt76tg.onion/ → build circuit A
- http://idnxcnkne4qt76tg.onion/ → reuse circuit A
- http://first.idnxcnkne4qt76tg.onion/ → build circuit B
- http://first.idnxcnkne4qt76tg.onion/ → reuse circuit B
- http://idnxcnkne4qt76tg.onion/ → reuse circuit A
- http://second.idnxcnkne4qt76tg.onion/ → build circuit C
So it looks like it does not break IsolateDestAddr. I have been unable to make sure of that by looking at the code, though. :(
Cool. I'll look at the code some more to figure out why it works. My guess now would be that the address getting changes is conn->address, and that edge_conn->original_dest_address (or whatever it's called: the one that circuit isolation looks at) is unchanged.
One last question if I may: when IsolateDestAddr isn't set, do requests like this share circuits? I wonder if for security maybe we should turn on IsolateDestAddr for all onion circuits no matter what.
Same tests without using IsolateDestAddr:
- http://idnxcnkne4qt76tg.onion/ → build circuit A
- http://idnxcnkne4qt76tg.onion/ → reuse circuit A
- http://first.idnxcnkne4qt76tg.onion/ → reuse circuit A
- http://first.idnxcnkne4qt76tg.onion/ → reuse circuit A
- http://idnxcnkne4qt76tg.onion/ → reuse circuit A
- http://second.idnxcnkne4qt76tg.onion/ → reuse circuit A
Great; after discussion with Roger, I believe this is correct and mergeable.
Trac:
Resolution: N/A to implemented
Status: needs_review to closed(and it's merged now too)
- Trac closed
closed
- dmr mentioned in issue #19757 (moved)
mentioned in issue #19757 (moved)
- Trac moved to tpo/core/tor#6344 (closed)
moved to tpo/core/tor#6344 (closed)