[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #10801 [Tor]: parse_bridge_line() does tor_addr_port_lookup(). Perhaps it should parse, not lookup.
#10801: parse_bridge_line() does tor_addr_port_lookup(). Perhaps it should parse,
not lookup.
------------------------+-------------------------------------
Reporter: nickm | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Tor: 0.2.5.x-final
Component: Tor | Version:
Resolution: | Keywords: tor-client 024-backport
Actual Points: | Parent ID:
Points: |
------------------------+-------------------------------------
Comment (by dcf):
I often use
{{{
Bridge tor1.bamsoftware.com:9001
}}}
when I'm testing things; I would have to memorize my bridge's IP address,
but that's no big deal.
Resolving the names at the time of parsing is indeed strange. I would be
less surprised if the names were resolved at the time of the SOCKS
connection, but that's fairly minor. If you assume that the name has to be
resolved one way or another, it doesn't matter much when you resolve it,
but some transports may not want the name to be resolved (or may want to
resolve it in their own way).
For me, it would be nice if Tor would pass unresolved host names to
pluggable transports, and allow the pluggable transport to resolve it (or
not). One use case is the mnemonic one above. Another is the new
[[doc/meek|meek]] transport, which doesn't use a bridge IP address, but
rather a URL:
{{{
Bridge meek 0.0.2.0:1 url=https://meek-reflect.appspot.com/
front=www.google.com
}}}
The bridge address 0.0.2.0:1 is bogus and is ignored. The host name in the
URL is resolved by the transport. Imagine instead:
{{{
Bridge meek meek-reflect.appspot.com:443 front=www.google.com
}}}
You can in fact write it this way now, but it won't work because Tor will
pre-resolve the name, and the transport will receive only an IP address
and will not know what to put in the Host header of its HTTP requests. I
admit this case is not so compelling, because I wouldn't actually write it
that way. A separate `url` argument allows you to include a path, which
the hostname:port syntax doesn't. But for what it's worth, Tor passing
host names to transports is what I assumed would happen when I started
coding things, and I was surprised that it was resolving the names.
It might be nice from a UX point of view if there was a way to indicate
that the address field is going to be ignored, like with meek and flash
proxy. A special invalid domain name could work for that (but is maybe not
the best way).
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/10801#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs