diff options
Diffstat (limited to 'net-misc/connman/files/connman-musl-libresolv.patch')
-rw-r--r-- | net-misc/connman/files/connman-musl-libresolv.patch | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/net-misc/connman/files/connman-musl-libresolv.patch b/net-misc/connman/files/connman-musl-libresolv.patch deleted file mode 100644 index c28a7c1e..00000000 --- a/net-misc/connman/files/connman-musl-libresolv.patch +++ /dev/null @@ -1,61 +0,0 @@ -musl does not implement res_ninit - -diff --exclude '*.*o' -ru connman-1.24.orig/gweb/gresolv.c connman-1.24/gweb/gresolv.c ---- connman-1.24.orig/gweb/gresolv.c 2014-07-18 20:17:25.000000000 -0300 -+++ connman-1.24/gweb/gresolv.c 2014-07-18 20:24:01.874669130 -0300 -@@ -874,8 +874,6 @@ - resolv->index = index; - resolv->nameserver_list = NULL; - -- res_ninit(&resolv->res); -- - return resolv; - } - -@@ -915,8 +913,6 @@ - - flush_nameservers(resolv); - -- res_nclose(&resolv->res); -- - g_free(resolv); - } - -@@ -1019,24 +1015,19 @@ - debug(resolv, "hostname %s", hostname); - - if (!resolv->nameserver_list) { -- int i; -- -- for (i = 0; i < resolv->res.nscount; i++) { -- char buf[100]; -- int family = resolv->res.nsaddr_list[i].sin_family; -- void *sa_addr = &resolv->res.nsaddr_list[i].sin_addr; -- -- if (family != AF_INET && -- resolv->res._u._ext.nsaddrs[i]) { -- family = AF_INET6; -- sa_addr = &resolv->res._u._ext.nsaddrs[i]->sin6_addr; -+ FILE *f = fopen("/etc/resolv.conf", "r"); -+ if (f) { -+ char line[256], *s; -+ int i; -+ while (fgets(line, sizeof(line), f)) { -+ if (strncmp(line, "nameserver", 10) || !isspace(line[10])) -+ continue; -+ for (s = &line[11]; isspace(s[0]); s++); -+ for (i = 0; s[i] && !isspace(s[i]); i++); -+ s[i] = 0; -+ g_resolv_add_nameserver(resolv, s, 53, 0); - } -- -- if (family != AF_INET && family != AF_INET6) -- continue; -- -- if (inet_ntop(family, sa_addr, buf, sizeof(buf))) -- g_resolv_add_nameserver(resolv, buf, 53, 0); -+ fclose(f); - } - - if (!resolv->nameserver_list) - |