diff --git a/meta-openembedded/meta-networking/MAINTAINERS b/meta-openembedded/meta-networking/MAINTAINERS
index 5c4c4ce..77e9066 100644
--- a/meta-openembedded/meta-networking/MAINTAINERS
+++ b/meta-openembedded/meta-networking/MAINTAINERS
@@ -8,7 +8,7 @@
 
    git send-email -1 -M \
         --to openembedded-devel@lists.openembedded.org \
-        --subject-prefix=meta-networking][PATCH
+        --subject-prefix='meta-networking][PATCH'
 
 You may also contact the maintainers directly.
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
index 55d1ac9..282d821 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
@@ -22,13 +22,13 @@
 ---
  blueman/Functions.py                   | 10 ++++++++++
  blueman/plugins/applet/PowerManager.py |  4 ++++
- 2 files changed, 15 insertions(+), 1 deletion(-)
+ 2 files changed, 14 insertions(+)
 
 diff --git a/blueman/Functions.py b/blueman/Functions.py
-index 3b76271..c5eeb27 100644
+index 3917f42..b4d5eae 100644
 --- a/blueman/Functions.py
 +++ b/blueman/Functions.py
-@@ -86,6 +86,16 @@ def check_bluetooth_status(message, exitfunc):
+@@ -80,6 +80,16 @@ def check_bluetooth_status(message: str, exitfunc: Callable[[], Any]) -> None:
              return
  
      applet.SetBluetoothStatus('(b)', True)
@@ -46,27 +46,27 @@
          print('Failed to enable bluetooth')
          exitfunc()
 diff --git a/blueman/plugins/applet/PowerManager.py b/blueman/plugins/applet/PowerManager.py
-index 8ec9fc4..29a0fb0 100644
+index c2f7bc3..bf6c99f 100644
 --- a/blueman/plugins/applet/PowerManager.py
 +++ b/blueman/plugins/applet/PowerManager.py
-@@ -48,6 +48,7 @@ class PowerManager(AppletPlugin):
+@@ -63,6 +63,7 @@ class PowerManager(AppletPlugin, StatusIconProvider):
          self._add_dbus_signal("BluetoothStatusChanged", "b")
          self._add_dbus_method("SetBluetoothStatus", ("b",), "", self.request_power_state)
          self._add_dbus_method("GetBluetoothStatus", (), "b", self.get_bluetooth_status)
 +        self._add_dbus_method("GetRequestStatus", (), "b", self.get_request_status)
  
-     def on_unload(self):
+     def on_unload(self) -> None:
          self.parent.Plugins.Menu.unregister(self)
-@@ -182,6 +183,9 @@ class PowerManager(AppletPlugin):
-     def get_bluetooth_status(self):
+@@ -196,6 +197,9 @@ class PowerManager(AppletPlugin, StatusIconProvider):
+     def get_bluetooth_status(self) -> bool:
          return self.current_state
  
 +    def get_request_status(self):
 +        return self.request_in_progress
 +
-     def on_adapter_property_changed(self, _path, key, value):
+     def on_adapter_property_changed(self, _path: str, key: str, value: Any) -> None:
          if key == "Powered":
              if value and not self.current_state:
 -- 
-2.20.1
+2.31.1
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb
similarity index 85%
rename from meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.4.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb
index 29bef23..3cb01ff 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.1.bb
@@ -4,14 +4,14 @@
 
 DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native"
 
-inherit autotools systemd gsettings python3native gtk-icon-cache
+inherit autotools gettext systemd gsettings python3native gtk-icon-cache
 
 SRC_URI = " \
     https://github.com/blueman-project/blueman/releases/download/${PV}/blueman-${PV}.tar.xz \
     file://0001-Search-for-cython3.patch \
     file://0002-fix-fail-to-enable-bluetooth.patch \
 "
-SRC_URI[sha256sum] = "1d9c3d39a564d88851aa8de509f16bfa586b0b50f4307dc6c6347ba4833664da"
+SRC_URI[sha256sum] = "fcc10a2259bef2c5ac63f577010d76caed460d68810b7f70fecf056bf10a1a72"
 
 EXTRA_OECONF = " \
     --disable-appindicator \
@@ -48,12 +48,10 @@
 do_install_append() {
     sed -i "1s/.*/#!\/usr\/bin\/env python3/" ${D}${prefix}/libexec/blueman-rfcomm-watcher \
                                               ${D}${prefix}/libexec/blueman-mechanism \
-                                              ${D}${bindir}/blueman-tray \
-                                              ${D}${bindir}/blueman-services \
-                                              ${D}${bindir}/blueman-sendto \
-                                              ${D}${bindir}/blueman-report \
-                                              ${D}${bindir}/blueman-manager \
-                                              ${D}${bindir}/blueman-assistant \
+                                              ${D}${bindir}/blueman-adapters \
                                               ${D}${bindir}/blueman-applet \
-                                              ${D}${bindir}/blueman-adapters
+                                              ${D}${bindir}/blueman-manager \
+                                              ${D}${bindir}/blueman-sendto \
+                                              ${D}${bindir}/blueman-services \
+                                              ${D}${bindir}/blueman-tray
 }
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2p1.bb
similarity index 70%
rename from meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2p1.bb
index b178180..6ea5b4b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2p1.bb
@@ -10,20 +10,25 @@
 
 DEPENDS = "openssl libcap zlib"
 
-SRC_URI = "https://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \
+SRC_URI = "https://ftp.isc.org/isc/dhcp/4.4.2-P1/dhcp-4.4.2-P1.tar.gz \
+           https://ftp.isc.org/isc/bind9/9.11.32/bind-9.11.32.tar.gz;name=bind;downloadfilename=bind.tar.gz;unpack=0 \
            file://default-relay \
            file://init-relay \
            file://dhcrelay.service \
            file://0001-Makefile.am-only-build-dhcrelay.patch \
+           file://0002-bind-version-update-to-latest-version.patch \
+           file://0003-bind-Makefile.in-disable-backtrace.patch \
            "
 
-SRC_URI[md5sum] = "2afdaf8498dc1edaf3012efdd589b3e1"
-SRC_URI[sha256sum] = "1a7ccd64a16e5e68f7b5e0f527fd07240a2892ea53fe245620f4f5f607004521"
+SRC_URI[md5sum] = "3089a1ebd20a802ec0870ae337d43907"
+SRC_URI[sha256sum] = "b05e04337539545a8faa0d6ac518defc61a07e5aec66a857f455e7f218c85a1a"
+SRC_URI[bind.md5sum] = "0d029dd06ca60c6739c3189c999ef757"
+SRC_URI[bind.sha256sum] = "cbf8cb4b74dd1452d97c3a2a8c625ea346df8516b4b3508ef07443121a591342"
 
 UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.\d+\.(\d+?))/"
 
-S = "${WORKDIR}/dhcp-${PV}"
+S = "${WORKDIR}/dhcp-4.4.2-P1"
 
 inherit autotools-brokensep systemd
 
@@ -43,15 +48,18 @@
 # Enable shared libs per dhcp README
 do_configure_prepend () {
     cp configure.ac+lt configure.ac
+    rm ${S}/bind/bind.tar.gz
+    mv ${WORKDIR}/bind.tar.gz ${S}/bind/
 }
