mirror of
https://github.com/yarrick/iodine.git
synced 2025-06-06 18:53:44 +02:00
Iodine: IPv6
This commit is contained in:
parent
27d8481f9c
commit
168998ec7f
1 changed files with 32 additions and 26 deletions
10
src/client.c
10
src/client.c
|
@ -190,7 +190,9 @@ client_set_nameserver(const char *cp, int port)
|
||||||
struct in_addr addr;
|
struct in_addr addr;
|
||||||
struct in6_addr ipv6addr;
|
struct in6_addr ipv6addr;
|
||||||
|
|
||||||
|
#ifdef LINUX
|
||||||
if (_v6_connect) {
|
if (_v6_connect) {
|
||||||
|
if (inet_pton(AF_INET6, cp, &ipv6addr) != 1) {
|
||||||
struct addrinfo hints, *servinfo, *p;
|
struct addrinfo hints, *servinfo, *p;
|
||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
|
@ -212,13 +214,17 @@ client_set_nameserver(const char *cp, int port)
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
errx(1, "error resolving nameserver '%s'...", cp);
|
errx(1, "error resolving nameserver '%s'...", cp);
|
||||||
|
|
||||||
memcpy(&ipv6addr, &((struct sockaddr_in6*)p->ai_addr)->sin6_addr, sizeof(ipv6addr));
|
memcpy(&ipv6addr, &((struct sockaddr_in6*) p->ai_addr)->sin6_addr,
|
||||||
|
sizeof(ipv6addr));
|
||||||
|
|
||||||
fprintf(stderr, "Resolved %s to ", cp);
|
fprintf(stderr, "Resolved %s to ", cp);
|
||||||
ipv6_print(&ipv6addr, 0);
|
ipv6_print(&ipv6addr, 0);
|
||||||
|
|
||||||
freeaddrinfo(servinfo);
|
freeaddrinfo(servinfo);
|
||||||
} else if (inet_aton(cp, &addr) != 1) {
|
}
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
if (inet_aton(cp, &addr) != 1) {
|
||||||
/* try resolving if a domain is given */
|
/* try resolving if a domain is given */
|
||||||
struct hostent *host;
|
struct hostent *host;
|
||||||
const char *err;
|
const char *err;
|
||||||
|
|
Loading…
Add table
Reference in a new issue