]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge branch 'maint-0.2.7'
authorNick Mathewson <nickm@torproject.org>
Mon, 1 Feb 2016 14:41:45 +0000 (09:41 -0500)
committerNick Mathewson <nickm@torproject.org>
Mon, 1 Feb 2016 14:41:45 +0000 (09:41 -0500)
(We already had a fix for the address test freebsd issues)

1  2 
src/test/test_address.c

index 3ddf2476e3a348c178ab0839b67d2f00886f6829,4cf3a5a3a624435ef2fb0f85efb8aad0af7df434..3b17b23571ff47db0c088a63dae415b163136e3c
@@@ -511,28 -481,16 +511,28 @@@ test_address_get_if_addrs_ioctl(void *a
  
    (void)arg;
  
 -  result = get_interface_addresses_ioctl(LOG_ERR);
 +  result = get_interface_addresses_ioctl(LOG_ERR, AF_INET);
  
 +  /* On an IPv6-only system, this will fail and return NULL
    tt_assert(result);
 -  tt_int_op(smartlist_len(result),>=,1);
 +  */
  
 -#ifndef __FreeBSD__
 -  /* FreeBSD doesn't have a localhost in jails sometimes. */
 -  tt_assert(smartlist_contains_localhost_tor_addr(result));
 -#endif
 -  done:
 +  /* Some FreeBSD jails don't have localhost IP address. Instead, they only
 +   * have the address assigned to the jail (whatever that may be).
 +   * And a jail without a network connection might not have any addresses at
 +   * all. */
 +  if (result) {
 +    tt_assert(!smartlist_contains_null_tor_addr(result));
 +
 +    /* If there are addresses, they must be IPv4 or IPv6.
 +     * (AIX supports IPv6 from SIOCGIFCONF.) */
 +    if (smartlist_len(result) > 0) {
 +      tt_assert(smartlist_contains_ipv4_tor_addr(result)
 +                || smartlist_contains_ipv6_tor_addr(result));
 +    }
 +  }
 +
-   done:
++ done:
    if (result) {
      SMARTLIST_FOREACH(result, tor_addr_t *, t, tor_free(t));
      smartlist_free(result);