summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/connman
diff options
context:
space:
mode:
authorOlekandr Kravchuk <dev@sashko.rv.ua>2018-10-08 23:05:51 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-14 11:14:39 +0000
commitdc804276ef79bee3818deb1a6586ba65cc7b4a3a (patch)
treece9760371409a5d0d6510f968a8ce7866f23f1a2 /meta/recipes-connectivity/connman
parent0cbda4a42e18b326bc74d045f435c02de59822fb (diff)
downloadpoky-dc804276ef79bee3818deb1a6586ba65cc7b4a3a.tar.gz
connman: update to 1.36
- updated connman to v1.36 - removed mainstreamed patches - includes.patch has been rabased and transformed into git format (From OE-Core rev: 85b76e52d2060e197435606eb6316c8833b46361) Signed-off-by: Oleksandr Kravchuk <dev@sashko.rv.ua> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/connman')
-rw-r--r--meta/recipes-connectivity/connman/connman.inc2
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch (renamed from meta/recipes-connectivity/connman/connman/includes.patch)437
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch41
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch112
-rw-r--r--meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch69
-rw-r--r--meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch68
-rw-r--r--meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch77
-rw-r--r--meta/recipes-connectivity/connman/connman_1.35.bb22
-rw-r--r--meta/recipes-connectivity/connman/connman_1.36.bb16
9 files changed, 208 insertions, 636 deletions
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
index 2b03f9cb06..0ba375137d 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -156,7 +156,7 @@ RDEPENDS_${PN}-client ="${PN}"
156 156
157FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \ 157FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
158 ${libdir}/connman/plugins \ 158 ${libdir}/connman/plugins \
159 ${sysconfdir} ${sharedstatedir} ${localstatedir} \ 159 ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir} \
160 ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \ 160 ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
161 ${datadir}/dbus-1/system-services/* \ 161 ${datadir}/dbus-1/system-services/* \
162 ${sysconfdir}/tmpfiles.d/connman_resolvconf.conf" 162 ${sysconfdir}/tmpfiles.d/connman_resolvconf.conf"
diff --git a/meta/recipes-connectivity/connman/connman/includes.patch b/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
index 9f7395cbbb..f344fea109 100644
--- a/meta/recipes-connectivity/connman/connman/includes.patch
+++ b/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
@@ -1,36 +1,43 @@
1Fix various issues which cause problems under musl. 1From 181ff3439783c6920f5211730672685a210c318f Mon Sep 17 00:00:00 2001
2
3Upstream-Status: Backport [bd1326ba7d68df38c5ccaafd2403a5fb30bd452b]
4Signed-off-by: Ross Burton <ross.burton@intel.com>
5
6From 630516bcc0233b047f65665c003201ba6e77453d Mon Sep 17 00:00:00 2001
7From: Ross Burton <ross.burton@intel.com> 2From: Ross Burton <ross.burton@intel.com>
8Date: Tue, 9 Aug 2016 16:22:36 +0100 3Date: Mon, 8 Oct 2018 22:12:56 +0200
9Subject: [PATCH 1/3] Use AC_USE_SYSTEM_EXTENSIONS 4Subject: [PATCH] Fix various issues which cause problems under musl
5
6Instead of using #define _GNU_SOURCE in some source files which causes
7problems when building with musl as more files need the define, simply
8use AC_USE_SYSTEM_EXTENSIONS in configure.ac to get it defined globally.
10 9
11Instead of using #define _GNU_SOURCE in some source files which causes problems 10Signed-off-by: Ross Burton <ross.burton@intel.com>
12when building with musl as more files need the define, simply use 11Upstream-Status: Backport [bd1326ba7d68df38c5ccaafd2403a5fb30bd452b]
13AC_USE_SYSTEM_EXTENSIONS in configure.ac to get it defined globally.
14--- 12---
15 configure.ac | 1 + 13 configure.ac | 3 +++
16 gdhcp/client.c | 1 - 14 gdhcp/client.c | 1 -
17 plugins/tist.c | 1 - 15 gdhcp/common.h | 5 +++--
18 src/backtrace.c | 1 - 16 gweb/gresolv.c | 1 +
19 src/inet.c | 1 - 17 plugins/tist.c | 1 -
20 src/log.c | 1 - 18 plugins/wifi.c | 3 +--
21 src/ntp.c | 1 - 19 src/backtrace.c | 1 -
22 src/resolver.c | 1 - 20 src/inet.c | 1 -
23 src/rfkill.c | 1 - 21 src/ippool.c | 1 -
24 src/stats.c | 1 - 22 src/iptables.c | 2 +-
25 src/timezone.c | 1 - 23 src/log.c | 1 -
26 tools/stats-tool.c | 1 - 24 src/ntp.c | 1 -
27 tools/tap-test.c | 1 - 25 src/resolver.c | 1 -
28 tools/wispr.c | 1 - 26 src/rfkill.c | 1 -
29 vpn/plugins/vpn.c | 1 - 27 src/stats.c | 1 -
30 15 files changed, 1 insertion(+), 14 deletions(-) 28 src/tethering.c | 2 --
29 src/timezone.c | 1 -
30 tools/dhcp-test.c | 1 -
31 tools/dnsproxy-test.c | 1 +
32 tools/private-network-test.c | 2 +-
33 tools/stats-tool.c | 1 -
34 tools/tap-test.c | 3 +--
35 tools/wispr.c | 1 -
36 vpn/plugins/vpn.c | 1 -
37 24 files changed, 12 insertions(+), 25 deletions(-)
31 38
32diff --git a/configure.ac b/configure.ac 39diff --git a/configure.ac b/configure.ac
33index 6e66ab3..bacf5ec 100644 40index 39745f76..984126c2 100644
34--- a/configure.ac 41--- a/configure.ac
35+++ b/configure.ac 42+++ b/configure.ac
36@@ -20,6 +20,7 @@ AC_SUBST(abs_top_srcdir) 43@@ -20,6 +20,7 @@ AC_SUBST(abs_top_srcdir)
@@ -41,8 +48,17 @@ index 6e66ab3..bacf5ec 100644
41 48
42 AC_PROG_CC 49 AC_PROG_CC
43 AM_PROG_CC_C_O 50 AM_PROG_CC_C_O
51@@ -185,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
52 AC_CHECK_HEADERS([execinfo.h])
53 AM_CONDITIONAL([BACKTRACE], [test "${ac_cv_header_execinfo_h}" = "yes"])
54
55+AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]])
56+
57 AC_CHECK_FUNC(signalfd, dummy=yes,
58 AC_MSG_ERROR(signalfd support is required))
59
44diff --git a/gdhcp/client.c b/gdhcp/client.c 60diff --git a/gdhcp/client.c b/gdhcp/client.c
45index fbb40ab..3aeb089 100644 61index 67357782..c7db76f0 100644
46--- a/gdhcp/client.c 62--- a/gdhcp/client.c
47+++ b/gdhcp/client.c 63+++ b/gdhcp/client.c
48@@ -23,7 +23,6 @@ 64@@ -23,7 +23,6 @@
@@ -53,8 +69,43 @@ index fbb40ab..3aeb089 100644
53 #include <stdio.h> 69 #include <stdio.h>
54 #include <errno.h> 70 #include <errno.h>
55 #include <unistd.h> 71 #include <unistd.h>
72diff --git a/gdhcp/common.h b/gdhcp/common.h
73index 75abc183..6899499e 100644
74--- a/gdhcp/common.h
75+++ b/gdhcp/common.h
76@@ -19,6 +19,7 @@
77 *
78 */
79
80+#include <config.h>
81 #include <netinet/udp.h>
82 #include <netinet/ip.h>
83
84@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {
85 [OPTION_U32] = 4,
86 };
87
88-/* already defined within netinet/in.h if using GNU compiler */
89-#ifndef __USE_GNU
90+/* already defined within netinet/in.h if using glibc or musl */
91+#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR
92 struct in6_pktinfo {
93 struct in6_addr ipi6_addr; /* src/dst IPv6 address */
94 unsigned int ipi6_ifindex; /* send/recv interface index */
95diff --git a/gweb/gresolv.c b/gweb/gresolv.c
96index 81c79b6c..b06f8932 100644
97--- a/gweb/gresolv.c
98+++ b/gweb/gresolv.c
99@@ -29,6 +29,7 @@
100 #include <string.h>
101 #include <stdlib.h>
102 #include <resolv.h>
103+#include <stdio.h>
104 #include <sys/types.h>
105 #include <sys/socket.h>
106 #include <netdb.h>
56diff --git a/plugins/tist.c b/plugins/tist.c 107diff --git a/plugins/tist.c b/plugins/tist.c
57index ad5ef79..cc2800a 100644 108index ad5ef79e..cc2800a1 100644
58--- a/plugins/tist.c 109--- a/plugins/tist.c
59+++ b/plugins/tist.c 110+++ b/plugins/tist.c
60@@ -23,7 +23,6 @@ 111@@ -23,7 +23,6 @@
@@ -65,8 +116,23 @@ index ad5ef79..cc2800a 100644
65 #include <stdio.h> 116 #include <stdio.h>
66 #include <stdbool.h> 117 #include <stdbool.h>
67 #include <stdlib.h> 118 #include <stdlib.h>
119diff --git a/plugins/wifi.c b/plugins/wifi.c
120index dc08c6af..46e4cca4 100644
121--- a/plugins/wifi.c
122+++ b/plugins/wifi.c
123@@ -30,9 +30,8 @@
124 #include <string.h>
125 #include <sys/ioctl.h>
126 #include <sys/socket.h>
127-#include <linux/if_arp.h>
128-#include <linux/wireless.h>
129 #include <net/ethernet.h>
130+#include <linux/wireless.h>
131
132 #ifndef IFF_LOWER_UP
133 #define IFF_LOWER_UP 0x10000
68diff --git a/src/backtrace.c b/src/backtrace.c 134diff --git a/src/backtrace.c b/src/backtrace.c
69index 6a66c0a..4dbdda8 100644 135index e8d7f432..bede6698 100644
70--- a/src/backtrace.c 136--- a/src/backtrace.c
71+++ b/src/backtrace.c 137+++ b/src/backtrace.c
72@@ -24,7 +24,6 @@ 138@@ -24,7 +24,6 @@
@@ -78,7 +144,7 @@ index 6a66c0a..4dbdda8 100644
78 #include <unistd.h> 144 #include <unistd.h>
79 #include <stdlib.h> 145 #include <stdlib.h>
80diff --git a/src/inet.c b/src/inet.c 146diff --git a/src/inet.c b/src/inet.c
81index 69ded19..81d92c2 100644 147index a31372b5..a58ce7c1 100644
82--- a/src/inet.c 148--- a/src/inet.c
83+++ b/src/inet.c 149+++ b/src/inet.c
84@@ -25,7 +25,6 @@ 150@@ -25,7 +25,6 @@
@@ -89,8 +155,33 @@ index 69ded19..81d92c2 100644
89 #include <stdio.h> 155 #include <stdio.h>
90 #include <errno.h> 156 #include <errno.h>
91 #include <unistd.h> 157 #include <unistd.h>
158diff --git a/src/ippool.c b/src/ippool.c
159index cea1dccd..8a645da2 100644
160--- a/src/ippool.c
161+++ b/src/ippool.c
162@@ -28,7 +28,6 @@
163 #include <stdio.h>
164 #include <string.h>
165 #include <unistd.h>
166-#include <sys/errno.h>
167 #include <sys/socket.h>
168
169 #include "connman.h"
170diff --git a/src/iptables.c b/src/iptables.c
171index f3670e77..469effed 100644
172--- a/src/iptables.c
173+++ b/src/iptables.c
174@@ -28,7 +28,7 @@
175 #include <stdio.h>
176 #include <string.h>
177 #include <unistd.h>
178-#include <sys/errno.h>
179+#include <errno.h>
180 #include <sys/socket.h>
181 #include <xtables.h>
182 #include <inttypes.h>
92diff --git a/src/log.c b/src/log.c 183diff --git a/src/log.c b/src/log.c
93index 9bae4a3..f7e82e5 100644 184index 9bae4a3d..f7e82e5d 100644
94--- a/src/log.c 185--- a/src/log.c
95+++ b/src/log.c 186+++ b/src/log.c
96@@ -23,7 +23,6 @@ 187@@ -23,7 +23,6 @@
@@ -102,7 +193,7 @@ index 9bae4a3..f7e82e5 100644
102 #include <unistd.h> 193 #include <unistd.h>
103 #include <stdarg.h> 194 #include <stdarg.h>
104diff --git a/src/ntp.c b/src/ntp.c 195diff --git a/src/ntp.c b/src/ntp.c
105index dd246eb..db8ae96 100644 196index 51ba9aac..724ca188 100644
106--- a/src/ntp.c 197--- a/src/ntp.c
107+++ b/src/ntp.c 198+++ b/src/ntp.c
108@@ -23,7 +23,6 @@ 199@@ -23,7 +23,6 @@
@@ -114,7 +205,7 @@ index dd246eb..db8ae96 100644
114 #include <fcntl.h> 205 #include <fcntl.h>
115 #include <unistd.h> 206 #include <unistd.h>
116diff --git a/src/resolver.c b/src/resolver.c 207diff --git a/src/resolver.c b/src/resolver.c
117index fbe4be7..ef61f92 100644 208index 76f0a8e1..10121aa5 100644
118--- a/src/resolver.c 209--- a/src/resolver.c
119+++ b/src/resolver.c 210+++ b/src/resolver.c
120@@ -23,7 +23,6 @@ 211@@ -23,7 +23,6 @@
@@ -126,7 +217,7 @@ index fbe4be7..ef61f92 100644
126 #include <errno.h> 217 #include <errno.h>
127 #include <fcntl.h> 218 #include <fcntl.h>
128diff --git a/src/rfkill.c b/src/rfkill.c 219diff --git a/src/rfkill.c b/src/rfkill.c
129index 2bfb092..af49d12 100644 220index d9bed4d2..b2514c41 100644
130--- a/src/rfkill.c 221--- a/src/rfkill.c
131+++ b/src/rfkill.c 222+++ b/src/rfkill.c
132@@ -23,7 +23,6 @@ 223@@ -23,7 +23,6 @@
@@ -138,7 +229,7 @@ index 2bfb092..af49d12 100644
138 #include <errno.h> 229 #include <errno.h>
139 #include <fcntl.h> 230 #include <fcntl.h>
140diff --git a/src/stats.c b/src/stats.c 231diff --git a/src/stats.c b/src/stats.c
141index 26343b1..cfcdc94 100644 232index 663bc382..c9ddc2e8 100644
142--- a/src/stats.c 233--- a/src/stats.c
143+++ b/src/stats.c 234+++ b/src/stats.c
144@@ -23,7 +23,6 @@ 235@@ -23,7 +23,6 @@
@@ -149,8 +240,21 @@ index 26343b1..cfcdc94 100644
149 #include <errno.h> 240 #include <errno.h>
150 #include <sys/mman.h> 241 #include <sys/mman.h>
151 #include <sys/types.h> 242 #include <sys/types.h>
243diff --git a/src/tethering.c b/src/tethering.c
244index 4b202369..f3cb36f4 100644
245--- a/src/tethering.c
246+++ b/src/tethering.c
247@@ -34,8 +34,6 @@
248 #include <string.h>
249 #include <fcntl.h>
250 #include <netinet/in.h>
251-#include <linux/sockios.h>
252-#include <linux/if_tun.h>
253 #include <linux/if_bridge.h>
254
255 #include "connman.h"
152diff --git a/src/timezone.c b/src/timezone.c 256diff --git a/src/timezone.c b/src/timezone.c
153index e346b11..8e91267 100644 257index e346b11a..8e912670 100644
154--- a/src/timezone.c 258--- a/src/timezone.c
155+++ b/src/timezone.c 259+++ b/src/timezone.c
156@@ -23,7 +23,6 @@ 260@@ -23,7 +23,6 @@
@@ -161,210 +265,8 @@ index e346b11..8e91267 100644
161 #include <errno.h> 265 #include <errno.h>
162 #include <stdio.h> 266 #include <stdio.h>
163 #include <fcntl.h> 267 #include <fcntl.h>
164diff --git a/tools/stats-tool.c b/tools/stats-tool.c
165index b076478..428d94b 100644
166--- a/tools/stats-tool.c
167+++ b/tools/stats-tool.c
168@@ -22,7 +22,6 @@
169 #include <config.h>
170 #endif
171
172-#define _GNU_SOURCE
173 #include <sys/mman.h>
174 #include <sys/types.h>
175 #include <sys/stat.h>
176diff --git a/tools/tap-test.c b/tools/tap-test.c
177index fdc098a..57917f5 100644
178--- a/tools/tap-test.c
179+++ b/tools/tap-test.c
180@@ -23,7 +23,6 @@
181 #include <config.h>
182 #endif
183
184-#define _GNU_SOURCE
185 #include <stdio.h>
186 #include <errno.h>
187 #include <fcntl.h>
188diff --git a/tools/wispr.c b/tools/wispr.c
189index d5f9341..e56dfc1 100644
190--- a/tools/wispr.c
191+++ b/tools/wispr.c
192@@ -23,7 +23,6 @@
193 #include <config.h>
194 #endif
195
196-#define _GNU_SOURCE
197 #include <stdio.h>
198 #include <fcntl.h>
199 #include <unistd.h>
200diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c
201index 9a42385..479c3a7 100644
202--- a/vpn/plugins/vpn.c
203+++ b/vpn/plugins/vpn.c
204@@ -23,7 +23,6 @@
205 #include <config.h>
206 #endif
207
208-#define _GNU_SOURCE
209 #include <string.h>
210 #include <fcntl.h>
211 #include <unistd.h>
212--
2132.8.1
214
215
216From b8b7878e6cb2a1ed4fcfa256f7e232511a40e3d9 Mon Sep 17 00:00:00 2001
217From: Ross Burton <ross.burton@intel.com>
218Date: Tue, 9 Aug 2016 15:37:50 +0100
219Subject: [PATCH 2/3] Check for in6_pktinfo.ipi6_addr explicitly
220
221Instead of assuming that just glibc has this structure, check for it at
222configure as musl also has it.
223
224Based on work by Khem Raj <raj.khem@gmail.com>.
225---
226 configure.ac | 2 ++
227 gdhcp/common.h | 5 +++--
228 2 files changed, 5 insertions(+), 2 deletions(-)
229
230diff --git a/configure.ac b/configure.ac
231index bacf5ec..ad00456 100644
232--- a/configure.ac
233+++ b/configure.ac
234@@ -186,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
235 AC_CHECK_HEADERS([execinfo.h])
236 AM_CONDITIONAL([BACKTRACE], [test "${ac_cv_header_execinfo_h}" = "yes"])
237
238+AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]])
239+
240 AC_CHECK_FUNC(signalfd, dummy=yes,
241 AC_MSG_ERROR(signalfd support is required))
242
243diff --git a/gdhcp/common.h b/gdhcp/common.h
244index 75abc18..6899499 100644
245--- a/gdhcp/common.h
246+++ b/gdhcp/common.h
247@@ -19,6 +19,7 @@
248 *
249 */
250
251+#include <config.h>
252 #include <netinet/udp.h>
253 #include <netinet/ip.h>
254
255@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {
256 [OPTION_U32] = 4,
257 };
258
259-/* already defined within netinet/in.h if using GNU compiler */
260-#ifndef __USE_GNU
261+/* already defined within netinet/in.h if using glibc or musl */
262+#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR
263 struct in6_pktinfo {
264 struct in6_addr ipi6_addr; /* src/dst IPv6 address */
265 unsigned int ipi6_ifindex; /* send/recv interface index */
266--
2672.8.1
268
269
270From c0726e432fa0274a2b9c70179b03df6720972816 Mon Sep 17 00:00:00 2001
271From: Ross Burton <ross.burton@intel.com>
272Date: Tue, 9 Aug 2016 15:19:23 +0100
273Subject: [PATCH 3/3] Rationalise includes
274
275gweb/gresolv.c uses snprintf() and isspace() so it should include stdio.h and
276ctype.h.
277
278tools/dnsproxy-test uses functions from stdio.h.
279
280musl warns when sys/ headers are included when the non-sys form should be used,
281so switch sys/errno.h and so on to errno.h.
282
283musl also causes redefinition errors when pieces of the networking headers are
284included, so remove the redundant includes.
285
286Based on work by Khem Raj <raj.khem@gmail.com>.
287---
288 gweb/gresolv.c | 2 ++
289 plugins/wifi.c | 3 +--
290 src/ippool.c | 1 -
291 src/iptables.c | 2 +-
292 src/tethering.c | 2 --
293 tools/dhcp-test.c | 1 -
294 tools/dnsproxy-test.c | 1 +
295 tools/private-network-test.c | 2 +-
296 tools/tap-test.c | 2 +-
297 9 files changed, 7 insertions(+), 9 deletions(-)
298
299diff --git a/gweb/gresolv.c b/gweb/gresolv.c
300index 8a51a9f..d55027c 100644
301--- a/gweb/gresolv.c
302+++ b/gweb/gresolv.c
303@@ -29,6 +29,7 @@
304 #include <string.h>
305 #include <stdlib.h>
306 #include <resolv.h>
307+#include <stdio.h>
308 #include <sys/types.h>
309 #include <sys/socket.h>
310 #include <netdb.h>
311diff --git a/plugins/wifi.c b/plugins/wifi.c
312index 9d56671..148131d 100644
313--- a/plugins/wifi.c
314+++ b/plugins/wifi.c
315@@ -30,9 +30,8 @@
316 #include <string.h>
317 #include <sys/ioctl.h>
318 #include <sys/socket.h>
319-#include <linux/if_arp.h>
320-#include <linux/wireless.h>
321 #include <net/ethernet.h>
322+#include <linux/wireless.h>
323
324 #ifndef IFF_LOWER_UP
325 #define IFF_LOWER_UP 0x10000
326diff --git a/src/ippool.c b/src/ippool.c
327index cea1dcc..8a645da 100644
328--- a/src/ippool.c
329+++ b/src/ippool.c
330@@ -28,7 +28,6 @@
331 #include <stdio.h>
332 #include <string.h>
333 #include <unistd.h>
334-#include <sys/errno.h>
335 #include <sys/socket.h>
336
337 #include "connman.h"
338diff --git a/src/iptables.c b/src/iptables.c
339index 5ef757a..82e3ac4 100644
340--- a/src/iptables.c
341+++ b/src/iptables.c
342@@ -28,7 +28,7 @@
343 #include <stdio.h>
344 #include <string.h>
345 #include <unistd.h>
346-#include <sys/errno.h>
347+#include <errno.h>
348 #include <sys/socket.h>
349 #include <xtables.h>
350 #include <inttypes.h>
351diff --git a/src/tethering.c b/src/tethering.c
352index 3153349..ad062d5 100644
353--- a/src/tethering.c
354+++ b/src/tethering.c
355@@ -31,10 +31,8 @@
356 #include <stdio.h>
357 #include <sys/ioctl.h>
358 #include <net/if.h>
359-#include <linux/sockios.h>
360 #include <string.h>
361 #include <fcntl.h>
362-#include <linux/if_tun.h>
363 #include <netinet/in.h>
364 #include <linux/if_bridge.h>
365
366diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c 268diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c
367index c34e10a..eae66fc 100644 269index c34e10a8..eae66fc2 100644
368--- a/tools/dhcp-test.c 270--- a/tools/dhcp-test.c
369+++ b/tools/dhcp-test.c 271+++ b/tools/dhcp-test.c
370@@ -33,7 +33,6 @@ 272@@ -33,7 +33,6 @@
@@ -376,7 +278,7 @@ index c34e10a..eae66fc 100644
376 #include <gdhcp/gdhcp.h> 278 #include <gdhcp/gdhcp.h>
377 279
378diff --git a/tools/dnsproxy-test.c b/tools/dnsproxy-test.c 280diff --git a/tools/dnsproxy-test.c b/tools/dnsproxy-test.c
379index 551cae9..371e2e2 100644 281index 551cae91..371e2e23 100644
380--- a/tools/dnsproxy-test.c 282--- a/tools/dnsproxy-test.c
381+++ b/tools/dnsproxy-test.c 283+++ b/tools/dnsproxy-test.c
382@@ -24,6 +24,7 @@ 284@@ -24,6 +24,7 @@
@@ -388,7 +290,7 @@ index 551cae9..371e2e2 100644
388 #include <string.h> 290 #include <string.h>
389 #include <unistd.h> 291 #include <unistd.h>
390diff --git a/tools/private-network-test.c b/tools/private-network-test.c 292diff --git a/tools/private-network-test.c b/tools/private-network-test.c
391index 3dd115b..2828bb3 100644 293index 3dd115ba..2828bb30 100644
392--- a/tools/private-network-test.c 294--- a/tools/private-network-test.c
393+++ b/tools/private-network-test.c 295+++ b/tools/private-network-test.c
394@@ -32,7 +32,7 @@ 296@@ -32,7 +32,7 @@
@@ -400,11 +302,29 @@ index 3dd115b..2828bb3 100644
400 #include <sys/signalfd.h> 302 #include <sys/signalfd.h>
401 #include <unistd.h> 303 #include <unistd.h>
402 304
305diff --git a/tools/stats-tool.c b/tools/stats-tool.c
306index efa39de2..5695048f 100644
307--- a/tools/stats-tool.c
308+++ b/tools/stats-tool.c
309@@ -22,7 +22,6 @@
310 #include <config.h>
311 #endif
312
313-#define _GNU_SOURCE
314 #include <sys/mman.h>
315 #include <sys/types.h>
316 #include <sys/stat.h>
403diff --git a/tools/tap-test.c b/tools/tap-test.c 317diff --git a/tools/tap-test.c b/tools/tap-test.c
404index 57917f5..cb3ee62 100644 318index fdc098aa..cb3ee622 100644
405--- a/tools/tap-test.c 319--- a/tools/tap-test.c
406+++ b/tools/tap-test.c 320+++ b/tools/tap-test.c
407@@ -28,7 +28,7 @@ 321@@ -23,13 +23,12 @@
322 #include <config.h>
323 #endif
324
325-#define _GNU_SOURCE
326 #include <stdio.h>
327 #include <errno.h>
408 #include <fcntl.h> 328 #include <fcntl.h>
409 #include <unistd.h> 329 #include <unistd.h>
410 #include <string.h> 330 #include <string.h>
@@ -413,5 +333,30 @@ index 57917f5..cb3ee62 100644
413 #include <sys/ioctl.h> 333 #include <sys/ioctl.h>
414 334
415 #include <netinet/in.h> 335 #include <netinet/in.h>
336diff --git a/tools/wispr.c b/tools/wispr.c
337index d5f9341f..e56dfc16 100644
338--- a/tools/wispr.c
339+++ b/tools/wispr.c
340@@ -23,7 +23,6 @@
341 #include <config.h>
342 #endif
343
344-#define _GNU_SOURCE
345 #include <stdio.h>
346 #include <fcntl.h>
347 #include <unistd.h>
348diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c
349index 10548aaf..6e3f640c 100644
350--- a/vpn/plugins/vpn.c
351+++ b/vpn/plugins/vpn.c
352@@ -23,7 +23,6 @@
353 #include <config.h>
354 #endif
355
356-#define _GNU_SOURCE
357 #include <string.h>
358 #include <fcntl.h>
359 #include <unistd.h>
416-- 360--
4172.8.1 3612.17.1
362
diff --git a/meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch b/meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch
deleted file mode 100644
index f9080d4ba9..0000000000
--- a/meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 929fc9b7068100444e0ffcccd25841f78791e619 Mon Sep 17 00:00:00 2001
2From: Jian Liang <jianliang@tycoint.com>
3Date: Fri, 15 Sep 2017 06:40:08 -0400
4Subject: [PATCH] gweb: Fix a crash using wispr over TLS
5To: connman@lists.01.org
6Cc: wagi@monom.org
7
8When gnutls_channel is instantiated, the gnutls_channel->established
9has to be initiated as FALSE. Otherwise, check_handshake function
10won't work. A random initial value 1 of gnutls_channel->established
11will make check_handshake return G_IO_STATUS_NORMAL, when the channel
12is actually not ready to be used. The observed behaviours are,
13
14- wispr is getting random errors in wispr_portal_web_result
15- ConnMan crashes on exit after those random errors
16- when wispr is luckly working, ConnMan doesn't crash on exit
17
18Signed-off-by: Jian Liang <jianliang@tycoint.com>
19
20---
21Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=73e53f3bd9e7debae86341f1eee7b97862a56a5e]
22Signed-off-by: André Draszik <andre.draszik@jci.com>
23 gweb/giognutls.c | 2 +-
24 1 file changed, 1 insertion(+), 1 deletion(-)
25
26diff --git a/gweb/giognutls.c b/gweb/giognutls.c
27index 09dc9e7..c029a8b 100644
28--- a/gweb/giognutls.c
29+++ b/gweb/giognutls.c
30@@ -421,7 +421,7 @@ GIOChannel *g_io_channel_gnutls_new(int fd)
31
32 DBG("");
33
34- gnutls_channel = g_new(GIOGnuTLSChannel, 1);
35+ gnutls_channel = g_new0(GIOGnuTLSChannel, 1);
36
37 channel = (GIOChannel *) gnutls_channel;
38
39--
402.7.4
41
diff --git a/meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch b/meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch
deleted file mode 100644
index f1b4d0aaa7..0000000000
--- a/meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch
+++ /dev/null
@@ -1,112 +0,0 @@
1From b5fd5945886fa1845db5c969424b63d894fe0376 Mon Sep 17 00:00:00 2001
2From: Jian Liang <jianliang@tycoint.com>
3Date: Fri, 25 Aug 2017 10:02:16 -0400
4Subject: [PATCH 1/2] session: Keep track of addr in fw_snat & session
5To: connman@lists.01.org
6Cc: wagi@monom.org
7
8When there is more than one session in fw_snat's list of sessions,
9fw_snat failed to be re-created when update-session-state is triggered
10with new IP address. This is because index alone is not sufficient to
11decide if fw_snat needs to be re-created. The solution here is to keep
12a track of IP addr and use it to avoid false lookup of fw_snat.
13
14Signed-off-by: Jian Liang <jianliang@tycoint.com>
15
16---
17Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=f9e27d4abfcab5c80a38e0850b5ddb26277f97c1]
18Signed-off-by: André Draszik <andre.draszik@jci.com>
19 src/session.c | 19 +++++++++++++++----
20 1 file changed, 15 insertions(+), 4 deletions(-)
21
22diff --git a/src/session.c b/src/session.c
23index 9e3c559..965ac06 100644
24--- a/src/session.c
25+++ b/src/session.c
26@@ -65,6 +65,7 @@ struct connman_session {
27 struct firewall_context *fw;
28 uint32_t mark;
29 int index;
30+ char *addr;
31 char *gateway;
32 bool policy_routing;
33 bool snat_enabled;
34@@ -79,6 +80,7 @@ struct fw_snat {
35 GSList *sessions;
36 int id;
37 int index;
38+ char *addr;
39 struct firewall_context *fw;
40 };
41
42@@ -200,7 +202,7 @@ static char *service2bearer(enum connman_service_type type)
43 return "";
44 }
45
46-static struct fw_snat *fw_snat_lookup(int index)
47+static struct fw_snat *fw_snat_lookup(int index, const char *addr)
48 {
49 struct fw_snat *fw_snat;
50 GSList *list;
51@@ -208,8 +210,11 @@ static struct fw_snat *fw_snat_lookup(int index)
52 for (list = fw_snat_list; list; list = list->next) {
53 fw_snat = list->data;
54
55- if (fw_snat->index == index)
56+ if (fw_snat->index == index) {
57+ if (g_strcmp0(addr, fw_snat->addr) != 0)
58+ continue;
59 return fw_snat;
60+ }
61 }
62 return NULL;
63 }
64@@ -224,6 +229,7 @@ static int fw_snat_create(struct connman_session *session,
65
66 fw_snat->fw = __connman_firewall_create();
67 fw_snat->index = index;
68+ fw_snat->addr = g_strdup(addr);
69
70 fw_snat->id = __connman_firewall_enable_snat(fw_snat->fw,
71 index, ifname, addr);
72@@ -238,6 +244,7 @@ static int fw_snat_create(struct connman_session *session,
73 return 0;
74 err:
75 __connman_firewall_destroy(fw_snat->fw);
76+ g_free(fw_snat->addr);
77 g_free(fw_snat);
78 return err;
79 }
80@@ -393,7 +400,7 @@ static void del_nat_rules(struct connman_session *session)
81 return;
82
83 session->snat_enabled = false;
84- fw_snat = fw_snat_lookup(session->index);
85+ fw_snat = fw_snat_lookup(session->index, session->addr);
86
87 if (!fw_snat)
88 return;
89@@ -420,8 +427,11 @@ static void add_nat_rules(struct connman_session *session)
90 if (!addr)
91 return;
92
93+ g_free(session->addr);
94+ session->addr = g_strdup(addr);
95+
96 session->snat_enabled = true;
97- fw_snat = fw_snat_lookup(index);
98+ fw_snat = fw_snat_lookup(index, session->addr);
99 if (fw_snat) {
100 fw_snat_ref(session, fw_snat);
101 return;
102@@ -502,6 +512,7 @@ static void free_session(struct connman_session *session)
103 g_free(session->info);
104 g_free(session->info_last);
105 g_free(session->gateway);
106+ g_free(session->addr);
107
108 g_free(session);
109 }
110--
1112.7.4
112
diff --git a/meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch b/meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch
deleted file mode 100644
index 9c953e5d51..0000000000
--- a/meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch
+++ /dev/null
@@ -1,69 +0,0 @@
1From 08cda4004491d3971a8b9df937426c43800d15b1 Mon Sep 17 00:00:00 2001
2From: Jian Liang <jianliang@tycoint.com>
3Date: Thu, 5 Oct 2017 09:37:06 +0100
4Subject: [PATCH 2/4] inet: Implement subnet route creation/deletion in
5 iproute_default_modify
6To: connman@lists.01.org
7Cc: wagi@monom.org
8
9- Calculate subnet address base on gateway address and prefixlen
10- Differentiate creation of routes to gateway and subnet
11
12Signed-off-by: Jian Liang <jianliang@tycoint.com>
13
14---
15Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=ff7dcf91f12a2a237feebc6e606d0a8e92975528]
16Signed-off-by: André Draszik <andre.draszik@jci.com>
17 src/inet.c | 22 +++++++++++++++++++---
18 1 file changed, 19 insertions(+), 3 deletions(-)
19
20diff --git a/src/inet.c b/src/inet.c
21index ab8aec8..0ddb030 100644
22--- a/src/inet.c
23+++ b/src/inet.c
24@@ -2802,6 +2802,9 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
25 unsigned char buf[sizeof(struct in6_addr)];
26 int ret, len;
27 int family = connman_inet_check_ipaddress(gateway);
28+ char *dst = NULL;
29+
30+ DBG("gateway %s/%u table %u", gateway, prefixlen, table_id);
31
32 switch (family) {
33 case AF_INET:
34@@ -2814,7 +2817,19 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
35 return -EINVAL;
36 }
37
38- ret = inet_pton(family, gateway, buf);
39+ if (prefixlen) {
40+ struct in_addr ipv4_subnet_addr, ipv4_mask;
41+
42+ memset(&ipv4_subnet_addr, 0, sizeof(ipv4_subnet_addr));
43+ ipv4_mask.s_addr = htonl((0xffffffff << (32 - prefixlen)) & 0xffffffff);
44+ ipv4_subnet_addr.s_addr = inet_addr(gateway);
45+ ipv4_subnet_addr.s_addr &= ipv4_mask.s_addr;
46+
47+ dst = g_strdup(inet_ntoa(ipv4_subnet_addr));
48+ }
49+
50+ ret = inet_pton(family, dst ? dst : gateway, buf);
51+ g_free(dst);
52 if (ret <= 0)
53 return -EINVAL;
54
55@@ -2831,8 +2846,9 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex,
56 rth.req.u.r.rt.rtm_type = RTN_UNICAST;
57 rth.req.u.r.rt.rtm_dst_len = prefixlen;
58
59- __connman_inet_rtnl_addattr_l(&rth.req.n, sizeof(rth.req), RTA_GATEWAY,
60- buf, len);
61+ __connman_inet_rtnl_addattr_l(&rth.req.n, sizeof(rth.req),
62+ prefixlen > 0 ? RTA_DST : RTA_GATEWAY, buf, len);
63+
64 if (table_id < 256) {
65 rth.req.u.r.rt.rtm_table = table_id;
66 } else {
67--
682.7.4
69
diff --git a/meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch b/meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch
deleted file mode 100644
index 56ba5c3f4b..0000000000
--- a/meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch
+++ /dev/null
@@ -1,68 +0,0 @@
1From a9243f13d6e1aadd69bfcc27f75f69c38be51677 Mon Sep 17 00:00:00 2001
2From: Jian Liang <jianliang@tycoint.com>
3Date: Wed, 4 Oct 2017 17:30:17 +0100
4Subject: [PATCH 3/4] inet: Implement APIs for creating and deleting subnet
5 route
6To: connman@lists.01.org
7Cc: wagi@monom.org
8
9Signed-off-by: Jian Liang <jianliang@tycoint.com>
10
11---
12Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=3a15b0b7fccd053aff91da2cc68585509d0c509b]
13Signed-off-by: André Draszik <andre.draszik@jci.com>
14 src/connman.h | 4 ++++
15 src/inet.c | 14 ++++++++++++++
16 2 files changed, 18 insertions(+)
17
18diff --git a/src/connman.h b/src/connman.h
19index 21b7080..da4446a 100644
20--- a/src/connman.h
21+++ b/src/connman.h
22@@ -240,7 +240,11 @@ int __connman_inet_rtnl_addattr32(struct nlmsghdr *n, size_t maxlen,
23 int __connman_inet_add_fwmark_rule(uint32_t table_id, int family, uint32_t fwmark);
24 int __connman_inet_del_fwmark_rule(uint32_t table_id, int family, uint32_t fwmark);
25 int __connman_inet_add_default_to_table(uint32_t table_id, int ifindex, const char *gateway);
26+int __connman_inet_add_subnet_to_table(uint32_t table_id, int ifindex,
27+ const char *gateway, unsigned char prefixlen);
28 int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex, const char *gateway);
29+int __connman_inet_del_subnet_from_table(uint32_t table_id, int ifindex,
30+ const char *gateway, unsigned char prefixlen);
31 int __connman_inet_get_address_netmask(int ifindex,
32 struct sockaddr_in *address, struct sockaddr_in *netmask);
33
34diff --git a/src/inet.c b/src/inet.c
35index 0ddb030..dcd1ab2 100644
36--- a/src/inet.c
37+++ b/src/inet.c
38@@ -2880,6 +2880,13 @@ int __connman_inet_add_default_to_table(uint32_t table_id, int ifindex,
39 return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway, 0);
40 }
41
42+int __connman_inet_add_subnet_to_table(uint32_t table_id, int ifindex,
43+ const char *gateway, unsigned char prefixlen)
44+{
45+ /* ip route add 1.2.3.4/24 dev eth0 table 1234 */
46+ return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway, prefixlen);
47+}
48+
49 int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex,
50 const char *gateway)
51 {
52@@ -2888,6 +2895,13 @@ int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex,
53 return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway, 0);
54 }
55
56+int __connman_inet_del_subnet_from_table(uint32_t table_id, int ifindex,
57+ const char *gateway, unsigned char prefixlen)
58+{
59+ /* ip route del 1.2.3.4/24 dev eth0 table 1234 */
60+ return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway, prefixlen);
61+}
62+
63 int __connman_inet_get_interface_ll_address(int index, int family,
64 void *address)
65 {
66--
672.7.4
68
diff --git a/meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch b/meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch
deleted file mode 100644
index ca213eb18b..0000000000
--- a/meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch
+++ /dev/null
@@ -1,77 +0,0 @@
1From deb9372db8396da4f7cd20555ce7c9a8b3ad96bd Mon Sep 17 00:00:00 2001
2From: Jian Liang <jianliang@tycoint.com>
3Date: Fri, 6 Oct 2017 11:40:16 +0100
4Subject: [PATCH 4/4] session: Use subnet route creation and deletion APIs
5To: connman@lists.01.org
6Cc: wagi@monom.org
7
8As subnet route is address and session specific in this case, so add
9prefixlen into struct connman_session, and update it along with ipconfig.
10Then use it in subnet route related APIs.
11
12Signed-off-by: Jian Liang <jianliang@tycoint.com>
13
14---
15Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=285f25ef6cc9e4a43dab83523f3e2eab4365ac26]
16Signed-off-by: André Draszik <andre.draszik@jci.com>
17 src/session.c | 20 ++++++++++++++++----
18 1 file changed, 16 insertions(+), 4 deletions(-)
19
20diff --git a/src/session.c b/src/session.c
21index 965ac06..7b7a14b 100644
22--- a/src/session.c
23+++ b/src/session.c
24@@ -67,6 +67,7 @@ struct connman_session {
25 int index;
26 char *addr;
27 char *gateway;
28+ unsigned char prefixlen;
29 bool policy_routing;
30 bool snat_enabled;
31 };
32@@ -357,13 +358,17 @@ static void del_default_route(struct connman_session *session)
33 if (!session->gateway)
34 return;
35
36- DBG("index %d routing table %d default gateway %s",
37- session->index, session->mark, session->gateway);
38+ DBG("index %d routing table %d default gateway %s/%u",
39+ session->index, session->mark, session->gateway, session->prefixlen);
40+
41+ __connman_inet_del_subnet_from_table(session->mark,
42+ session->index, session->gateway, session->prefixlen);
43
44 __connman_inet_del_default_from_table(session->mark,
45 session->index, session->gateway);
46 g_free(session->gateway);
47 session->gateway = NULL;
48+ session->prefixlen = 0;
49 session->index = -1;
50 }
51
52@@ -383,13 +388,20 @@ static void add_default_route(struct connman_session *session)
53 if (!session->gateway)
54 session->gateway = g_strdup(inet_ntoa(addr));
55
56- DBG("index %d routing table %d default gateway %s",
57- session->index, session->mark, session->gateway);
58+ session->prefixlen = __connman_ipconfig_get_prefixlen(ipconfig);
59+
60+ DBG("index %d routing table %d default gateway %s/%u",
61+ session->index, session->mark, session->gateway, session->prefixlen);
62
63 err = __connman_inet_add_default_to_table(session->mark,
64 session->index, session->gateway);
65 if (err < 0)
66 DBG("session %p %s", session, strerror(-err));
67+
68+ err = __connman_inet_add_subnet_to_table(session->mark,
69+ session->index, session->gateway, session->prefixlen);
70+ if (err < 0)
71+ DBG("session add subnet route %p %s", session, strerror(-err));
72 }
73
74 static void del_nat_rules(struct connman_session *session)
75--
762.7.4
77
diff --git a/meta/recipes-connectivity/connman/connman_1.35.bb b/meta/recipes-connectivity/connman/connman_1.35.bb
deleted file mode 100644
index ff2118113f..0000000000
--- a/meta/recipes-connectivity/connman/connman_1.35.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1require connman.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
4 file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
5 file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
6 file://connman \
7 file://no-version-scripts.patch \
8 file://includes.patch \
9 file://0001-session-Keep-track-of-addr-in-fw_snat-session.patch \
10 file://0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch \
11 file://0001-inet-Add-prefixlen-to-iproute_default_function.patch \
12 file://0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch \
13 file://0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch \
14 file://0004-session-Use-subnet-route-creation-and-deletion-APIs.patch \
15 "
16SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch \
17 "
18
19SRC_URI[md5sum] = "bae37b45ee9b3db5ec8115188f8a7652"
20SRC_URI[sha256sum] = "66d7deb98371545c6e417239a9b3b3e3201c1529d08eedf40afbc859842cf2aa"
21
22RRECOMMENDS_${PN} = "connman-conf"
diff --git a/meta/recipes-connectivity/connman/connman_1.36.bb b/meta/recipes-connectivity/connman/connman_1.36.bb
new file mode 100644
index 0000000000..6e4dbdfda6
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman_1.36.bb
@@ -0,0 +1,16 @@
1require connman.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
4 file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
5 file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
6 file://connman \
7 file://no-version-scripts.patch \
8 file://0001-Fix-various-issues-which-cause-problems-under-musl.patch \
9"
10
11SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
12
13SRC_URI[md5sum] = "dae77d9c904d2c223ae849e32079d57e"
14SRC_URI[sha256sum] = "c789db41cc443fa41e661217ea321492ad59a004bebcd1aa013f3bc10a6e0074"
15
16RRECOMMENDS_${PN} = "connman-conf"