Przeglądaj źródła

Add tor_addr_port_new().

Linus Nordberg 11 lat temu
rodzic
commit
585ef06978
3 zmienionych plików z 16 dodań i 2 usunięć
  1. 12 0
      src/common/address.c
  2. 2 0
      src/common/address.h
  3. 2 2
      src/or/dirvote.c

+ 12 - 0
src/common/address.c

@@ -1697,3 +1697,15 @@ tor_addr_hostname_is_local(const char *name)
     !strcasecmpend(name, ".local");
 }
 
+
+/** Return a newly allocated tor_addr_port_t with <b>addr</b> and
+    <b>port</b> filled in. */
+tor_addr_port_t *
+tor_addr_port_new(const tor_addr_t *addr, uint16_t port)
+{
+  tor_addr_port_t *ap = tor_malloc_zero(sizeof(tor_addr_port_t));
+  if (addr)
+    tor_addr_copy(&ap->addr, addr);
+  ap->port = port;
+  return ap;
+}

+ 2 - 0
src/common/address.h

@@ -221,5 +221,7 @@ int tor_inet_ntoa(const struct in_addr *in, char *buf, size_t buf_len);
 char *tor_dup_ip(uint32_t addr) ATTR_MALLOC;
 int get_interface_address(int severity, uint32_t *addr);
 
+tor_addr_port_t *tor_addr_port_new(const tor_addr_t *addr, uint16_t port);
+
 #endif
 

+ 2 - 2
src/or/dirvote.c

@@ -479,8 +479,8 @@ compute_routerstatus_consensus(smartlist_t *votes, int consensus_method,
       if (compare_vote_rs(most, rs) == 0 &&
           !tor_addr_is_null(&rs->status.ipv6_addr)
           && rs->status.ipv6_orport) {
-        smartlist_add(alt_orports, tor_addr_port_alloc(&rs->status.ipv6_addr,
-                                                       rs->status.ipv6_orport));
+        smartlist_add(alt_orports, tor_addr_port_new(&rs->status.ipv6_addr,
+                                                     rs->status.ipv6_orport));
         log_debug(LD_DIR, "picking %s:%d (%s) for voting on \"a\" lines", /* FIXME: remove */
                   fmt_and_decorate_addr(&rs->status.ipv6_addr), rs->status.ipv6_orport,
                   rs->status.nickname);