diff options
author | Khem Raj <raj.khem@gmail.com> | 2015-09-13 20:24:40 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-23 09:53:03 +0100 |
commit | d36384e61d538fbf3f0434a0ae4e5fd3b361e27a (patch) | |
tree | 1ed09d1f965cb7fcf6b013f98c61c9704492fcc8 /meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch | |
parent | 0df9b98d31e96f87f1482f4665ff75412719fe9d (diff) | |
download | poky-d36384e61d538fbf3f0434a0ae4e5fd3b361e27a.tar.gz |
connman: Fix build with musl
(From OE-Core rev: d08f9d7145ba14ce9fbf320719c05560be69212f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch')
-rw-r--r-- | meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch b/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch new file mode 100644 index 0000000000..0593427710 --- /dev/null +++ b/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch | |||
@@ -0,0 +1,77 @@ | |||
1 | From 10b0d16d04b811b1ccd1f9b0cfe757bce8d876a1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 6 Apr 2015 23:02:21 -0700 | ||
4 | Subject: [PATCH 2/3] resolve: musl does not implement res_ninit | ||
5 | |||
6 | ported from | ||
7 | http://git.alpinelinux.org/cgit/aports/plain/testing/connman/libresolv.patch | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | gweb/gresolv.c | 33 ++++++++++++--------------------- | ||
14 | 1 file changed, 12 insertions(+), 21 deletions(-) | ||
15 | |||
16 | diff --git a/gweb/gresolv.c b/gweb/gresolv.c | ||
17 | index 5cf7a9a..3ad8e70 100644 | ||
18 | --- a/gweb/gresolv.c | ||
19 | +++ b/gweb/gresolv.c | ||
20 | @@ -875,8 +875,6 @@ GResolv *g_resolv_new(int index) | ||
21 | resolv->index = index; | ||
22 | resolv->nameserver_list = NULL; | ||
23 | |||
24 | - res_ninit(&resolv->res); | ||
25 | - | ||
26 | return resolv; | ||
27 | } | ||
28 | |||
29 | @@ -916,8 +914,6 @@ void g_resolv_unref(GResolv *resolv) | ||
30 | |||
31 | flush_nameservers(resolv); | ||
32 | |||
33 | - res_nclose(&resolv->res); | ||
34 | - | ||
35 | g_free(resolv); | ||
36 | } | ||
37 | |||
38 | @@ -1020,24 +1016,19 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname, | ||
39 | debug(resolv, "hostname %s", hostname); | ||
40 | |||
41 | if (!resolv->nameserver_list) { | ||
42 | - int i; | ||
43 | - | ||
44 | - for (i = 0; i < resolv->res.nscount; i++) { | ||
45 | - char buf[100]; | ||
46 | - int family = resolv->res.nsaddr_list[i].sin_family; | ||
47 | - void *sa_addr = &resolv->res.nsaddr_list[i].sin_addr; | ||
48 | - | ||
49 | - if (family != AF_INET && | ||
50 | - resolv->res._u._ext.nsaddrs[i]) { | ||
51 | - family = AF_INET6; | ||
52 | - sa_addr = &resolv->res._u._ext.nsaddrs[i]->sin6_addr; | ||
53 | + FILE *f = fopen("/etc/resolv.conf", "r"); | ||
54 | + if (f) { | ||
55 | + char line[256], *s; | ||
56 | + int i; | ||
57 | + while (fgets(line, sizeof(line), f)) { | ||
58 | + if (strncmp(line, "nameserver", 10) || !isspace(line[10])) | ||
59 | + continue; | ||
60 | + for (s = &line[11]; isspace(s[0]); s++); | ||
61 | + for (i = 0; s[i] && !isspace(s[i]); i++); | ||
62 | + s[i] = 0; | ||
63 | + g_resolv_add_nameserver(resolv, s, 53, 0); | ||
64 | } | ||
65 | - | ||
66 | - if (family != AF_INET && family != AF_INET6) | ||
67 | - continue; | ||
68 | - | ||
69 | - if (inet_ntop(family, sa_addr, buf, sizeof(buf))) | ||
70 | - g_resolv_add_nameserver(resolv, buf, 53, 0); | ||
71 | + fclose(f); | ||
72 | } | ||
73 | |||
74 | if (!resolv->nameserver_list) | ||
75 | -- | ||
76 | 2.5.1 | ||
77 | |||