]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge remote-tracking branch 'origin/maint-0.2.2'
authorNick Mathewson <nickm@torproject.org>
Wed, 7 Sep 2011 00:55:31 +0000 (20:55 -0400)
committerNick Mathewson <nickm@torproject.org>
Wed, 7 Sep 2011 00:55:31 +0000 (20:55 -0400)
Conflicts:
src/or/connection_edge.c

Conflicted on a router->node transition; fix was easy.

1  2 
src/or/connection_edge.c

index 72c42249db269b50c88146ec836add7a3372418b,8609b023d5726e3aa95fc018d5e4f640dd059e3f..7028764581c46c52612e8ca191575c7839e152c2
@@@ -930,17 -842,15 +930,15 @@@ addressmap_clear_excluded_trackexithost
      if (len < 6)
        continue; /* malformed. */
      dot = target + len - 6; /* dot now points to just before .exit */
-     dot = strrchr(dot, '.'); /* dot now points to the . before .exit or NULL */
-     if (!dot) {
-       nodename = tor_strndup(target, len-5);
-     } else {
-       nodename = tor_strndup(dot+1, strlen(dot+1)-5);
-     }
+     while(dot > target && *dot != '.')
+       dot--;
+     if (*dot == '.') dot++;
+     nodename = tor_strndup(dot, len-5-(dot-target));;
 -    ri = router_get_by_nickname(nodename, 0);
 +    node = node_get_by_nickname(nodename, 0);
      tor_free(nodename);
 -    if (!ri ||
 -        (allow_nodes && !routerset_contains_router(allow_nodes, ri)) ||
 -        routerset_contains_router(exclude_nodes, ri) ||
 +    if (!node ||
 +        (allow_nodes && !routerset_contains_node(allow_nodes, node)) ||
 +        routerset_contains_node(exclude_nodes, node) ||
          !hostname_in_track_host_exits(options, address)) {
        /* We don't know this one, or we want to be rid of it. */
        addressmap_ent_remove(address, ent);