+
 do_compile_prepend() {
-    rm -rf ${S}/bind/bind-9.11.14/
+    rm -rf ${S}/bind/bind-9.11.32/
     tar xf ${S}/bind/bind.tar.gz -C ${S}/bind
-    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/bind/bind-9.11.14/
-    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/bind/bind-9.11.14/
-    cp -fpR ${S}/m4/*.m4 ${S}/bind/bind-9.11.14/libtool.m4/
-    rm -rf ${S}/bind/bind-9.11.14/libtool
-    install -m 0755 ${S}/${HOST_SYS}-libtool ${S}/bind/bind-9.11.14/
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/bind/bind-9.11.32/
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/bind/bind-9.11.32/
+    cp -fpR ${S}/m4/*.m4 ${S}/bind/bind-9.11.32/libtool.m4/
+    rm -rf ${S}/bind/bind-9.11.32/libtool
+    install -m 0755 ${S}/${HOST_SYS}-libtool ${S}/bind/bind-9.11.32/
 }
 
 do_install_append () {
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0002-bind-version-update-to-latest-version.patch b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0002-bind-version-update-to-latest-version.patch
new file mode 100644
index 0000000..5c7a5f0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0002-bind-version-update-to-latest-version.patch
@@ -0,0 +1,30 @@
+From edb68972f8dc636e6208e78f02dec6f9805e4c0b Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 26 May 2021 11:39:00 +0800
+Subject: [PATCH] bind/version: update to latest version
+
+Update the bundled bind from 9.11.14 to 9.11.32.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ bind/version.tmp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bind/version.tmp b/bind/version.tmp
+index cf52f1b..4cc538e 100644
+--- a/bind/version.tmp
++++ b/bind/version.tmp
+@@ -5,7 +5,7 @@ PRODUCT=BIND
+ DESCRIPTION="(Extended Support Version)"
+ MAJORVER=9
+ MINORVER=11
+-PATCHVER=14
++PATCHVER=32
+ RELEASETYPE=
+ RELEASEVER=
+ EXTENSIONS=
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0003-bind-Makefile.in-disable-backtrace.patch b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0003-bind-Makefile.in-disable-backtrace.patch
new file mode 100644
index 0000000..51520bc
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0003-bind-Makefile.in-disable-backtrace.patch
@@ -0,0 +1,31 @@
+From bc9c5d64ad4829c7830ef70fcaff94470974247c Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 8 Jun 2021 10:13:57 +0800
+Subject: [PATCH] bind/Makefile.in: disable backtrace
+
+Fixes build error for qemuarm on musl:
+libisc.so: undefined reference to `_Unwind_GetIP'
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ bind/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bind/Makefile.in b/bind/Makefile.in
+index 8fe8883..1058160 100644
+--- a/bind/Makefile.in
++++ b/bind/Makefile.in
+@@ -22,7 +22,7 @@ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ 
+ bindconfig = --without-openssl --without-libxml2 --without-libjson \
+-	--without-gssapi --disable-threads --without-lmdb \
++	--without-gssapi --disable-threads --without-lmdb --disable-backtrace \
+ 	--includedir=@includedir@ --libdir=@libdir@  --without-python\
+ 	@BINDLT@ @BINDIOMUX@ @BINDCONFIG@ --enable-full-report
+ 
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.3.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb
index 9aad510..b8025c7 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.3.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.9.4.bb
@@ -8,7 +8,7 @@
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
            file://firewalld.init \
 "
-SRC_URI[sha256sum] = "5998894db976d77996ca0a6b700a2f4125b9f283465fb255da9bddfb1640cb27"
+SRC_URI[sha256sum] = "52c5e3d5b1e2efc0e86c22b2bc1f7fd80908cc2d8130157dc2a3517a59b0a760"
 
 # glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
 DEPENDS = "intltool-native glib-2.0-native nftables"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.25.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.26.0.bb
similarity index 92%
rename from meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.25.0.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.26.0.bb
index 481e7ea..3c7df44 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.25.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.26.0.bb
@@ -23,7 +23,7 @@
 SECTION = "libs"
 
 S = "${WORKDIR}/git"
-SRCREV = "1c54b5410fd48d6bcada97e30cac417c5c7eea67"
+SRCREV = "e483a77c85e1f9c1dd2eb1c5a8f552d2617fe400"
 SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=development"
 SRC_URI += "file://0001-ssl_tls-Increase-size-of-padbuf-to-64.patch"
 
@@ -32,6 +32,7 @@
 PACKAGECONFIG ??= "shared-libs programs"
 PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF"
 PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
+PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF"
 
 EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.10.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.11.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.10.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.11.bb
index b815ac3..9f1c024 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.10.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.11.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \
                     file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
                     file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
-                    file://notice.html;md5=541f8f37af492858dab8d2c1b69ede69 \
+                    file://NOTICE.md;md5=a7a91b4754c6f7995020d1b49bc829c6 \
 "
 DEPENDS = "uthash cjson dlt-daemon"
 
@@ -19,8 +19,8 @@
            file://1571.patch \
 "
 
-SRC_URI[md5sum] = "3d1c327d8c5881f56983bee1e3c8f068"
-SRC_URI[sha256sum] = "0188f7b21b91d6d80e992b8d6116ba851468b3bd154030e8a003ed28fb6f4a44"
+SRC_URI[md5sum] = "638d801e6aac611b41de76d030951612"
+SRC_URI[sha256sum] = "7b36a7198bce85cf31b132f5c6ee36dcf5dadf86fb768501eb1e11ce95d4f78a"
 
 inherit systemd update-rc.d useradd cmake
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch
new file mode 100644
index 0000000..dfc6f90
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch
@@ -0,0 +1,34 @@
+From 6d284f1ff81494a5fca91a399b92b218ea1a9ea8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Jun 2021 08:53:30 -0700
+Subject: [PATCH] Handle enum element override
+
+NETPLAN_DEF_TYPE_VIRTUAL and NETPLAN_DEF_TYPE_BRIDGE point
+to same value in enum, however here they are assigned individually
+which results in overriding the initialization of the objects
+
+Fixes
+src/netplan.h:85:33: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
+    [NETPLAN_DEF_TYPE_BRIDGE] = "bridges",
+                                ^~~~~~~~~
+Upstream-Status: Submitted [https://github.com/canonical/netplan/pull/213]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/netplan.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/netplan.h b/src/netplan.h
+index d2c538b..26574f8 100644
+--- a/src/netplan.h
++++ b/src/netplan.h
+@@ -81,7 +81,6 @@ static const char* const netplan_def_type_to_str[NETPLAN_DEF_TYPE_MAX_] = {
+     [NETPLAN_DEF_TYPE_ETHERNET] = "ethernets",
+     [NETPLAN_DEF_TYPE_WIFI] = "wifis",
+     [NETPLAN_DEF_TYPE_MODEM] = "modems",
+-    [NETPLAN_DEF_TYPE_VIRTUAL] = NULL,
+     [NETPLAN_DEF_TYPE_BRIDGE] = "bridges",
+     [NETPLAN_DEF_TYPE_BOND] = "bonds",
+     [NETPLAN_DEF_TYPE_VLAN] = "vlans",
+-- 
+2.32.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-dbus-Remove-unused-variabes.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-dbus-Remove-unused-variabes.patch
deleted file mode 100644
index 407e24c..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-dbus-Remove-unused-variabes.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Subject: [PATCH 1/2] dbus: Remove unused variabes
-
-This issue is seen when using clang to compile it
-
-Same fix is needed for parse.c and networkd.c,
-
-Fixes
-src/dbus.c:49:23: error: unused variable 'stdout' [-Werror,-Wunused-variable]
-g_autofree gchar *stdout = NULL;
-^
-Upstream-Status: Submitted [https://github.com/CanonicalLtd/netplan/pull/175]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/dbus.c     | 3 ---
- src/networkd.c | 1 -
- src/parse.c    | 1 -
- 3 files changed, 5 deletions(-)
-
-diff --git a/src/dbus.c b/src/dbus.c
-index 9606fea..8e1ed9d 100644
---- a/src/dbus.c
-+++ b/src/dbus.c
-@@ -242,9 +242,6 @@ static int
- method_info(sd_bus_message *m, void *userdata, sd_bus_error *ret_error)
- {
-     sd_bus_message *reply = NULL;
--    g_autoptr(GError) err = NULL;
--    g_autofree gchar *stdout = NULL;
--    g_autofree gchar *stderr = NULL;
-     gint exit_status = 0;
- 
-     exit_status = sd_bus_message_new_method_return(m, &reply);
-diff --git a/src/networkd.c b/src/networkd.c
-index 7c86cd6..7200740 100644
---- a/src/networkd.c
-+++ b/src/networkd.c
-@@ -897,7 +897,6 @@ append_wpa_auth_conf(GString* s, const NetplanAuthenticationSettings* auth, cons
- static void
- write_wpa_unit(const NetplanNetDefinition* def, const char* rootdir)
- {
--    g_autoptr(GError) err = NULL;
-     g_autofree gchar *stdouth = NULL;
- 
-     stdouth = systemd_escape(def->id);
-diff --git a/src/parse.c b/src/parse.c
-index 033c657..faca27f 100644
---- a/src/parse.c
-+++ b/src/parse.c
-@@ -1899,7 +1899,6 @@ handle_wireguard_peers(yaml_document_t* doc, yaml_node_t* node, const void* _, G
-     }
- 
-     for (yaml_node_item_t *i = node->data.sequence.items.start; i < node->data.sequence.items.top; i++) {
--        g_autofree char* addr = NULL;
-         yaml_node_t *entry = yaml_document_get_node(doc, *i);
-         assert_type(entry, YAML_MAPPING_NODE);
- 
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch
index dab8693..0fa6ba4 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch
@@ -8,13 +8,11 @@
  src/util.c | 6 ++++++
  1 file changed, 6 insertions(+)
 
-diff --git a/src/util.c b/src/util.c
-index 7e59985..eb8e573 100644
 --- a/src/util.c
 +++ b/src/util.c
-@@ -23,6 +23,12 @@
- 
+@@ -24,6 +24,12 @@
  #include "util.h"
+ #include "netplan.h"
  
 +/* Don't fail if the standard library
 + * doesn't provide brace expansion */
@@ -25,6 +23,3 @@
  GHashTable* wifi_frequency_24;
  GHashTable* wifi_frequency_5;
  
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0002-Makefile-Exclude-.h-files-from-target-rule.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0002-Makefile-Exclude-.h-files-from-target-rule.patch
deleted file mode 100644
index 68aabd6..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0002-Makefile-Exclude-.h-files-from-target-rule.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Subject: [PATCH 2/2] Makefile: Exclude .h files from target rule
-
-This ensures that src/_features.h is not added to compiler cmdline which
-can confuse the compilers e.g. clang as it may not like .h as valid input
-and complain
-
-| clang-11: error: cannot specify -o when generating multiple output files
-| make: *** [Makefile:50: netplan-dbus] Error 1
-| make: *** Waiting for unfinished jobs....
-
-Upstream-Status: Submitted [https://github.com/CanonicalLtd/netplan/pull/175]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 4fa6bd8..567d326 100644
---- a/Makefile
-+++ b/Makefile
-@@ -46,7 +46,7 @@ generate: libnetplan.so.$(NETPLAN_SOVER) nm.o networkd.o openvswitch.o generate.
- 	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ -L. -lnetplan `pkg-config --cflags --libs glib-2.0 gio-2.0 yaml-0.1 uuid`
- 
- netplan-dbus: src/dbus.c src/_features.h util.o
--	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ `pkg-config --cflags --libs libsystemd glib-2.0 gio-2.0`
-+	$(CC) $(BUILDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $(patsubst %.h,,$^) `pkg-config --cflags --libs libsystemd glib-2.0 gio-2.0`
- 
- src/_features.h: src/[^_]*.[hc]
- 	printf "#include <stddef.h>\nstatic const char *feature_flags[] __attribute__((__unused__)) = {\n" > $@
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.101.bb b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb
similarity index 92%
rename from meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.101.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb
index a3afcd2..3328dfb 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.101.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb
@@ -11,13 +11,12 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 S = "${WORKDIR}/git"
-SRCREV = "e445b87b9dff439ec564c245d030b03d61eb0f24"
-PV = "0.101+git${SRCPV}"
+SRCREV = "62701436991e42606c4e9e8dbdcdc5067d64f69b"
+PV = "0.102+git${SRCPV}"
 
 SRC_URI = " \
         git://github.com/CanonicalLtd/netplan.git \
-        file://0001-dbus-Remove-unused-variabes.patch \
-        file://0002-Makefile-Exclude-.h-files-from-target-rule.patch \
+        file://0001-Handle-enum-element-override.patch \
 "
 SRC_URI_append_libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
index 0a86aba..86e8eaa 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch
@@ -1,6 +1,6 @@
 From d0dead0478a070b96f37bd3b310443eaa8c93a25 Mon Sep 17 00:00:00 2001
-From: Vinicius Aquino <voa.aquino@gmail.com>
-Date: Thu, 1 Apr 2021 14:13:07 -0300
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 5 Jul 2021 00:42:23 +0200
 Subject: [PATCH] Do not create settings settings/property documentation
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
@@ -15,34 +15,35 @@
 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
 Signed-off-by: Vinicius Aquino <voa.aquino@gmail.com>
 ---
- Makefile.am  | 4 ----
+ Makefile.am  | 5 -----
  configure.ac | 5 -----
- 2 files changed, 9 deletions(-)
+ 2 files changed, 10 deletions(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 9279672c1..2e52acbb2 100644
+index 5a62070..3d0ebcd 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -1686,14 +1686,10 @@ libnm/libnm.typelib: libnm/libnm.gir
- INTROSPECTION_GIRS += libnm/NM-1.0.gir
+@@ -1860,15 +1860,10 @@ src/libnm-client-impl/libnm.typelib: src/libnm-client-impl/libnm.gir
+ INTROSPECTION_GIRS += src/libnm-client-impl/NM-1.0.gir
  
  libnm_noinst_data = \
--	clients/cli/generate-docs-nm-settings-nmcli.xml \
- 	libnm/nm-property-infos-dbus.xml \
- 	libnm/nm-property-infos-ifcfg-rh.xml \
- 	libnm/nm-property-infos-keyfile.xml \
- 	libnm/nm-property-infos-nmcli.xml \
--	libnm/nm-settings-docs-gir.xml \
+-	src/nmcli/generate-docs-nm-settings-nmcli.xml \
 -	man/nm-settings-docs-dbus.xml \
 -	man/nm-settings-docs-nmcli.xml \
+ 	src/libnm-client-impl/nm-property-infos-dbus.xml \
+ 	src/libnm-client-impl/nm-property-infos-ifcfg-rh.xml \
+ 	src/libnm-client-impl/nm-property-infos-keyfile.xml \
+ 	src/libnm-client-impl/nm-property-infos-nmcli.xml \
+-	src/libnm-client-impl/nm-settings-docs-gir.xml \
+-	src/libnmc-setting/settings-docs-input.xml \
  	$(NULL)
  
  noinst_DATA += $(libnm_noinst_data)
 diff --git a/configure.ac b/configure.ac
-index 784ac4695..681e6cb32 100644
+index 8fe23de..dc24850 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1241,11 +1241,6 @@ GTK_DOC_CHECK(1.0)
+@@ -1258,11 +1258,6 @@ GTK_DOC_CHECK(1.0)
  # check if we can build setting property documentation
  build_docs=no
  if test -n "$INTROSPECTION_MAKEFILE"; then
@@ -55,5 +56,5 @@
  	if test -z "$PERL"; then
  		AC_MSG_ERROR([--enable-introspection requires perl])
 -- 
-2.20.1
+2.31.1
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
deleted file mode 100644
index 692f1ff..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From 44884c7e7655b889f41cb02ffc8ab72a29b52ebf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Tue, 2 Apr 2019 01:34:35 +0200
-Subject: [PATCH 1/2] Fix build with musl - systemd specific
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Networkmanager imported some code from systemd. This requires some adjustments
-for musl.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-Signed-off-by: Vinicius Aquino <voa.aquino@gmail.com>
----
- shared/systemd/src/basic/in-addr-util.c |  1 +
- shared/systemd/src/basic/process-util.c |  9 +++++++++
- shared/systemd/src/basic/socket-util.h  |  6 ++++++
- shared/systemd/src/basic/sort-util.h    | 13 ++++---------
- shared/systemd/src/basic/stdio-util.h   |  2 ++
- shared/systemd/src/basic/string-util.h  |  5 +++++
- 6 files changed, 27 insertions(+), 9 deletions(-)
-
-diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c
-index c315dcbb8..5b7e04eb7 100644
---- a/shared/systemd/src/basic/in-addr-util.c
-+++ b/shared/systemd/src/basic/in-addr-util.c
-@@ -15,6 +15,7 @@
- #include "in-addr-util.h"
- #include "macro.h"
- #include "parse-util.h"
-+#include "string-util.h"
- #include "random-util.h"
- #include "string-util.h"
- #include "strxcpyx.h"
-diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c
-index 0e25b0200..ea2c0fbb4 100644
---- a/shared/systemd/src/basic/process-util.c
-+++ b/shared/systemd/src/basic/process-util.c
-@@ -17,6 +17,9 @@
- #include <sys/wait.h>
- #include <syslog.h>
- #include <unistd.h>
-+#ifndef __GLIBC__
-+#include <pthread.h>
-+#endif
- #if 0 /* NM_IGNORED */
- #if HAVE_VALGRIND_VALGRIND_H
- #include <valgrind/valgrind.h>
-@@ -1152,11 +1155,13 @@ void reset_cached_pid(void) {
-         cached_pid = CACHED_PID_UNSET;
- }
- 
-+#ifdef __GLIBC__
- /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
-  * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
-  * libpthread, as it is part of glibc anyway. */
- extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
- extern void* __dso_handle _weak_;
-+#endif
- 
- pid_t getpid_cached(void) {
-         static bool installed = false;
-@@ -1185,7 +1190,11 @@ pid_t getpid_cached(void) {
-                          * only half-documented (glibc doesn't document it but LSB does — though only superficially)
-                          * we'll check for errors only in the most generic fashion possible. */
- 
-+#ifdef __GLIBC__
-                         if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
-+#else
-+                        if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
-+#endif
-                                 /* OOM? Let's try again later */
-                                 cached_pid = CACHED_PID_UNSET;
-                                 return new_pid;
-diff --git a/shared/systemd/src/basic/socket-util.h b/shared/systemd/src/basic/socket-util.h
-index 1de069476..f6834fbd2 100644
---- a/shared/systemd/src/basic/socket-util.h
-+++ b/shared/systemd/src/basic/socket-util.h
-@@ -14,6 +14,12 @@
- #include <sys/types.h>
- #include <sys/un.h>
- 
-+#if !defined(__GLIBC__)
-+/* SIOCGSTAMPNS from linux/asm-generic.h
-+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
-+#include <linux/sockios.h>
-+#endif
-+
- #include "macro.h"
- #include "missing_network.h"
- #include "missing_socket.h"
-diff --git a/shared/systemd/src/basic/sort-util.h b/shared/systemd/src/basic/sort-util.h
-index a8984fc16..5fb90f8c5 100644
---- a/shared/systemd/src/basic/sort-util.h
-+++ b/shared/systemd/src/basic/sort-util.h
-@@ -5,15 +5,10 @@
- 
- #include "macro.h"
- 
--void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
--                 __compar_d_fn_t compar, void *arg);
--
--#define typesafe_bsearch_r(k, b, n, func, userdata)                     \
--        ({                                                              \
--                const typeof(b[0]) *_k = k;                             \
--                int (*_func_)(const typeof(b[0])*, const typeof(b[0])*, typeof(userdata)) = func; \
--                xbsearch_r((const void*) _k, (b), (n), sizeof((b)[0]), (__compar_d_fn_t) _func_, userdata); \
--        })
-+#if !defined(__GLIBC__)
-+typedef int (*__compar_fn_t) (const void*, const void*);
-+typedef __compar_fn_t comparison_fn_t;
-+#endif
- 
- /**
-  * Normal bsearch requires base to be nonnull. Here were require
-diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h
-index d45d3c1a6..fee1a57ca 100644
---- a/shared/systemd/src/basic/stdio-util.h
-+++ b/shared/systemd/src/basic/stdio-util.h
-@@ -2,7 +2,9 @@
- #pragma once
- 
- #if 0 /* NM_IGNORED */
-+#if defined(__GLIBC__)
- #include <printf.h>
-+#endif
- #endif /* NM_IGNORED */
- #include <stdarg.h>
- #include <stdio.h>
-diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h
-index 593cf04ae..541c393f6 100644
---- a/shared/systemd/src/basic/string-util.h
-+++ b/shared/systemd/src/basic/string-util.h
-@@ -26,6 +26,11 @@
- #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
- #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
- 
-+/* musl does not know strndupa */
-+#if !defined(__GLIBC__)
-+#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
-+#endif
-+
- int strcmp_ptr(const char *a, const char *b) _pure_;
- int strcasecmp_ptr(const char *a, const char *b) _pure_;
- 
--- 
-2.20.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl-systemd-specific.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl-systemd-specific.patch
deleted file mode 100644
index d83efd3..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl-systemd-specific.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7d9a11a17da425d106791ada7100d7a6559e6065 Mon Sep 17 00:00:00 2001
-From: Adrian Freihofer <adrian.freihofer@siemens.com>
-Date: Sat, 7 Mar 2020 14:24:01 +0100
-Subject: [PATCH 2/2] Fix build with musl - systemd specific
-
----
- src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c
-index 3fafd3c0e..79d6096c2 100644
---- a/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c
-+++ b/src/core/systemd/src/libsystemd-network/sd-dhcp6-client.c
-@@ -8,7 +8,9 @@
- #include <errno.h>
- #include <sys/ioctl.h>
- #if 0 /* NM_IGNORED */
-+#ifdef __GLIBC__  /* musl supplies full set of userspace headers */
- #include <linux/if_arp.h>
-+#endif
- #else /* NM_IGNORED */
- #include <net/if_arp.h>
- #endif /* NM_IGNORED */
--- 
-2.20.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.2.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.4.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.2.bb
index 7c07b0a..a01e530 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.2.bb
@@ -27,11 +27,7 @@
     file://0002-Do-not-create-settings-settings-property-documentati.patch \
     file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \
 "
-SRC_URI_append_libc-musl = " \
-    file://musl/0001-Fix-build-with-musl-systemd-specific.patch \
-    file://musl/0002-Fix-build-with-musl-systemd-specific.patch \
-"
-SRC_URI[sha256sum] = "6050b724212ea3ce7386113359bea9afa1f679a54f60d999a5999892e672c190"
+SRC_URI[sha256sum] = "701d511067f757d0f92f412c98cdb49a74a6ba69448aabb1beadacbc171e3873"
 
 S = "${WORKDIR}/NetworkManager-${PV}"
 
@@ -56,7 +52,7 @@
 "
 
 do_compile_prepend() {
-    export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
+    export GIR_EXTRA_LIBS_PATH="${B}/src/libnm-client-impl/.libs"
 }
 
 PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
similarity index 77%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
index 8ca7a52..f4668dc 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
@@ -1,12 +1,14 @@
-From 2214c2d1e455a38c891d17e421b438e3f7c495d8 Mon Sep 17 00:00:00 2001
+From 3bc1ebc3d2758af4067b3aace7ddd0ea0cb0b57b Mon Sep 17 00:00:00 2001
 From: Bian Naimeng <biannm@cn.fujitsu.com>
 Date: Mon, 18 Apr 2016 17:00:53 -0400
 Subject: [PATCH] Don't check xsltproc manpages
 
 Upstream-Status: Pending
- 
+
 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
 
+Rebase to 4.14.4
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 ---
  lib/ldb/wscript    | 2 +-
  lib/talloc/wscript | 2 +-
@@ -14,10 +16,10 @@
  3 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/lib/ldb/wscript b/lib/ldb/wscript
-index 5ea5231..d94086b 100644
+index bf6129b..c515deb 100644
 --- a/lib/ldb/wscript
 +++ b/lib/ldb/wscript
-@@ -98,7 +98,7 @@ def configure(conf):
+@@ -143,7 +143,7 @@ def configure(conf):
          conf.DEFINE('EXPECTED_SYSTEM_LDB_VERSION_RELEASE', int(v[2]))
  
      if conf.env.standalone_ldb:
@@ -27,10 +29,10 @@
          # we need this for the ldap backend
          if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
 diff --git a/lib/talloc/wscript b/lib/talloc/wscript
-index df7e6be..b3305cf 100644
+index a767477..f754819 100644
 --- a/lib/talloc/wscript
 +++ b/lib/talloc/wscript
-@@ -49,7 +49,7 @@ def configure(conf):
+@@ -48,7 +48,7 @@ def configure(conf):
          conf.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
          conf.env.TALLOC_VERSION = VERSION
  
@@ -40,18 +42,18 @@
      conf.CHECK_HEADERS('sys/auxv.h')
      conf.CHECK_FUNCS('getauxval')
 diff --git a/lib/tdb/wscript b/lib/tdb/wscript
-index 4782550..6bb3fa1 100644
+index e56ddd0..467dd65 100644
 --- a/lib/tdb/wscript
 +++ b/lib/tdb/wscript
-@@ -89,7 +89,7 @@ def configure(conf):
+@@ -95,7 +95,7 @@ def configure(conf):
          not conf.env.disable_tdb_mutex_locking):
          conf.define('USE_TDB_MUTEX_LOCKING', 1)
  
 -    conf.CHECK_XSLTPROC_MANPAGES()
 +    #conf.CHECK_XSLTPROC_MANPAGES()
  
-     if not conf.env.disable_python:
-         # also disable if we don't have the python libs installed
+     conf.SAMBA_CHECK_PYTHON()
+     conf.SAMBA_CHECK_PYTHON_HEADERS()
 -- 
-2.14.3
+2.17.1
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
deleted file mode 100644
index de7f311..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3a935c638605bfb392ca7780d22c08c1a0a71e71 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 5 Sep 2019 21:37:33 -0700
-Subject: [PATCH 1/2] lib/replace/wscript: Avoid generating nested main
- function
-
-clang is not happy when it sees another main nested inside the main
-function and fails the test for prctl syscall, therefore avoid adding
-implicit main() here
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/replace/wscript | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index a7fd25d..d6767fc 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -137,6 +137,7 @@ def configure(conf):
-                     }
-                     ''',
-                     'HAVE_PRCTL',
-+                    addmain=False,
-                     headers='sys/prctl.h',
-                     msg='Checking for prctl syscall')
- 
--- 
-2.23.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch
deleted file mode 100644
index 2dbabda..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 9aba5ac17bb822f91f6b214f5b82dd1eb8c47616 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 22 Jul 2020 22:42:09 -0700
-Subject: [PATCH] nsswitch/nsstest.c: Avoid nss function conflicts with glibc nss.h
-
-glibc 2.32 will define these varibles [1] which results in conflicts
-with these static function names, therefore prefix these function names
-with samba_ to avoid it
-
-[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=499a92df8b9fc64a054cf3b7f728f8967fc1da7d
-
-Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/-/merge_requests/1477]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- nsswitch/nsstest.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/nsswitch/nsstest.c b/nsswitch/nsstest.c
-index 6d92806..46f9679 100644
---- a/nsswitch/nsstest.c
-+++ b/nsswitch/nsstest.c
-@@ -137,7 +137,7 @@ static struct passwd *nss_getpwuid(uid_t uid)
- 	return &pwd;
- }
- 
--static void nss_setpwent(void)
-+static void samba_nss_setpwent(void)
- {
- 	NSS_STATUS (*_nss_setpwent)(void) =
- 		(NSS_STATUS(*)(void))find_fn("setpwent");
-@@ -152,7 +152,7 @@ static void nss_setpwent(void)
- 	}
- }
- 
--static void nss_endpwent(void)
-+static void samba_nss_endpwent(void)
- {
- 	NSS_STATUS (*_nss_endpwent)(void) =
- 		(NSS_STATUS (*)(void))find_fn("endpwent");
-@@ -284,7 +284,7 @@ again:
- 	return &grp;
- }
- 
--static void nss_setgrent(void)
-+static void samba_nss_setgrent(void)
- {
- 	NSS_STATUS (*_nss_setgrent)(void) =
- 		(NSS_STATUS (*)(void))find_fn("setgrent");
-@@ -299,7 +299,7 @@ static void nss_setgrent(void)
- 	}
- }
- 
--static void nss_endgrent(void)
-+static void samba_nss_endgrent(void)
- {
- 	NSS_STATUS (*_nss_endgrent)(void) =
- 		(NSS_STATUS (*)(void))find_fn("endgrent");
-@@ -396,7 +396,7 @@ static void nss_test_users(void)
- {
- 	struct passwd *pwd;
- 
--	nss_setpwent();
-+	samba_nss_setpwent();
- 	/* loop over all users */
- 	while ((pwd = nss_getpwent())) {
- 		printf("Testing user %s\n", pwd->pw_name);
-@@ -418,14 +418,14 @@ static void nss_test_users(void)
- 		printf("initgroups: "); nss_test_initgroups(pwd->pw_name, pwd->pw_gid);
- 		printf("\n");
- 	}
--	nss_endpwent();
-+	samba_nss_endpwent();
- }
- 
- static void nss_test_groups(void)
- {
- 	struct group *grp;
- 
--	nss_setgrent();
-+	samba_nss_setgrent();
- 	/* loop over all groups */
- 	while ((grp = nss_getgrent())) {
- 		printf("Testing group %s\n", grp->gr_name);
-@@ -446,7 +446,7 @@ static void nss_test_groups(void)
- 		printf("getgrgid: "); print_group(grp);
- 		printf("\n");
- 	}
--	nss_endgrent();
-+	samba_nss_endgrent();
- }
- 
- static void nss_test_errors(void)
--- 
-2.27.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
deleted file mode 100644
index 23b35a8..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 25 Jan 2019 15:00:59 +0800
-Subject: [PATCH] waf: add support of cross_compile
-
-After upgrade, waf also upgraded 
-
-on 1.5.19, for cross_compile, subprocess.Popen is set to be
-samba_cross.cross_Popen, which will not execute testprog on
-host, but only read result from cross-answers.txt which is
-passed by option --cross-answer
-
-part of old code:
-    args = Utils.to_list(kw.get('exec_args', []))
-    proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
-
-but on new version, exec_args is not used and cause do_configure
-failed with Exec format error
-
-fixed by append cross anser related args to cmd
-
-Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
-index 7608215..767cf33 100644
---- a/third_party/waf/waflib/Tools/c_config.py
-+++ b/third_party/waf/waflib/Tools/c_config.py
-@@ -660,20 +660,21 @@ class test_exec(Task.Task):
- 	"""
- 	color = 'PINK'
- 	def run(self):
-+		args = self.generator.bld.kw.get('exec_args', [])
- 		if getattr(self.generator, 'rpath', None):
- 			if getattr(self.generator, 'define_ret', False):
--				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
--			else:
--				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
-+				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
-+			else: 
-+				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
- 		else:
- 			env = self.env.env or {}
- 			env.update(dict(os.environ))
- 			for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
- 				env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
- 			if getattr(self.generator, 'define_ret', False):
--				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
-+				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
- 			else:
--				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
-+				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
- 
- @feature('test_exec')
- @after_method('apply_link')
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-do-not-import-target-module-while-cross-compile.patch
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-do-not-import-target-module-while-cross-compile.patch
index 3f2921e..292e614 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-do-not-import-target-module-while-cross-compile.patch
@@ -1,4 +1,4 @@
-From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From 9ebea97a52e4f70e831dd6402b865c77753ce1cc Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Tue, 25 Jun 2019 14:25:08 +0800
 Subject: [PATCH] do not import target module while cross compile
@@ -12,10 +12,10 @@
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 ---
  buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
- 1 file changed, 18 insertions(+), 8 deletions(-)
+ 1 file changed, 19 insertions(+), 8 deletions(-)
 
 diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
-index 60ce7da..5468a36 100644
+index 5f080dd..cdc115e 100644
 --- a/buildtools/wafsamba/samba_bundled.py
 +++ b/buildtools/wafsamba/samba_bundled.py
 @@ -4,6 +4,7 @@ import sys
@@ -63,5 +63,5 @@
          Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
          sys.exit(1)
 -- 
-2.7.4
+2.17.1
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
deleted file mode 100644
index 6fc8493..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From c62a6f32ab965de2ec77a614f20f04568116835b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 5 Sep 2019 21:39:05 -0700
-Subject: [PATCH 2/2] util_sec.c: Move __thread variable to global scope
-
-Make clang happy otherwise it complains about variable scope
-
-fixes
-
-source3/./lib/util_sec.c:470:4: error: '__thread' variables must have global storage
-        } __thread cache;
-          ^
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- source3/lib/util_sec.c | 19 +++++++++++--------
- 1 file changed, 11 insertions(+), 8 deletions(-)
-
-diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
-index 9408269..7390318 100644
---- a/source3/lib/util_sec.c
-+++ b/source3/lib/util_sec.c
-@@ -444,6 +444,17 @@ void become_user_permanently(uid_t uid, gid_t gid)
- 	assert_gid(gid, gid);
- }
- 
-+#ifdef HAVE___THREAD
-+	struct cache_t {
-+		bool active;
-+		uid_t uid;
-+		gid_t gid;
-+		size_t setlen;
-+		uintptr_t gidset;
-+	};
-+
-+static __thread struct cache_t cache;
-+#endif
- /**********************************************************
-  Function to set thread specific credentials. Leave
-  saved-set uid/gid alone.Must be thread-safe code.
-@@ -461,14 +472,6 @@ int set_thread_credentials(uid_t uid,
- 	 * available.
- 	 */
- #ifdef HAVE___THREAD
--	static struct {
--		bool active;
--		uid_t uid;
--		gid_t gid;
--		size_t setlen;
--		uintptr_t gidset;
--	} __thread cache;
--
- 	if (cache.active &&
- 	    cache.uid == uid &&
- 	    cache.gid == gid &&
--- 
-2.23.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
similarity index 88%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
index 46a6f06..93ca005 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
@@ -1,4 +1,4 @@
-From 87bc8e7eafc7d12a1d3a143ebb9e43cf5fbafb72 Mon Sep 17 00:00:00 2001
+From 6455448eb060d03a534539f1a424e2d3e44319e1 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Thu, 20 Jun 2019 14:11:16 +0800
 Subject: [PATCH] Add config option without-valgrind
@@ -15,10 +15,10 @@
  2 files changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index a7fd25d..a19ae68 100644
+index 2c856b6..bc726f7 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -110,8 +110,9 @@ def configure(conf):
+@@ -121,8 +121,9 @@ def configure(conf):
      conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
      conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
@@ -31,10 +31,10 @@
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
      conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
 diff --git a/wscript b/wscript
-index e38a8e9..38b7230 100644
+index 83d9421..969b07a 100644
 --- a/wscript
 +++ b/wscript
-@@ -105,6 +105,10 @@ def options(opt):
+@@ -123,6 +123,10 @@ def options(opt):
                    help=("Disable RELRO builds"),
                    action="store_false", dest='enable_relro')
  
@@ -46,5 +46,5 @@
  
      opt.load('python') # options for disabling pyc or pyo compilation
 -- 
-2.7.4
+2.17.1
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch
similarity index 76%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch
index 80cdd39..5fd32f3 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch
@@ -1,19 +1,21 @@
-From 1e8d31c138395122df4cc2a3e0edd6cd3fad736c Mon Sep 17 00:00:00 2001
+From 5abf3c2efa1cd4e16878b6b26068ff153973ebd3 Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Tue, 28 Apr 2020 02:05:33 +0200
 Subject: [PATCH] Add options to configure the use of libbsd
 
 Upstream-Status: Inappropriate [oe deterministic build specific]
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
+Rebase to 4.14.4
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 ---
- buildtools/wafsamba/wscript  |  7 +++++++
- lib/crypto/wscript_configure |  2 +-
- lib/replace/wscript          | 29 +++++++++++++++--------------
- lib/texpect/wscript          |  7 ++++++-
- 4 files changed, 29 insertions(+), 16 deletions(-)
+ buildtools/wafsamba/wscript |  7 +++++++
+ lib/replace/wscript         | 29 +++++++++++++++--------------
+ lib/texpect/wscript         |  8 +++++++-
+ 3 files changed, 29 insertions(+), 15 deletions(-)
 
 diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
-index 7b8fb01..a8e4b0a 100644
+index 1aadb95..e7b47c0 100644
 --- a/buildtools/wafsamba/wscript
 +++ b/buildtools/wafsamba/wscript
 @@ -88,6 +88,13 @@ def options(opt):
@@ -30,24 +32,11 @@
      gr = opt.option_group('developer options')
  
      gr.add_option('-C',
-diff --git a/lib/crypto/wscript_configure b/lib/crypto/wscript_configure
-index 09dfe04..e871718 100644
---- a/lib/crypto/wscript_configure
-+++ b/lib/crypto/wscript_configure
-@@ -2,7 +2,7 @@
- from waflib import Options
- from waflib import Errors, Logs
- 
--if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
-+if not Options.options.enable_libbsd or not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
-     checklibc=True):
-     conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h',
-                         checklibc=True)
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 0020d2a..cd9228f 100644
+index bc726f7..44ad0d6 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -407,20 +407,21 @@ def configure(conf):
+@@ -419,20 +419,21 @@ def configure(conf):
  
      strlcpy_in_bsd = False
  
@@ -84,13 +73,14 @@
      conf.CHECK_CODE('''
                  struct ucred cred;
 diff --git a/lib/texpect/wscript b/lib/texpect/wscript
-index e14c048..a91de59 100644
+index 82f6b25..33eea64 100644
 --- a/lib/texpect/wscript
 +++ b/lib/texpect/wscript
-@@ -1,7 +1,12 @@
+@@ -1,7 +1,13 @@
  #!/usr/bin/env python
-+from waflib import Options
  
++from waflib import Options
++
  def configure(conf):
 -    conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers='pty.h util.h bsd/libutil.h libutil.h')
 +    hdrs = 'pty.h util.h'
@@ -100,4 +90,7 @@
 +    conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers=hdrs)
  
  def build(bld):
-     bld.SAMBA_BINARY('texpect', 'texpect.c', deps='popt util replace', install=False)
+     bld.SAMBA_BINARY('texpect',
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0005-samba-build-dnsserver_common-code.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0005-samba-build-dnsserver_common-code.patch
new file mode 100644
index 0000000..2abbe56
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0005-samba-build-dnsserver_common-code.patch
@@ -0,0 +1,30 @@
+From 10d7abc8f1aa99ae45209aeb704978d206f329c0 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Tue, 1 Jun 2021 11:09:19 +0800
+Subject: [PATCH] samba: build dnsserver_common code
+
+Just 'install' does not seem to do it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ source4/dns_server/wscript_build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source4/dns_server/wscript_build b/source4/dns_server/wscript_build
+index e97c85d..a49fbb9 100644
+--- a/source4/dns_server/wscript_build
++++ b/source4/dns_server/wscript_build
+@@ -4,7 +4,7 @@ bld.SAMBA_LIBRARY('dnsserver_common',
+         source='dnsserver_common.c',
+         deps='samba-util samba-errors ldbsamba clidns',
+         private_library=True,
+-        install=bld.AD_DC_BUILD_IS_ENABLED()
++        enabled=bld.AD_DC_BUILD_IS_ENABLED()
+         )
+ 
+ bld.SAMBA_MODULE('service_dns',
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch
new file mode 100644
index 0000000..00b692b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch
@@ -0,0 +1,39 @@
+From 59f7098bfbd63f9b3c19d7d297a8f90870a1893d Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Mon, 31 May 2021 14:50:38 +0800
+Subject: [PATCH] samba: defeat iconv test
+
+A test was added when configuring samba which requires target code
+to be executed.  In general, this will not work, so we eliminate it.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ lib/util/charset/wscript_configure | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/lib/util/charset/wscript_configure b/lib/util/charset/wscript_configure
+index 9c27fc6..845eb36 100644
+--- a/lib/util/charset/wscript_configure
++++ b/lib/util/charset/wscript_configure
+@@ -17,6 +17,8 @@ if (conf.CHECK_FUNCS_IN('iconv_open', 'iconv', checklibc=False, headers='iconv.h
+     
+     conf.DEFINE('HAVE_NATIVE_ICONV', 1)
+ 
++"""
++[added for 4.7.0, but breaks cross-compilation]
+ conf.CHECK_CODE('''
+                 uint8_t inbuf[2] = { 0x30, 0xdf };
+                 uint8_t outbuf[4] = { 0 };
+@@ -36,6 +38,7 @@ conf.CHECK_CODE('''
+                 msg='Checking errno of iconv for illegal multibyte sequence',
+                 lib='iconv',
+                 headers='errno.h iconv.h')
++"""
+ 
+ if conf.CHECK_CFG(package='icu-i18n',
+                args='--cflags --libs',
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch
new file mode 100644
index 0000000..0f843af
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch
@@ -0,0 +1,39 @@
+From a31a014c5d98501074fde1acb5c00162c927c361 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 31 May 2021 15:47:58 +0800
+Subject: [PATCH] wscript_configure_system_gnutls: disable check gnutls
+ AES_CFB8/AES_CMAC
+
+The CHECK_VALUEOF() can not work on cross-compilation.
+
+Fixes configure error:
+  Checking value of GNUTLS_CIPHER_AES_128_CFB8: UNKNOWN
+  Checking value of GNUTLS_MAC_AES_CMAC_128: UNKNOWN
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ wscript_configure_system_gnutls | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/wscript_configure_system_gnutls b/wscript_configure_system_gnutls
+index 2ec217f..cd91b55 100644
+--- a/wscript_configure_system_gnutls
++++ b/wscript_configure_system_gnutls
+@@ -39,6 +39,7 @@ if (parse_version(gnutls_version) > parse_version('3.6.14')):
+ if conf.CHECK_FUNCS_IN('gnutls_get_system_config_file', 'gnutls'):
+     conf.DEFINE('HAVE_GNUTLS_CRYPTO_POLICIES', 1)
+ 
++"""
+ if conf.CHECK_VALUEOF('GNUTLS_CIPHER_AES_128_CFB8', headers='gnutls/gnutls.h'):
+     conf.DEFINE('HAVE_GNUTLS_AES_CFB8', 1)
+ else:
+@@ -48,3 +49,4 @@ if conf.CHECK_VALUEOF('GNUTLS_MAC_AES_CMAC_128', headers='gnutls/gnutls.h'):
+     conf.DEFINE('HAVE_GNUTLS_AES_CMAC', 1)
+ else:
+     Logs.warn('No gnutls support for AES CMAC')
++"""
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch
new file mode 100644
index 0000000..d4ceb5c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch
@@ -0,0 +1,79 @@
+From ba6bc5459cf148dd617fd9cd38dd50c3a9b5d706 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 31 May 2021 15:50:48 +0800
+Subject: [PATCH] source3/wscript: disable check fcntl F_OWNER_EX
+
+It fails on cross-compilation.
+
+Fixes configure error:
+  Checking whether fcntl supports flags to send direct I/O availability signals: UNKNOWN
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ source3/wscript | 48 ------------------------------------------------
+ 1 file changed, 48 deletions(-)
+
+diff --git a/source3/wscript b/source3/wscript
+index adc31ce..f6de0a6 100644
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -1168,54 +1168,6 @@ err:
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+-#include <sys/socket.h>
+-
+-int main(void)
+-{
+-        int sockfd, ret;
+-        struct f_owner_ex owner, get_owner;
+-
+-        sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
+-        if (sockfd == -1) {
+-            goto err;
+-        }
+-
+-        owner.type = F_OWNER_PID;
+-        owner.pid = getpid();
+-
+-        ret = fcntl(sockfd, F_SETOWN_EX, &owner);
+-        if (ret == -1) {
+-            goto err;
+-        }
+-
+-        ret = fcntl(sockfd, F_GETOWN_EX, &get_owner);
+-        if (ret == -1) {
+-            goto err;
+-        }
+-
+-        if (get_owner.type != F_OWNER_PID) {
+-            goto err;
+-        }
+-
+-        if (get_owner.pid != getpid()) {
+-            goto err;
+-        }
+-
+-        close(sockfd);
+-        exit(0);
+-err:
+-        close(sockfd);
+-        exit(1);
+-}''',
+-            'HAVE_F_OWNER_EX',
+-            addmain=False,
+-            execute=True,
+-            msg="Checking whether fcntl supports flags to send direct I/O availability signals")
+-
+-    conf.CHECK_CODE('''
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <stdlib.h>
+ #include <stdint.h>
+ 
+ #define DATA "hinttest.fcntl"
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch
new file mode 100644
index 0000000..a0b7510
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch
@@ -0,0 +1,92 @@
+From 9942bca2e276c7b4c7696a08594258430c4c5bb5 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 3 Jun 2021 09:39:56 +0800
+Subject: [PATCH] source3/wscript: disable check fcntl RW_HINTS
+
+It fails on cross-compilation for musl.
+
+Fixes configure error:
+  Checking whether fcntl supports setting/geting hints: UNKNOWN
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ source3/wscript | 61 -------------------------------------------------
+ 1 file changed, 61 deletions(-)
+
+diff --git a/source3/wscript b/source3/wscript
+index f6de0a6..3e260c1 100644
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -1164,67 +1164,6 @@ err:
+             execute=True,
+             msg="Checking whether fcntl lock supports open file description locks")
+ 
+-    conf.CHECK_CODE('''
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <stdlib.h>
+-#include <stdint.h>
+-
+-#define DATA "hinttest.fcntl"
+-
+-int main(void)
+-{
+-        uint64_t hint, get_hint;
+-        int fd;
+-
+-        fd = open(DATA, O_RDONLY | O_CREAT | O_EXCL);
+-        if (fd == -1) {
+-            goto err;
+-        }
+-
+-        hint = RWH_WRITE_LIFE_SHORT;
+-        int ret = fcntl(fd, F_SET_RW_HINT, &hint);
+-        if (ret == -1) {
+-            goto err;
+-        }
+-
+-        ret = fcntl(fd, F_GET_RW_HINT, &get_hint);
+-        if (ret == -1) {
+-            goto err;
+-        }
+-
+-        if (get_hint != RWH_WRITE_LIFE_SHORT) {
+-            goto err;
+-        }
+-
+-        hint = RWH_WRITE_LIFE_EXTREME;
+-        ret = fcntl(fd, F_SET_FILE_RW_HINT, &hint);
+-        if (ret == -1) {
+-            goto err;
+-        }
+-
+-        ret = fcntl(fd, F_GET_FILE_RW_HINT, &get_hint);
+-        if (ret == -1) {
+-            goto err;
+-        }
+-
+-        if (get_hint != RWH_WRITE_LIFE_EXTREME) {
+-            goto err;
+-        }
+-
+-        close(fd);
+-        unlink(DATA);
+-        exit(0);
+-err:
+-        close(fd);
+-        unlink(DATA);
+-        exit(1);
+-}''',
+-            'HAVE_RW_HINTS',
+-            addmain=False,
+-            execute=True,
+-            msg="Checking whether fcntl supports setting/geting hints")
+-
+     conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtim.tv_nsec',
+                                 define='HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC') # Linux, Solaris
+     conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtimensec',
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14318.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14318.patch
deleted file mode 100644
index ff1225d..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14318.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From ccf53dfdcd39f3526dbc2f20e1245674155380ff Mon Sep 17 00:00:00 2001
-From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
-Date: Fri, 11 Dec 2020 11:32:44 +0900
-Subject: [PATCH] s4: torture: Add smb2.notify.handle-permissions test.
-
-s3: smbd: Ensure change notifies can't get set unless the
- directory handle is open for SEC_DIR_LIST.
-
-CVE-2020-14318
-
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=14434
-
-Signed-off-by: Jeremy Allison <jra@samba.org>
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- source3/smbd/notify.c         |  8 ++++
- source4/torture/smb2/notify.c | 82 ++++++++++++++++++++++++++++++++++-
- 2 files changed, 89 insertions(+), 1 deletion(-)
-
-diff --git a/source3/smbd/notify.c b/source3/smbd/notify.c
-index 44c0b09..d23c03b 100644
---- a/source3/smbd/notify.c
-+++ b/source3/smbd/notify.c
-@@ -283,6 +283,14 @@ NTSTATUS change_notify_create(struct files_struct *fsp, uint32_t filter,
- 	char fullpath[len+1];
- 	NTSTATUS status = NT_STATUS_NOT_IMPLEMENTED;
- 
-+	/*
-+	 * Setting a changenotify needs READ/LIST access
-+	 * on the directory handle.
-+	 */
-+	if (!(fsp->access_mask & SEC_DIR_LIST)) {
-+		return NT_STATUS_ACCESS_DENIED;
-+	}
-+
- 	if (fsp->notify != NULL) {
- 		DEBUG(1, ("change_notify_create: fsp->notify != NULL, "
- 			  "fname = %s\n", fsp->fsp_name->base_name));
-diff --git a/source4/torture/smb2/notify.c b/source4/torture/smb2/notify.c
-index ebb4f8a..a5c9b94 100644
---- a/source4/torture/smb2/notify.c
-+++ b/source4/torture/smb2/notify.c
-@@ -2569,6 +2569,83 @@ done:
- 	return ok;
- }
- 
-+/*
-+  Test asking for a change notify on a handle without permissions.
-+*/
-+
-+#define BASEDIR_HPERM BASEDIR "_HPERM"
-+
-+static bool torture_smb2_notify_handle_permissions(
-+		struct torture_context *torture,
-+		struct smb2_tree *tree)
-+{
-+	bool ret = true;
-+	NTSTATUS status;
-+	union smb_notify notify;
-+	union smb_open io;
-+	struct smb2_handle h1 = {{0}};
-+	struct smb2_request *req;
-+
-+	smb2_deltree(tree, BASEDIR_HPERM);
-+	smb2_util_rmdir(tree, BASEDIR_HPERM);
-+
-+	torture_comment(torture,
-+		"TESTING CHANGE NOTIFY "
-+		"ON A HANDLE WITHOUT PERMISSIONS\n");
-+
-+	/*
-+	  get a handle on the directory
-+	*/
-+	ZERO_STRUCT(io.smb2);
-+	io.generic.level = RAW_OPEN_SMB2;
-+	io.smb2.in.create_flags = 0;
-+	io.smb2.in.desired_access = SEC_FILE_READ_ATTRIBUTE;
-+	io.smb2.in.create_options = NTCREATEX_OPTIONS_DIRECTORY;
-+	io.smb2.in.file_attributes = FILE_ATTRIBUTE_NORMAL;
-+	io.smb2.in.share_access = NTCREATEX_SHARE_ACCESS_READ |
-+				NTCREATEX_SHARE_ACCESS_WRITE;
-+	io.smb2.in.alloc_size = 0;
-+	io.smb2.in.create_disposition = NTCREATEX_DISP_CREATE;
-+	io.smb2.in.impersonation_level = SMB2_IMPERSONATION_ANONYMOUS;
-+	io.smb2.in.security_flags = 0;
-+	io.smb2.in.fname = BASEDIR_HPERM;
-+
-+	status = smb2_create(tree, torture, &io.smb2);
-+	CHECK_STATUS(status, NT_STATUS_OK);
-+	h1 = io.smb2.out.file.handle;
-+
-+	/* ask for a change notify,
-+	   on file or directory name changes */
-+	ZERO_STRUCT(notify.smb2);
-+	notify.smb2.level = RAW_NOTIFY_SMB2;
-+	notify.smb2.in.buffer_size = 1000;
-+	notify.smb2.in.completion_filter = FILE_NOTIFY_CHANGE_NAME;
-+	notify.smb2.in.file.handle = h1;
-+	notify.smb2.in.recursive = true;
-+
-+	req = smb2_notify_send(tree, &notify.smb2);
-+	torture_assert_goto(torture,
-+			req != NULL,
-+			ret,
-+			done,
-+			"smb2_notify_send failed\n");
-+
-+	/*
-+	 * Cancel it, we don't really want to wait.
-+	 */
-+	smb2_cancel(req);
-+	status = smb2_notify_recv(req, torture, &notify.smb2);
-+	/* Handle h1 doesn't have permissions for ChangeNotify. */
-+	CHECK_STATUS(status, NT_STATUS_ACCESS_DENIED);
-+
-+done:
-+	if (!smb2_util_handle_empty(h1)) {
-+		smb2_util_close(tree, h1);
-+	}
-+	smb2_deltree(tree, BASEDIR_HPERM);
-+	return ret;
-+}
-+
- /*
-    basic testing of SMB2 change notify
- */
-@@ -2602,7 +2679,10 @@ struct torture_suite *torture_smb2_notify_init(TALLOC_CTX *ctx)
- 				     torture_smb2_notify_rmdir3);
- 	torture_suite_add_2smb2_test(suite, "rmdir4",
- 				     torture_smb2_notify_rmdir4);
--
-+	torture_suite_add_1smb2_test(suite,
-+				    "handle-permissions",
-+				    torture_smb2_notify_handle_permissions);
-+ 
- 	suite->description = talloc_strdup(suite, "SMB2-NOTIFY tests");
- 
- 	return suite;
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14383.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14383.patch
deleted file mode 100644
index 3341b80..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14383.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From ff17443fe761eda864d13957bec45f5bac478fe3 Mon Sep 17 00:00:00 2001
-From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
-Date: Fri, 11 Dec 2020 14:34:31 +0900
-Subject: [PATCH] CVE-2020-14383: s4/dns: Ensure variable initialization with 
- NULL. do not crash when additional data not found
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Found by Francis Brosnan BlÃ¡zquez <francis@aspl.es>.
-Based on patches from Francis Brosnan BlÃ¡zquez <francis@aspl.es>
-and Jeremy Allison <jra@samba.org>
-
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=14472
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=12795
-
-Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
-Reviewed-by: Jeremy Allison <jra@samba.org>
-
-Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
-Autobuild-Date(master): Mon Aug 24 00:21:41 UTC 2020 on sn-devel-184
-
-(based on commit df98e7db04c901259dd089e20cd557bdbdeaf379)
-(based on commit 7afe449e7201be92bed8e53cbb37b74af720ef4e
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- .../rpc_server/dnsserver/dcerpc_dnsserver.c   | 31 ++++++++++---------
- 1 file changed, 17 insertions(+), 14 deletions(-)
-
-diff --git a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
-index 910de9a1..618c7096 100644
---- a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
-+++ b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
-@@ -1754,15 +1754,17 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- 	TALLOC_CTX *tmp_ctx;
- 	char *name;
- 	const char * const attrs[] = { "name", "dnsRecord", NULL };
--	struct ldb_result *res;
--	struct DNS_RPC_RECORDS_ARRAY *recs;
-+	struct ldb_result *res = NULL;
-+	struct DNS_RPC_RECORDS_ARRAY *recs = NULL;
- 	char **add_names = NULL;
--	char *rname;
-+	char *rname = NULL;
- 	const char *preference_name = NULL;
- 	int add_count = 0;
- 	int i, ret, len;
- 	WERROR status;
--	struct dns_tree *tree, *base, *node;
-+	struct dns_tree *tree = NULL;
-+	struct dns_tree *base = NULL;
-+	struct dns_tree *node = NULL;
- 
- 	tmp_ctx = talloc_new(mem_ctx);
- 	W_ERROR_HAVE_NO_MEMORY(tmp_ctx);
-@@ -1845,15 +1847,15 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- 		}
- 	}
- 
--	talloc_free(res);
--	talloc_free(tree);
--	talloc_free(name);
-+	TALLOC_FREE(res);
-+	TALLOC_FREE(tree);
-+	TALLOC_FREE(name);
- 
- 	/* Add any additional records */
- 	if (select_flag & DNS_RPC_VIEW_ADDITIONAL_DATA) {
- 		for (i=0; i<add_count; i++) {
--			struct dnsserver_zone *z2;
--
-+			struct dnsserver_zone *z2 = NULL;
-+			struct ldb_message *msg = NULL;
- 			/* Search all the available zones for additional name */
- 			for (z2 = dsstate->zones; z2; z2 = z2->next) {
- 				char *encoded_name;
-@@ -1865,14 +1867,15 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- 						LDB_SCOPE_ONELEVEL, attrs,
- 						"(&(objectClass=dnsNode)(name=%s)(!(dNSTombstoned=TRUE)))",
- 						encoded_name);
--				talloc_free(name);
-+				TALLOC_FREE(name);
- 				if (ret != LDB_SUCCESS) {
- 					continue;
- 				}
- 				if (res->count == 1) {
-+					msg = res->msgs[0];
- 					break;
- 				} else {
--					talloc_free(res);
-+					TALLOC_FREE(res);
- 					continue;
- 				}
- 			}
-@@ -1885,10 +1888,10 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- 			}
- 			status = dns_fill_records_array(tmp_ctx, NULL, DNS_TYPE_A,
- 							select_flag, rname,
--							res->msgs[0], 0, recs,
-+							msg, 0, recs,
- 							NULL, NULL);
--			talloc_free(rname);
--			talloc_free(res);
-+			TALLOC_FREE(rname);
-+			TALLOC_FREE(res);
- 		}
- 	}
- 
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch
deleted file mode 100644
index 0c7592f..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-samba: build dnsserver_common code
-
-Just 'install' does not seem to do it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
---- a/source4/dns_server/wscript_build
-+++ b/source4/dns_server/wscript_build
-@@ -4,7 +4,7 @@ bld.SAMBA_LIBRARY('dnsserver_common',
-         source='dnsserver_common.c',
-         deps='samba-util samba-errors ldbsamba clidns',
-         private_library=True,
--        install=bld.AD_DC_BUILD_IS_ENABLED()
-+        enabled=bld.AD_DC_BUILD_IS_ENABLED()
-         )
- 
- bld.SAMBA_MODULE('service_dns',
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
deleted file mode 100644
index d07ec0d..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 062cf74b498c1d12fd76f9d9bca926ac806e0b99 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 20 Jun 2019 14:15:18 +0800
-Subject: [PATCH] glibc only fix
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- ctdb/tests/src/test_mutex_raw.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/ctdb/tests/src/test_mutex_raw.c b/ctdb/tests/src/test_mutex_raw.c
-index 926a525..814343f 100644
---- a/ctdb/tests/src/test_mutex_raw.c
-+++ b/ctdb/tests/src/test_mutex_raw.c
-@@ -291,8 +291,10 @@ int main(int argc, const char **argv)
- 					"failed\n");
- 				exit (EXIT_FAILURE);
- 			}
-+#ifdef __GLIBC__
- 		} else if (ret == EBUSY) {
- 			printf("INFO: pid=%u\n", mutex->__data.__owner);
-+#endif
- 		} else if (ret == 0) {
- 			pthread_mutex_unlock(mutex);
- 		}
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch
deleted file mode 100644
index 5ae8c59..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-samba: defeat iconv test
-
-A test was added when configuring samba which requires target code
-to be executed.  In general, this will not work, so we eliminate it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
---- a/lib/util/charset/wscript_configure
-+++ b/lib/util/charset/wscript_configure
-@@ -17,6 +17,8 @@ if (conf.CHECK_FUNCS_IN('iconv_open', 'i
-     
-     conf.DEFINE('HAVE_NATIVE_ICONV', 1)
- 
-+"""
-+[added for 4.7.0, but breaks cross-compilation]
- conf.CHECK_CODE('''
-                 uint8_t inbuf[2] = { 0x30, 0xdf };
-                 uint8_t outbuf[4] = { 0 };
-@@ -36,3 +38,4 @@ conf.CHECK_CODE('''
-                 msg='Checking errno of iconv for illegal multibyte sequence',
-                 lib='iconv',
-                 headers='errno.h iconv.h')
-+"""
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-fix-musl-lib-without-innetgr.patch
similarity index 100%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba/samba-fix-musl-lib-without-innetgr.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf
index d6bde41..588491e 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb.conf
@@ -32,17 +32,6 @@
 # Change this to the workgroup/NT-domain name your Samba server will part of
    workgroup = WORKGROUP
 
-# Windows Internet Name Serving Support Section:
-# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
-#   wins support = no
-
-# WINS Server - Tells the NMBD components of Samba to be a WINS Client
-# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
-;   wins server = w.x.y.z
-
-# This will prevent nmbd to search for NetBIOS names through DNS.
-   dns proxy = no
-
 #### Networking ####
 
 # The specific set of interfaces / networks to bind to
@@ -68,14 +57,9 @@
 # Cap the size of the individual log files (in KiB).
    max log size = 1000
 
-# If you want Samba to only log through syslog then set the following
-# parameter to 'yes'.
-#   syslog only = no
-
-# We want Samba to log a minimum amount of information to syslog. Everything
-# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
-# through syslog you should set the following parameter to something higher.
-   syslog = 0
+# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}.
+# Append syslog@1 if you want important messages to be sent to syslog too.
+   logging = file
 
 # Do something sensible when Samba crashes: mail the admin a backtrace
    panic action = /usr/share/samba/panic-action %d
@@ -94,10 +78,6 @@
 # new domain.
    server role = standalone server
 
-# If you are using encrypted passwords, Samba will need to know what
-# password database type you are using.  
-   passdb backend = tdbsam
-
    obey pam restrictions = yes
 
 # This boolean parameter controls whether Samba attempts to sync the Unix
@@ -123,8 +103,8 @@
 ########## Domains ###########
 
 #
-# The following settings only takes effect if 'server role = primary
-# classic domain controller', 'server role = backup domain controller'
+# The following settings only takes effect if 'server role = classic
+# primary domain controller', 'server role = classic backup domain controller'
 # or 'domain logons' is set 
 #
 
@@ -172,15 +152,17 @@
 
 # Some defaults for winbind (make sure you're not using the ranges
 # for something else.)
-;   idmap uid = 10000-20000
-;   idmap gid = 10000-20000
+;   idmap config * :              backend = tdb
+;   idmap config * :              range   = 3000-7999
+;   idmap config YOURDOMAINHERE : backend = tdb
+;   idmap config YOURDOMAINHERE : range   = 100000-999999
 ;   template shell = /bin/bash
 
 # Setup usershare options to enable non-root users to share folders
 # with the net usershare command.
 
-# Maximum number of usershare. 0 (default) means that usershare is disabled.
-;   usershare max shares = 100
+# Maximum number of usershare. 0 means that usershare is disabled.
+#   usershare max shares = 100
 
 # Allow users who've been granted usershare privileges to create
 # public shares, not just authenticated ones
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch
deleted file mode 100644
index 6ae2928..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f99b6a8617df6a46f41fb68ffafb2608dbb6681e Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Wed, 8 Nov 2017 11:58:05 -0800
-Subject: [PATCH] samba: correct log files location
-
-We use /var/log/samba.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- examples/smb.conf.default | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/examples/smb.conf.default b/examples/smb.conf.default
-index 2f20720..44c1aa8 100644
---- a/examples/smb.conf.default
-+++ b/examples/smb.conf.default
-@@ -52,7 +52,7 @@
- 
- # this tells Samba to use a separate log file for each machine
- # that connects
--   log file = /usr/local/samba/var/log.%m
-+   log file = /var/log/samba/log.%m
- 
- # Put a capping on the size of the log files (in Kb).
-    max log size = 50
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.5.bb
similarity index 83%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.18.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.5.bb
index 166bf57..5c5ce36 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.18.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.5.bb
@@ -14,40 +14,40 @@
 
 SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
            file://smb.conf \
-           file://16-do-not-check-xsltproc-manpages.patch \
-           file://20-do-not-import-target-module-while-cross-compile.patch \
-           file://21-add-config-option-without-valgrind.patch \
-           file://netdb_defines.patch \
-           file://glibc_only.patch \
-           file://iconv-4.7.0.patch \
-           file://dnsserver-4.7.0.patch \
-           file://smb_conf-4.7.0.patch \
            file://volatiles.03_samba \
-           file://0001-waf-add-support-of-cross_compile.patch \
-           file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \
-           file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \
-           file://0001-Add-options-to-configure-the-use-of-libbsd.patch \
-           file://0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch \
-           file://CVE-2020-14318.patch \
-           file://CVE-2020-14383.patch \
+           file://0001-Don-t-check-xsltproc-manpages.patch \
+           file://0002-do-not-import-target-module-while-cross-compile.patch \
+           file://0003-Add-config-option-without-valgrind.patch \
+           file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
+           file://0005-samba-build-dnsserver_common-code.patch \
+           file://0006-samba-defeat-iconv-test.patch \
+           file://0007-wscript_configure_system_gnutls-disable-check-gnutls.patch \
+           file://0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch \
+           file://0009-source3-wscript-disable-check-fcntl-RW_HINTS.patch \
            "
+
 SRC_URI_append_libc-musl = " \
+           file://netdb_defines.patch \
            file://samba-pam.patch \
            file://samba-4.3.9-remove-getpwent_r.patch \
            file://cmocka-uintptr_t.patch \
-           file://0001-samba-fix-musl-lib-without-innetgr.patch \
-          "
+           file://samba-fix-musl-lib-without-innetgr.patch \
+           "
 
-SRC_URI[md5sum] = "f006a3d1876113e4a049015969d20fe6"
-SRC_URI[sha256sum] = "7dcfc2aaaac565b959068788e6a43fc79ce2a03e7d523f5843f7a9fddffc7c2c"
+SRC_URI[md5sum] = "96d275e31387e6c403d6c16465d15b7e"
+SRC_URI[sha256sum] = "bb6ef5d2f16b85288d823578abc453d9a80514c42e5a2ea2c4e3c60dc42335c3"
 
-UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.10(\.\d+)+).tar.gz"
+UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.14(\.\d+)+).tar.gz"
 
-inherit systemd waf-samba cpan-base perlnative update-rc.d
+inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version
+
+# CVE-2011-2411 is valnerble only on HP NonStop Servers.
+CVE_CHECK_WHITELIST += "CVE-2011-2411" 
+
 # remove default added RDEPENDS on perl
 RDEPENDS_${PN}_remove = "perl"
 
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson"
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson libparse-yapp-perl-native gnutls"
 
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "pam"
@@ -56,6 +56,8 @@
 CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
 LDFLAGS_append_libc-musl = " -ltirpc"
 
+COMPATIBLE_HOST_riscv32 = "null"
+
 INITSCRIPT_NAME = "samba"
 INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
 
@@ -76,7 +78,7 @@
 # Use krb5.  Build active domain controller.
 #
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
-                   acl cups ad-dc gnutls ldap mitkrb5 \
+                   acl cups ad-dc ldap mitkrb5 \
 "
 
 RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
@@ -96,19 +98,7 @@
 PACKAGECONFIG[gpgme] = ",--without-gpgme,,"
 PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
 PACKAGECONFIG[libbsd] = "--with-libbsd, --without-libbsd, libbsd"
-
-# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
-# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
-# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
-# So the working combination is:
-# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
-# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
-#
-# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
-# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
-#
-PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython,"
 PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
 
 SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
@@ -140,6 +130,18 @@
 
 LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
 
+do_configure_append () {
+    cd ${S}/pidl/
+    perl Makefile.PL PREFIX=${prefix}
+    sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \
+        -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile
+
+}
+
+do_compile_append () {
+    oe_runmake -C ${S}/pidl
+}
+
 do_install_append() {
     for section in 1 5 7; do
         install -d ${D}${mandir}/man$section
@@ -182,11 +184,11 @@
     install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
 
     # the items are from ctdb/tests/run_tests.sh
-    for d in onnode takeover tool eventscripts cunit simple complex; do
-        testdir=${D}${datadir}/ctdb-tests/$d
+    for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do
+        testdir=${D}${datadir}/ctdb-tests/UNIT/$d
         install -d $testdir
-        cp ${S}/ctdb/tests/$d/*.sh $testdir
-        cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
+        cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir
+        cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true
     done
 
     # fix file-rdeps qa warning
@@ -197,7 +199,7 @@
     chmod 0750 ${D}${sysconfdir}/sudoers.d || true
     rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
     
-    for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do
+    for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do
         if [ -f "${D}${sbindir}/$f" ]; then
             sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f
         fi
@@ -205,7 +207,11 @@
     if [ -f "${D}${bindir}/samba-tool" ]; then
         sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool
     fi
-    
+
+    oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor
+    find ${D}${libdir}/ -type f -name "perllocal.pod" | xargs rm -f
+    rm -rf ${D}${libdir}/perl5/vendor_perl/${PERLVERSION}/${BUILD_SYS}/auto/Parse/Pidl/.packlist
+    sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl
 }
 
 PACKAGES =+ "${PN}-python3 ${PN}-pidl \
@@ -310,8 +316,10 @@
                    ${bindir}/smbtree \
                    ${libdir}/samba/smbspool_krb5_wrapper"
 
-RDEPENDS_${PN}-pidl_append = " perl"
-FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
+RDEPENDS_${PN}-pidl_append = " perl libparse-yapp-perl"
+FILES_${PN}-pidl = "${bindir}/pidl \
+                    ${libdir}/perl5 \
+                   "
 
 RDEPENDS_${PN}-client = "\
     smbclient \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch
index 87fd05b..d8c945a 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch
@@ -52,9 +52,9 @@
 -    fi
 -fi
 -
- Z_LIB=""
- AC_CHECK_HEADERS(zlib.h,, Z_LIB="no")
- if test "x$Z_LIB" = "xno"; then
+ ##################################################
+ # Centos 8+ does not have inbuilt SunRPC support  #
+ # in glibc and is separately availble in tirpc   #
 -- 
 2.7.4
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.bb
index b5ff430..cca18d7 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.18.bb
@@ -14,7 +14,7 @@
     file://disable-run-test-program-while-cross-compiling.patch \
     file://configure.in-disable-tirpc-checking-for-fedora.patch \
 "
-SRC_URI[sha256sum] = "303d3d5dc5affecfeaad3a331d3163f901d48d960fdd6598cb55c6d1591eed82"
+SRC_URI[sha256sum] = "d0308642f69e0d36f70db9703e5766afce2f44ff05b7d2c9cc8e3ac8323b2c77"
 
 UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
 UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
index 24b9a1b..31f9aef 100644
--- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
+++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
@@ -67,6 +67,7 @@
     wolfssl \
     autossh \
     bearssl \
+    dhcp-relay \
 "
 
 RDEPENDS_packagegroup-meta-networking-connectivity_remove_libc-musl = "rdist"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-if-undefined.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-if-undefined.patch
new file mode 100644
index 0000000..117b1e5
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Define-__SWORD_TYPE-if-undefined.patch
@@ -0,0 +1,124 @@
+From 9fe90ab1e333b2e2bed370ff13ba552eb54c3aaf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Jul 2021 09:56:28 -0700
+Subject: [PATCH] Define __SWORD_TYPE if undefined
+
+These fixes are inspired when building autofs on musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ daemon/automount.c | 20 ++++++++++++++------
+ include/hash.h     |  5 +++++
+ lib/log.c          |  6 +++++-
+ 3 files changed, 24 insertions(+), 7 deletions(-)
+
+diff --git a/daemon/automount.c b/daemon/automount.c
+index e476f6b..3a1514b 100644
+--- a/daemon/automount.c
++++ b/daemon/automount.c
+@@ -1,7 +1,7 @@
+ /* ----------------------------------------------------------------------- *
+  *
+  *  automount.c - Linux automounter daemon
+- *   
++ *
+  *   Copyright 1997 Transmeta Corporation - All Rights Reserved
+  *   Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org>
+  *   Copyright 2001-2005 Ian Kent <raven@themaw.net>
+@@ -11,7 +11,7 @@
+  *   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139,
+  *   USA; either version 2 of the License, or (at your option) any later
+  *   version.
+- *   
++ *
+  *   This program is distributed in the hope that it will be useful,
+  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+@@ -40,6 +40,14 @@
+ #include <systemd/sd-daemon.h>
+ #endif
+ 
++#ifndef __SWORD_TYPE
++# if __WORDSIZE == 32  /* System word size */
++#  define __SWORD_TYPE int
++# else /* __WORDSIZE == 64 */
++#  define __SWORD_TYPE long int
++# endif
++#endif
++
+ #include "automount.h"
+ #if defined(LIBXML2_WORKAROUND) || defined(TIRPC_WORKAROUND)
+ #include <dlfcn.h>
+@@ -282,7 +290,7 @@ int rmdir_path(struct autofs_point *ap, const char *path, dev_t dev)
+ 			     dev, buf, st.st_dev);
+ 			return -1;
+ 		}
+-			     
++
+ 		/*
+ 		 * Last element of path may be a symbolic link; all others
+ 		 * are directories (and the last directory element is
+@@ -455,7 +463,7 @@ int count_mounts(struct autofs_point *ap, const char *path, dev_t dev)
+ 
+ 	counter.count = 0;
+ 	counter.dev = dev;
+-	
++
+ 	if (walk_tree(path, counter_fn, 1, ap, &counter) == -1)
+ 		return -1;
+ 
+@@ -811,7 +819,7 @@ static char *automount_path_to_fifo(unsigned logopt, const char *path)
+ 	/*
+ 	 *  An automount path can be made up of subdirectories.  So, to
+ 	 *  create the fifo name, we will just replace instances of '/' with
+-	 *  '-'. 
++	 *  '-'.
+ 	 */
+ 	p = fifo_name + strlen(fifodir);
+ 	while (*p != '\0') {
+@@ -1640,7 +1648,7 @@ static void return_start_status(void *arg)
+ 	sc->done = 1;
+ 
+ 	/*
+-	 * Startup condition mutex must be locked during 
++	 * Startup condition mutex must be locked during
+ 	 * the startup process.
+ 	 */
+ 	status = pthread_cond_signal(&sc->cond);
+diff --git a/include/hash.h b/include/hash.h
+index 2447f29..6f0dee6 100644
+--- a/include/hash.h
++++ b/include/hash.h
+@@ -5,6 +5,11 @@
+ 
+ #include <sys/types.h>
+ #include <stdint.h>
++#include <linux/stddef.h>
++
++#ifndef __GLIBC__
++#include <sys/reg.h>
++#endif
+ 
+ /*
+  * The "GOLDEN_RATIO_PRIME" is used in ifs/btrfs/brtfs_inode.h and
+diff --git a/lib/log.c b/lib/log.c
+index 0cb47d7..39b1e3b 100644
+--- a/lib/log.c
++++ b/lib/log.c
+@@ -38,7 +38,11 @@ static char *prepare_attempt_prefix(const char *msg)
+ 	char buffer[ATTEMPT_ID_SIZE + 1];
+ 	char *prefixed_msg = NULL;
+ 
+-	attempt_id = pthread_getspecific(key_thread_attempt_id);
++        if (key_thread_attempt_id) {
++                attempt_id = pthread_getspecific(key_thread_attempt_id);
++        } else {
++                attempt_id = 0;
++        }
+ 	if (attempt_id) {
+ 		int len = sizeof(buffer) + 1 + strlen(msg) + 1;
+ 
+-- 
+2.32.0
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
index b991aca..d5ea417 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch
@@ -15,12 +15,10 @@
  configure.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/configure.in b/configure.in
-index 493b9f1..268d06b 100644
 --- a/configure.in
 +++ b/configure.in
 @@ -12,7 +12,7 @@ define([AC_CACHE_SAVE], )dnl
- AC_INIT(.autofs-5.1.6)
+ AC_INIT(.autofs-5.1.7)
  
  # for pkg-config macros
 -m4_include([/usr/share/aclocal/pkg.m4])
@@ -28,6 +26,3 @@
  
  #
  # autofs installs by default in /usr
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
index e7fdd10..1a2eb4f 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch
@@ -16,29 +16,27 @@
  modules/lookup_multi.c | 2 +-
  2 files changed, 4 insertions(+), 4 deletions(-)
 
-diff --git a/daemon/lookup.c b/daemon/lookup.c
-index 18df935..d35d484 100644
 --- a/daemon/lookup.c
 +++ b/daemon/lookup.c
-@@ -382,7 +382,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source
- 	if (!S_ISREG(st.st_mode))
+@@ -397,7 +397,7 @@ static int read_file_source_instance(str
  		return NSS_STATUS_NOTFOUND;
+ 	}
  
 -	if (st.st_mode & __S_IEXEC)
 +	if (st.st_mode & S_IEXEC)
  		type = src_prog;
  	else
  		type = src_file;
-@@ -942,7 +942,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_
- 	if (!S_ISREG(st.st_mode))
+@@ -930,7 +930,7 @@ static int lookup_name_file_source_insta
  		return NSS_STATUS_NOTFOUND;
+ 	}
  
 -	if (st.st_mode & __S_IEXEC)
 +	if (st.st_mode & S_IEXEC)
  		type = src_prog;
  	else
  		type = src_file;
-@@ -1118,7 +1118,7 @@ static struct map_source *lookup_get_map_source(struct master_mapent *entry)
+@@ -1077,7 +1077,7 @@ static struct map_source *lookup_get_map
  	if (!S_ISREG(st.st_mode))
  		return NULL;
  
@@ -47,11 +45,9 @@
  		type = "program";
  	else
  		type = "file";
-diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c
-index bb9f88c..cf109de 100644
 --- a/modules/lookup_multi.c
 +++ b/modules/lookup_multi.c
-@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_lookup(const char *format, int argc, const ch
+@@ -247,7 +247,7 @@ static struct lookup_mod *nss_open_looku
  				continue;
  			}
  
@@ -60,6 +56,3 @@
  				type = src_prog;
  			else
  				type = src_file;
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
deleted file mode 100644
index 9b0942e..0000000
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2256b8aa98cff15ddf2a8d36496e6c9125927901 Mon Sep 17 00:00:00 2001
-From: Andreas Oberritter <obi@opendreambox.org>
-Date: Wed, 13 Mar 2013 16:17:08 +0100
-Subject: [PATCH] autofs-5.0.7: include linux/nfs.h directly in rpc_subs.h
-
-Upstream-Status: Pending
-
-Fixes compile error with uclibc. Glibc's nfs/nfs.h contains
-nothing but "#include linux/nfs.h". rpc_subs.h already includes
-other linux/nfs*.h files directly.
-
-Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
-
----
- include/rpc_subs.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/rpc_subs.h b/include/rpc_subs.h
-index e744e89..83db47e 100644
---- a/include/rpc_subs.h
-+++ b/include/rpc_subs.h
-@@ -18,7 +18,7 @@
- 
- #include <rpc/rpc.h>
- #include <rpc/pmap_prot.h>
--#include <nfs/nfs.h>
-+#include <linux/nfs.h>
- #include <linux/nfs2.h>
- #include <linux/nfs3.h>
- 
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
index 21a97c8..8ad3b22 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/fix-the-YACC-rule-to-fix-a-building-failure.patch
@@ -23,21 +23,9 @@
  modules/Makefile | 3 ++-
  2 files changed, 6 insertions(+), 3 deletions(-)
 
-diff --git a/lib/Makefile b/lib/Makefile
-index 4798a4b..c40cf86 100644
 --- a/lib/Makefile
 +++ b/lib/Makefile
-@@ -57,7 +57,8 @@ mount_xdr.o: mount_xdr.c
- master_tok.c: master_tok.l
- 	$(LEX) -o$@ -Pmaster_ $?
- 
--master_parse.tab.c master_parse.tab.h: master_parse.y
-+master_parse.tab.h: master_parse.tab.c
-+master_parse.tab.c: master_parse.y
- 	$(YACC) -v -d -p master_ -b master_parse $?
- 
- master_tok.o: master_tok.c master_parse.tab.h
-@@ -67,7 +68,8 @@ master_parse.tab.o: master_parse.tab.c master_parse.tab.h
+@@ -53,7 +53,8 @@ mount_xdr.o: mount_xdr.c
  nss_tok.c: nss_tok.l
  	$(LEX) -o$@ -Pnss_ $?
  
@@ -47,8 +35,6 @@
  	$(YACC) -v -d -p nss_ -b nss_parse $?
  
  nss_tok.o: nss_tok.c nss_parse.tab.h
-diff --git a/modules/Makefile b/modules/Makefile
-index d9ab06c..abc7698 100644
 --- a/modules/Makefile
 +++ b/modules/Makefile
 @@ -103,7 +103,8 @@ amd_tok.c: amd_tok.l
@@ -61,3 +47,30 @@
  	$(YACC) -v -d -p amd_ -b amd_parse $?
  
  amd_parse.tab.o: amd_parse.tab.c amd_parse.tab.h
+--- a/daemon/Makefile
++++ b/daemon/Makefile
+@@ -16,7 +16,7 @@ YACCSRC = master_tok.c master_parse.tab.
+ version := $(shell cat ../.version)
+ 
+ CFLAGS += -rdynamic $(DAEMON_CFLAGS) -D_GNU_SOURCE -I../include
+-CFLAGS += -DAUTOFS_LIB_DIR=\"$(autofslibdir)\" 
++CFLAGS += -DAUTOFS_LIB_DIR=\"$(autofslibdir)\"
+ CFLAGS += -DAUTOFS_MAP_DIR=\"$(autofsmapdir)\"
+ CFLAGS += -DAUTOFS_CONF_DIR=\"$(autofsconfdir)\"
+ CFLAGS += -DAUTOFS_FIFO_DIR=\"$(autofsfifodir)\"
+@@ -44,7 +44,8 @@ automount: $(OBJS) $(AUTOFS_LIB)
+ master_tok.c: master_tok.l
+ 	$(LEX) -o$@ -Pmaster_ $?
+ 
+-master_parse.tab.c master_parse.tab.h: master_parse.y
++master_parse.tab.h: master_parse.tab.c
++master_parse.tab.c: master_parse.y
+ 	$(YACC) -v -d -p master_ -b master_parse $?
+ 
+ master_tok.o: master_tok.c master_parse.tab.h
+@@ -57,5 +58,3 @@ clean:
+ install: all
+ 	install -d -m 755 $(INSTALLROOT)$(sbindir)
+ 	install -c automount -m 755 $(INSTALLROOT)$(sbindir)
+-
+-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
index d1f9f34..41de373 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch
@@ -16,33 +16,21 @@
  configure.in | 16 ++++++++++++++--
  1 file changed, 14 insertions(+), 2 deletions(-)
 
-diff --git a/configure.in b/configure.in
-index f5fbb35..76ecb40 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -211,8 +211,20 @@ fi
- AC_SUBST(ENABLE_FEDFS)
- 
- # LDAP SASL auth needs libxml and Kerberos
--AF_CHECK_LIBXML()
+@@ -215,7 +215,14 @@ PKG_CHECK_MODULES([XML], [libxml-2.0], [
+   AC_DEFINE(LIBXML2_WORKAROUND, 1, [Use libxml2 tsd usage workaround])
+ ], [HAVE_LIBXML=0])
+
 -AF_CHECK_KRB5()
-+PKG_CHECK_MODULES(XML, [libxml-2.0],HAVE_LIBXML=1,HAVE_LIBXML=0)
-+AC_SUBST([HAVE_LIBXML])
-+XML_FLAGS=$XML_CFLAGS
-+
-+PKG_CHECK_MODULES(KRB5, [krb5],HAVE_KRB5=1,HAVE_KRB5=0)
-+AC_SUBST([HAVE_KRB5])
-+if test "x$HAVE_KRB5" = "x1"; then
++PKG_CHECK_MODULES(KRB5, [krb5], [
++  HAVE_KRB5=1
 +  SAVE_CFLAGS=$CFLAGS
 +  SAVE_LIBS=$LIBS
 +  CFLAGS="$CFLAGS $KRB5_FLAGS"
 +  LIBS="$LIBS $KRB5_LIBS"
-+
 +  AC_CHECK_FUNCS([krb5_principal_get_realm])
-+fi
- 
++], [HAVE_KRB5=0])
+
  AC_SEARCH_LIBS([versionsort],[])
  if test "$ac_cv_search_versionsort" = "no"; then
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.7.bb
similarity index 88%
rename from meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb
rename to meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.7.bb
index 54f0b99..019b453 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.6.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/autofs/autofs_5.1.7.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Kernel based automounter for linux"
 SECTION = "utils"
 LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ee9324a6f564bb2376b63878ac396798"
 
 DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2"
 
@@ -10,7 +10,6 @@
 inherit autotools-brokensep systemd update-rc.d pkgconfig
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
-           file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \
            file://no-bash.patch \
            file://cross.patch \
            file://fix_disable_ldap.patch \
@@ -26,11 +25,9 @@
            file://0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch \
            file://0001-Do-not-hardcode-path-for-pkg.m4.patch \
            file://0001-Bug-fix-for-pid_t-not-found-on-musl.patch \
+           file://0001-Define-__SWORD_TYPE-if-undefined.patch \
            "
-
-
-SRC_URI[md5sum] = "e6800e0afd6009ecdff148088c564050"
-SRC_URI[sha256sum] = "82094cad44f4e5c4f93eff2789cd66b57d7ab3fa646b7722d97608571001e694"
+SRC_URI[sha256sum] = "a18619e5ad18960fe382354eef33f070e57e4e5711d484b010acde080a003312"
 
 UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/"
 
@@ -87,10 +84,14 @@
 }
 SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
 
+# all the libraries are unversioned, so don't pack it on PN-dev
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+# Some symlinks are created in plugins dir e.g.
+# mount_nfs4.so -> mount_nfs.so
 INSANE_SKIP_${PN} = "dev-so"
 
 RPROVIDES_${PN} += "${PN}-systemd"
 RREPLACES_${PN} += "${PN}-systemd"
 RCONFLICTS_${PN} += "${PN}-systemd"
 SYSTEMD_SERVICE_${PN} = "autofs.service"
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
index 33de8ca..c4b41ac 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/cyrus-sasl/cyrus-sasl_2.1.27.bb
@@ -96,3 +96,6 @@
 FILES_${PN}-staticdev += "${libdir}/sasl2/*.a"
 
 INSANE_SKIP_${PN} += "dev-so"
+
+# CVE-2020-8032 affects only openSUSE
+CVE_CHECK_WHITELIST += "CVE-2020-8032"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived/0001-layer4-Change-order-of-include-files.patch b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived/0001-layer4-Change-order-of-include-files.patch
new file mode 100644
index 0000000..f9cadbc
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived/0001-layer4-Change-order-of-include-files.patch
@@ -0,0 +1,58 @@
+From a85ca79143a87286f793957e803ee3daf03c2b57 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Jul 2021 14:06:44 -0700
+Subject: [PATCH] layer4: Change order of include files
+
+curent order to include standard headers first is causing an isue with
+glibc 2.34 + kernel-headers 5.13+ where order of including netinet/in.h
+and linux/in.h matters and it does not define __UAPI_DEF_IN_IPPROTO
+before including linux/in.h and then later includes netinet/in.h which
+then means lot of definitions will be defined twice and compile would
+fail. Re-ordering the local headers to appear first solves the issue
+amicably, and I think this is right order too
+
+Upsteam-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ keepalived/core/layer4.c | 21 ++++++++++-----------
+ 1 file changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/keepalived/core/layer4.c b/keepalived/core/layer4.c
+index 90cdc84..c122c29 100644
+--- a/keepalived/core/layer4.c
++++ b/keepalived/core/layer4.c
+@@ -23,6 +23,16 @@
+ 
+ #include "config.h"
+ 
++#include "layer4.h"
++#include "logger.h"
++#include "scheduler.h"
++#ifdef _WITH_LVS_
++#include "check_api.h"
++#endif
++#include "bitops.h"
++#include "utils.h"
++#include "align.h"
++
+ #include <stdio.h>
+ #include <errno.h>
+ #include <unistd.h>
+@@ -33,17 +43,6 @@
+ #include <sys/time.h>
+ #endif
+ #include <linux/errqueue.h>
+-#include <netinet/in.h>
+-
+-#include "layer4.h"
+-#include "logger.h"
+-#include "scheduler.h"
+-#ifdef _WITH_LVS_
+-#include "check_api.h"
+-#endif
+-#include "bitops.h"
+-#include "utils.h"
+-#include "align.h"
+ 
+ // #define ICMP_DEBUG	1
+ 
diff --git a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.2.1.bb b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.2.2.bb
similarity index 87%
rename from meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.2.1.bb
rename to meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.2.2.bb
index a778d26..f0cbca1 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.2.1.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.2.2.bb
@@ -10,8 +10,10 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
-SRC_URI[sha256sum] = "91186f20c83ffc48d7a15a9a6e2329ed4feeb2dcb51f4aa9672c8840190ea741"
+SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz \
+           file://0001-layer4-Change-order-of-include-files.patch \
+           "
+SRC_URI[sha256sum] = "103692bd5345a4ed9f4581632ea636214fdf53e45682e200aab122c4fa674ece"
 UPSTREAM_CHECK_URI = "https://github.com/acassen/keepalived/releases"
 
 DEPENDS = "libnfnetlink openssl"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.21.03.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.21.06.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.21.03.bb
rename to meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.21.06.bb
index 118c5fe..a971677 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.21.03.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.21.06.bb
@@ -29,8 +29,8 @@
            file://0001-Fix-build-with-fno-common.patch \
            file://0001-Use-correct-printf-format-for-__fsblkcnt_t.patch \
            "
-SRC_URI[md5sum] = "0433650ba9c25f2cf36145e11bf96a2a"
-SRC_URI[sha256sum] = "ed40386852e34bbec0ca7e9534ce315b93a17b587614c8118aea1ecd082e1723"
+SRC_URI[md5sum] = "a60775787ba520a0b1031fcd42e0d65b"
+SRC_URI[sha256sum] = "d29d124506e4b084285d27c8742c7bca66de80be6a0ba9de8e37835ccaa8ee57"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/opensaf/files/releases"
 
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch b/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch
new file mode 100644
index 0000000..e583354
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch
@@ -0,0 +1,101 @@
+From 1e451ddc15af1a4e19318c8b1ced46c5c41610d3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 14 Jul 2021 18:08:30 -0700
+Subject: [PATCH] correct signature of closefrom() API
+
+glibc 2.34 introduced this function and finds this error which has been
+all along.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util/sys_compat.c |  6 +++---
+ src/util/sys_defs.h   | 12 ++++++------
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/util/sys_compat.c b/src/util/sys_compat.c
+index 8bf8e58..c87f043 100644
+--- a/src/util/sys_compat.c
++++ b/src/util/sys_compat.c
+@@ -286,7 +286,7 @@ int     dup2_pass_on_exec(int oldd, int newd)
+ 
+ /* closefrom() - closes all file descriptors from the given one up */
+ 
+-int     closefrom(int lowfd)
++void     closefrom(int lowfd)
+ {
+     int     fd_limit = open_limit(0);
+     int     fd;
+@@ -298,14 +298,14 @@ int     closefrom(int lowfd)
+      */
+     if (lowfd < 0) {
+ 	errno = EBADF;
+-	return (-1);
++	return;
+     }
+     if (fd_limit > 500)
+ 	fd_limit = 500;
+     for (fd = lowfd; fd < fd_limit; fd++)
+ 	(void) close(fd);
+ 
+-    return (0);
++    return;
+ }
+ 
+ #endif
+diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h
+index 2e1c953..515de6c 100644
+--- a/src/util/sys_defs.h
++++ b/src/util/sys_defs.h
+@@ -1509,7 +1509,7 @@ extern int setsid(void);
+ #endif
+ 
+ #ifndef HAS_CLOSEFROM
+-extern int closefrom(int);
++extern void closefrom(int);
+ 
+ #endif
+ 
+@@ -1563,7 +1563,7 @@ typedef int pid_t;
+ 
+  /*
+   * Clang-style attribute tests.
+-  * 
++  *
+   * XXX Without the unconditional test below, gcc 4.6 will barf on ``elif
+   * defined(__clang__) && __has_attribute(__whatever__)'' with error message
+   * ``missing binary operator before token "("''.
+@@ -1577,7 +1577,7 @@ typedef int pid_t;
+   * warn for missing initializations and other trouble. However, OPENSTEP4
+   * gcc 2.7.x cannot handle this so we define this only if NORETURN isn't
+   * already defined above.
+-  * 
++  *
+   * Data point: gcc 2.7.2 has __attribute__ (Wietse Venema) but gcc 2.6.3 does
+   * not (Clive Jones). So we'll set the threshold at 2.7.
+   */
+@@ -1653,12 +1653,12 @@ typedef int pid_t;
+   * write to output parameters (for example, stat- or scanf-like functions)
+   * or from functions that have other useful side effects (for example,
+   * fseek- or rename-like functions).
+-  * 
++  *
+   * DO NOT use this for functions that write to a stream; it is entirely
+   * legitimate to detect write errors with fflush() or fclose() only. On the
+   * other hand most (but not all) functions that read from a stream must
+   * never ignore result values.
+-  * 
++  *
+   * XXX Prepending "(void)" won't shut up GCC. Clang behaves as expected.
+   */
+ #if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3)
+@@ -1739,7 +1739,7 @@ typedef const char *CONST_CHAR_STAR;
+   * Safety. On some systems, ctype.h misbehaves with non-ASCII or negative
+   * characters. More importantly, Postfix uses the ISXXX() macros to ensure
+   * protocol compliance, so we have to rule out non-ASCII characters.
+-  * 
++  *
+   * XXX The (unsigned char) casts in isalnum() etc arguments are unnecessary
+   * because the ISASCII() guard already ensures that the values are
+   * non-negative; the casts are done anyway to shut up chatty compilers.
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb
similarity index 81%
rename from meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb
rename to meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb
index db5b41b..c139f06 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb
@@ -13,6 +13,7 @@
            file://postfix-install.patch \
            file://icu-config.patch \
            file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
+           file://0007-correct-signature-of-closefrom-API.patch \
            "
-SRC_URI[sha256sum] = "18555183ae8b52a9e76067799279c86f9f2770cdef3836deb8462ee0a0855dec"
+SRC_URI[sha256sum] = "20a805625601e7b95989220832c8fa14ce374f0711da054188f8cec6a92fd71c"
 UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz"
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch
index f49ef2a..6232820 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch
+++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch
@@ -1,6 +1,6 @@
-From e03b003610a176d608da9a02e433e7ded7e4b75f Mon Sep 17 00:00:00 2001
-From: Todd Cunningham <tcunningham07@gmail.com>
-Date: Wed, 11 Dec 2019 10:18:56 +1000
+From c29959e045dd09d0b5727682d4e9dbc10923ac4f Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <trevor.gamblin@windriver.com>
+Date: Wed, 2 Jun 2021 11:08:51 -0400
 Subject: [PATCH] avoid naming local function as one of printf family
 
 Fixes build issues with clang
@@ -11,6 +11,10 @@
 
 Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
 Signed-off-by: Todd Cunningham <tcunningham07@gmail.com>
+
+Use wiggle to get the patch to apply for version 1.2.0.
+
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
 ---
  include/expr_ops.h      | 2 +-
  include/obj.h           | 2 +-
@@ -62,56 +66,56 @@
  src/obj/synproxy.c      | 2 +-
  src/obj/tunnel.c        | 2 +-
  src/object.c            | 2 +-
- 49 files changed, 50 insertions(+), 50 deletions(-)
+ 50 files changed, 51 insertions(+), 51 deletions(-)
 
 diff --git a/include/expr_ops.h b/include/expr_ops.h
-index a7f1b9a..d2946de 100644
+index 7a6aa23..d3a2855 100644
 --- a/include/expr_ops.h
 +++ b/include/expr_ops.h
-@@ -17,7 +17,7 @@ struct expr_ops {
+@@ -18,7 +18,7 @@ struct expr_ops {
  	const void *(*get)(const struct nftnl_expr *e, uint16_t type, uint32_t *data_len);
  	int 	(*parse)(struct nftnl_expr *e, struct nlattr *attr);
  	void	(*build)(struct nlmsghdr *nlh, const struct nftnl_expr *e);
--	int	(*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e);
-+	int	(*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e);
+-	int	(*snprintf)(char *buf, size_t len, uint32_t flags, const struct nftnl_expr *e);
++	int	(*snprintf_)(char *buf, size_t len, uint32_t flags, const struct nftnl_expr *e);
  };
  
  struct expr_ops *nftnl_expr_ops_lookup(const char *name);
 diff --git a/include/obj.h b/include/obj.h
-index 9394d79..08610d7 100644
+index 60dc853..1c1c3c1 100644
 --- a/include/obj.h
 +++ b/include/obj.h
-@@ -99,7 +99,7 @@ struct obj_ops {
+@@ -109,7 +109,7 @@ struct obj_ops {
  	const void *(*get)(const struct nftnl_obj *e, uint16_t type, uint32_t *data_len);
  	int	(*parse)(struct nftnl_obj *e, struct nlattr *attr);
  	void	(*build)(struct nlmsghdr *nlh, const struct nftnl_obj *e);
--	int	(*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e);
-+	int	(*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e);
+-	int	(*snprintf)(char *buf, size_t len, uint32_t flags, const struct nftnl_obj *e);
++	int	(*snprintf_)(char *buf, size_t len, uint32_t flags, const struct nftnl_obj *e);
  };
  
  extern struct obj_ops obj_ops_counter;
 diff --git a/src/expr.c b/src/expr.c
-index 80c4c36..b698a60 100644
+index 277bbde..2231b21 100644
 --- a/src/expr.c
 +++ b/src/expr.c
-@@ -275,10 +275,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
- 	if (size)
+@@ -279,10 +279,10 @@ int nftnl_expr_snprintf(char *buf, size_t remain, const struct nftnl_expr *expr,
+ 	if (remain)
  		buf[0] = '\0';
  
--	if (!expr->ops->snprintf)
-+	if (!expr->ops->snprintf_)
+-	if (!expr->ops->snprintf || type != NFTNL_OUTPUT_DEFAULT)
++	if (!expr->ops->snprintf_ || type != NFTNL_OUTPUT_DEFAULT)
  		return 0;
  
--	ret = expr->ops->snprintf(buf + offset, remain, type, flags, expr);
-+	ret = expr->ops->snprintf_(buf + offset, remain, type, flags, expr);
+-	ret = expr->ops->snprintf(buf + offset, remain, flags, expr);
++	ret = expr->ops->snprintf_(buf + offset, remain, flags, expr);
  	SNPRINTF_BUFFER_SIZE(ret, remain, offset);
  
  	return offset;
 diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c
-index c9d40df..27d644b 100644
+index d0c7827..eded505 100644
 --- a/src/expr/bitwise.c
 +++ b/src/expr/bitwise.c
-@@ -219,5 +219,5 @@ struct expr_ops expr_ops_bitwise = {
+@@ -282,5 +282,5 @@ struct expr_ops expr_ops_bitwise = {
  	.get		= nftnl_expr_bitwise_get,
  	.parse		= nftnl_expr_bitwise_parse,
  	.build		= nftnl_expr_bitwise_build,
@@ -119,10 +123,10 @@
 +	.snprintf_	= nftnl_expr_bitwise_snprintf,
  };
 diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c
-index efdfa2b..7ae9dfb 100644
+index d299745..0068ab2 100644
 --- a/src/expr/byteorder.c
 +++ b/src/expr/byteorder.c
-@@ -234,5 +234,5 @@ struct expr_ops expr_ops_byteorder = {
+@@ -220,5 +220,5 @@ struct expr_ops expr_ops_byteorder = {
  	.get		= nftnl_expr_byteorder_get,
  	.parse		= nftnl_expr_byteorder_parse,
  	.build		= nftnl_expr_byteorder_build,
@@ -130,10 +134,10 @@
 +	.snprintf_	= nftnl_expr_byteorder_snprintf,
  };
 diff --git a/src/expr/cmp.c b/src/expr/cmp.c
-index 86d7842..e3be442 100644
+index 6030693..7e548e6 100644
 --- a/src/expr/cmp.c
 +++ b/src/expr/cmp.c
-@@ -216,5 +216,5 @@ struct expr_ops expr_ops_cmp = {
+@@ -202,5 +202,5 @@ struct expr_ops expr_ops_cmp = {
  	.get		= nftnl_expr_cmp_get,
  	.parse		= nftnl_expr_cmp_parse,
  	.build		= nftnl_expr_cmp_build,
@@ -141,10 +145,10 @@
 +	.snprintf_	= nftnl_expr_cmp_snprintf,
  };
 diff --git a/src/expr/connlimit.c b/src/expr/connlimit.c
-index 53af93b..6c8bc40 100644
+index 3b37587..39b7092 100644
 --- a/src/expr/connlimit.c
 +++ b/src/expr/connlimit.c
-@@ -149,5 +149,5 @@ struct expr_ops expr_ops_connlimit = {
+@@ -135,5 +135,5 @@ struct expr_ops expr_ops_connlimit = {
  	.get		= nftnl_expr_connlimit_get,
  	.parse		= nftnl_expr_connlimit_parse,
  	.build		= nftnl_expr_connlimit_build,
@@ -152,10 +156,10 @@
 +	.snprintf_  = nftnl_expr_connlimit_snprintf,
  };
 diff --git a/src/expr/counter.c b/src/expr/counter.c
-index 89a602e..a32a69e 100644
+index 1676d70..42c96d9 100644
 --- a/src/expr/counter.c
 +++ b/src/expr/counter.c
-@@ -147,5 +147,5 @@ struct expr_ops expr_ops_counter = {
+@@ -133,5 +133,5 @@ struct expr_ops expr_ops_counter = {
  	.get		= nftnl_expr_counter_get,
  	.parse		= nftnl_expr_counter_parse,
  	.build		= nftnl_expr_counter_build,
@@ -163,10 +167,10 @@
 +	.snprintf_	= nftnl_expr_counter_snprintf,
  };
 diff --git a/src/expr/ct.c b/src/expr/ct.c
-index 124de9d..7bde179 100644
+index d5dfc81..8c15db1 100644
 --- a/src/expr/ct.c
 +++ b/src/expr/ct.c
-@@ -273,5 +273,5 @@ struct expr_ops expr_ops_ct = {
+@@ -258,5 +258,5 @@ struct expr_ops expr_ops_ct = {
  	.get		= nftnl_expr_ct_get,
  	.parse		= nftnl_expr_ct_parse,
  	.build		= nftnl_expr_ct_build,
@@ -174,10 +178,10 @@
 +	.snprintf_	= nftnl_expr_ct_snprintf,
  };
 diff --git a/src/expr/dup.c b/src/expr/dup.c
-index 2bb35e5..d9bd4b1 100644
+index f041b55..6238a43 100644
 --- a/src/expr/dup.c
 +++ b/src/expr/dup.c
-@@ -154,5 +154,5 @@ struct expr_ops expr_ops_dup = {
+@@ -138,5 +138,5 @@ struct expr_ops expr_ops_dup = {
  	.get		= nftnl_expr_dup_get,
  	.parse		= nftnl_expr_dup_parse,
  	.build		= nftnl_expr_dup_build,
@@ -185,10 +189,10 @@
 +	.snprintf_	= nftnl_expr_dup_snprintf,
  };
 diff --git a/src/expr/dynset.c b/src/expr/dynset.c
-index 68115ba..6e43bb4 100644
+index 85d64bb..9afbb94 100644
 --- a/src/expr/dynset.c
 +++ b/src/expr/dynset.c
-@@ -288,5 +288,5 @@ struct expr_ops expr_ops_dynset = {
+@@ -373,5 +373,5 @@ struct expr_ops expr_ops_dynset = {
  	.get		= nftnl_expr_dynset_get,
  	.parse		= nftnl_expr_dynset_parse,
  	.build		= nftnl_expr_dynset_build,
@@ -196,10 +200,10 @@
 +	.snprintf_	= nftnl_expr_dynset_snprintf,
  };
 diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c
-index e5f714b..e68792b 100644
+index 1b813b1..25f1491 100644
 --- a/src/expr/exthdr.c
 +++ b/src/expr/exthdr.c
-@@ -276,5 +276,5 @@ struct expr_ops expr_ops_exthdr = {
+@@ -262,5 +262,5 @@ struct expr_ops expr_ops_exthdr = {
  	.get		= nftnl_expr_exthdr_get,
  	.parse		= nftnl_expr_exthdr_parse,
  	.build		= nftnl_expr_exthdr_build,
@@ -207,10 +211,10 @@
 +	.snprintf_	= nftnl_expr_exthdr_snprintf,
  };
 diff --git a/src/expr/fib.c b/src/expr/fib.c
-index 9475af4..8e7090d 100644
+index aaff52a..3916e18 100644
 --- a/src/expr/fib.c
 +++ b/src/expr/fib.c
-@@ -213,5 +213,5 @@ struct expr_ops expr_ops_fib = {
+@@ -198,5 +198,5 @@ struct expr_ops expr_ops_fib = {
  	.get		= nftnl_expr_fib_get,
  	.parse		= nftnl_expr_fib_parse,
  	.build		= nftnl_expr_fib_build,
@@ -218,10 +222,10 @@
 +	.snprintf_	= nftnl_expr_fib_snprintf,
  };
 diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c
-index 6ccec9a..c2f2478 100644
+index a826202..c1ca678 100644
 --- a/src/expr/flow_offload.c
 +++ b/src/expr/flow_offload.c
-@@ -134,5 +134,5 @@ struct expr_ops expr_ops_flow = {
+@@ -120,5 +120,5 @@ struct expr_ops expr_ops_flow = {
  	.get		= nftnl_expr_flow_get,
  	.parse		= nftnl_expr_flow_parse,
  	.build		= nftnl_expr_flow_build,
@@ -229,10 +233,10 @@
 +	.snprintf_	= nftnl_expr_flow_snprintf,
  };
 diff --git a/src/expr/fwd.c b/src/expr/fwd.c
-index cff8235..bcd7d3f 100644
+index 82e5a41..4e80687 100644
 --- a/src/expr/fwd.c
 +++ b/src/expr/fwd.c
-@@ -174,5 +174,5 @@ struct expr_ops expr_ops_fwd = {
+@@ -158,5 +158,5 @@ struct expr_ops expr_ops_fwd = {
  	.get		= nftnl_expr_fwd_get,
  	.parse		= nftnl_expr_fwd_parse,
  	.build		= nftnl_expr_fwd_build,
@@ -240,10 +244,10 @@
 +	.snprintf_	= nftnl_expr_fwd_snprintf,
  };
 diff --git a/src/expr/hash.c b/src/expr/hash.c
-index 2c801d2..a9f6e7e 100644
+index 10b4a72..84ace31 100644
 --- a/src/expr/hash.c
 +++ b/src/expr/hash.c
-@@ -241,5 +241,5 @@ struct expr_ops expr_ops_hash = {
+@@ -226,5 +226,5 @@ struct expr_ops expr_ops_hash = {
  	.get		= nftnl_expr_hash_get,
  	.parse		= nftnl_expr_hash_parse,
  	.build		= nftnl_expr_hash_build,
@@ -251,10 +255,10 @@
 +	.snprintf_	= nftnl_expr_hash_snprintf,
  };
 diff --git a/src/expr/immediate.c b/src/expr/immediate.c
-index 47106ae..ea86c88 100644
+index 94b043c..a8a3c1f 100644
 --- a/src/expr/immediate.c
 +++ b/src/expr/immediate.c
-@@ -235,5 +235,5 @@ struct expr_ops expr_ops_immediate = {
+@@ -229,5 +229,5 @@ struct expr_ops expr_ops_immediate = {
  	.get		= nftnl_expr_immediate_get,
  	.parse		= nftnl_expr_immediate_parse,
  	.build		= nftnl_expr_immediate_build,
@@ -262,10 +266,10 @@
 +	.snprintf_	= nftnl_expr_immediate_snprintf,
  };
 diff --git a/src/expr/limit.c b/src/expr/limit.c
-index 5872e27..0ce482f 100644
+index 3dfd54a..f652df0 100644
 --- a/src/expr/limit.c
 +++ b/src/expr/limit.c
-@@ -216,5 +216,5 @@ struct expr_ops expr_ops_limit = {
+@@ -202,5 +202,5 @@ struct expr_ops expr_ops_limit = {
  	.get		= nftnl_expr_limit_get,
  	.parse		= nftnl_expr_limit_parse,
  	.build		= nftnl_expr_limit_build,
@@ -273,10 +277,10 @@
 +	.snprintf_	= nftnl_expr_limit_snprintf,
  };
 diff --git a/src/expr/log.c b/src/expr/log.c
-index bbe43d2..5506bc2 100644
+index 86db548..d96b7ce 100644
 --- a/src/expr/log.c
 +++ b/src/expr/log.c
-@@ -267,5 +267,5 @@ struct expr_ops expr_ops_log = {
+@@ -253,5 +253,5 @@ struct expr_ops expr_ops_log = {
  	.get		= nftnl_expr_log_get,
  	.parse		= nftnl_expr_log_parse,
  	.build		= nftnl_expr_log_build,
@@ -284,10 +288,10 @@
 +	.snprintf_	= nftnl_expr_log_snprintf,
  };
 diff --git a/src/expr/lookup.c b/src/expr/lookup.c
-index a495ac0..678868c 100644
+index 83adce9..1fbace4 100644
 --- a/src/expr/lookup.c
 +++ b/src/expr/lookup.c
-@@ -221,5 +221,5 @@ struct expr_ops expr_ops_lookup = {
+@@ -206,5 +206,5 @@ struct expr_ops expr_ops_lookup = {
  	.get		= nftnl_expr_lookup_get,
  	.parse		= nftnl_expr_lookup_parse,
  	.build		= nftnl_expr_lookup_build,
@@ -295,10 +299,10 @@
 +	.snprintf_	= nftnl_expr_lookup_snprintf,
  };
 diff --git a/src/expr/masq.c b/src/expr/masq.c
-index f6f3ceb..88292a6 100644
+index 684708c..1ce099c 100644
 --- a/src/expr/masq.c
 +++ b/src/expr/masq.c
-@@ -169,5 +169,5 @@ struct expr_ops expr_ops_masq = {
+@@ -163,5 +163,5 @@ struct expr_ops expr_ops_masq = {
  	.get		= nftnl_expr_masq_get,
  	.parse		= nftnl_expr_masq_parse,
  	.build		= nftnl_expr_masq_build,
@@ -306,10 +310,10 @@
 +	.snprintf_	= nftnl_expr_masq_snprintf,
  };
 diff --git a/src/expr/match.c b/src/expr/match.c
-index 4fa74b2..249c6b5 100644
+index 533fdf5..8561986 100644
 --- a/src/expr/match.c
 +++ b/src/expr/match.c
-@@ -198,5 +198,5 @@ struct expr_ops expr_ops_match = {
+@@ -189,5 +189,5 @@ struct expr_ops expr_ops_match = {
  	.get		= nftnl_expr_match_get,
  	.parse		= nftnl_expr_match_parse,
  	.build		= nftnl_expr_match_build,
@@ -317,10 +321,10 @@
 +	.snprintf_	= nftnl_expr_match_snprintf,
  };
 diff --git a/src/expr/meta.c b/src/expr/meta.c
-index 73f6efa..35d5ec5 100644
+index 34fbb9b..1ef79a4 100644
 --- a/src/expr/meta.c
 +++ b/src/expr/meta.c
-@@ -226,5 +226,5 @@ struct expr_ops expr_ops_meta = {
+@@ -216,5 +216,5 @@ struct expr_ops expr_ops_meta = {
  	.get		= nftnl_expr_meta_get,
  	.parse		= nftnl_expr_meta_parse,
  	.build		= nftnl_expr_meta_build,
@@ -328,10 +332,10 @@
 +	.snprintf_	= nftnl_expr_meta_snprintf,
  };
 diff --git a/src/expr/nat.c b/src/expr/nat.c
-index 6b7d50e..be4a579 100644
+index 0a9cdd7..bc4a3fa 100644
 --- a/src/expr/nat.c
 +++ b/src/expr/nat.c
-@@ -279,5 +279,5 @@ struct expr_ops expr_ops_nat = {
+@@ -274,5 +274,5 @@ struct expr_ops expr_ops_nat = {
  	.get		= nftnl_expr_nat_get,
  	.parse		= nftnl_expr_nat_parse,
  	.build		= nftnl_expr_nat_build,
@@ -339,10 +343,10 @@
 +	.snprintf_	= nftnl_expr_nat_snprintf,
  };
 diff --git a/src/expr/numgen.c b/src/expr/numgen.c
-index 4e0d541..5995ee3 100644
+index 159dfec..99bb442 100644
 --- a/src/expr/numgen.c
 +++ b/src/expr/numgen.c
-@@ -195,5 +195,5 @@ struct expr_ops expr_ops_ng = {
+@@ -180,5 +180,5 @@ struct expr_ops expr_ops_ng = {
  	.get		= nftnl_expr_ng_get,
  	.parse		= nftnl_expr_ng_parse,
  	.build		= nftnl_expr_ng_build,
@@ -350,10 +354,10 @@
 +	.snprintf_	= nftnl_expr_ng_snprintf,
  };
 diff --git a/src/expr/objref.c b/src/expr/objref.c
-index 7388b18..e673ffd 100644
+index a4b6470..1b2d387 100644
 --- a/src/expr/objref.c
 +++ b/src/expr/objref.c
-@@ -210,5 +210,5 @@ struct expr_ops expr_ops_objref = {
+@@ -205,5 +205,5 @@ struct expr_ops expr_ops_objref = {
  	.get		= nftnl_expr_objref_get,
  	.parse		= nftnl_expr_objref_parse,
  	.build		= nftnl_expr_objref_build,
@@ -361,10 +365,10 @@
 +	.snprintf_	= nftnl_expr_objref_snprintf,
  };
 diff --git a/src/expr/osf.c b/src/expr/osf.c
-index 98d0df9..618b46e 100644
+index 215a681..75a6b3c 100644
 --- a/src/expr/osf.c
 +++ b/src/expr/osf.c
-@@ -161,5 +161,5 @@ struct expr_ops expr_ops_osf = {
+@@ -147,5 +147,5 @@ struct expr_ops expr_ops_osf = {
  	.get		= nftnl_expr_osf_get,
  	.parse		= nftnl_expr_osf_parse,
  	.build		= nftnl_expr_osf_build,
@@ -372,10 +376,10 @@
 +	.snprintf_	= nftnl_expr_osf_snprintf,
  };
 diff --git a/src/expr/payload.c b/src/expr/payload.c
-index 2192dad..37aacc4 100644
+index 9ccb78e..aa17025 100644
 --- a/src/expr/payload.c
 +++ b/src/expr/payload.c
-@@ -266,5 +266,5 @@ struct expr_ops expr_ops_payload = {
+@@ -258,5 +258,5 @@ struct expr_ops expr_ops_payload = {
  	.get		= nftnl_expr_payload_get,
  	.parse		= nftnl_expr_payload_parse,
  	.build		= nftnl_expr_payload_build,
@@ -383,10 +387,10 @@
 +	.snprintf_	= nftnl_expr_payload_snprintf,
  };
 diff --git a/src/expr/queue.c b/src/expr/queue.c
-index 051ef71..b06feff 100644
+index 8f70977..6bc76ef 100644
 --- a/src/expr/queue.c
 +++ b/src/expr/queue.c
-@@ -207,5 +207,5 @@ struct expr_ops expr_ops_queue = {
+@@ -193,5 +193,5 @@ struct expr_ops expr_ops_queue = {
  	.get		= nftnl_expr_queue_get,
  	.parse		= nftnl_expr_queue_parse,
  	.build		= nftnl_expr_queue_build,
@@ -394,10 +398,10 @@
 +	.snprintf_	= nftnl_expr_queue_snprintf,
  };
 diff --git a/src/expr/quota.c b/src/expr/quota.c
-index 39a92e6..41797be 100644
+index 8c841d8..1a5f2fa 100644
 --- a/src/expr/quota.c
 +++ b/src/expr/quota.c
-@@ -161,5 +161,5 @@ struct expr_ops expr_ops_quota = {
+@@ -147,5 +147,5 @@ struct expr_ops expr_ops_quota = {
  	.get		= nftnl_expr_quota_get,
  	.parse		= nftnl_expr_quota_parse,
  	.build		= nftnl_expr_quota_build,
@@ -405,10 +409,10 @@
 +	.snprintf_	= nftnl_expr_quota_snprintf,
  };
 diff --git a/src/expr/range.c b/src/expr/range.c
-index d1d5083..b619cdf 100644
+index f76843a..73a1930 100644
 --- a/src/expr/range.c
 +++ b/src/expr/range.c
-@@ -227,5 +227,5 @@ struct expr_ops expr_ops_range = {
+@@ -213,5 +213,5 @@ struct expr_ops expr_ops_range = {
  	.get		= nftnl_expr_range_get,
  	.parse		= nftnl_expr_range_parse,
  	.build		= nftnl_expr_range_build,
@@ -416,10 +420,10 @@
 +	.snprintf_	= nftnl_expr_range_snprintf,
  };
 diff --git a/src/expr/redir.c b/src/expr/redir.c
-index 477659a..5c4ebeb 100644
+index 4f56cb4..51ec71c 100644
 --- a/src/expr/redir.c
 +++ b/src/expr/redir.c
-@@ -181,5 +181,5 @@ struct expr_ops expr_ops_redir = {
+@@ -167,5 +167,5 @@ struct expr_ops expr_ops_redir = {
  	.get		= nftnl_expr_redir_get,
  	.parse		= nftnl_expr_redir_parse,
  	.build		= nftnl_expr_redir_build,
@@ -427,10 +431,10 @@
 +	.snprintf_	= nftnl_expr_redir_snprintf,
  };
 diff --git a/src/expr/reject.c b/src/expr/reject.c
-index 141942e..a98990d 100644
+index 716d25c..acf32c2 100644
 --- a/src/expr/reject.c
 +++ b/src/expr/reject.c
-@@ -148,5 +148,5 @@ struct expr_ops expr_ops_reject = {
+@@ -134,5 +134,5 @@ struct expr_ops expr_ops_reject = {
  	.get		= nftnl_expr_reject_get,
  	.parse		= nftnl_expr_reject_parse,
  	.build		= nftnl_expr_reject_build,
@@ -438,10 +442,10 @@
 +	.snprintf_	= nftnl_expr_reject_snprintf,
  };
 diff --git a/src/expr/rt.c b/src/expr/rt.c
-index 0fce72d..32ace19 100644
+index 1ad9b2a..9f2fdf3 100644
 --- a/src/expr/rt.c
 +++ b/src/expr/rt.c
-@@ -177,5 +177,5 @@ struct expr_ops expr_ops_rt = {
+@@ -162,5 +162,5 @@ struct expr_ops expr_ops_rt = {
  	.get		= nftnl_expr_rt_get,
  	.parse		= nftnl_expr_rt_parse,
  	.build		= nftnl_expr_rt_build,
@@ -449,10 +453,10 @@
 +	.snprintf_	= nftnl_expr_rt_snprintf,
  };
 diff --git a/src/expr/socket.c b/src/expr/socket.c
-index 96550d5..2394dbf 100644
+index 02d86f8..49a126b 100644
 --- a/src/expr/socket.c
 +++ b/src/expr/socket.c
-@@ -174,5 +174,5 @@ struct expr_ops expr_ops_socket = {
+@@ -165,5 +165,5 @@ struct expr_ops expr_ops_socket = {
  	.get		= nftnl_expr_socket_get,
  	.parse		= nftnl_expr_socket_parse,
  	.build		= nftnl_expr_socket_build,
@@ -460,10 +464,10 @@
 +	.snprintf_	= nftnl_expr_socket_snprintf,
  };
 diff --git a/src/expr/synproxy.c b/src/expr/synproxy.c
-index 245f4fb..9721029 100644
+index 630f3f4..b22ad2f 100644
 --- a/src/expr/synproxy.c
 +++ b/src/expr/synproxy.c
-@@ -166,5 +166,5 @@ struct expr_ops expr_ops_synproxy = {
+@@ -152,5 +152,5 @@ struct expr_ops expr_ops_synproxy = {
  	.get		= nftnl_expr_synproxy_get,
  	.parse		= nftnl_expr_synproxy_parse,
  	.build		= nftnl_expr_synproxy_build,
@@ -471,10 +475,10 @@
 +	.snprintf_	= nftnl_expr_synproxy_snprintf,
  };
 diff --git a/src/expr/target.c b/src/expr/target.c
-index 9100038..7180085 100644
+index b7c595a..31a039c 100644
 --- a/src/expr/target.c
 +++ b/src/expr/target.c
-@@ -198,5 +198,5 @@ struct expr_ops expr_ops_target = {
+@@ -189,5 +189,5 @@ struct expr_ops expr_ops_target = {
  	.get		= nftnl_expr_target_get,
  	.parse		= nftnl_expr_target_parse,
  	.build		= nftnl_expr_target_build,
@@ -482,10 +486,10 @@
 +	.snprintf_	= nftnl_expr_target_snprintf,
  };
 diff --git a/src/expr/tproxy.c b/src/expr/tproxy.c
-index 3827b75..feabbbe 100644
+index d3ee8f8..1b01591 100644
 --- a/src/expr/tproxy.c
 +++ b/src/expr/tproxy.c
-@@ -183,5 +183,5 @@ struct expr_ops expr_ops_tproxy = {
+@@ -170,5 +170,5 @@ struct expr_ops expr_ops_tproxy = {
  	.get		= nftnl_expr_tproxy_get,
  	.parse		= nftnl_expr_tproxy_parse,
  	.build		= nftnl_expr_tproxy_build,
@@ -493,10 +497,10 @@
 +	.snprintf_	= nftnl_expr_tproxy_snprintf,
  };
 diff --git a/src/expr/tunnel.c b/src/expr/tunnel.c
-index b2b8d72..1ed46d3 100644
+index 1460fd2..6c2f653 100644
 --- a/src/expr/tunnel.c
 +++ b/src/expr/tunnel.c
-@@ -173,5 +173,5 @@ struct expr_ops expr_ops_tunnel = {
+@@ -145,5 +145,5 @@ struct expr_ops expr_ops_tunnel = {
  	.get		= nftnl_expr_tunnel_get,
  	.parse		= nftnl_expr_tunnel_parse,
  	.build		= nftnl_expr_tunnel_build,
@@ -504,10 +508,10 @@
 +	.snprintf_	= nftnl_expr_tunnel_snprintf,
  };
 diff --git a/src/expr/xfrm.c b/src/expr/xfrm.c
-index 8fe5438..b6b2772 100644
+index c81d14d..e648ee5 100644
 --- a/src/expr/xfrm.c
 +++ b/src/expr/xfrm.c
-@@ -239,5 +239,5 @@ struct expr_ops expr_ops_xfrm = {
+@@ -196,5 +196,5 @@ struct expr_ops expr_ops_xfrm = {
  	.get		= nftnl_expr_xfrm_get,
  	.parse		= nftnl_expr_xfrm_parse,
  	.build		= nftnl_expr_xfrm_build,
@@ -515,10 +519,10 @@
 +	.snprintf_	= nftnl_expr_xfrm_snprintf,
  };
 diff --git a/src/obj/counter.c b/src/obj/counter.c
-index 1baba4e..3710bce 100644
+index ef0cd20..0c199f7 100644
 --- a/src/obj/counter.c
 +++ b/src/obj/counter.c
-@@ -145,5 +145,5 @@ struct obj_ops obj_ops_counter = {
+@@ -127,5 +127,5 @@ struct obj_ops obj_ops_counter = {
  	.get		= nftnl_obj_counter_get,
  	.parse		= nftnl_obj_counter_parse,
  	.build		= nftnl_obj_counter_build,
@@ -526,10 +530,10 @@
 +	.snprintf_	= nftnl_obj_counter_snprintf,
  };
 diff --git a/src/obj/ct_expect.c b/src/obj/ct_expect.c
-index c0bb5ba..953c08c 100644
+index 8136ad9..b3e1d70 100644
 --- a/src/obj/ct_expect.c
 +++ b/src/obj/ct_expect.c
-@@ -209,5 +209,5 @@ struct obj_ops obj_ops_ct_expect = {
+@@ -196,5 +196,5 @@ struct obj_ops obj_ops_ct_expect = {
  	.get		= nftnl_obj_ct_expect_get,
  	.parse		= nftnl_obj_ct_expect_parse,
  	.build		= nftnl_obj_ct_expect_build,
@@ -537,10 +541,10 @@
 +	.snprintf_	= nftnl_obj_ct_expect_snprintf,
  };
 diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c
-index d91f636..2037461 100644
+index c52032a..12b783c 100644
 --- a/src/obj/ct_helper.c
 +++ b/src/obj/ct_helper.c
-@@ -166,5 +166,5 @@ struct obj_ops obj_ops_ct_helper = {
+@@ -150,5 +150,5 @@ struct obj_ops obj_ops_ct_helper = {
  	.get		= nftnl_obj_ct_helper_get,
  	.parse		= nftnl_obj_ct_helper_parse,
  	.build		= nftnl_obj_ct_helper_build,
@@ -548,10 +552,10 @@
 +	.snprintf_	= nftnl_obj_ct_helper_snprintf,
  };
 diff --git a/src/obj/ct_timeout.c b/src/obj/ct_timeout.c
-index e2e9991..a4f2dd2 100644
+index 1d4f8fb..0a12883 100644
 --- a/src/obj/ct_timeout.c
 +++ b/src/obj/ct_timeout.c
-@@ -330,5 +330,5 @@ struct obj_ops obj_ops_ct_timeout = {
+@@ -316,5 +316,5 @@ struct obj_ops obj_ops_ct_timeout = {
  	.get		= nftnl_obj_ct_timeout_get,
  	.parse		= nftnl_obj_ct_timeout_parse,
  	.build		= nftnl_obj_ct_timeout_build,
@@ -559,10 +563,10 @@
 +	.snprintf_	= nftnl_obj_ct_timeout_snprintf,
  };
 diff --git a/src/obj/limit.c b/src/obj/limit.c
-index 60b0159..538f37a 100644
+index 8b40f9d..2f049b8 100644
 --- a/src/obj/limit.c
 +++ b/src/obj/limit.c
-@@ -185,5 +185,5 @@ struct obj_ops obj_ops_limit = {
+@@ -168,5 +168,5 @@ struct obj_ops obj_ops_limit = {
  	.get		= nftnl_obj_limit_get,
  	.parse		= nftnl_obj_limit_parse,
  	.build		= nftnl_obj_limit_build,
@@ -570,10 +574,10 @@
 +	.snprintf_	= nftnl_obj_limit_snprintf,
  };
 diff --git a/src/obj/quota.c b/src/obj/quota.c
-index 1914037..585a088 100644
+index 8ab3300..8666334 100644
 --- a/src/obj/quota.c
 +++ b/src/obj/quota.c
-@@ -161,5 +161,5 @@ struct obj_ops obj_ops_quota = {
+@@ -144,5 +144,5 @@ struct obj_ops obj_ops_quota = {
  	.get		= nftnl_obj_quota_get,
  	.parse		= nftnl_obj_quota_parse,
  	.build		= nftnl_obj_quota_build,
@@ -581,21 +585,32 @@
 +	.snprintf_	= nftnl_obj_quota_snprintf,
  };
 diff --git a/src/obj/secmark.c b/src/obj/secmark.c
-index e27b5fa..6241bee 100644
+index 2ccc803..e96e06f 100644
 --- a/src/obj/secmark.c
 +++ b/src/obj/secmark.c
-@@ -133,5 +133,5 @@ struct obj_ops obj_ops_secmark = {
+@@ -116,5 +116,5 @@ struct obj_ops obj_ops_secmark = {
  	.get		= nftnl_obj_secmark_get,
  	.parse		= nftnl_obj_secmark_parse,
  	.build		= nftnl_obj_secmark_build,
 -	.snprintf	= nftnl_obj_secmark_snprintf,
 +	.snprintf_	= nftnl_obj_secmark_snprintf,
  };
+diff --git a/src/obj/synproxy.c b/src/obj/synproxy.c
+index d689fee..d06cb6d 100644
+--- a/src/obj/synproxy.c
++++ b/src/obj/synproxy.c
+@@ -143,5 +143,5 @@ struct obj_ops obj_ops_synproxy = {
+ 	.get		= nftnl_obj_synproxy_get,
+ 	.parse		= nftnl_obj_synproxy_parse,
+ 	.build		= nftnl_obj_synproxy_build,
+-	.snprintf	= nftnl_obj_synproxy_snprintf,
++	.snprintf_	= nftnl_obj_synproxy_snprintf,
+ };
 diff --git a/src/obj/tunnel.c b/src/obj/tunnel.c
-index 7ffade8..800eb3e 100644
+index 5ede6bd..d3743ff 100644
 --- a/src/obj/tunnel.c
 +++ b/src/obj/tunnel.c
-@@ -564,5 +564,5 @@ struct obj_ops obj_ops_tunnel = {
+@@ -547,5 +547,5 @@ struct obj_ops obj_ops_tunnel = {
  	.get		= nftnl_obj_tunnel_get,
  	.parse		= nftnl_obj_tunnel_parse,
  	.build		= nftnl_obj_tunnel_build,
@@ -603,29 +618,18 @@
 +	.snprintf_	= nftnl_obj_tunnel_snprintf,
  };
 diff --git a/src/object.c b/src/object.c
-index d8c87ee..5307d7e 100644
+index 46e208b..d321c50 100644
 --- a/src/object.c
 +++ b/src/object.c
-@@ -370,7 +370,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size,
+@@ -396,7 +396,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t remain,
  	SNPRINTF_BUFFER_SIZE(ret, remain, offset);
  
  	if (obj->ops) {
--		ret = obj->ops->snprintf(buf + offset, offset, type, flags,
-+		ret = obj->ops->snprintf_(buf + offset, offset, type, flags,
- 					 obj);
+-		ret = obj->ops->snprintf(buf + offset, remain, flags, obj);
++		ret = obj->ops->snprintf_(buf + offset, remain, flags, obj);
  		SNPRINTF_BUFFER_SIZE(ret, remain, offset);
  	}
-diff --git a/src/obj/synproxy.c b/src/obj/synproxy.c
-index 56ebc85..6b5380f 100644
---- a/src/obj/synproxy.c
-+++ b/src/obj/synproxy.c
-@@ -157,5 +157,5 @@ struct obj_ops obj_ops_synproxy = {
- 	.get		= nftnl_obj_synproxy_get,
- 	.parse		= nftnl_obj_synproxy_parse,
- 	.build		= nftnl_obj_synproxy_build,
--	.snprintf	= nftnl_obj_synproxy_snprintf,
-+	.snprintf_	= nftnl_obj_synproxy_snprintf,
- };
+ 	ret = snprintf(buf + offset, remain, "]");
 -- 
-2.17.1
+2.31.1
 
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.9.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.0.bb
similarity index 88%
rename from meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.9.bb
rename to meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.0.bb
index 5532af8..2b90fdd 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.9.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.0.bb
@@ -4,7 +4,7 @@
 SECTION = "libs"
 DEPENDS = "libmnl"
 
-SRCREV = "c3fdda6ac8675aea9b35772458544f03157be415"
+SRCREV = "d45be40eef72f0d42a1ba82efddbb0970d4c760a"
 SRC_URI = "git://git.netfilter.org/libnftnl \
            file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \
            "
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.8.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.8.bb
rename to meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb
index 6990ae3..cbe2bb3 100644
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.8.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb
@@ -10,7 +10,7 @@
 UPSTREAM_CHECK_REGEX = "nftables-(?P<pver>\d+(\.\d+){2,}).tar.bz2"
 
 SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "60fc004656dae4fefc4901c939c9d64120b4dedb49738e420a9a34989f108fe4"
+SRC_URI[sha256sum] = "76ef2dc7fd0d79031a8369487739a217ca83996b3a746cec5bda79da11e3f1b4"
 
 inherit autotools manpages pkgconfig
 
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb
index 0525b41..01e3b74 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb
@@ -17,15 +17,11 @@
     "
 
 MAKE_TARGETS = "module"
+MODULES_INSTALL_TARGET = "module-install"
 
 RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit"
 MODULE_NAME = "wireguard"
 
-module_do_install() {
-    install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}
-    install -m 0644 ${MODULE_NAME}.ko \
-    ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko
-}
 
 # WireGuard has been merged into Linux kernel >= 5.6 and therefore this compatibility module is no longer required.
 # OE-core post dunfell has moved to use kernel 5.8 which now means we cant build this module in world builds
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
index da6d80e..022eb95 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch
@@ -1,6 +1,6 @@
-From b6a3d6c8af35f1ef27b80b0516742fce89f4eb29 Mon Sep 17 00:00:00 2001
-From: Marian Florea <marian.florea@windriver.com>
-Date: Thu, 20 Jul 2017 16:55:24 +0800
+From 1e3178835217ba89aa355e2b6b88e490f17be16d Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
+Date: Wed, 9 Jun 2021 15:47:30 +0900
 Subject: [PATCH] net snmp: fix engineBoots value on SIGHUP
 
 Upstream-Status: Pending
@@ -14,17 +14,17 @@
  2 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/agent/snmpd.c b/agent/snmpd.c
-index ae73eda..66b4560 100644
+index 1af439f..355b510 100644
 --- a/agent/snmpd.c
 +++ b/agent/snmpd.c
-@@ -1207,6 +1207,7 @@ receive(void)
+@@ -1208,6 +1208,7 @@ receive(void)
  	    snmp_log(LOG_INFO, "NET-SNMP version %s restarted\n",
  		     netsnmp_get_version());
              update_config();
-+            snmp_store(app_name);
++	    snmp_store(app_name);
              send_easy_trap(SNMP_TRAP_ENTERPRISESPECIFIC, 3);
- #if HAVE_SIGHOLD
-             sigrelse(SIGHUP);
+ #if HAVE_SIGPROCMASK
+             ret = sigprocmask(SIG_UNBLOCK, &set, NULL);
 diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c
 index 29c2a0f..ada961c 100644
 --- a/snmplib/snmpv3.c
@@ -41,3 +41,6 @@
          engineBoots = 1;
      }
  
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb
similarity index 89%
rename from meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb
rename to meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb
index de0aeee..ed7f842 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.1.bb
@@ -5,7 +5,8 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=9d100a395a38584f2ec18a8275261687"
 
-DEPENDS = "openssl libnl pciutils"
+DEPENDS = "openssl"
+DEPENDS_append_class-target = " pciutils"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
            file://init \
@@ -27,7 +28,7 @@
            file://reproducibility-have-printcap.patch \
            file://0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch \
            "
-SRC_URI[sha256sum] = "04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071"
+SRC_URI[sha256sum] = "eb7fd4a44de6cddbffd9a92a85ad1309e5c1054fb9d5a7dd93079c8953f48c3f"
 
 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/"
 UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/"
@@ -41,24 +42,23 @@
 
 TARGET_CC_ARCH += "${LDFLAGS}"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} des smux"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} des smux"
+PACKAGECONFIG[des] = "--enable-des, --disable-des"
 PACKAGECONFIG[elfutils] = "--with-elf, --without-elf, elfutils"
+PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6"
 PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
-
-PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no,\
-                       perl,"
-PACKAGECONFIG[des] = "--enable-des,--disable-des"
+PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no, perl"
 PACKAGECONFIG[smux] = ""
+PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd"
 
-EXTRA_OECONF = "--enable-shared \
-                --disable-manuals \
-                --with-defaults \
-                --with-install-prefix=${D} \
-                --with-persistent-directory=${localstatedir}/lib/net-snmp \
-                ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \
-                --with-mib-modules='${MIB_MODULES}' \
+EXTRA_OECONF = " \
+    --enable-shared \
+    --disable-manuals \
+    --with-defaults \
+    --with-install-prefix=${D} \
+    --with-persistent-directory=${localstatedir}/lib/net-snmp \
+    --with-endianness=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+    --with-mib-modules='${MIB_MODULES}' \
 "
 
 MIB_MODULES = ""
@@ -73,8 +73,10 @@
     ac_cv_file__etc_printcap=no \
     NETSNMP_CONFIGURE_OPTIONS= \
 "
-export PERLPROG="${bindir}/env perl"
+PERLPROG = "${bindir}/env perl"
+PERLPROG_class-native = "${bindir_native}/env perl"
 PERLPROG_append = "${@bb.utils.contains('PACKAGECONFIG', 'perl', ' -I${WORKDIR}', '', d)}"
+export PERLPROG
 
 HAS_PERL = "${@bb.utils.contains('PACKAGECONFIG', 'perl', '1', '0', d)}"
 
@@ -117,7 +119,7 @@
     install -d ${D}${systemd_unitdir}/system
     install -m 0644 ${WORKDIR}/snmpd.service ${D}${systemd_unitdir}/system
     install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system
-    sed    -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \
+    sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \
         -i ${D}${bindir}/net-snmp-create-v3-user
     sed -e 's@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g' \
         -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \
@@ -128,11 +130,14 @@
         -e 's@[^ ]*--with-install-prefix=[^ "]*@@g' \
         -e 's@[^ ]*PKG_CONFIG_PATH=[^ "]*@@g' \
         -e 's@[^ ]*PKG_CONFIG_LIBDIR=[^ "]*@@g' \
-        -e 's@${STAGING_DIR_HOST}@@g' \
         -i ${D}${bindir}/net-snmp-config
 
-    sed -e 's@${STAGING_DIR_HOST}@@g' \
-        -i ${D}${libdir}/pkgconfig/netsnmp*.pc
+    # ${STAGING_DIR_HOST} is empty for native builds, and the sed command below
+    # will result in errors if run for native.
+    if [ "${STAGING_DIR_HOST}" ]; then
+        sed -e 's@${STAGING_DIR_HOST}@@g' \
+            -i ${D}${bindir}/net-snmp-config ${D}${libdir}/pkgconfig/netsnmp*.pc
+    fi
 
     sed -e "s@^NSC_INCLUDEDIR=.*@NSC_INCLUDEDIR=\$\{includedir\}@g" \
         -e "s@^NSC_LIBDIR=-L.*@NSC_LIBDIR=-L\$\{libdir\}@g" \
@@ -234,8 +239,6 @@
 INITSCRIPT_NAME_${PN}-server-snmpd = "snmpd"
 INITSCRIPT_PARAMS_${PN}-server-snmpd = "start 90 2 3 4 5 . stop 60 0 1 6 ."
 
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemd', '--without-systemd', d)}"
-
 SYSTEMD_PACKAGES = "${PN}-server-snmpd \
                     ${PN}-server-snmptrapd"
 
@@ -275,3 +278,5 @@
 LEAD_SONAME = "libnetsnmp.so"
 
 MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/net-snmp-config"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb
index 41a9b8e..bf8b180 100644
--- a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb
+++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb
@@ -22,10 +22,21 @@
 
 inherit autotools pkgconfig
 
+do_configure_prepend() {
+    # want installed to /usr/sbin rather than /sbin to be DISTRO_FEATURES usrmerge compliant
+    # must override ROOTSBINDIR (default '/sbin'),
+    # setting --exec-prefix or --prefix in EXTRA_OECONF does not work
+    if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','fakse',d)}; then
+        export ROOTSBINDIR=${sbindir}
+    fi
+}
+
 do_install_append() {
-    # Remove empty /usr/bin and /usr/sbin directories since the mount helper
-    # is installed to /sbin
-    rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir}
+    if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)}; then
+        # Remove empty /usr/bin and /usr/sbin directories since the mount helper
+        # is installed to /sbin
+        rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir}
+    fi
 }
 
 FILES_${PN} += "${base_libdir}/security"
diff --git a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb
index 19ba2b1..26b4f5e 100644
--- a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb
+++ b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb
@@ -72,3 +72,6 @@
 FILES_${PN}-staticdev += "${libdir}/dovecot/*/*.a"
 FILES_${PN}-dev += "${libdir}/dovecot/libdovecot*.so"
 FILES_${PN}-dbg += "${libdir}/dovecot/*/.debug"
+
+# CVE-2016-4983 affects only postinstall script on specific distribution
+CVE_CHECK_WHITELIST += "CVE-2016-4983"
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch
similarity index 91%
rename from meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
rename to meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch
index 3f2921e..74f8d8a 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-do-not-import-target-module-while-cross-compile.patch
@@ -1,4 +1,4 @@
-From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From 00500909ebb0f51dd3b4e90c665f07158e7fe255 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Tue, 25 Jun 2019 14:25:08 +0800
 Subject: [PATCH] do not import target module while cross compile
@@ -10,12 +10,16 @@
 
 update to version 4.10.5, and switch to python3
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 ---
  buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
- 1 file changed, 18 insertions(+), 8 deletions(-)
+ 1 file changed, 19 insertions(+), 8 deletions(-)
 
 diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
-index 60ce7da..5468a36 100644
+index 5f080dd..cdc115e 100644
 --- a/buildtools/wafsamba/samba_bundled.py
 +++ b/buildtools/wafsamba/samba_bundled.py
 @@ -4,6 +4,7 @@ import sys
@@ -63,5 +67,5 @@
          Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
          sys.exit(1)
 -- 
-2.7.4
+2.17.1
 
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
deleted file mode 100644
index 45c5aca..0000000
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 25 Jan 2019 15:00:59 +0800
-Subject: [PATCH] waf: add support of cross_compile
-
-After upgrade, waf build system also upgraded.
-
-on 1.5.19, for cross_compile, subprocess.Popen is set to be
-samba_cross.cross_Popen, which will not execute testprog on
-host, but only read result from cross-answers.txt which is
-passed by option --cross-answer
-
-part of old code:
-    args = Utils.to_list(kw.get('exec_args', []))
-    proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
-
-but on new version, exec_args is not used and cause do_configure
-failed with Exec format error
-
-fixed by append cross anser related args to cmd
-
-Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
-index 7608215..767cf33 100644
---- a/third_party/waf/waflib/Tools/c_config.py
-+++ b/third_party/waf/waflib/Tools/c_config.py
-@@ -660,20 +660,21 @@ class test_exec(Task.Task):
- 	"""
- 	color = 'PINK'
- 	def run(self):
-+		args = self.generator.bld.kw.get('exec_args', [])
- 		if getattr(self.generator, 'rpath', None):
- 			if getattr(self.generator, 'define_ret', False):
--				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
--			else:
--				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
-+				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
-+			else: 
-+				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
- 		else:
- 			env = self.env.env or {}
- 			env.update(dict(os.environ))
- 			for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
- 				env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
- 			if getattr(self.generator, 'define_ret', False):
--				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
-+				self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
- 			else:
--				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
-+				self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
- 
- @feature('test_exec')
- @after_method('apply_link')
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch
similarity index 90%
rename from meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
rename to meta-openembedded/meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch
index bffd065..a55d46b 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0002-ldb-Add-configure-options-for-packages.patch
@@ -1,4 +1,4 @@
-From 0841c3ed69c388251c1aeae63f2c3813555a54f6 Mon Sep 17 00:00:00 2001
+From 100d16aaa6fe9a28a5ba77b2de2bde81a3fa3dac Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 1 Jul 2019 16:14:16 +0800
 Subject: [PATCH] ldb: Add configure options for packages
@@ -17,20 +17,22 @@
 
 upgrade to version 1.5.4
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+Rebase to 2.3.0
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 ---
- lib/replace/wscript | 92 +++++++++++++++++++++++++++++++++++++++++------------
- wscript             |  8 +++++
- 2 files changed, 79 insertions(+), 21 deletions(-)
+ lib/replace/wscript | 90 +++++++++++++++++++++++++++++++++++----------
+ wscript             |  8 ++++
+ 2 files changed, 78 insertions(+), 20 deletions(-)
 
 diff --git a/lib/replace/wscript b/lib/replace/wscript
-index a7fd25d..ad26041 100644
+index 2c856b6..36b696d 100644
 --- a/lib/replace/wscript
 +++ b/lib/replace/wscript
-@@ -24,6 +24,41 @@ def options(opt):
-     opt.BUILTIN_DEFAULT('NONE')
+@@ -25,6 +25,41 @@ def options(opt):
      opt.PRIVATE_EXTENSION_DEFAULT('')
      opt.RECURSE('buildtools/wafsamba')
-+    
+ 
 +    opt.add_option('--with-acl',
 +                   help=("Enable use of acl"),
 +                   action="store_true", dest='enable_acl')
@@ -65,10 +67,11 @@
 +    opt.add_option('--without-libcap',
 +                   help=("Disable use of libcap"),
 +                   action="store_false", dest='enable_libcap', default=False)
- 
++
  @Utils.run_once
  def configure(conf):
-@@ -34,12 +69,25 @@ def configure(conf):
+     conf.RECURSE('buildtools/wafsamba')
+@@ -35,12 +70,25 @@ def configure(conf):
      conf.DEFINE('HAVE_LIBREPLACE', 1)
      conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
  
@@ -77,10 +80,9 @@
 +    conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
 +    conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
      conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
--    conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+     conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
 -    conf.CHECK_HEADERS('shadow.h sys/acl.h')
 -    conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+    conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
 +    conf.CHECK_HEADERS('shadow.h')
 +    conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
 +
@@ -97,9 +99,9 @@
 +        conf.CHECK_HEADERS('sys/capability.h')
 +
      conf.CHECK_HEADERS('port.h')
-     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
      conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -110,8 +158,9 @@ def configure(conf):
+@@ -121,8 +169,9 @@ def configure(conf):
      conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
      conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
  
@@ -111,7 +113,7 @@
      conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
      conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
      conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -380,20 +429,21 @@ def configure(conf):
+@@ -418,20 +467,21 @@ def configure(conf):
  
      strlcpy_in_bsd = False
  
@@ -148,10 +150,10 @@
      conf.CHECK_CODE('''
                  struct ucred cred;
 diff --git a/wscript b/wscript
-index d3402a7..d4e0ce1 100644
+index bf6129b..722fdf6 100644
 --- a/wscript
 +++ b/wscript
-@@ -38,6 +38,14 @@ def options(opt):
+@@ -39,6 +39,14 @@ def options(opt):
                     help='disable new LMDB backend for LDB',
                     action='store_true', dest='without_ldb_lmdb', default=False)
  
@@ -167,5 +169,5 @@
  def configure(conf):
      conf.RECURSE('lib/tdb')
 -- 
-2.7.4
+2.17.1
 
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0003-avoid-openldap-unless-wanted.patch
similarity index 69%
rename from meta-openembedded/meta-networking/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch
rename to meta-openembedded/meta-networking/recipes-support/libldb/libldb/0003-avoid-openldap-unless-wanted.patch
index b30afee..dd12465 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0003-avoid-openldap-unless-wanted.patch
@@ -1,16 +1,20 @@
-From 63570b98ef63c91d8508478fcbe6b89c90c8398f Mon Sep 17 00:00:00 2001
+From 1f24231095a59debcf25d0e3309dc5d1056a7fad Mon Sep 17 00:00:00 2001
 From: Jens Rehsack <rehsack@gmail.com>
 Date: Thu, 19 Nov 2015 20:45:56 +0100
+Subject: [PATCH] avoid openldap unless wanted
 
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 ---
  wscript | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)
 
 diff --git a/wscript b/wscript
-index e7c05d2..1633593 100644
+index 722fdf6..22700d5 100644
 --- a/wscript
 +++ b/wscript
-@@ -161,9 +161,7 @@ def configure(conf):
+@@ -153,9 +153,7 @@ def configure(conf):
      if conf.env.standalone_ldb:
          conf.CHECK_XSLTPROC_MANPAGES()
  
@@ -21,3 +25,6 @@
  
          # we don't want any libraries or modules to rely on runtime
          # resolution of symbols
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/libldb-fix-musl-libc-unkown-type-error.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/libldb-fix-musl-libc-unkown-type-error.patch
deleted file mode 100644
index c0e7e89..0000000
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/libldb-fix-musl-libc-unkown-type-error.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d90534469c5c43bf2a97e5698a5ddb4b7471f92a Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 10:53:16 +0800
-Subject: [PATCH] libldb: fix musl libc unkoown type error
-
-tevent.h:1440:8: error: unknown type name 'pid_t'; did you mean 'div_t'?
-        pid_t *pid,
-         ^~~~~
-         div_t
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/tevent/tevent.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/tevent/tevent.h b/lib/tevent/tevent.h
-index aa6fe0d..2572696 100644
---- a/lib/tevent/tevent.h
-+++ b/lib/tevent/tevent.h
-@@ -32,6 +32,8 @@
- #include <talloc.h>
- #include <sys/time.h>
- #include <stdbool.h>
-+#include <sys/stat.h>
-+#include <sys/types.h>
- 
- struct tevent_context;
- struct tevent_ops;
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.8.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb
similarity index 85%
rename from meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.8.bb
rename to meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb
index 199db79..3731c26 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.8.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.0.bb
@@ -7,11 +7,9 @@
 RDEPENDS_pyldb += "python3"
 
 SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
-           file://do-not-import-target-module-while-cross-compile.patch \
-           file://libldb-fix-musl-libc-unkown-type-error.patch \
+           file://0001-do-not-import-target-module-while-cross-compile.patch \
+           file://0002-ldb-Add-configure-options-for-packages.patch \
            file://libldb-fix-musl-libc-conflict-type-error.patch \
-           file://0001-waf-add-support-of-cross_compile.patch \
-           file://options-1.5.4.patch \ 
           "
 
 PACKAGECONFIG ??= "\
@@ -27,14 +25,14 @@
 PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
 PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
 
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://0003-avoid-openldap-unless-wanted.patch', d)}"
 
 LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
                     file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
                     file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
 
-SRC_URI[md5sum] = "d9b4bea8b48cd4c4d0c492e65881164b"
-SRC_URI[sha256sum] = "ddf7f770643e0a0dda60f2818913f883caeed37fa1e8d6eda0dfe9588c1e3a83"
+SRC_URI[md5sum] = "fe4b1f17f77e2ea52b4e1320d927844c"
+SRC_URI[sha256sum] = "a4d308b3d0922ef01f3661a69ebc373e772374defa76cf0979ad21b21f91922d"
 
 inherit waf-samba
 
diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0001-Replace-sigignore-with-signal-API.patch b/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0001-Replace-sigignore-with-signal-API.patch
deleted file mode 100644
index e4aa8fd..0000000
--- a/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0001-Replace-sigignore-with-signal-API.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From b9040acdba1245f8cdf5e94384830e3d04fde98a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 22 Jul 2020 21:32:14 -0700
-Subject: [PATCH] Replace sigignore with signal API
-
-sigignore has been deprecated in glibc 2.32+ [1] and eventually it will be
-removed, therefore substitute it
-
-[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=02802fafcf6e11ea3f998f685035ffe568dfddeb
-
-Upstream-Status: Submitted [https://github.com/memcached/memcached/pull/702]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac |  1 -
- memcached.c  | 16 ++--------------
- 2 files changed, 2 insertions(+), 15 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ffc98b2..4567b30 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -630,7 +630,6 @@ AC_CHECK_FUNCS(mlockall)
- AC_CHECK_FUNCS(getpagesizes)
- AC_CHECK_FUNCS(sysconf)
- AC_CHECK_FUNCS(memcntl)
--AC_CHECK_FUNCS(sigignore)
- AC_CHECK_FUNCS(clock_gettime)
- AC_CHECK_FUNCS(preadv)
- AC_CHECK_FUNCS(pread)
-diff --git a/memcached.c b/memcached.c
-index 9cb778d..91ced9e 100644
---- a/memcached.c
-+++ b/memcached.c
-@@ -8292,18 +8292,6 @@ static void sig_usrhandler(const int sig) {
-     stop_main_loop = GRACE_STOP;
- }
- 
--#ifndef HAVE_SIGIGNORE
--static int sigignore(int sig) {
--    struct sigaction sa = { .sa_handler = SIG_IGN, .sa_flags = 0 };
--
--    if (sigemptyset(&sa.sa_mask) == -1 || sigaction(sig, &sa, 0) == -1) {
--        return -1;
--    }
--    return 0;
--}
--#endif
--
--
- /*
-  * On systems that supports multiple page sizes we may reduce the
-  * number of TLB-misses by using the biggest available page size
-@@ -9996,7 +9984,7 @@ int main (int argc, char **argv) {
-     /* daemonize if requested */
-     /* if we want to ensure our ability to dump core, don't chdir to / */
-     if (do_daemonize) {
--        if (sigignore(SIGHUP) == -1) {
-+        if (signal(SIGHUP, SIG_IGN) == SIG_ERR) {
-             perror("Failed to ignore SIGHUP");
-         }
-         if (daemonize(maxcore, settings.verbose) == -1) {
-@@ -10146,7 +10134,7 @@ int main (int argc, char **argv) {
-      * ignore SIGPIPE signals; we can use errno == EPIPE if we
-      * need that information
-      */
--    if (sigignore(SIGPIPE) == -1) {
-+    if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
-         perror("failed to ignore SIGPIPE; sigaction");
-         exit(EX_OSERR);
-     }
--- 
-2.27.0
-
diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch b/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch
new file mode 100644
index 0000000..2979552
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch
@@ -0,0 +1,48 @@
+From d6294e9166e4875a0572349aabcc5e51acbd2e3c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Jun 2021 11:33:12 -0700
+Subject: [PATCH] stats_prefix.c: Check for NDEBUG before using total_written
+ variable
+
+When using NDEBUG assert macro is ineffective which is caught by latest
+clang and reports that total_written is set but unused. Therefore check
+for NDEBUG to make sure assert is used only when its effective
+
+Fixes
+error: variable 'total_written' set but not used [-Werror,-Wunused-but-set-variable]
+    size_t size = 0, written = 0, total_written = 0;
+                                  ^
+Upstream-Status: Submitted [https://github.com/memcached/memcached/pull/792]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ stats_prefix.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/stats_prefix.c b/stats_prefix.c
+index 62f0d04..d72e514 100644
+--- a/stats_prefix.c
++++ b/stats_prefix.c
+@@ -127,8 +127,10 @@ char *stats_prefix_dump(int *length) {
+     PREFIX_STATS *pfs;
+     char *buf;
+     int i, pos;
+-    size_t size = 0, written = 0, total_written = 0;
+-
++    size_t size = 0, written = 0;
++#ifndef NDEBUG
++    size_t total_written = 0;
++#endif
+     /*
+      * Figure out how big the buffer needs to be. This is the sum of the
+      * lengths of the prefixes themselves, plus the size of one copy of
+@@ -154,8 +156,10 @@ char *stats_prefix_dump(int *length) {
+                            pfs->prefix, pfs->num_gets, pfs->num_hits,
+                            pfs->num_sets, pfs->num_deletes);
+             pos += written;
++#ifndef NDEBUG
+             total_written += written;
+             assert(total_written < size);
++#endif
+         }
+     }
+ 
diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.6.bb b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.9.bb
similarity index 90%
rename from meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.6.bb
rename to meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.9.bb
index 2eb24db..73e18a4 100644
--- a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.6.bb
+++ b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.9.bb
@@ -21,9 +21,9 @@
 
 SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
            file://memcached-add-hugetlbfs-check.patch \
-           file://0001-Replace-sigignore-with-signal-API.patch \
+           file://0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch \
            "
-SRC_URI[sha256sum] = "908f0eecfa559129c9e44edc46f02e73afe8faca355b4efc5c86d902fc3e32f7"
+SRC_URI[sha256sum] = "d5a62ce377314dbffdb37c4467e7763e3abae376a16171e613cbe69956f092d1"
 
 # set the same COMPATIBLE_HOST as libhugetlbfs
 COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*"
diff --git a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.43.0.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.43.0.bb
index 959cccf..08b8552 100644
--- a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.43.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.43.0.bb
@@ -18,11 +18,7 @@
 
 # examples are never installed, and don't need to be built in the
 # first place
-EXTRA_OECMAKE = "-DENABLE_EXAMPLES=OFF -DENABLE_APP=ON"
-
-do_install_append() {
-	rm ${D}${bindir}/deflatehd ${D}${bindir}/inflatehd
-}
+EXTRA_OECMAKE = "-DENABLE_EXAMPLES=OFF -DENABLE_APP=ON -DENABLE_HPACK_TOOLS=OFF"
 
 PACKAGES =+ "lib${PN} ${PN}-client ${PN}-proxy ${PN}-server"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntpdate b/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntpdate
index 17b64d1..be3bacf 100755
--- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntpdate
+++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp/ntpdate
@@ -52,3 +52,8 @@
 fi
 
 ) &
+
+# wait for all subprocesses to finish
+# this is required when using systemd service as ntpd will start before ntpdate finishes
+# and results in a bind error (port 123)
+wait
diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
index 7e16882..e668113 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
@@ -26,6 +26,9 @@
 
 SRC_URI[sha256sum] = "f65840deab68614d5d7ceb2d0bb9304ff70dcdedd09abb79754a87536b849c19"
 
+# CVE-2016-9312 is only for windows.
+CVE_CHECK_WHITELIST += "CVE-2016-9312"
+
 inherit autotools update-rc.d useradd systemd pkgconfig
 
 # The ac_cv_header_readline_history is to stop ntpdc depending on either
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.2.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.3.bb
similarity index 89%
rename from meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.2.bb
rename to meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.3.bb
index f82107d..7f4cc18 100644
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.3.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://openvpn.net/"
 SECTION = "net"
 LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba"
+LIC_FILES_CHKSUM = "file://COPYING;md5=377a495e6f12b2a3adcee797e59540b8"
 DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
 inherit autotools systemd update-rc.d
@@ -14,8 +14,11 @@
 
 UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"
 
-SRC_URI[md5sum] = "7643f135b49aee49df7d83c1f434dc4e"
-SRC_URI[sha256sum] = "b9d295988b34e39964ac475b619c3585d667b36c350cf1adec19e5e3c843ba11"
+SRC_URI[md5sum] = "08895fd1142f25fdd94a98315632e1bf"
+SRC_URI[sha256sum] = "75f0044df449430555ca7b995a2b77ab24f2946fdc3668301b8edc23986a5f7e"
+
+# CVE-2020-7224 and CVE-2020-27569 are for Aviatrix OpenVPN client, not for openvpn.
+CVE_CHECK_WHITELIST += "CVE-2020-7224 CVE-2020-27569"
 
 SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
 SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.2.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.3.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.2.bb
rename to meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.3.bb
index c178b4c..8a704f6 100644
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.3.bb
@@ -12,8 +12,7 @@
            file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
            "
 
-SRC_URI[md5sum] = "8918e6675e1be3784817641f07eadeb8"
-SRC_URI[sha256sum] = "61c72f741edb2c1295a7b7ccce0317a104b3f9d39efd04c52cd05b01b55ab063"
+SRC_URI[sha256sum] = "9325ab56a0a4e97e379401e1d942ce3e0d8b6372291350ab2caae0755862c6f7"
 
 UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.6.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb
rename to meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.6.bb
index 3100e4c..3062633 100644
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.6.bb
@@ -19,7 +19,7 @@
 
 UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
 
-SRC_URI[sha256sum] = "de1aafd100a1e1207c850d180e97dd91ab8da0f5eb6beec545f725cdb145d333"
+SRC_URI[sha256sum] = "12a678208f8cb009e6b9d96026e41a6ef03c7ad086b9e1029f42053b249b4628"
 
 PE = "1"
 
