1014 |
if (version != NULL) |
if (version != NULL) |
1015 |
*version = 0; |
*version = 0; |
1016 |
|
|
1017 |
if (getaddrinfo(hostname, NULL, NULL, &res) != 0) |
res = NULL; |
1018 |
|
|
1019 |
|
if (getaddrinfo (hostname, NULL, NULL, &res) != 0) |
1020 |
return 1; |
return 1; |
1021 |
|
|
1022 |
if (!res) |
if (!res) |
1023 |
return 1; |
return 1; |
1024 |
|
|
1025 |
if (getnameinfo(res->ai_addr, res->ai_addrlen, ipbuffer, sizeof(ipbuffer), NULL, 0, NI_NUMERICHOST) != 0) |
if (getnameinfo (res->ai_addr, res->ai_addrlen, ipbuffer, sizeof(ipbuffer), NULL, 0, NI_NUMERICHOST) != 0) |
1026 |
{ |
{ |
1027 |
freeaddrinfo (res); |
freeaddrinfo (res); |
1028 |
return 1; |
return 1; |
1033 |
if ((res->ai_family == AF_INET6) && (version != NULL)) |
if ((res->ai_family == AF_INET6) && (version != NULL)) |
1034 |
*version = 6; |
*version = 6; |
1035 |
|
|
1036 |
strcpy(ip, ipbuffer); |
strcpy (ip, ipbuffer); |
1037 |
|
|
1038 |
freeaddrinfo (res); |
freeaddrinfo (res); |
1039 |
|
|
1040 |
return 0; |
return 0; |
1254 |
{ |
{ |
1255 |
struct addrinfo hints, *res; |
struct addrinfo hints, *res; |
1256 |
|
|
1257 |
|
res = NULL; |
1258 |
|
|
1259 |
if (cfg_proxy_use) |
if (cfg_proxy_use) |
1260 |
{ |
{ |
1261 |
memset (&hints, 0, sizeof(hints)); |
memset (&hints, 0, sizeof (hints)); |
1262 |
hints.ai_family = (cfg_proxy_ipv6) ? AF_INET6 : AF_INET; |
hints.ai_family = (cfg_proxy_ipv6) ? AF_INET6 : AF_INET; |
1263 |
hints.ai_socktype = SOCK_STREAM; |
hints.ai_socktype = SOCK_STREAM; |
1264 |
if (getaddrinfo (cfg_proxy_address, NULL, &hints, &res) !=0) |
if (getaddrinfo (cfg_proxy_address, NULL, &hints, &res) !=0) |
1266 |
write(server->child_write, "1", 1); |
write(server->child_write, "1", 1); |
1267 |
return 0; |
return 0; |
1268 |
} |
} |
1269 |
|
if (!res) |
1270 |
|
{ |
1271 |
|
write(server->child_write, "1", 1); |
1272 |
|
return 0; |
1273 |
|
} |
1274 |
if ((cfg_proxy_ipv6 && (res->ai_family != AF_INET6)) |
if ((cfg_proxy_ipv6 && (res->ai_family != AF_INET6)) |
1275 |
|| ((!cfg_proxy_ipv6 && (res->ai_family != AF_INET)))) |
|| ((!cfg_proxy_ipv6 && (res->ai_family != AF_INET)))) |
1276 |
{ |
{ |
1277 |
write(server->child_write, "2", 1); |
write (server->child_write, "2", 1); |
1278 |
freeaddrinfo (res); |
freeaddrinfo (res); |
1279 |
return 0; |
return 0; |
1280 |
} |
} |
1308 |
write(server->child_write, "1", 1); |
write(server->child_write, "1", 1); |
1309 |
return 0; |
return 0; |
1310 |
} |
} |
1311 |
|
if (!res) |
1312 |
|
{ |
1313 |
|
write(server->child_write, "1", 1); |
1314 |
|
return 0; |
1315 |
|
} |
1316 |
if ((server->ipv6 && (res->ai_family != AF_INET6)) |
if ((server->ipv6 && (res->ai_family != AF_INET6)) |
1317 |
|| ((!server->ipv6 && (res->ai_family != AF_INET)))) |
|| ((!server->ipv6 && (res->ai_family != AF_INET)))) |
1318 |
{ |
{ |