Browse Source

Two changes lost in rebase resurrected.

Linus Nordberg 11 years ago
parent
commit
74c6dafed6
2 changed files with 8 additions and 5 deletions
  1. 7 4
      src/or/nodelist.c
  2. 1 1
      src/or/routerset.c

+ 7 - 4
src/or/nodelist.c

@@ -921,12 +921,15 @@ node_get_pref_ipv6_orport(const node_t *node, tor_addr_port_t *ap_out)
 void
 node_set_country(node_t *node)
 {
+  tor_addr_t addr = TOR_ADDR_NULL;
+
+  /* XXXXipv6 */
   if (node->rs)
-    node->country = geoip_get_country_by_ip(node->rs->addr);
+    tor_addr_from_ipv4h(&addr, node->rs->addr);
   else if (node->ri)
-    node->country = geoip_get_country_by_ip(node->ri->addr);
-  else
-    node->country = -1;
+    tor_addr_from_ipv4h(&addr, node->ri->addr);
+
+  node->country = geoip_get_country_by_addr(&addr);
 }
 
 /** Set the country code of all routers in the routerlist. */

+ 1 - 1
src/or/routerset.c

@@ -216,7 +216,7 @@ routerset_contains(const routerset_t *set, const tor_addr_t *addr,
     return 3;
   if (set->countries) {
     if (country < 0 && addr)
-      country = geoip_get_country_by_ip(tor_addr_to_ipv4h(addr));
+      country = geoip_get_country_by_addr(addr);
 
     if (country >= 0 && country < set->n_countries &&
         bitarray_is_set(set->countries, country))