<div dir="ltr">Those two patches were mainstreamed, which will be described in the new commit message as was requested.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 19, 2018 at 9:49 AM, Alexander Kanavin <span dir="ltr">&lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Well, no. The patch file contains three different patches, all fixing<br>
different things, and this information about the second and third one<br>
for instance has vanished:<br>
<span class=""><br>
-From b8b7878e6cb2a1ed4fcfa256f7e232<wbr>511a40e3d9 Mon Sep 17 00:00:00 2001<br>
-From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com">ross.burton@intel.com</a>&gt;<br>
-Date: Tue, 9 Aug 2016 15:37:50 +0100<br>
-Subject: [PATCH 2/3] Check for in6_pktinfo.ipi6_addr explicitly<br>
-<br>
-Instead of assuming that just glibc has this structure, check for it at<br>
-configure as musl also has it.<br>
-<br>
-Based on work by Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt;.<br>
<br>
<br>
</span><span class="">-From c0726e432fa0274a2b9c70179b03df<wbr>6720972816 Mon Sep 17 00:00:00 2001<br>
-From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com">ross.burton@intel.com</a>&gt;<br>
-Date: Tue, 9 Aug 2016 15:19:23 +0100<br>
-Subject: [PATCH 3/3] Rationalise includes<br>
-<br>
-gweb/gresolv.c uses snprintf() and isspace() so it should include stdio.h and<br>
-ctype.h.<br>
-<br>
-tools/dnsproxy-test uses functions from stdio.h.<br>
-<br>
-musl warns when sys/ headers are included when the non-sys form should be used,<br>
-so switch sys/errno.h and so on to errno.h.<br>
-<br>
-musl also causes redefinition errors when pieces of the networking headers are<br>
-included, so remove the redundant includes.<br>
-<br>
-Based on work by Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt;.<br>
<br>
</span>Alex<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
2018-09-19 0:24 GMT+02:00 Oleksandr Kravchuk<br>
&lt;<a href="mailto:open.source@oleksandr-kravchuk.com">open.source@oleksandr-<wbr>kravchuk.com</a>&gt;:<br>
&gt; Sorry for the delay. This patch hasn&#39;t really been changed much: it was<br>
&gt; simply rebased, renamed and converted into git format. Would it be<br>
&gt; enough to keep it the way it is and describe the changes in the commit<br>
&gt; message?<br>
&gt;<br>
&gt; On 13/09/2018 23:38, Alexander Kanavin wrote:<br>
&gt;&gt; This one:<br>
&gt;&gt; rename meta/recipes-connectivity/<wbr>connman/connman/{includes.<wbr>patch =&gt;<br>
&gt;&gt; 0001-Use-AC_USE_SYSTEM_<wbr>EXTENSIONS.patch} (68%)<br>
&gt;&gt;<br>
&gt;&gt; I think you should make two commits: one that splits this patch in<br>
&gt;&gt; three, and another which actually does the version update.<br>
&gt;&gt;<br>
&gt;&gt; Alex<br>
&gt;&gt;<br>
&gt;&gt; 2018-09-13 23:08 GMT+02:00 Oleksandr Kravchuk<br>
&gt;&gt; &lt;<a href="mailto:open.source@oleksandr-kravchuk.com">open.source@oleksandr-<wbr>kravchuk.com</a>&gt;:<br>
&gt;&gt;&gt; Sure, will do.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Also, one patch is changed in a way that makes it lose significant amount<br>
&gt;&gt;&gt;&gt;&gt; of information (it&#39;s an amalgamation of three patches)<br>
&gt;&gt;&gt; Could you please clarify which one do you mean? Thank you.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 9/13/18 9:46 PM, Alexander Kanavin wrote:<br>
&gt;&gt;&gt;&gt; Please explain the changes to patches (not as a reply to me, but in<br>
&gt;&gt;&gt;&gt; the commit message itself).<br>
&gt;&gt;&gt;&gt; If they are deleted because upstream already has them, it should be<br>
&gt;&gt;&gt;&gt; mentioned explicitly.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Also, one patch is changed in a way that makes it lose significant<br>
&gt;&gt;&gt;&gt; amount of information<br>
&gt;&gt;&gt;&gt; (it&#39;s an amalgamation of three patches). Perhaps we should just split<br>
&gt;&gt;&gt;&gt; it in three?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Alex<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2018-09-13 21:04 GMT+02:00 Oleksandr Kravchuk<br>
&gt;&gt;&gt;&gt; &lt;<a href="mailto:open.source@oleksandr-kravchuk.com">open.source@oleksandr-<wbr>kravchuk.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;&gt; Signed-off-by: Oleksandr Kravchuk &lt;<a href="mailto:dev@sashko.rv.ua">dev@sashko.rv.ua</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt;   meta/recipes-connectivity/<wbr>connman/connman.inc |   2 +-<br>
&gt;&gt;&gt;&gt;&gt;   ...&gt; 0001-Use-AC_USE_SYSTEM_<wbr>EXTENSIONS.patch} | 446 ++++++++----------<br>
&gt;&gt;&gt;&gt;&gt;   ...tls-Fix-a-crash-using-<wbr>wispr-over-TLS.patch |  41 --<br>
&gt;&gt;&gt;&gt;&gt;   ...refixlen-to-iproute_<wbr>default_function.patch |  63 ---<br>
&gt;&gt;&gt;&gt;&gt;   ...eep-track-of-addr-in-fw_<wbr>snat-session.patch | 112 -----<br>
&gt;&gt;&gt;&gt;&gt;   ...ubnet-route-creation-<wbr>deletion-in-ipr.patch |  69 ---<br>
&gt;&gt;&gt;&gt;&gt;   ...PIs-for-creating-and-<wbr>deleting-subnet.patch |  68 ---<br>
&gt;&gt;&gt;&gt;&gt;   ...net-route-creation-and-<wbr>deletion-APIs.patch |  77 ---<br>
&gt;&gt;&gt;&gt;&gt;   .../connman/<a href="http://connman_1.35.bb" rel="noreferrer" target="_blank">connman_1.35.bb</a>                   |  22 -<br>
&gt;&gt;&gt;&gt;&gt;   .../connman/<a href="http://connman_1.36.bb" rel="noreferrer" target="_blank">connman_1.36.bb</a>                   |  17 +<br>
&gt;&gt;&gt;&gt;&gt;   10 files changed, 212 insertions(+), 705 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt;   rename meta/recipes-connectivity/<wbr>connman/connman/{includes.<wbr>patch =&gt;<br>
&gt;&gt;&gt;&gt;&gt; 0001-Use-AC_USE_SYSTEM_<wbr>EXTENSIONS.patch} (68%)<br>
&gt;&gt;&gt;&gt;&gt;   delete mode 100644<br>
&gt;&gt;&gt;&gt;&gt; meta/recipes-connectivity/<wbr>connman/connman/0001-<wbr>giognutls-Fix-a-crash-using-<wbr>wispr-over-TLS.patch<br>
&gt;&gt;&gt;&gt;&gt;   delete mode 100644<br>
&gt;&gt;&gt;&gt;&gt; meta/recipes-connectivity/<wbr>connman/connman/0001-inet-Add-<wbr>prefixlen-to-iproute_default_<wbr>function.patch<br>
&gt;&gt;&gt;&gt;&gt;   delete mode 100644<br>
&gt;&gt;&gt;&gt;&gt; meta/recipes-connectivity/<wbr>connman/connman/0001-session-<wbr>Keep-track-of-addr-in-fw_snat-<wbr>session.patch<br>
&gt;&gt;&gt;&gt;&gt;   delete mode 100644<br>
&gt;&gt;&gt;&gt;&gt; meta/recipes-connectivity/<wbr>connman/connman/0002-inet-<wbr>Implement-subnet-route-<wbr>creation-deletion-in-ipr.patch<br>
&gt;&gt;&gt;&gt;&gt;   delete mode 100644<br>
&gt;&gt;&gt;&gt;&gt; meta/recipes-connectivity/<wbr>connman/connman/0003-inet-<wbr>Implement-APIs-for-creating-<wbr>and-deleting-subnet.patch<br>
&gt;&gt;&gt;&gt;&gt;   delete mode 100644<br>
&gt;&gt;&gt;&gt;&gt; meta/recipes-connectivity/<wbr>connman/connman/0004-session-<wbr>Use-subnet-route-creation-and-<wbr>deletion-APIs.patch<br>
&gt;&gt;&gt;&gt;&gt;   delete mode 100644 meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.35.bb" rel="noreferrer" target="_blank">connman_1.35.bb</a><br>
&gt;&gt;&gt;&gt;&gt;   create mode 100644 meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.36.bb" rel="noreferrer" target="_blank">connman_1.36.bb</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; diff --git a/meta/recipes-connectivity/<wbr>connman/connman.inc<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman.inc<br>
&gt;&gt;&gt;&gt;&gt; index 2b03f9cb06..0ba375137d 100644<br>
&gt;&gt;&gt;&gt;&gt; --- a/meta/recipes-connectivity/<wbr>connman/connman.inc<br>
&gt;&gt;&gt;&gt;&gt; +++ b/meta/recipes-connectivity/<wbr>connman/connman.inc<br>
&gt;&gt;&gt;&gt;&gt; @@ -156,7 +156,7 @@ RDEPENDS_${PN}-client =&quot;${PN}&quot;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;   FILES_${PN} = &quot;${bindir}/* ${sbindir}/* ${libexecdir}/*<br>
&gt;&gt;&gt;&gt;&gt; ${libdir}/lib*.so.* \<br>
&gt;&gt;&gt;&gt;&gt;               ${libdir}/connman/plugins \<br>
&gt;&gt;&gt;&gt;&gt; -            ${sysconfdir} ${sharedstatedir} ${localstatedir} \<br>
&gt;&gt;&gt;&gt;&gt; +            ${sysconfdir} ${sharedstatedir} ${localstatedir} ${datadir}<br>
&gt;&gt;&gt;&gt;&gt; \<br>
&gt;&gt;&gt;&gt;&gt;               ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so*<br>
&gt;&gt;&gt;&gt;&gt; ${datadir}/${PN} \<br>
&gt;&gt;&gt;&gt;&gt;               ${datadir}/dbus-1/system-<wbr>services/* \<br>
&gt;&gt;&gt;&gt;&gt;               ${sysconfdir}/tmpfiles.d/<wbr>connman_resolvconf.conf&quot;<br>
&gt;&gt;&gt;&gt;&gt; diff --git a/meta/recipes-connectivity/<wbr>connman/connman/includes.patch<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0001-Use-AC_<wbr>USE_SYSTEM_EXTENSIONS.patch<br>
&gt;&gt;&gt;&gt;&gt; similarity index 68%<br>
&gt;&gt;&gt;&gt;&gt; rename from meta/recipes-connectivity/<wbr>connman/connman/includes.patch<br>
&gt;&gt;&gt;&gt;&gt; rename to<br>
&gt;&gt;&gt;&gt;&gt; meta/recipes-connectivity/<wbr>connman/connman/0001-Use-AC_<wbr>USE_SYSTEM_EXTENSIONS.patch<br>
&gt;&gt;&gt;&gt;&gt; index 55cb187931..e826bf002d 100644<br>
&gt;&gt;&gt;&gt;&gt; --- a/meta/recipes-connectivity/<wbr>connman/connman/includes.patch<br>
&gt;&gt;&gt;&gt;&gt; +++<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0001-Use-AC_<wbr>USE_SYSTEM_EXTENSIONS.patch<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,36 +1,40 @@<br>
&gt;&gt;&gt;&gt;&gt; -Fix various issues which cause problems under musl.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Upstream-Status: Submitted<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: Ross Burton &lt;<a href="mailto:ross.burton@intel.com">ross.burton@intel.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -From 630516bcc0233b047f65665c003201<wbr>ba6e77453d Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; +From 56fc228eebadc546d969a7073caf14<wbr>d465ef3e5a Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt;   From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com">ross.burton@intel.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Tue, 9 Aug 2016 16:22:36 +0100<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 1/3] Use AC_USE_SYSTEM_EXTENSIONS<br>
&gt;&gt;&gt;&gt;&gt; +Date: Thu, 13 Sep 2018 19:57:54 +0200<br>
&gt;&gt;&gt;&gt;&gt; +Subject: [PATCH] Use AC_USE_SYSTEM_EXTENSIONS<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Instead of using #define _GNU_SOURCE in some source files which causes<br>
&gt;&gt;&gt;&gt;&gt; problems<br>
&gt;&gt;&gt;&gt;&gt; -when building with musl as more files need the define, simply use<br>
&gt;&gt;&gt;&gt;&gt; -AC_USE_SYSTEM_EXTENSIONS in <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> to get it defined globally.<br>
&gt;&gt;&gt;&gt;&gt; +Instead of using #define _GNU_SOURCE in some source files which causes<br>
&gt;&gt;&gt;&gt;&gt; +problems when building with musl as more files need the define, simply<br>
&gt;&gt;&gt;&gt;&gt; +use AC_USE_SYSTEM_EXTENSIONS in <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> to get it defined globally.<br>
&gt;&gt;&gt;&gt;&gt;   ---<br>
&gt;&gt;&gt;&gt;&gt; - <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a>       | 1 +<br>
&gt;&gt;&gt;&gt;&gt; - gdhcp/client.c     | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - plugins/tist.c     | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/backtrace.c    | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/inet.c         | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/log.c          | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/ntp.c          | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/resolver.c     | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/rfkill.c       | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/stats.c        | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/timezone.c     | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - tools/stats-tool.c | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - tools/tap-test.c   | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - tools/wispr.c      | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - vpn/plugins/vpn.c  | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - 15 files changed, 1 insertion(+), 14 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt; + <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a>                 | 3 +++<br>
&gt;&gt;&gt;&gt;&gt; + gdhcp/client.c               | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + gdhcp/common.h               | 5 +++--<br>
&gt;&gt;&gt;&gt;&gt; + gweb/gresolv.c               | 2 ++<br>
&gt;&gt;&gt;&gt;&gt; + plugins/tist.c               | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + plugins/wifi.c               | 3 +--<br>
&gt;&gt;&gt;&gt;&gt; + src/backtrace.c              | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/inet.c                   | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/ippool.c                 | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/iptables.c               | 2 +-<br>
&gt;&gt;&gt;&gt;&gt; + src/log.c                    | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/ntp.c                    | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/resolver.c               | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/rfkill.c                 | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/stats.c                  | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + src/tethering.c              | 2 --<br>
&gt;&gt;&gt;&gt;&gt; + src/timezone.c               | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + tools/dhcp-test.c            | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + tools/dnsproxy-test.c        | 1 +<br>
&gt;&gt;&gt;&gt;&gt; + tools/private-network-test.c | 2 +-<br>
&gt;&gt;&gt;&gt;&gt; + tools/stats-tool.c           | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + tools/tap-test.c             | 3 +--<br>
&gt;&gt;&gt;&gt;&gt; + tools/wispr.c                | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + vpn/plugins/vpn.c            | 1 -<br>
&gt;&gt;&gt;&gt;&gt; + 24 files changed, 13 insertions(+), 25 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
&gt;&gt;&gt;&gt;&gt; -index 6e66ab3..bacf5ec 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 39745f76..984126c2 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
&gt;&gt;&gt;&gt;&gt;   +++ b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
&gt;&gt;&gt;&gt;&gt;   @@ -20,6 +20,7 @@ AC_SUBST(abs_top_srcdir)<br>
&gt;&gt;&gt;&gt;&gt; @@ -41,8 +45,17 @@ index 6e66ab3..bacf5ec 100644<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;    AC_PROG_CC<br>
&gt;&gt;&gt;&gt;&gt;    AM_PROG_CC_C_O<br>
&gt;&gt;&gt;&gt;&gt; +@@ -185,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [<br>
&gt;&gt;&gt;&gt;&gt; + AC_CHECK_HEADERS([execinfo.h])<br>
&gt;&gt;&gt;&gt;&gt; + AM_CONDITIONAL([BACKTRACE], [test &quot;${ac_cv_header_execinfo_h}&quot; =<br>
&gt;&gt;&gt;&gt;&gt; &quot;yes&quot;])<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; ++AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include<br>
&gt;&gt;&gt;&gt;&gt; &lt;netinet/in.h&gt;]])<br>
&gt;&gt;&gt;&gt;&gt; ++<br>
&gt;&gt;&gt;&gt;&gt; + AC_CHECK_FUNC(signalfd, dummy=yes,<br>
&gt;&gt;&gt;&gt;&gt; +                       AC_MSG_ERROR(signalfd support is required))<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/gdhcp/client.c b/gdhcp/client.c<br>
&gt;&gt;&gt;&gt;&gt; -index fbb40ab..3aeb089 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 67357782..c7db76f0 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/gdhcp/client.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/gdhcp/client.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -53,8 +66,49 @@ index fbb40ab..3aeb089 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/gdhcp/common.h b/gdhcp/common.h<br>
&gt;&gt;&gt;&gt;&gt; +index 75abc183..6899499e 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/gdhcp/common.h<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/gdhcp/common.h<br>
&gt;&gt;&gt;&gt;&gt; +@@ -19,6 +19,7 @@<br>
&gt;&gt;&gt;&gt;&gt; +  *<br>
&gt;&gt;&gt;&gt;&gt; +  */<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; ++#include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;netinet/udp.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;netinet/ip.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {<br>
&gt;&gt;&gt;&gt;&gt; +       [OPTION_U32]    = 4,<br>
&gt;&gt;&gt;&gt;&gt; + };<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +-/* already defined within netinet/in.h if using GNU compiler */<br>
&gt;&gt;&gt;&gt;&gt; +-#ifndef __USE_GNU<br>
&gt;&gt;&gt;&gt;&gt; ++/* already defined within netinet/in.h if using glibc or musl */<br>
&gt;&gt;&gt;&gt;&gt; ++#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_<wbr>ADDR<br>
&gt;&gt;&gt;&gt;&gt; + struct in6_pktinfo {<br>
&gt;&gt;&gt;&gt;&gt; +       struct in6_addr ipi6_addr;  /* src/dst IPv6 address */<br>
&gt;&gt;&gt;&gt;&gt; +       unsigned int ipi6_ifindex;  /* send/recv interface index */<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/gweb/gresolv.c b/gweb/gresolv.c<br>
&gt;&gt;&gt;&gt;&gt; +index 81c79b6c..180e57ba 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/gweb/gresolv.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/gweb/gresolv.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -23,11 +23,13 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #endif<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; ++#include &lt;ctype.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;stdarg.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;stdlib.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; ++#include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;resolv.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/types.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/plugins/tist.c b/plugins/tist.c<br>
&gt;&gt;&gt;&gt;&gt; -index ad5ef79..cc2800a 100644<br>
&gt;&gt;&gt;&gt;&gt; +index ad5ef79e..cc2800a1 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/plugins/tist.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/plugins/tist.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -65,8 +119,23 @@ index ad5ef79..cc2800a 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdbool.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdlib.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/plugins/wifi.c b/plugins/wifi.c<br>
&gt;&gt;&gt;&gt;&gt; +index dc08c6af..46e4cca4 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/plugins/wifi.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/plugins/wifi.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -30,9 +30,8 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/ioctl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +-#include &lt;linux/if_arp.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +-#include &lt;linux/wireless.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;net/ethernet.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; ++#include &lt;linux/wireless.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; + #ifndef IFF_LOWER_UP<br>
&gt;&gt;&gt;&gt;&gt; + #define IFF_LOWER_UP  0x10000<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/backtrace.c b/src/backtrace.c<br>
&gt;&gt;&gt;&gt;&gt; -index 6a66c0a..4dbdda8 100644<br>
&gt;&gt;&gt;&gt;&gt; +index e8d7f432..bede6698 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/backtrace.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/backtrace.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -24,7 +24,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -78,7 +147,7 @@ index 6a66c0a..4dbdda8 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdlib.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/inet.c b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -index 69ded19..81d92c2 100644<br>
&gt;&gt;&gt;&gt;&gt; +index a31372b5..a58ce7c1 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -25,7 +25,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -89,8 +158,33 @@ index 69ded19..81d92c2 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/src/ippool.c b/src/ippool.c<br>
&gt;&gt;&gt;&gt;&gt; +index cea1dccd..8a645da2 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/src/ippool.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/src/ippool.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -28,7 +28,6 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +-#include &lt;sys/errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; + #include &quot;connman.h&quot;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/src/iptables.c b/src/iptables.c<br>
&gt;&gt;&gt;&gt;&gt; +index f3670e77..469effed 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/src/iptables.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/src/iptables.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -28,7 +28,7 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +-#include &lt;sys/errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; ++#include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;xtables.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;inttypes.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/log.c b/src/log.c<br>
&gt;&gt;&gt;&gt;&gt; -index 9bae4a3..f7e82e5 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 9bae4a3d..f7e82e5d 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/log.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/log.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -102,7 +196,7 @@ index 9bae4a3..f7e82e5 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdarg.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/ntp.c b/src/ntp.c<br>
&gt;&gt;&gt;&gt;&gt; -index dd246eb..db8ae96 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 51ba9aac..724ca188 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/ntp.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/ntp.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -114,7 +208,7 @@ index dd246eb..db8ae96 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/resolver.c b/src/resolver.c<br>
&gt;&gt;&gt;&gt;&gt; -index fbe4be7..ef61f92 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 76f0a8e1..10121aa5 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/resolver.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/resolver.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -126,7 +220,7 @@ index fbe4be7..ef61f92 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/rfkill.c b/src/rfkill.c<br>
&gt;&gt;&gt;&gt;&gt; -index 2bfb092..af49d12 100644<br>
&gt;&gt;&gt;&gt;&gt; +index d9bed4d2..b2514c41 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/rfkill.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/rfkill.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -138,7 +232,7 @@ index 2bfb092..af49d12 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/stats.c b/src/stats.c<br>
&gt;&gt;&gt;&gt;&gt; -index 26343b1..cfcdc94 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 663bc382..c9ddc2e8 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/stats.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/stats.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -149,8 +243,21 @@ index 26343b1..cfcdc94 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;sys/mman.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;sys/types.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/src/tethering.c b/src/tethering.c<br>
&gt;&gt;&gt;&gt;&gt; +index 4b202369..f3cb36f4 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/src/tethering.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/src/tethering.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -34,8 +34,6 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;netinet/in.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +-#include &lt;linux/sockios.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +-#include &lt;linux/if_tun.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;linux/if_bridge.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; + #include &quot;connman.h&quot;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/src/timezone.c b/src/timezone.c<br>
&gt;&gt;&gt;&gt;&gt; -index e346b11..8e91267 100644<br>
&gt;&gt;&gt;&gt;&gt; +index e346b11a..8e912670 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/src/timezone.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/src/timezone.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -161,216 +268,8 @@ index e346b11..8e91267 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/tools/stats-tool.c b/tools/stats-tool.c<br>
&gt;&gt;&gt;&gt;&gt; -index b076478..428d94b 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/tools/stats-tool.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/tools/stats-tool.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -22,7 +22,6 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #endif<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/mman.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/types.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/stat.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/tools/tap-test.c b/tools/tap-test.c<br>
&gt;&gt;&gt;&gt;&gt; -index fdc098a..57917f5 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/tools/tap-test.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/tools/tap-test.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #endif<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/tools/wispr.c b/tools/wispr.c<br>
&gt;&gt;&gt;&gt;&gt; -index d5f9341..e56dfc1 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/tools/wispr.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/tools/wispr.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #endif<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c<br>
&gt;&gt;&gt;&gt;&gt; -index 9a42385..479c3a7 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/vpn/plugins/vpn.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/vpn/plugins/vpn.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #endif<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.8.1<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -From b8b7878e6cb2a1ed4fcfa256f7e232<wbr>511a40e3d9 Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com">ross.burton@intel.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Tue, 9 Aug 2016 15:37:50 +0100<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 2/3] Check for in6_pktinfo.ipi6_addr explicitly<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Instead of assuming that just glibc has this structure, check for it at<br>
&gt;&gt;&gt;&gt;&gt; -configure as musl also has it.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Based on work by Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt;.<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; - <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a>   | 2 ++<br>
&gt;&gt;&gt;&gt;&gt; - gdhcp/common.h | 5 +++--<br>
&gt;&gt;&gt;&gt;&gt; - 2 files changed, 5 insertions(+), 2 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
&gt;&gt;&gt;&gt;&gt; -index bacf5ec..ad00456 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
&gt;&gt;&gt;&gt;&gt; -+++ b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
&gt;&gt;&gt;&gt;&gt; -@@ -186,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [<br>
&gt;&gt;&gt;&gt;&gt; - AC_CHECK_HEADERS([execinfo.h])<br>
&gt;&gt;&gt;&gt;&gt; - AM_CONDITIONAL([BACKTRACE], [test &quot;${ac_cv_header_execinfo_h}&quot; =<br>
&gt;&gt;&gt;&gt;&gt; &quot;yes&quot;])<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -+AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include<br>
&gt;&gt;&gt;&gt;&gt; &lt;netinet/in.h&gt;]])<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; - AC_CHECK_FUNC(signalfd, dummy=yes,<br>
&gt;&gt;&gt;&gt;&gt; -                       AC_MSG_ERROR(signalfd support is required))<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/gdhcp/common.h b/gdhcp/common.h<br>
&gt;&gt;&gt;&gt;&gt; -index 75abc18..6899499 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/gdhcp/common.h<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/gdhcp/common.h<br>
&gt;&gt;&gt;&gt;&gt; -@@ -19,6 +19,7 @@<br>
&gt;&gt;&gt;&gt;&gt; -  *<br>
&gt;&gt;&gt;&gt;&gt; -  */<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -+#include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;netinet/udp.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;netinet/ip.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {<br>
&gt;&gt;&gt;&gt;&gt; -       [OPTION_U32]    = 4,<br>
&gt;&gt;&gt;&gt;&gt; - };<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --/* already defined within netinet/in.h if using GNU compiler */<br>
&gt;&gt;&gt;&gt;&gt; --#ifndef __USE_GNU<br>
&gt;&gt;&gt;&gt;&gt; -+/* already defined within netinet/in.h if using glibc or musl */<br>
&gt;&gt;&gt;&gt;&gt; -+#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_<wbr>ADDR<br>
&gt;&gt;&gt;&gt;&gt; - struct in6_pktinfo {<br>
&gt;&gt;&gt;&gt;&gt; -       struct in6_addr ipi6_addr;  /* src/dst IPv6 address */<br>
&gt;&gt;&gt;&gt;&gt; -       unsigned int ipi6_ifindex;  /* send/recv interface index */<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.8.1<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -From c0726e432fa0274a2b9c70179b03df<wbr>6720972816 Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com">ross.burton@intel.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Tue, 9 Aug 2016 15:19:23 +0100<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 3/3] Rationalise includes<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -gweb/gresolv.c uses snprintf() and isspace() so it should include<br>
&gt;&gt;&gt;&gt;&gt; stdio.h and<br>
&gt;&gt;&gt;&gt;&gt; -ctype.h.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -tools/dnsproxy-test uses functions from stdio.h.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -musl warns when sys/ headers are included when the non-sys form should<br>
&gt;&gt;&gt;&gt;&gt; be used,<br>
&gt;&gt;&gt;&gt;&gt; -so switch sys/errno.h and so on to errno.h.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -musl also causes redefinition errors when pieces of the networking<br>
&gt;&gt;&gt;&gt;&gt; headers are<br>
&gt;&gt;&gt;&gt;&gt; -included, so remove the redundant includes.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Based on work by Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt;.<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; - gweb/gresolv.c               | 2 ++<br>
&gt;&gt;&gt;&gt;&gt; - plugins/wifi.c               | 3 +--<br>
&gt;&gt;&gt;&gt;&gt; - src/ippool.c                 | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - src/iptables.c               | 2 +-<br>
&gt;&gt;&gt;&gt;&gt; - src/tethering.c              | 2 --<br>
&gt;&gt;&gt;&gt;&gt; - tools/dhcp-test.c            | 1 -<br>
&gt;&gt;&gt;&gt;&gt; - tools/dnsproxy-test.c        | 1 +<br>
&gt;&gt;&gt;&gt;&gt; - tools/private-network-test.c | 2 +-<br>
&gt;&gt;&gt;&gt;&gt; - tools/tap-test.c             | 2 +-<br>
&gt;&gt;&gt;&gt;&gt; - 9 files changed, 7 insertions(+), 9 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/gweb/gresolv.c b/gweb/gresolv.c<br>
&gt;&gt;&gt;&gt;&gt; -index 8a51a9f..d55027c 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/gweb/gresolv.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/gweb/gresolv.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -23,11 +23,13 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #endif<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -+#include &lt;ctype.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;stdarg.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;stdlib.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -+#include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;resolv.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/types.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/plugins/wifi.c b/plugins/wifi.c<br>
&gt;&gt;&gt;&gt;&gt; -index 9d56671..148131d 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/plugins/wifi.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/plugins/wifi.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -30,9 +30,8 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/ioctl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; --#include &lt;linux/if_arp.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; --#include &lt;linux/wireless.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;net/ethernet.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -+#include &lt;linux/wireless.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; - #ifndef IFF_LOWER_UP<br>
&gt;&gt;&gt;&gt;&gt; - #define IFF_LOWER_UP  0x10000<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/ippool.c b/src/ippool.c<br>
&gt;&gt;&gt;&gt;&gt; -index cea1dcc..8a645da 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/ippool.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/ippool.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -28,7 +28,6 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; --#include &lt;sys/errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; - #include &quot;connman.h&quot;<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/iptables.c b/src/iptables.c<br>
&gt;&gt;&gt;&gt;&gt; -index 5ef757a..82e3ac4 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/iptables.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/iptables.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -28,7 +28,7 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; --#include &lt;sys/errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -+#include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/socket.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;xtables.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;inttypes.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/tethering.c b/src/tethering.c<br>
&gt;&gt;&gt;&gt;&gt; -index 3153349..ad062d5 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/tethering.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/tethering.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -31,10 +31,8 @@<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;sys/ioctl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;net/if.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; --#include &lt;linux/sockios.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; --#include &lt;linux/if_tun.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;netinet/in.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; - #include &lt;linux/if_bridge.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c<br>
&gt;&gt;&gt;&gt;&gt; -index c34e10a..eae66fc 100644<br>
&gt;&gt;&gt;&gt;&gt; +index c34e10a8..eae66fc2 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/tools/dhcp-test.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/tools/dhcp-test.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -33,7 +33,6 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -382,7 +281,7 @@ index c34e10a..eae66fc 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;gdhcp/gdhcp.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/tools/dnsproxy-test.c b/tools/dnsproxy-test.c<br>
&gt;&gt;&gt;&gt;&gt; -index 551cae9..371e2e2 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 551cae91..371e2e23 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/tools/dnsproxy-test.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/tools/dnsproxy-test.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -24,6 +24,7 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -394,7 +293,7 @@ index 551cae9..371e2e2 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/tools/private-network-test.c<br>
&gt;&gt;&gt;&gt;&gt; b/tools/private-network-test.c<br>
&gt;&gt;&gt;&gt;&gt; -index 3dd115b..2828bb3 100644<br>
&gt;&gt;&gt;&gt;&gt; +index 3dd115ba..2828bb30 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/tools/private-network-test.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/tools/private-network-test.c<br>
&gt;&gt;&gt;&gt;&gt;   @@ -32,7 +32,7 @@<br>
&gt;&gt;&gt;&gt;&gt; @@ -406,11 +305,29 @@ index 3dd115b..2828bb3 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;sys/signalfd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/tools/stats-tool.c b/tools/stats-tool.c<br>
&gt;&gt;&gt;&gt;&gt; +index efa39de2..5695048f 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/tools/stats-tool.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/tools/stats-tool.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -22,7 +22,6 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #endif<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +-#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/mman.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/types.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;sys/stat.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   diff --git a/tools/tap-test.c b/tools/tap-test.c<br>
&gt;&gt;&gt;&gt;&gt; -index 57917f5..cb3ee62 100644<br>
&gt;&gt;&gt;&gt;&gt; +index fdc098aa..cb3ee622 100644<br>
&gt;&gt;&gt;&gt;&gt;   --- a/tools/tap-test.c<br>
&gt;&gt;&gt;&gt;&gt;   +++ b/tools/tap-test.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -28,7 +28,7 @@<br>
&gt;&gt;&gt;&gt;&gt; +@@ -23,13 +23,12 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #endif<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +-#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;errno.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; @@ -419,5 +336,30 @@ index 57917f5..cb3ee62 100644<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;sys/ioctl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;    #include &lt;netinet/in.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/tools/wispr.c b/tools/wispr.c<br>
&gt;&gt;&gt;&gt;&gt; +index d5f9341f..e56dfc16 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/tools/wispr.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/tools/wispr.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #endif<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +-#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;stdio.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; +diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c<br>
&gt;&gt;&gt;&gt;&gt; +index 10548aaf..6e3f640c 100644<br>
&gt;&gt;&gt;&gt;&gt; +--- a/vpn/plugins/vpn.c<br>
&gt;&gt;&gt;&gt;&gt; ++++ b/vpn/plugins/vpn.c<br>
&gt;&gt;&gt;&gt;&gt; +@@ -23,7 +23,6 @@<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;config.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #endif<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +-#define _GNU_SOURCE<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;string.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;fcntl.h&gt;<br>
&gt;&gt;&gt;&gt;&gt; + #include &lt;unistd.h&gt;<br>
&gt;&gt;&gt;&gt;&gt;   --<br>
&gt;&gt;&gt;&gt;&gt; -2.8.1<br>
&gt;&gt;&gt;&gt;&gt; +2.17.1<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; diff --git<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0001-<wbr>giognutls-Fix-a-crash-using-<wbr>wispr-over-TLS.patch<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0001-<wbr>giognutls-Fix-a-crash-using-<wbr>wispr-over-TLS.patch<br>
&gt;&gt;&gt;&gt;&gt; deleted file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index f9080d4ba9..0000000000<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0001-<wbr>giognutls-Fix-a-crash-using-<wbr>wispr-over-TLS.patch<br>
&gt;&gt;&gt;&gt;&gt; +++ /dev/null<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,41 +0,0 @@<br>
&gt;&gt;&gt;&gt;&gt; -From 929fc9b7068100444e0ffcccd25841<wbr>f78791e619 Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Fri, 15 Sep 2017 06:40:08 -0400<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH] gweb: Fix a crash using wispr over TLS<br>
&gt;&gt;&gt;&gt;&gt; -To: <a href="mailto:connman@lists.01.org">connman@lists.01.org</a><br>
&gt;&gt;&gt;&gt;&gt; -Cc: <a href="mailto:wagi@monom.org">wagi@monom.org</a><br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -When gnutls_channel is instantiated, the gnutls_channel-&gt;established<br>
&gt;&gt;&gt;&gt;&gt; -has to be initiated as FALSE. Otherwise, check_handshake function<br>
&gt;&gt;&gt;&gt;&gt; -won&#39;t work. A random initial value 1 of gnutls_channel-&gt;established<br>
&gt;&gt;&gt;&gt;&gt; -will make check_handshake return G_IO_STATUS_NORMAL, when the channel<br>
&gt;&gt;&gt;&gt;&gt; -is actually not ready to be used. The observed behaviours are,<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -- wispr is getting random errors in wispr_portal_web_result<br>
&gt;&gt;&gt;&gt;&gt; -- ConnMan crashes on exit after those random errors<br>
&gt;&gt;&gt;&gt;&gt; -- when wispr is luckly working, ConnMan doesn&#39;t crash on exit<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; -Upstream-Status: Backport<br>
&gt;&gt;&gt;&gt;&gt; [<a href="https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=73e53f3bd9e7debae86341f1eee7b97862a56a5e" rel="noreferrer" target="_blank">https://git.kernel.org/pub/<wbr>scm/network/connman/connman.<wbr>git/commit/?id=<wbr>73e53f3bd9e7debae86341f1eee7b9<wbr>7862a56a5e</a>]<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: André Draszik &lt;<a href="mailto:andre.draszik@jci.com">andre.draszik@jci.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; - gweb/giognutls.c | 2 +-<br>
&gt;&gt;&gt;&gt;&gt; - 1 file changed, 1 insertion(+), 1 deletion(-)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/gweb/giognutls.c b/gweb/giognutls.c<br>
&gt;&gt;&gt;&gt;&gt; -index 09dc9e7..c029a8b 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/gweb/giognutls.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/gweb/giognutls.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -421,7 +421,7 @@ GIOChannel *g_io_channel_gnutls_new(int fd)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       DBG(&quot;&quot;);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --      gnutls_channel = g_new(GIOGnuTLSChannel, 1);<br>
&gt;&gt;&gt;&gt;&gt; -+      gnutls_channel = g_new0(GIOGnuTLSChannel, 1);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       channel = (GIOChannel *) gnutls_channel;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.7.4<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; diff --git<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0001-inet-Add-<wbr>prefixlen-to-iproute_default_<wbr>function.patch<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0001-inet-Add-<wbr>prefixlen-to-iproute_default_<wbr>function.patch<br>
&gt;&gt;&gt;&gt;&gt; deleted file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index dd7b356741..0000000000<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0001-inet-Add-<wbr>prefixlen-to-iproute_default_<wbr>function.patch<br>
&gt;&gt;&gt;&gt;&gt; +++ /dev/null<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,63 +0,0 @@<br>
&gt;&gt;&gt;&gt;&gt; -From 508dc60a1f0758ebc586b6b086478a<wbr>176d493086 Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Thu, 5 Oct 2017 09:34:41 +0100<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 1/4] inet: Add prefixlen to iproute_default_function<br>
&gt;&gt;&gt;&gt;&gt; -To: <a href="mailto:connman@lists.01.org">connman@lists.01.org</a><br>
&gt;&gt;&gt;&gt;&gt; -Cc: <a href="mailto:wagi@monom.org">wagi@monom.org</a><br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Add prefixlen parameter to this function in preparation for using<br>
&gt;&gt;&gt;&gt;&gt; -it also in creating subnet route later, e.g.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -default via 192.168.100.1 dev eth0<br>
&gt;&gt;&gt;&gt;&gt; -<a href="http://192.168.100.0/24" rel="noreferrer" target="_blank">192.168.100.0/24</a> dev eth0<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; -Upstream-Status: Backport<br>
&gt;&gt;&gt;&gt;&gt; [<a href="https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=edda5b695de2ee79f02314abc9b46fdd46b388e1" rel="noreferrer" target="_blank">https://git.kernel.org/pub/<wbr>scm/network/connman/connman.<wbr>git/commit/?id=<wbr>edda5b695de2ee79f02314abc9b46f<wbr>dd46b388e1</a>]<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: André Draszik &lt;<a href="mailto:andre.draszik@jci.com">andre.draszik@jci.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; - src/inet.c | 7 ++++---<br>
&gt;&gt;&gt;&gt;&gt; - 1 file changed, 4 insertions(+), 3 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/inet.c b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -index b887aa0..ab8aec8 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2796,7 +2796,7 @@ int __connman_inet_del_fwmark_<wbr>rule(uint32_t<br>
&gt;&gt;&gt;&gt;&gt; table_id, int family, uint32_t fwmar<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; - static int iproute_default_modify(int cmd, uint32_t table_id, int<br>
&gt;&gt;&gt;&gt;&gt; ifindex,<br>
&gt;&gt;&gt;&gt;&gt; --                      const char *gateway)<br>
&gt;&gt;&gt;&gt;&gt; -+                      const char *gateway, unsigned char prefixlen)<br>
&gt;&gt;&gt;&gt;&gt; - {<br>
&gt;&gt;&gt;&gt;&gt; -       struct __connman_inet_rtnl_handle rth;<br>
&gt;&gt;&gt;&gt;&gt; -       unsigned char buf[sizeof(struct in6_addr)];<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2829,6 +2829,7 @@ static int iproute_default_modify(int cmd,<br>
&gt;&gt;&gt;&gt;&gt; uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -       rth.req.u.r.rt.rtm_protocol = RTPROT_BOOT;<br>
&gt;&gt;&gt;&gt;&gt; -       rth.req.u.r.rt.rtm_scope = RT_SCOPE_UNIVERSE;<br>
&gt;&gt;&gt;&gt;&gt; -       rth.req.u.r.rt.rtm_type = RTN_UNICAST;<br>
&gt;&gt;&gt;&gt;&gt; -+      rth.req.u.r.rt.rtm_dst_len = prefixlen;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       __connman_inet_rtnl_addattr_l(<wbr>&amp;rth.req.n, sizeof(rth.req),<br>
&gt;&gt;&gt;&gt;&gt; RTA_GATEWAY,<br>
&gt;&gt;&gt;&gt;&gt; -                                                               buf,<br>
&gt;&gt;&gt;&gt;&gt; len);<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2860,7 +2861,7 @@ int __connman_inet_add_default_to_<wbr>table(uint32_t<br>
&gt;&gt;&gt;&gt;&gt; table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; - {<br>
&gt;&gt;&gt;&gt;&gt; -       /* ip route add default via 1.2.3.4 dev wlan0 table 1234 */<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --      return iproute_default_modify(RTM_<wbr>NEWROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+      return iproute_default_modify(RTM_<wbr>NEWROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway, 0);<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_del_default_<wbr>from_table(uint32_t table_id, int<br>
&gt;&gt;&gt;&gt;&gt; ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2868,7 +2869,7 @@ int __connman_inet_del_default_<wbr>from_table(uint32_t<br>
&gt;&gt;&gt;&gt;&gt; table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; - {<br>
&gt;&gt;&gt;&gt;&gt; -       /* ip route del default via 1.2.3.4 dev wlan0 table 1234 */<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --      return iproute_default_modify(RTM_<wbr>DELROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+      return iproute_default_modify(RTM_<wbr>DELROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway, 0);<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_get_interface_<wbr>ll_address(int index, int family,<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.7.4<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; diff --git<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0001-session-<wbr>Keep-track-of-addr-in-fw_snat-<wbr>session.patch<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0001-session-<wbr>Keep-track-of-addr-in-fw_snat-<wbr>session.patch<br>
&gt;&gt;&gt;&gt;&gt; deleted file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index f1b4d0aaa7..0000000000<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0001-session-<wbr>Keep-track-of-addr-in-fw_snat-<wbr>session.patch<br>
&gt;&gt;&gt;&gt;&gt; +++ /dev/null<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,112 +0,0 @@<br>
&gt;&gt;&gt;&gt;&gt; -From b5fd5945886fa1845db5c969424b63<wbr>d894fe0376 Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Fri, 25 Aug 2017 10:02:16 -0400<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 1/2] session: Keep track of addr in fw_snat &amp; session<br>
&gt;&gt;&gt;&gt;&gt; -To: <a href="mailto:connman@lists.01.org">connman@lists.01.org</a><br>
&gt;&gt;&gt;&gt;&gt; -Cc: <a href="mailto:wagi@monom.org">wagi@monom.org</a><br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -When there is more than one session in fw_snat&#39;s list of sessions,<br>
&gt;&gt;&gt;&gt;&gt; -fw_snat failed to be re-created when update-session-state is triggered<br>
&gt;&gt;&gt;&gt;&gt; -with new IP address. This is because index alone is not sufficient to<br>
&gt;&gt;&gt;&gt;&gt; -decide if fw_snat needs to be re-created. The solution here is to keep<br>
&gt;&gt;&gt;&gt;&gt; -a track of IP addr and use it to avoid false lookup of fw_snat.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; -Upstream-Status: Backport<br>
&gt;&gt;&gt;&gt;&gt; [<a href="https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=f9e27d4abfcab5c80a38e0850b5ddb26277f97c1" rel="noreferrer" target="_blank">https://git.kernel.org/pub/<wbr>scm/network/connman/connman.<wbr>git/commit/?id=<wbr>f9e27d4abfcab5c80a38e0850b5ddb<wbr>26277f97c1</a>]<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: André Draszik &lt;<a href="mailto:andre.draszik@jci.com">andre.draszik@jci.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; - src/session.c | 19 +++++++++++++++----<br>
&gt;&gt;&gt;&gt;&gt; - 1 file changed, 15 insertions(+), 4 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/session.c b/src/session.c<br>
&gt;&gt;&gt;&gt;&gt; -index 9e3c559..965ac06 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/session.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/session.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -65,6 +65,7 @@ struct connman_session {<br>
&gt;&gt;&gt;&gt;&gt; -       struct firewall_context *fw;<br>
&gt;&gt;&gt;&gt;&gt; -       uint32_t mark;<br>
&gt;&gt;&gt;&gt;&gt; -       int index;<br>
&gt;&gt;&gt;&gt;&gt; -+      char *addr;<br>
&gt;&gt;&gt;&gt;&gt; -       char *gateway;<br>
&gt;&gt;&gt;&gt;&gt; -       bool policy_routing;<br>
&gt;&gt;&gt;&gt;&gt; -       bool snat_enabled;<br>
&gt;&gt;&gt;&gt;&gt; -@@ -79,6 +80,7 @@ struct fw_snat {<br>
&gt;&gt;&gt;&gt;&gt; -       GSList *sessions;<br>
&gt;&gt;&gt;&gt;&gt; -       int id;<br>
&gt;&gt;&gt;&gt;&gt; -       int index;<br>
&gt;&gt;&gt;&gt;&gt; -+      char *addr;<br>
&gt;&gt;&gt;&gt;&gt; -       struct firewall_context *fw;<br>
&gt;&gt;&gt;&gt;&gt; - };<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -@@ -200,7 +202,7 @@ static char *service2bearer(enum<br>
&gt;&gt;&gt;&gt;&gt; connman_service_type type)<br>
&gt;&gt;&gt;&gt;&gt; -       return &quot;&quot;;<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --static struct fw_snat *fw_snat_lookup(int index)<br>
&gt;&gt;&gt;&gt;&gt; -+static struct fw_snat *fw_snat_lookup(int index, const char *addr)<br>
&gt;&gt;&gt;&gt;&gt; - {<br>
&gt;&gt;&gt;&gt;&gt; -       struct fw_snat *fw_snat;<br>
&gt;&gt;&gt;&gt;&gt; -       GSList *list;<br>
&gt;&gt;&gt;&gt;&gt; -@@ -208,8 +210,11 @@ static struct fw_snat *fw_snat_lookup(int index)<br>
&gt;&gt;&gt;&gt;&gt; -       for (list = fw_snat_list; list; list = list-&gt;next) {<br>
&gt;&gt;&gt;&gt;&gt; -               fw_snat = list-&gt;data;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --              if (fw_snat-&gt;index == index)<br>
&gt;&gt;&gt;&gt;&gt; -+              if (fw_snat-&gt;index == index) {<br>
&gt;&gt;&gt;&gt;&gt; -+                      if (g_strcmp0(addr, fw_snat-&gt;addr) != 0)<br>
&gt;&gt;&gt;&gt;&gt; -+                              continue;<br>
&gt;&gt;&gt;&gt;&gt; -                       return fw_snat;<br>
&gt;&gt;&gt;&gt;&gt; -+              }<br>
&gt;&gt;&gt;&gt;&gt; -       }<br>
&gt;&gt;&gt;&gt;&gt; -       return NULL;<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -@@ -224,6 +229,7 @@ static int fw_snat_create(struct connman_session<br>
&gt;&gt;&gt;&gt;&gt; *session,<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       fw_snat-&gt;fw = __connman_firewall_create();<br>
&gt;&gt;&gt;&gt;&gt; -       fw_snat-&gt;index = index;<br>
&gt;&gt;&gt;&gt;&gt; -+      fw_snat-&gt;addr = g_strdup(addr);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       fw_snat-&gt;id = __connman_firewall_enable_<wbr>snat(fw_snat-&gt;fw,<br>
&gt;&gt;&gt;&gt;&gt; -                                               index, ifname, addr);<br>
&gt;&gt;&gt;&gt;&gt; -@@ -238,6 +244,7 @@ static int fw_snat_create(struct connman_session<br>
&gt;&gt;&gt;&gt;&gt; *session,<br>
&gt;&gt;&gt;&gt;&gt; -       return 0;<br>
&gt;&gt;&gt;&gt;&gt; - err:<br>
&gt;&gt;&gt;&gt;&gt; -       __connman_firewall_destroy(fw_<wbr>snat-&gt;fw);<br>
&gt;&gt;&gt;&gt;&gt; -+      g_free(fw_snat-&gt;addr);<br>
&gt;&gt;&gt;&gt;&gt; -       g_free(fw_snat);<br>
&gt;&gt;&gt;&gt;&gt; -       return err;<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -@@ -393,7 +400,7 @@ static void del_nat_rules(struct connman_session<br>
&gt;&gt;&gt;&gt;&gt; *session)<br>
&gt;&gt;&gt;&gt;&gt; -               return;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       session-&gt;snat_enabled = false;<br>
&gt;&gt;&gt;&gt;&gt; --      fw_snat = fw_snat_lookup(session-&gt;index)<wbr>;<br>
&gt;&gt;&gt;&gt;&gt; -+      fw_snat = fw_snat_lookup(session-&gt;index, session-&gt;addr);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       if (!fw_snat)<br>
&gt;&gt;&gt;&gt;&gt; -               return;<br>
&gt;&gt;&gt;&gt;&gt; -@@ -420,8 +427,11 @@ static void add_nat_rules(struct connman_session<br>
&gt;&gt;&gt;&gt;&gt; *session)<br>
&gt;&gt;&gt;&gt;&gt; -       if (!addr)<br>
&gt;&gt;&gt;&gt;&gt; -               return;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -+      g_free(session-&gt;addr);<br>
&gt;&gt;&gt;&gt;&gt; -+      session-&gt;addr = g_strdup(addr);<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -       session-&gt;snat_enabled = true;<br>
&gt;&gt;&gt;&gt;&gt; --      fw_snat = fw_snat_lookup(index);<br>
&gt;&gt;&gt;&gt;&gt; -+      fw_snat = fw_snat_lookup(index, session-&gt;addr);<br>
&gt;&gt;&gt;&gt;&gt; -       if (fw_snat) {<br>
&gt;&gt;&gt;&gt;&gt; -               fw_snat_ref(session, fw_snat);<br>
&gt;&gt;&gt;&gt;&gt; -               return;<br>
&gt;&gt;&gt;&gt;&gt; -@@ -502,6 +512,7 @@ static void free_session(struct connman_session<br>
&gt;&gt;&gt;&gt;&gt; *session)<br>
&gt;&gt;&gt;&gt;&gt; -       g_free(session-&gt;info);<br>
&gt;&gt;&gt;&gt;&gt; -       g_free(session-&gt;info_last);<br>
&gt;&gt;&gt;&gt;&gt; -       g_free(session-&gt;gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+      g_free(session-&gt;addr);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       g_free(session);<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.7.4<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; diff --git<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0002-inet-<wbr>Implement-subnet-route-<wbr>creation-deletion-in-ipr.patch<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0002-inet-<wbr>Implement-subnet-route-<wbr>creation-deletion-in-ipr.patch<br>
&gt;&gt;&gt;&gt;&gt; deleted file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index 9c953e5d51..0000000000<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0002-inet-<wbr>Implement-subnet-route-<wbr>creation-deletion-in-ipr.patch<br>
&gt;&gt;&gt;&gt;&gt; +++ /dev/null<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,69 +0,0 @@<br>
&gt;&gt;&gt;&gt;&gt; -From 08cda4004491d3971a8b9df937426c<wbr>43800d15b1 Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Thu, 5 Oct 2017 09:37:06 +0100<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 2/4] inet: Implement subnet route creation/deletion in<br>
&gt;&gt;&gt;&gt;&gt; - iproute_default_modify<br>
&gt;&gt;&gt;&gt;&gt; -To: <a href="mailto:connman@lists.01.org">connman@lists.01.org</a><br>
&gt;&gt;&gt;&gt;&gt; -Cc: <a href="mailto:wagi@monom.org">wagi@monom.org</a><br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -- Calculate subnet address base on gateway address and prefixlen<br>
&gt;&gt;&gt;&gt;&gt; -- Differentiate creation of routes to gateway and subnet<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; -Upstream-Status: Backport<br>
&gt;&gt;&gt;&gt;&gt; [<a href="https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=ff7dcf91f12a2a237feebc6e606d0a8e92975528" rel="noreferrer" target="_blank">https://git.kernel.org/pub/<wbr>scm/network/connman/connman.<wbr>git/commit/?id=<wbr>ff7dcf91f12a2a237feebc6e606d0a<wbr>8e92975528</a>]<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: André Draszik &lt;<a href="mailto:andre.draszik@jci.com">andre.draszik@jci.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; - src/inet.c | 22 +++++++++++++++++++---<br>
&gt;&gt;&gt;&gt;&gt; - 1 file changed, 19 insertions(+), 3 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/inet.c b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -index ab8aec8..0ddb030 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2802,6 +2802,9 @@ static int iproute_default_modify(int cmd,<br>
&gt;&gt;&gt;&gt;&gt; uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -       unsigned char buf[sizeof(struct in6_addr)];<br>
&gt;&gt;&gt;&gt;&gt; -       int ret, len;<br>
&gt;&gt;&gt;&gt;&gt; -       int family = connman_inet_check_ipaddress(<wbr>gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+      char *dst = NULL;<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -+      DBG(&quot;gateway %s/%u table %u&quot;, gateway, prefixlen, table_id);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       switch (family) {<br>
&gt;&gt;&gt;&gt;&gt; -       case AF_INET:<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2814,7 +2817,19 @@ static int iproute_default_modify(int cmd,<br>
&gt;&gt;&gt;&gt;&gt; uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -               return -EINVAL;<br>
&gt;&gt;&gt;&gt;&gt; -       }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --      ret = inet_pton(family, gateway, buf);<br>
&gt;&gt;&gt;&gt;&gt; -+      if (prefixlen) {<br>
&gt;&gt;&gt;&gt;&gt; -+              struct in_addr ipv4_subnet_addr, ipv4_mask;<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -+              memset(&amp;ipv4_subnet_addr, 0, sizeof(ipv4_subnet_addr));<br>
&gt;&gt;&gt;&gt;&gt; -+              ipv4_mask.s_addr = htonl((0xffffffff &lt;&lt; (32 - prefixlen))<br>
&gt;&gt;&gt;&gt;&gt; &amp; 0xffffffff);<br>
&gt;&gt;&gt;&gt;&gt; -+              ipv4_subnet_addr.s_addr = inet_addr(gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+              ipv4_subnet_addr.s_addr &amp;= ipv4_mask.s_addr;<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -+              dst = g_strdup(inet_ntoa(ipv4_<wbr>subnet_addr));<br>
&gt;&gt;&gt;&gt;&gt; -+      }<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -+      ret = inet_pton(family, dst ? dst : gateway, buf);<br>
&gt;&gt;&gt;&gt;&gt; -+      g_free(dst);<br>
&gt;&gt;&gt;&gt;&gt; -       if (ret &lt;= 0)<br>
&gt;&gt;&gt;&gt;&gt; -               return -EINVAL;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2831,8 +2846,9 @@ static int iproute_default_modify(int cmd,<br>
&gt;&gt;&gt;&gt;&gt; uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -       rth.req.u.r.rt.rtm_type = RTN_UNICAST;<br>
&gt;&gt;&gt;&gt;&gt; -       rth.req.u.r.rt.rtm_dst_len = prefixlen;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --      __connman_inet_rtnl_addattr_l(<wbr>&amp;rth.req.n, sizeof(rth.req),<br>
&gt;&gt;&gt;&gt;&gt; RTA_GATEWAY,<br>
&gt;&gt;&gt;&gt;&gt; --                                                              buf,<br>
&gt;&gt;&gt;&gt;&gt; len);<br>
&gt;&gt;&gt;&gt;&gt; -+      __connman_inet_rtnl_addattr_l(<wbr>&amp;rth.req.n, sizeof(rth.req),<br>
&gt;&gt;&gt;&gt;&gt; -+              prefixlen &gt; 0 ? RTA_DST : RTA_GATEWAY, buf, len);<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -       if (table_id &lt; 256) {<br>
&gt;&gt;&gt;&gt;&gt; -               rth.req.u.r.rt.rtm_table = table_id;<br>
&gt;&gt;&gt;&gt;&gt; -       } else {<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.7.4<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; diff --git<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0003-inet-<wbr>Implement-APIs-for-creating-<wbr>and-deleting-subnet.patch<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0003-inet-<wbr>Implement-APIs-for-creating-<wbr>and-deleting-subnet.patch<br>
&gt;&gt;&gt;&gt;&gt; deleted file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index 56ba5c3f4b..0000000000<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0003-inet-<wbr>Implement-APIs-for-creating-<wbr>and-deleting-subnet.patch<br>
&gt;&gt;&gt;&gt;&gt; +++ /dev/null<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,68 +0,0 @@<br>
&gt;&gt;&gt;&gt;&gt; -From a9243f13d6e1aadd69bfcc27f75f69<wbr>c38be51677 Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Wed, 4 Oct 2017 17:30:17 +0100<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 3/4] inet: Implement APIs for creating and deleting<br>
&gt;&gt;&gt;&gt;&gt; subnet<br>
&gt;&gt;&gt;&gt;&gt; - route<br>
&gt;&gt;&gt;&gt;&gt; -To: <a href="mailto:connman@lists.01.org">connman@lists.01.org</a><br>
&gt;&gt;&gt;&gt;&gt; -Cc: <a href="mailto:wagi@monom.org">wagi@monom.org</a><br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; -Upstream-Status: Backport<br>
&gt;&gt;&gt;&gt;&gt; [<a href="https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=3a15b0b7fccd053aff91da2cc68585509d0c509b" rel="noreferrer" target="_blank">https://git.kernel.org/pub/<wbr>scm/network/connman/connman.<wbr>git/commit/?id=<wbr>3a15b0b7fccd053aff91da2cc68585<wbr>509d0c509b</a>]<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: André Draszik &lt;<a href="mailto:andre.draszik@jci.com">andre.draszik@jci.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; - src/connman.h |  4 ++++<br>
&gt;&gt;&gt;&gt;&gt; - src/inet.c    | 14 ++++++++++++++<br>
&gt;&gt;&gt;&gt;&gt; - 2 files changed, 18 insertions(+)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/connman.h b/src/connman.h<br>
&gt;&gt;&gt;&gt;&gt; -index 21b7080..da4446a 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/connman.h<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/connman.h<br>
&gt;&gt;&gt;&gt;&gt; -@@ -240,7 +240,11 @@ int __connman_inet_rtnl_addattr32(<wbr>struct nlmsghdr<br>
&gt;&gt;&gt;&gt;&gt; *n, size_t maxlen,<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_add_fwmark_<wbr>rule(uint32_t table_id, int family,<br>
&gt;&gt;&gt;&gt;&gt; uint32_t fwmark);<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_del_fwmark_<wbr>rule(uint32_t table_id, int family,<br>
&gt;&gt;&gt;&gt;&gt; uint32_t fwmark);<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_add_default_to_<wbr>table(uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; const char *gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+int __connman_inet_add_subnet_to_<wbr>table(uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -+                      const char *gateway, unsigned char prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_del_default_<wbr>from_table(uint32_t table_id, int<br>
&gt;&gt;&gt;&gt;&gt; ifindex, const char *gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+int __connman_inet_del_subnet_<wbr>from_table(uint32_t table_id, int<br>
&gt;&gt;&gt;&gt;&gt; ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -+                      const char *gateway, unsigned char prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_get_address_<wbr>netmask(int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -               struct sockaddr_in *address, struct sockaddr_in<br>
&gt;&gt;&gt;&gt;&gt; *netmask);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/inet.c b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -index 0ddb030..dcd1ab2 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/inet.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2880,6 +2880,13 @@ int __connman_inet_add_default_to_<wbr>table(uint32_t<br>
&gt;&gt;&gt;&gt;&gt; table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -       return iproute_default_modify(RTM_<wbr>NEWROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway, 0);<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -+int __connman_inet_add_subnet_to_<wbr>table(uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -+                                              const char *gateway,<br>
&gt;&gt;&gt;&gt;&gt; unsigned char prefixlen)<br>
&gt;&gt;&gt;&gt;&gt; -+{<br>
&gt;&gt;&gt;&gt;&gt; -+      /* ip route add <a href="http://1.2.3.4/24" rel="noreferrer" target="_blank">1.2.3.4/24</a> dev eth0 table 1234 */<br>
&gt;&gt;&gt;&gt;&gt; -+      return iproute_default_modify(RTM_<wbr>NEWROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway, prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; -+}<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_del_default_<wbr>from_table(uint32_t table_id, int<br>
&gt;&gt;&gt;&gt;&gt; ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -                                               const char *gateway)<br>
&gt;&gt;&gt;&gt;&gt; - {<br>
&gt;&gt;&gt;&gt;&gt; -@@ -2888,6 +2895,13 @@ int<br>
&gt;&gt;&gt;&gt;&gt; __connman_inet_del_default_<wbr>from_table(uint32_t table_id, int ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -       return iproute_default_modify(RTM_<wbr>DELROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway, 0);<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -+int __connman_inet_del_subnet_<wbr>from_table(uint32_t table_id, int<br>
&gt;&gt;&gt;&gt;&gt; ifindex,<br>
&gt;&gt;&gt;&gt;&gt; -+                                              const char *gateway,<br>
&gt;&gt;&gt;&gt;&gt; unsigned char prefixlen)<br>
&gt;&gt;&gt;&gt;&gt; -+{<br>
&gt;&gt;&gt;&gt;&gt; -+      /* ip route del <a href="http://1.2.3.4/24" rel="noreferrer" target="_blank">1.2.3.4/24</a> dev eth0 table 1234 */<br>
&gt;&gt;&gt;&gt;&gt; -+      return iproute_default_modify(RTM_<wbr>DELROUTE, table_id, ifindex,<br>
&gt;&gt;&gt;&gt;&gt; gateway, prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; -+}<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; - int __connman_inet_get_interface_<wbr>ll_address(int index, int family,<br>
&gt;&gt;&gt;&gt;&gt; -                                                               void<br>
&gt;&gt;&gt;&gt;&gt; *address)<br>
&gt;&gt;&gt;&gt;&gt; - {<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.7.4<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; diff --git<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0004-session-<wbr>Use-subnet-route-creation-and-<wbr>deletion-APIs.patch<br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/connman/0004-session-<wbr>Use-subnet-route-creation-and-<wbr>deletion-APIs.patch<br>
&gt;&gt;&gt;&gt;&gt; deleted file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index ca213eb18b..0000000000<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; a/meta/recipes-connectivity/<wbr>connman/connman/0004-session-<wbr>Use-subnet-route-creation-and-<wbr>deletion-APIs.patch<br>
&gt;&gt;&gt;&gt;&gt; +++ /dev/null<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,77 +0,0 @@<br>
&gt;&gt;&gt;&gt;&gt; -From deb9372db8396da4f7cd20555ce7c9<wbr>a8b3ad96bd Mon Sep 17 00:00:00 2001<br>
&gt;&gt;&gt;&gt;&gt; -From: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Date: Fri, 6 Oct 2017 11:40:16 +0100<br>
&gt;&gt;&gt;&gt;&gt; -Subject: [PATCH 4/4] session: Use subnet route creation and deletion<br>
&gt;&gt;&gt;&gt;&gt; APIs<br>
&gt;&gt;&gt;&gt;&gt; -To: <a href="mailto:connman@lists.01.org">connman@lists.01.org</a><br>
&gt;&gt;&gt;&gt;&gt; -Cc: <a href="mailto:wagi@monom.org">wagi@monom.org</a><br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -As subnet route is address and session specific in this case, so add<br>
&gt;&gt;&gt;&gt;&gt; -prefixlen into struct connman_session, and update it along with<br>
&gt;&gt;&gt;&gt;&gt; ipconfig.<br>
&gt;&gt;&gt;&gt;&gt; -Then use it in subnet route related APIs.<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: Jian Liang &lt;<a href="mailto:jianliang@tycoint.com">jianliang@tycoint.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; ----<br>
&gt;&gt;&gt;&gt;&gt; -Upstream-Status: Backport<br>
&gt;&gt;&gt;&gt;&gt; [<a href="https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=285f25ef6cc9e4a43dab83523f3e2eab4365ac26" rel="noreferrer" target="_blank">https://git.kernel.org/pub/<wbr>scm/network/connman/connman.<wbr>git/commit/?id=<wbr>285f25ef6cc9e4a43dab83523f3e2e<wbr>ab4365ac26</a>]<br>
&gt;&gt;&gt;&gt;&gt; -Signed-off-by: André Draszik &lt;<a href="mailto:andre.draszik@jci.com">andre.draszik@jci.com</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt; - src/session.c | 20 ++++++++++++++++----<br>
&gt;&gt;&gt;&gt;&gt; - 1 file changed, 16 insertions(+), 4 deletions(-)<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -diff --git a/src/session.c b/src/session.c<br>
&gt;&gt;&gt;&gt;&gt; -index 965ac06..7b7a14b 100644<br>
&gt;&gt;&gt;&gt;&gt; ---- a/src/session.c<br>
&gt;&gt;&gt;&gt;&gt; -+++ b/src/session.c<br>
&gt;&gt;&gt;&gt;&gt; -@@ -67,6 +67,7 @@ struct connman_session {<br>
&gt;&gt;&gt;&gt;&gt; -       int index;<br>
&gt;&gt;&gt;&gt;&gt; -       char *addr;<br>
&gt;&gt;&gt;&gt;&gt; -       char *gateway;<br>
&gt;&gt;&gt;&gt;&gt; -+      unsigned char prefixlen;<br>
&gt;&gt;&gt;&gt;&gt; -       bool policy_routing;<br>
&gt;&gt;&gt;&gt;&gt; -       bool snat_enabled;<br>
&gt;&gt;&gt;&gt;&gt; - };<br>
&gt;&gt;&gt;&gt;&gt; -@@ -357,13 +358,17 @@ static void del_default_route(struct<br>
&gt;&gt;&gt;&gt;&gt; connman_session *session)<br>
&gt;&gt;&gt;&gt;&gt; -       if (!session-&gt;gateway)<br>
&gt;&gt;&gt;&gt;&gt; -               return;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --      DBG(&quot;index %d routing table %d default gateway %s&quot;,<br>
&gt;&gt;&gt;&gt;&gt; --              session-&gt;index, session-&gt;mark, session-&gt;gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+      DBG(&quot;index %d routing table %d default gateway %s/%u&quot;,<br>
&gt;&gt;&gt;&gt;&gt; -+              session-&gt;index, session-&gt;mark, session-&gt;gateway,<br>
&gt;&gt;&gt;&gt;&gt; session-&gt;prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -+              __connman_inet_del_subnet_<wbr>from_table(session-&gt;mark,<br>
&gt;&gt;&gt;&gt;&gt; -+                      session-&gt;index, session-&gt;gateway,<br>
&gt;&gt;&gt;&gt;&gt; session-&gt;prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       __connman_inet_del_default_<wbr>from_table(session-&gt;mark,<br>
&gt;&gt;&gt;&gt;&gt; -                                       session-&gt;index,<br>
&gt;&gt;&gt;&gt;&gt; session-&gt;gateway);<br>
&gt;&gt;&gt;&gt;&gt; -       g_free(session-&gt;gateway);<br>
&gt;&gt;&gt;&gt;&gt; -       session-&gt;gateway = NULL;<br>
&gt;&gt;&gt;&gt;&gt; -+      session-&gt;prefixlen = 0;<br>
&gt;&gt;&gt;&gt;&gt; -       session-&gt;index = -1;<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -@@ -383,13 +388,20 @@ static void add_default_route(struct<br>
&gt;&gt;&gt;&gt;&gt; connman_session *session)<br>
&gt;&gt;&gt;&gt;&gt; -       if (!session-&gt;gateway)<br>
&gt;&gt;&gt;&gt;&gt; -               session-&gt;gateway = g_strdup(inet_ntoa(addr));<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; --      DBG(&quot;index %d routing table %d default gateway %s&quot;,<br>
&gt;&gt;&gt;&gt;&gt; --              session-&gt;index, session-&gt;mark, session-&gt;gateway);<br>
&gt;&gt;&gt;&gt;&gt; -+      session-&gt;prefixlen = __connman_ipconfig_get_<wbr>prefixlen(ipconfig);<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -+      DBG(&quot;index %d routing table %d default gateway %s/%u&quot;,<br>
&gt;&gt;&gt;&gt;&gt; -+              session-&gt;index, session-&gt;mark, session-&gt;gateway,<br>
&gt;&gt;&gt;&gt;&gt; session-&gt;prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -       err = __connman_inet_add_default_to_<wbr>table(session-&gt;mark,<br>
&gt;&gt;&gt;&gt;&gt; -                                       session-&gt;index,<br>
&gt;&gt;&gt;&gt;&gt; session-&gt;gateway);<br>
&gt;&gt;&gt;&gt;&gt; -       if (err &lt; 0)<br>
&gt;&gt;&gt;&gt;&gt; -               DBG(&quot;session %p %s&quot;, session, strerror(-err));<br>
&gt;&gt;&gt;&gt;&gt; -+<br>
&gt;&gt;&gt;&gt;&gt; -+      err = __connman_inet_add_subnet_to_<wbr>table(session-&gt;mark,<br>
&gt;&gt;&gt;&gt;&gt; -+                                      session-&gt;index, session-&gt;gateway,<br>
&gt;&gt;&gt;&gt;&gt; session-&gt;prefixlen);<br>
&gt;&gt;&gt;&gt;&gt; -+      if (err &lt; 0)<br>
&gt;&gt;&gt;&gt;&gt; -+              DBG(&quot;session add subnet route %p %s&quot;, session,<br>
&gt;&gt;&gt;&gt;&gt; strerror(-err));<br>
&gt;&gt;&gt;&gt;&gt; - }<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; - static void del_nat_rules(struct connman_session *session)<br>
&gt;&gt;&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;&gt;&gt; -2.7.4<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; diff --git a/meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.35.bb" rel="noreferrer" target="_blank">connman_1.35.bb</a><br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.35.bb" rel="noreferrer" target="_blank">connman_1.35.bb</a><br>
&gt;&gt;&gt;&gt;&gt; deleted file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index ff2118113f..0000000000<br>
&gt;&gt;&gt;&gt;&gt; --- a/meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.35.bb" rel="noreferrer" target="_blank">connman_1.35.bb</a><br>
&gt;&gt;&gt;&gt;&gt; +++ /dev/null<br>
&gt;&gt;&gt;&gt;&gt; @@ -1,22 +0,0 @@<br>
&gt;&gt;&gt;&gt;&gt; -require connman.inc<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -SRC_URI  = &quot;${KERNELORG_MIRROR}/linux/<wbr>network/${BPN}/${BP}.tar.xz \<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; file://0001-plugin.h-Change-<wbr>visibility-to-default-for-<wbr>debug-symb.patch \<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; file://0001-connman.service-<wbr>stop-systemd-resolved-when-we-<wbr>use-co.patch \<br>
&gt;&gt;&gt;&gt;&gt; -            file://connman \<br>
&gt;&gt;&gt;&gt;&gt; -            file://no-version-scripts.<wbr>patch \<br>
&gt;&gt;&gt;&gt;&gt; -            file://includes.patch \<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; file://0001-session-Keep-<wbr>track-of-addr-in-fw_snat-<wbr>session.patch \<br>
&gt;&gt;&gt;&gt;&gt; -            file://0001-giognutls-Fix-a-<wbr>crash-using-wispr-over-TLS.<wbr>patch<br>
&gt;&gt;&gt;&gt;&gt; \<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; file://0001-inet-Add-<wbr>prefixlen-to-iproute_default_<wbr>function.patch \<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; file://0002-inet-Implement-<wbr>subnet-route-creation-<wbr>deletion-in-ipr.patch \<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; file://0003-inet-Implement-<wbr>APIs-for-creating-and-<wbr>deleting-subnet.patch \<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; file://0004-session-Use-<wbr>subnet-route-creation-and-<wbr>deletion-APIs.patch \<br>
&gt;&gt;&gt;&gt;&gt; -            &quot;<br>
&gt;&gt;&gt;&gt;&gt; -SRC_URI_append_libc-musl = &quot;<br>
&gt;&gt;&gt;&gt;&gt; file://0002-resolve-musl-does-<wbr>not-implement-res_ninit.patch \<br>
&gt;&gt;&gt;&gt;&gt; -                             &quot;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -SRC_URI[md5sum] = &quot;<wbr>bae37b45ee9b3db5ec8115188f8a76<wbr>52&quot;<br>
&gt;&gt;&gt;&gt;&gt; -SRC_URI[sha256sum] =<br>
&gt;&gt;&gt;&gt;&gt; &quot;<wbr>66d7deb98371545c6e417239a9b3b3<wbr>e3201c1529d08eedf40afbc859842c<wbr>f2aa&quot;<br>
&gt;&gt;&gt;&gt;&gt; -<br>
&gt;&gt;&gt;&gt;&gt; -RRECOMMENDS_${PN} = &quot;connman-conf&quot;<br>
&gt;&gt;&gt;&gt;&gt; diff --git a/meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.36.bb" rel="noreferrer" target="_blank">connman_1.36.bb</a><br>
&gt;&gt;&gt;&gt;&gt; b/meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.36.bb" rel="noreferrer" target="_blank">connman_1.36.bb</a><br>
&gt;&gt;&gt;&gt;&gt; new file mode 100644<br>
&gt;&gt;&gt;&gt;&gt; index 0000000000..62c89b1e5d<br>
&gt;&gt;&gt;&gt;&gt; --- /dev/null<br>
&gt;&gt;&gt;&gt;&gt; +++ b/meta/recipes-connectivity/<wbr>connman/<a href="http://connman_1.36.bb" rel="noreferrer" target="_blank">connman_1.36.bb</a><br>
&gt;&gt;&gt;&gt;&gt; @@ -0,0 +1,17 @@<br>
&gt;&gt;&gt;&gt;&gt; +require connman.inc<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +SRC_URI  = &quot;${KERNELORG_MIRROR}/linux/<wbr>network/${BPN}/${BP}.tar.xz \<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; file://0001-plugin.h-Change-<wbr>visibility-to-default-for-<wbr>debug-symb.patch \<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; file://0001-connman.service-<wbr>stop-systemd-resolved-when-we-<wbr>use-co.patch \<br>
&gt;&gt;&gt;&gt;&gt; +            file://connman \<br>
&gt;&gt;&gt;&gt;&gt; +            file://no-version-scripts.<wbr>patch \<br>
&gt;&gt;&gt;&gt;&gt; +            file://0001-Use-AC_USE_SYSTEM_<wbr>EXTENSIONS.patch \<br>
&gt;&gt;&gt;&gt;&gt; +&quot;<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +SRC_URI_append_libc-musl = &quot;<br>
&gt;&gt;&gt;&gt;&gt; file://0002-resolve-musl-does-<wbr>not-implement-res_ninit.patch \<br>
&gt;&gt;&gt;&gt;&gt; +&quot;<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +SRC_URI[md5sum] = &quot;<wbr>dae77d9c904d2c223ae849e32079d5<wbr>7e&quot;<br>
&gt;&gt;&gt;&gt;&gt; +SRC_URI[sha256sum] =<br>
&gt;&gt;&gt;&gt;&gt; &quot;<wbr>c789db41cc443fa41e661217ea3214<wbr>92ad59a004bebcd1aa013f3bc10a6e<wbr>0074&quot;<br>
&gt;&gt;&gt;&gt;&gt; +<br>
&gt;&gt;&gt;&gt;&gt; +RRECOMMENDS_${PN} = &quot;connman-conf&quot;<br>
&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt; 2.17.1<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt;&gt; Openembedded-core mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div>Oleksandr Kravchuk</div><div><a href="http://oleksandr-kravchuk.com/" target="_blank">http://oleksandr-kravchuk.com/</a></div></div>
</div>