]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix an error in tor_addr_parse that kept us from having a hidden service or a bridge...
authorNick Mathewson <nickm@torproject.org>
Wed, 21 Jan 2009 07:24:50 +0000 (07:24 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 21 Jan 2009 07:24:50 +0000 (07:24 +0000)
svn:r18206

ChangeLog
src/common/address.c

index 5aaeee66b57c26302528e47c11ac652dddb62736..453e1865a8cf15565e3a8efa9e287d9e177628f4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@ Changes in version 0.2.1.12-alpha - 2009-01-??
       on 0.2.1.10-alpha; reported by Matt Edman.
     - Fix a compile warning on OSX Panther.  Fixes bug 913; bugfix against
       0.2.1.11-alpha.
+    - Fix a bug in address parsing that was preventing bridges or hidden
+      service targets from being at IPv6 addresses.
 
 
 Changes in version 0.2.1.11-alpha - 2009-01-20
index 0e92b71f91db248354522a1a9c8c259ccbefb9cb..59412363aba3a92813d36e39280aed7fdd0b4c2c 100644 (file)
@@ -962,9 +962,9 @@ tor_addr_from_str(tor_addr_t *addr, const char *src)
   return result;
 }
 
-/** Parse an address or address-port combination from <b>s</b>, and put the
-    result in <b>addr_out</b> and (optionally) <b>port_out</b>.  Return 0 on
   success, negative on failure. */
+/** Parse an address or address-port combination from <b>s</b>, resolve the
+ * address as needed, and put the result in <b>addr_out</b> and (optionally)
* <b>port_out</b>.  Return 0 on success, negative on failure. */
 int
 tor_addr_port_parse(const char *s, tor_addr_t *addr_out, uint16_t *port_out)
 {
@@ -982,7 +982,7 @@ tor_addr_port_parse(const char *s, tor_addr_t *addr_out, uint16_t *port_out)
     port = strstr(s, "]");
     if (!port)
       goto err;
-    tmp = tor_strndup(s+1, port-s);
+    tmp = tor_strndup(s+1, port-(s+1));
     port = port+1;
     if (*port == ':')
       port++;