From 7013ee562b279b41e9d9b7ce7ab74738804fcc54 Mon Sep 17 00:00:00 2001 From: Jurjen van Dijk Date: Mon, 14 Dec 2020 14:01:31 +0100 Subject: [PATCH 1/6] Update res.c Properly process IPV4 and IPV6 addresses --- src/dns/res.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/dns/res.c b/src/dns/res.c index 7df3d468d..16de5be9c 100644 --- a/src/dns/res.c +++ b/src/dns/res.c @@ -16,6 +16,7 @@ #include #include #include +#include #include "dns.h" @@ -46,10 +47,26 @@ int get_resolv_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n) } err = 0; +#ifdef OPENBSD for (i=0; i Date: Mon, 14 Dec 2020 14:34:49 +0100 Subject: [PATCH 2/6] Update res.c Updated for PR review --- src/dns/res.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/dns/res.c b/src/dns/res.c index 16de5be9c..ffb6021a4 100644 --- a/src/dns/res.c +++ b/src/dns/res.c @@ -47,12 +47,7 @@ int get_resolv_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n) } err = 0; -#ifdef OPENBSD - for (i=0; i Date: Mon, 14 Dec 2020 14:48:01 +0100 Subject: [PATCH 3/6] Update res.c fixed ccheck errors --- src/dns/res.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dns/res.c b/src/dns/res.c index ffb6021a4..4ba674f0e 100644 --- a/src/dns/res.c +++ b/src/dns/res.c @@ -48,17 +48,17 @@ int get_resolv_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n) err = 0; #ifdef DARWIN - union res_sockaddr_union *addr_union = mem_alloc(state.nscount * sizeof(union res_sockaddr_union), NULL); + int memsize = state.nscount * sizeof(union res_sockaddr_union); + union res_sockaddr_union *addr_union = mem_alloc(memsize, NULL); int servers = res_getservers(&state, addr_union, state.nscount); for (i = 0; i < min(*n, (uint32_t)servers) && !err; i++) { - if (addr_union[i].sin.sin_family == AF_INET) { + if (addr_union[i].sin.sin_family == AF_INET) err |= sa_set_sa(&nsv[i], (struct sockaddr *)&addr_union[i].sin); - } else if (addr_union[i].sin6.sin6_family == AF_INET6) { + else if (addr_union[i].sin6.sin6_family == AF_INET6) err |= sa_set_sa(&nsv[i], (struct sockaddr *)&addr_union[i].sin6); - } else { + else (void)re_fprintf(stderr, "Undefined family.\n"); - } } mem_deref(addr_union); #else From 1a01a33e611480b4c4bb6608b4ff0512582f4f6a Mon Sep 17 00:00:00 2001 From: Jurjen van Dijk Date: Mon, 14 Dec 2020 14:58:00 +0100 Subject: [PATCH 4/6] Update res.c ccheck fixes --- src/dns/res.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/dns/res.c b/src/dns/res.c index 4ba674f0e..abf2ada6d 100644 --- a/src/dns/res.c +++ b/src/dns/res.c @@ -49,18 +49,20 @@ int get_resolv_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t *n) err = 0; #ifdef DARWIN int memsize = state.nscount * sizeof(union res_sockaddr_union); - union res_sockaddr_union *addr_union = mem_alloc(memsize, NULL); - int servers = res_getservers(&state, addr_union, state.nscount); - + union res_sockaddr_union *addr = mem_alloc(memsize, NULL); + int servers = res_getservers(&state, addr, state.nscount); + for (i = 0; i < min(*n, (uint32_t)servers) && !err; i++) { - if (addr_union[i].sin.sin_family == AF_INET) - err |= sa_set_sa(&nsv[i], (struct sockaddr *)&addr_union[i].sin); - else if (addr_union[i].sin6.sin6_family == AF_INET6) - err |= sa_set_sa(&nsv[i], (struct sockaddr *)&addr_union[i].sin6); + if (addr[i].sin.sin_family == AF_INET) + err |= sa_set_sa(&nsv[i], + (struct sockaddr *)&addr[i].sin); + else if (addr[i].sin6.sin6_family == AF_INET6) + err |= sa_set_sa(&nsv[i], + (struct sockaddr *)&addr[i].sin6); else (void)re_fprintf(stderr, "Undefined family.\n"); } - mem_deref(addr_union); + mem_deref(addr); #else for (i=0; i Date: Mon, 14 Dec 2020 15:09:57 +0100 Subject: [PATCH 5/6] Update res.c Only include for DARWIN --- src/dns/res.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dns/res.c b/src/dns/res.c index abf2ada6d..6df3db76b 100644 --- a/src/dns/res.c +++ b/src/dns/res.c @@ -16,7 +16,9 @@ #include #include #include +#ifdef DARWIN #include +#endif #include "dns.h" From 60d0ff2c924c629b60dde44f4cf0bd235f5483a0 Mon Sep 17 00:00:00 2001 From: Jurjen van Dijk Date: Mon, 14 Dec 2020 15:19:18 +0100 Subject: [PATCH 6/6] Revert "Update res.c" This reverts commit 9faf926d5622d56a00866708723ae1f99dca998f. --- src/dns/res.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/dns/res.c b/src/dns/res.c index 6df3db76b..abf2ada6d 100644 --- a/src/dns/res.c +++ b/src/dns/res.c @@ -16,9 +16,7 @@ #include #include #include -#ifdef DARWIN #include -#endif #include "dns.h"