Stored IPv6 TransportProxy bindaddr lacks brackets
A managed proxy can announce that it is listening on an IPv6 address:
VERSION 1
SMETHOD dummy [::]:10000
SMETHODS DONE
tor caches the address in ~/.tor/state
without brackets around the IPv6 address:
Oct 02 03:18:30.000 [info] handle_proxy_line(): Got a line from managed proxy '/home/david/branches/tor/dummy.sh': (VERSION 1)
Oct 02 03:18:30.000 [info] handle_proxy_line(): Got a line from managed proxy '/home/david/branches/tor/dummy.sh': (SMETHOD dummy [::]:10000)
Oct 02 03:18:30.000 [info] parse_smethod_line(): Server transport dummy at [::]:10000.
Oct 02 03:18:30.000 [info] handle_proxy_line(): Got a line from managed proxy '/home/david/branches/tor/dummy.sh': (SMETHODS DONE)
Oct 02 03:18:30.000 [info] handle_methods_done(): Server managed proxy '/home/david/branches/tor/dummy.sh' configuration completed!
Oct 02 03:18:30.000 [info] save_transport_to_state(): It's the first time we see this transport. Let's save its address:port
Oct 02 03:18:30.000 [notice] Registered server transport 'dummy' at ':::10000'
TransportProxy dummy :::10000
The next time running the transport, tor writes to the environment a TOR_PT_SERVER_BINDADDR
without brackets as well.
TOR_PT_ORPORT=127.0.0.1:9001
TOR_PT_EXTENDED_SERVER_PORT=
TOR_PT_STATE_LOCATION=/home/david/.tor/pt_state/
TOR_PT_MANAGED_TRANSPORT_VER=1
TOR_PT_SERVER_TRANSPORTS=dummy
TOR_PT_SERVER_BINDADDR=dummy-:::10000
Perhaps the IPv6 address should have brackets? The attached script can be used to reproduce this:
tor SocksPort 0 ORPort 9001 Log "info stderr" ServerTransportPlugin "dummy exec $(pwd)/dummy.sh"