[tor-commits] [tor/master] Use fmt_and_decorate_addr in TransportProxy statefile entry.
nickm at torproject.org
nickm at torproject.org
Thu Oct 11 02:32:44 UTC 2012
commit 5cbf0f2106e85fe69b6ce0d185d62755c2997220
Author: David Fifield <david at bamsoftware.com>
Date: Sat Oct 6 21:03:24 2012 -0700
Use fmt_and_decorate_addr in TransportProxy statefile entry.
state_transport_line_is_valid calls tor_addr_port_lookup, which expects
brackets around an IPv6 address. Without this, cached transport
addresses can't be parsed later:
[warn] state: Could not parse addrport.
[warn] state: State file seems to be broken.
See #7011.
---
src/or/statefile.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/or/statefile.c b/src/or/statefile.c
index 499572a..dd9d102 100644
--- a/src/or/statefile.c
+++ b/src/or/statefile.c
@@ -553,7 +553,8 @@ save_transport_to_state(const char *transport,
if (transport_line) { /* if transport already exists in state... */
const char *prev_bindaddr = /* get its addrport... */
get_transport_bindaddr(transport_line->value, transport);
- tor_asprintf(&transport_addrport, "%s:%d", fmt_addr(addr), (int)port);
+ tor_asprintf(&transport_addrport, "%s:%d", fmt_and_decorate_addr(addr),
+ (int)port);
/* if transport in state has the same address as this one, life is good */
if (!strcmp(prev_bindaddr, transport_addrport)) {
@@ -566,7 +567,7 @@ save_transport_to_state(const char *transport,
"address:port");
tor_free(transport_line->value); /* free the old line */
tor_asprintf(&transport_line->value, "%s %s:%d", transport,
- fmt_addr(addr),
+ fmt_and_decorate_addr(addr),
(int) port); /* replace old addrport line with new line */
}
} else { /* never seen this one before; save it in state for next time */
@@ -585,7 +586,7 @@ save_transport_to_state(const char *transport,
*next = line = tor_malloc_zero(sizeof(config_line_t));
line->key = tor_strdup("TransportProxy");
tor_asprintf(&line->value, "%s %s:%d", transport,
- fmt_addr(addr), (int) port);
+ fmt_and_decorate_addr(addr), (int) port);
next = &(line->next);
}
More information about the tor-commits
mailing list