|  | @@ -78,8 +78,10 @@ typedef struct cached_resolve_t {
 | 
	
		
			
				|  |  |    uint32_t magic;
 | 
	
		
			
				|  |  |    char address[MAX_ADDRESSLEN]; /**< The hostname to be resolved. */
 | 
	
		
			
				|  |  |    union {
 | 
	
		
			
				|  |  | -    /*XXXX021 Make this use a tor_addr_t OP6 */
 | 
	
		
			
				|  |  | -    uint32_t addr;  /**< IPv4 addr for <b>address</b>. */
 | 
	
		
			
				|  |  | +    struct {
 | 
	
		
			
				|  |  | +      struct in6_addr addr6; /**< IPv6 addr for <b>address</b>. */
 | 
	
		
			
				|  |  | +      uint32_t addr;  /**< IPv4 addr for <b>address</b>. */
 | 
	
		
			
				|  |  | +    } a;
 | 
	
		
			
				|  |  |      char *hostname; /**< Hostname for <b>address</b> (if a reverse lookup) */
 | 
	
		
			
				|  |  |    } result;
 | 
	
		
			
				|  |  |    uint8_t state; /**< Is this cached entry pending/done/valid/failed? */
 | 
	
	
		
			
				|  | @@ -716,7 +718,7 @@ dns_resolve_impl(edge_connection_t *exitconn, int is_resolve,
 | 
	
		
			
				|  |  |            tor_assert(is_resolve);
 | 
	
		
			
				|  |  |            *hostname_out = tor_strdup(resolve->result.hostname);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -          tor_addr_from_ipv4h(&exitconn->_base.addr, resolve->result.addr);
 | 
	
		
			
				|  |  | +          tor_addr_from_ipv4h(&exitconn->_base.addr, resolve->result.a.addr);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return 1;
 | 
	
		
			
				|  |  |        case CACHE_STATE_CACHED_FAILED:
 | 
	
	
		
			
				|  | @@ -947,7 +949,7 @@ add_answer_to_cache(const char *address, uint8_t is_reverse, uint32_t addr,
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    } else {
 | 
	
		
			
				|  |  |      tor_assert(!hostname);
 | 
	
		
			
				|  |  | -    resolve->result.addr = addr;
 | 
	
		
			
				|  |  | +    resolve->result.a.addr = addr;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    resolve->ttl = ttl;
 | 
	
		
			
				|  |  |    assert_resolve_ok(resolve);
 | 
	
	
		
			
				|  | @@ -1589,7 +1591,7 @@ assert_resolve_ok(cached_resolve_t *resolve)
 | 
	
		
			
				|  |  |      if (resolve->is_reverse)
 | 
	
		
			
				|  |  |        tor_assert(!resolve->result.hostname);
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      tor_assert(!resolve->result.addr);
 | 
	
		
			
				|  |  | +      tor_assert(!resolve->result.a.addr);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |