// initialize cares
if((res = ares_init(&dnsengine_cares_channel)) != ARES_SUCCESS) {
iolog_trigger(IOLOG_ERROR, "Failed to initialize c-ares in %s:%d", __FILE__, __LINE__);
- return 0;
- }
- return 1;
+ return 0;
+ }
+ return 1;
}
static void dnsengine_cares_update_sockets() {
void *target = (host->h_addrtype == AF_INET ? ((void *) &((struct sockaddr_in *)dnsresult->result.addr.address)->sin_addr) : ((void *) &((struct sockaddr_in6 *)dnsresult->result.addr.address)->sin6_addr));
memcpy(target, *h_addr, host->h_length);
+ dnsresult->result.addr.address->sa_family = host->h_addrtype;
if(host->h_addrtype == AF_INET) {
char str[INET_ADDRSTRLEN];
inet_ntop( AF_INET, &((struct sockaddr_in *)dnsresult->result.addr.address)->sin_addr, str, INET_ADDRSTRLEN );
}
static void dnsengine_cares_loop() {
- /* empty */
+ /* empty */
}
struct IODNSEngine dnsengine_cares = {
- .name = "c-ares",
- .init = dnsengine_cares_init,
+ .name = "c-ares",
+ .init = dnsengine_cares_init,
.stop = dnsengine_cares_stop,
- .add = dnsengine_cares_add,
- .remove = dnsengine_cares_remove,
- .loop = dnsengine_cares_loop,
+ .add = dnsengine_cares_add,
+ .remove = dnsengine_cares_remove,
+ .loop = dnsengine_cares_loop,
.socket_callback = dnsengine_cares_socket_callback,
};
#else
struct IODNSEngine dnsengine_cares = {
- .name = "c-ares",
- .init = NULL,
+ .name = "c-ares",
+ .init = NULL,
.stop = NULL,
- .add = NULL,
- .remove = NULL,
- .loop = NULL,
+ .add = NULL,
+ .remove = NULL,
+ .loop = NULL,
.socket_callback = NULL,
};