tor  0.4.0.1-alpha
Functions
resolve.c File Reference
#include "lib/net/resolve.h"
#include "lib/net/address.h"
#include "lib/net/inaddr.h"
#include "lib/malloc/malloc.h"
#include "lib/string/parse_int.h"
#include "lib/string/util_string.h"
#include "ext/siphash.h"
#include "ext/ht.h"
#include <string.h>

Go to the source code of this file.

Functions

 MOCK_IMPL (int, tor_lookup_hostname,(const char *name, uint32_t *addr))
 
 MOCK_IMPL (int, tor_addr_lookup,(const char *name, uint16_t family, tor_addr_t *addr))
 
int tor_addr_port_lookup (const char *s, tor_addr_t *addr_out, uint16_t *port_out)
 
void sandbox_disable_getaddrinfo_cache (void)
 
void tor_make_getaddrinfo_cache_active (void)
 

Detailed Description

Use the libc DNS resolver to convert hostnames into addresses.

Definition in file resolve.c.

Function Documentation

◆ MOCK_IMPL() [1/2]

MOCK_IMPL ( int  ,
tor_lookup_hostname  ,
(const char *name, uint32_t *addr)   
)

Similar behavior to Unix gethostbyname: resolve name, and set *addr to the proper IP address, in host byte order. Returns 0 on success, -1 on failure; 1 on transient failure.

(This function exists because standard windows gethostbyname doesn't treat raw IP addresses properly.)

Definition at line 42 of file resolve.c.

◆ MOCK_IMPL() [2/2]

MOCK_IMPL ( int  ,
tor_addr_lookup  ,
(const char *name, uint16_t family, tor_addr_t *addr)   
)

Similar behavior to Unix gethostbyname: resolve name, and set *addr to the proper IP address and family. The family argument (which must be AF_INET, AF_INET6, or AF_UNSPEC) declares a preferred family, though another one may be returned if only one family is implemented for this address.

Return 0 on success, -1 on failure; 1 on transient failure.

Definition at line 67 of file resolve.c.

◆ tor_addr_port_lookup()

int tor_addr_port_lookup ( const char *  s,
tor_addr_t addr_out,
uint16_t *  port_out 
)

Parse an address or address-port combination from s, resolve the address as needed, and put the result in addr_out and (optionally) port_out. Return 0 on success, negative on failure.

Definition at line 184 of file resolve.c.

References eat_whitespace(), and tor_assert().