meta-openembedded: subtree update:ae39f2e711..bccd3277e4

Alejandro Enedino Hernandez Samaniego (2):
      emacs: Create a new recipe for emacs
      weechat: Upgrade to 2.9

Andreas Müller (3):
      Initial add source-code-pro-fonts 2.030_1.050
      gedit: add source-code-pro-fonts to RRECOMMENDS
      geany: add source-code-pro-fonts to RRECOMMENDS

Andrej Valek (1):
      squid: upgrade 4.12 -> 4.13

Armin Kuster (3):
      log4cplus: pkg moved to core
      kea: pkg moved to core
      dhcpcd: pkg moved to core

Arthur She (1):
      xmlrpc-c: fix Makefile macro error

Arturo Buzarra (1):
      byacc: add nativesdk support

Bartosz Golaszewski (1):
      libgpiod: update v1.4.3 -> v1.4.4

Bjarne Michelsen (1):
      asio: extend recipe to add native support

Diego Rondini (4):
      libeigen: update SRC_URI to download from gitlab
      gvfs: adjust fuse packageconfig to fuse3
      libeigen: update SRC_URI to use gitlab git
      hplip: use libexecdir

Fabio Berton (2):
      libqmi: Update 1.26.0 -> 1.26.4
      modemmanager: Update 1.12.12 -> 1.14.2

Gianfranco Costamagna (3):
      dlt-daemon: superseed upstream pr #238 patch with pr #245 due to unexpected behaviour
      brotli: update to 1.0.9
      brotli: set upstream-status for the patch backported from upstream

Haiqing Bai (1):
      rsyslog: fix wrong option of PACKAGECONFIG[valgrind]

Hongxu Jia (1):
      python3-texttable: add recipe

Jack Mitchell (1):
      meta-networking: dhcpcd: backport ALIGN compile error fix

Jens Rehsack (1):
      bearssl: fix missing install

Jose Dapena Paz (1):
      xmlsec1: do not use system libraries for non nss

Jugurtha BELKALEM (1):
      recipe/ettercap : new ettercap recipe

Khem Raj (67):
      valijson: Move it to networking-layer under BBFILES_DYNAMIC
      linuxptp: Fix cross build
      kernel-selftest: Tests in 5.8 depend on libhugetlbfs.h
      wireguard-module: Exlude from world builds
      Revert "iwd: Module load dir should be relative to root_dir"
      vboxguestdrivers: Fix build with kernel 5.8
      kernel-selftest: Disable vm tests for mips/arm
      vulkan-cts: Update to 1.2.3.2
      nss: Avoid converting enum to void*
      nss: Disable Werror across all recipe types
      nss: Upgrade to 3.56
      mini-iconv: Remove
      wvstreams: Update SRC_URI to a fetchable location
      wvdial: Update SRC_URI to an accessible location
      packagegroup-meta-oe: Overhaul so it can build meta-oe-image
      mime-support: Use update-alternatives
      canutils: Use update-alternatives
      libusbgx: Use update-alternatives
      ttf-liberation-sans-narrow: Do not install normal liberation fonts
      mutter: Add a comment to remove pipewire-0.2 dependency with 3.36
      sblim-sfcb: Fix target postinst
      hexedit: Define update alternatives
      lmbench: Use update alternatives for stream
      uml-utilities: Use update alternatives for tunctl
      imagemagick: Create symlinks for magick-script
      sharutils: Use update alternatives for uudecode/uuencode
      layer.conf: fixes icon-theme signature changes
      layer.conf: Fix for signature change for allarch icon themes
      properties-cpp: Add recipe
      packagegroup-meta-filesystems: Update to add new recipes
      packagegroup-meta-webserver: Update to include new recipes
      monkey: Remove /var/run
      monkey: Correct the install path in init services
      packagegroup-meta-oe: Exclude from world builds
      networkmanager: Depend on dhcpcd
      packagegroup-meta-networking: Add new packages
      bearssl: fix GNU_HASH link error
      autossh: Depend on ssh instead of hardcoding openssh
      quagga,pimd: Use update-alternatives for pimd
      netkit-rpc: Use update alternatives for rpcinfo
      ssmtp: Use update alternatives for conflicts with esmtp
      netkit-rwho: Use update-alternatives for tftp
      netkit-ftp: Use update-alternatives for ftp
      netkit-rwho: Convert to ontarget postinst
      schroedinger: Update SRC_URI
      packagegroup-meta-multimedia: Add new recipes
      mycroft: rdep on procps
      imapfilter: Fix linker flags
      toybox: Add packageconfigs for iconv and getconf
      tmux: Add -p option to mkdir
      packagegroup-meta-networking: Remove dhcpcd and kea
      packagegroup-meta-oe: Remove log4cplus
      packagegroup-meta-multimedia: Remove projucer on musl
      packagegroup-meta-perl: Update to represent latest recipes
      po4a: Switch to github for SRC_URI as alioth one seems to be gone
      libdata-hexdump-perl: Use update alternatives for hexdump
      meta-perl-image: Add packagegroup-meta-perl-extended
      meta-perl-ptest-image: Depend on ptest DISTRO_FEATURE
      iwd: Upgrade to 1.9
      packagegroup-meta-python: Add new packages
      meta-python-image,meta-python-ptest-image: Use python3 packagegroups
      android-tools: Support libselinux to build with musl which now has gettid
      packagegroup-meta-oe.bb: Add cukinia to test packagegroups
      packagegroup-meta-oe: Add source-code-pro-fonts
      mongodb: Pass OBJCOPY to scons so it does not use it from host
      mongodb: Fix libunwind build with -fno-common
      mongodb: Fix i386 builds for non-glibc systems

Leon Anavi (134):
      python3-pywbem: Upgrade 0.17.4 -> 1.0.2
      python3-pydicti: Add recipe
      python3-yamlloader: Add recipe
      python3-tabulate: Add recipe
      python3-asciitree: Add recipe
      python3-custom-inherit: Add recipe
      python3-nocasedict: Add recipe
      python3-nocaselist: Add recipe
      python3-click-repl: Add recipe
      python3-click-spinner: Add recipe
      python3-pywbemtools: Add recipe
      python3-diskcache: Upgrade 4.1.0 -> 5.0.1
      python3-langtable: Upgrade 0.0.51 -> 0.0.52
      python3-pint: Upgrade 0.14 -> 0.15
      python3-networkx: Upgrade 2.4 -> 2.5
      python3-attrs: Upgrade 19.3.0 -> 20.1.0
      python3-pychromecast: Upgrade 7.2.0 -> 7.2.1
      python3-dominate: Upgrade 2.5.1 -> 2.5.2
      python3-pymisp: Upgrade 2.4.128 -> 2.4.130
      python3-inflection: Upgrade 0.5.0 -> 0.5.1
      python3-typing-extensions: Upgrade 3.7.4.2 -> 3.7.4.3
      python3-pandas: Upgrade 1.1.0 -> 1.1.1
      python3-msm: Upgrade 0.8.7 -> 0.8.8
      lshw: Upgrade 2.18 -> 2.19
      mercurial: Upgrade 5.4 -> 5.5
      doxygen: Upgrade 1.8.17 -> 1.8.20
      python3-bitarray: Upgrade 1.5.2 -> 1.5.3
      python3-cryptography-vectors: Upgrade 2.9.2 -> 3.0
      python3-openpyxl: Upgrade 3.0.4 -> 3.0.5
      python3-cmd2: Upgrade 1.3.3 -> 1.3.4
      python3-sentry-sdk: Upgrade 0.16.5 -> 0.17.0
      python3-flask: Consolidate in a single file
      python3-flask: Upgrade 1.1.1 -> 1.1.2
      python3-diskcache: Upgrade 5.0.1 -> 5.0.2
      python3-cmd2: Upgrade 1.3.4 -> 1.3.5
      python3-flask-wtf: Consolidate in a single file
      python3-flask-wtf: Upgrade 0.14.2 -> 0.14.3
      python3-flask-socketio: Consolidate in a single file
      python3-flask-socketio: Upgrade 4.2.1 -> 4.3.1
      python3-google-api-python-client: Upgrade 1.10.0 -> 1.10.1
      python3-cryptography: Upgrade 3.0 -> 3.1
      python3-twitter: Upgrade 3.8.0 -> 3.9.0
      python3-ntplib: Upgrade 0.3.3 -> 0.3.4
      python3-flask-babel: Upgrade 1.0.0 -> 2.0.0
      python3-flask-migrate: Consolidate in a single file
      python3-flask-migrate: Upgrade 2.5.2 -> 2.5.3
      python3-flask-restful: Consolidate in a single file
      python3-flask-restful: Upgrade 0.3.7 -> 0.3.8
      python3-flask-sqlalchemy: Consolidate in a single file
      python3-flask-sqlalchemy: Upgrade 2.4.1 -> 2.4.4
      php: Upgrade 7.4.4 -> 7.4.9
      python3-ecdsa: Upgrade 0.15 -> 0.16.0
      python3-luma-core: Upgrade 1.15.0 -> 1.16.0
      python3-cryptography-vectors: Upgrade 3.0 -> 3.1
      python3-google-api-python-client: Upgrade 1.10.1 -> 1.11.0
      python3-flask-user: Consolidate in a single file
      python3-cmd2: Upgrade 1.3.5 -> 1.3.8
      python3-sh: Upgrade 1.13.1 -> 1.14.0
      python3-paramiko: Upgrade 2.7.1 - 2.7.2
      python3-parse: Upgrade 1.16.0 -> 1.17.0
      python3-prompt-toolkit: Upgrade 3.0.6 -> 3.0.7
      python3-more-itertools: Upgrade 8.4.0 -> 8.5.0
      python3-ipython: Upgrade 7.17.0 -> 7.18.1
      python3-hpack: Consolidate in a single file
      python3-hpack: Upgrade 3.0.0 -> 4.0.0
      python3-sentry-sdk: Upgrade 0.17.0 -> 0.17.1
      python3-luma-core: Upgrade 1.16.0 -> 1.16.1
      python3-traitlets: Upgrade 4.3.3 -> 5.0.0
      python3-flask-nav: Consolidate in a single file
      python3-flask-mail: Consolidate in a single file
      python3-flask-pymongo: Consolidate in a single file
      python3-pillow: Upgrade 6.2.1 -> 7.2.0
      znc: Upgrade 1.7.5 -> 1.8.1
      mosquitto: Upgrade 1.6.11 -> 1.6.12
      fping: Upgrade 4.4 -> 5.0
      nano: Upgrade 5.1 -> 5.2
      hwdata: Upgrade 0.336 -> 0.339
      xscreensaver: Add HOMEPAGE
      python3-meh: Upgrade 0.48 -> 0.49
      python3-stevedore: Upgrade 3.2.0 -> 3.2.1
      python3-robotframework: Upgrade 3.2.1 -> 3.2.2
      python3-sentry-sdk: Upgrade 0.17.1 -> 0.17.2
      python3-pycurl: Upgrade 7.43.0.5 -> 7.43.0.6
      python3-pyzmq: Upgrade 17.1.0 -> 19.0.2
      python3-mccabe: Upgrade 0.2.1 -> 0.6.1
      python3-nmap: Upgrade 1.4.7 -> 1.4.8
      python3-absl: Upgrade 0.9.0 -> 0.10.0
      python3-systemd: Consolidate in a single file
      python3-gevent: Consolidate in a single file
      python3-gevent: Upgrade 1.4.0 -> 20.6.2
      python3-ruamel-yaml: Upgrade 0.16.10 -> 0.16.11
      python3-cmd2: Upgrade 1.3.8 -> 1.3.9
      python3-traitlets: 5.0.0 -> 5.0.3
      python3-priority: Consolidate in a single file
      python3-hyperframe: Consolidate in a single file
      python3-mprpc: Consolidate in a single file
      python3-gsocketpool: Consolidate in a single file
      gyp: Consolidate in a single file
      gyp: Upgrade to latest version
      python3-fann2: Consolidate in a single file
      python3-isort: Upgrade 5.4.2 -> 5.5.0
      python3-sentry-sdk: Upgrade 0.17.2 -> 0.17.3
      python3-hyperframe: Upgrade 5.2.0 -> 6.0.0
      python3-traitlets: Upgrade 5.0.3 -> 5.0.4
      python3-texttable: Upgrade 1.6.2 -> 1.6.3
      python3-iso8601: Upgrade 0.1.12 -> 0.1.13
      python3-dbus-next: Upgrade 0.1.3 -> 0.1.4
      python3-ujson: Upgrade 3.1.0 -> 3.2.0
      python3-trafaret: Upgrade 2.0.2 -> 2.1.0
      python3-tqdm: Upgrade 4.48.2 -> 4.49.0
      python3-isort: Upgrade 5.5.0 -> 5.5.2
      python3-coverage: Upgrade 5.2.1 -> 5.3
      python3-diskcache: Upgrade 5.0.2 -> 5.0.3
      python3-haversine: Upgrade 2.2.0 -> 2.3.0
      python3-pymysql: Upgrade 0.10.0 -> 0.10.1
      python3-alembic: Upgrade 1.4.2 -> 1.4.3
      python3-nocasedict: Upgrade 0.5.0 -> 1.0.0
      python3-pyroute2: Upgrade 0.5.13 -> 0.5.14
      python3-pyusb: Upgrade 1.0.2 -> 1.1.0
      python3-pandas: Upgrade 1.1.1 -> 1.1.2
      python3-pint: Upgrade 0.15 -> 0.16
      python3-parse: Upgrade 1.17.0 -> 1.18.0
      python3-cffi: Upgrade 1.14.2 -> 1.14.3
      python3-google-api-python-client: Upgrade 1.11.0 -> 1.12.1
      python3-sentry-sdk: Upgrade 0.17.3 -> 0.17.5
      python3-attrs: Upgrade 20.1.0 -> 20.2.0
      python3-nocaselist: Upgrade 1.0.1 -> 1.0.2
      python3-pymisp: Upgrade 2.4.130 -> 2.4.131
      python3-stevedore: Upgrade 3.2.1 -> 3.2.2
      python3-matplotlib: Upgrade 3.3.1 -> 3.3.2
      python3-pychromecast: Upgrade 7.2.1 -> 7.3.0
      python3-pyrsistent: Upgrade 0.16.0 -> 0.17.3
      python3-ruamel-yaml: Upgrade 0.16.11 -> 0.16.12
      python3-msk: Upgrade 0.3.15 -> 0.3.16

Madhavan Krishnan (1):
      libcamera: Bumped to latest revision and added pkgconfig to enable gstreamer

Marc (1):
      openocd: Update to latest git version

Marek Vasut (1):
      freerdp: Add missing libxkbcommon WL dependency

Martin Jansa (5):
      fbida: require opengl in DISTRO_FEATURES
      nss: fix postinst in do_rootfs for target
      nss: remove signlibs.sh
      st: add x11 to REQUIRED_DISTRO_FEATURES to suck less
      st: fix indentation

Michael Fitz-Payne (1):
      python3-greenstalk: add recipe for greenstalk python package.

Michael Vetter (2):
      jasper: Use new repo URL
      README: Use quotation marks for subject prefix

Mikko Rapeli (4):
      nss: fix postinst script for nativesdk build
      mdns: update to version 1096.40.7
      mdns: set CVE_PRODUCT to "apple:mdnsresponder"
      mdns: add BSD-3-Clause to LICENSE

Mingli Yu (2):
      mariadb: package executables named with mariadb
      opencv: improve reproducibility

Ola X Nilsson (1):
      syslog-ng: Drop obsolete variable ONLINE_PACKAGE_MANAGEMENT

Oleksandr Kravchuk (1):
      tesseract: update to 4.1.1

Ovidiu Panait (1):
      net-snmp: upgrade 5.8 -> 5.9

Richard Leitner (1):
      liburing: add v0.7

Robert Joslyn (3):
      postgresql: Update to 12.4
      htop: Update to 3.0.1
      consolation: Add recipe

Sakib Sajal (1):
      apache2: upgrade v2.4.43 -> v2.4.46

Slater, Joseph (2):
      openjpeg: fix CVE-2020-15389
      luajit: advance SRCREV to fix two CVE's

Stanislav Angelovic (1):
      Bump sdbus-c++ version to v0.8.3

Trevor Gamblin (3):
      packagegroup-meta-python: fix PACKAGES and default ptest recipe name
      python3-django: upgrade 2.2.13 -> 2.2.16
      python3-django: add recipe for 3.1.1

Vincent Prince (1):
      mongodb: bump to r4.4.1 version

Wenlin Kang (2):
      lua: fix CVE-2020-15945
      lua: fix CVE-2020-24371

Yann Dirson (5):
      New terminal emulator: st 0.8.4
      libcec: workaround wrong choice of PYTHON_PKG_DIR when building on Debian
      libcec: build with Linux CEC API
      libcec: rename libcec-tools to libcec-examples
      libcec: split the python example into a separate package

Zang Ruochen (38):
      lftp: upgrade 4.9.1 -> 4.9.2
      wireshark: upgrade 3.2.5 -> 3.2.6
      leptonica: upgrade 1.79.0 -> 1.80.0
      links: upgrade 2.20.2 -> 2.21
      nano: upgrade 5.0 -> 5.1
      nlohmann-json: upgrade 3.9.0 -> 3.9.1
      openldap: upgrade 2.4.50 -> 2.4.51
      protobuf: upgrade 3.12.3 -> 3.13.0
      sanlock: upgrade 3.8.1 -> 3.8.2
      libnet-dns-perl: upgrade 1.25 -> 1.26
      libidn: upgrade 1.35 -> 1.36
      satyr: upgrade 0.30 -> 0.31
      spitools: upgrade 0.8.4 -> 0.8.5
      fio: upgrade 3.21 -> 3.22
      iperf3: upgrade 3.7 -> 3.9
      paho-mqtt-c: upgrade 1.3.4 -> 1.3.5
      purple-skypeweb: upgrade 1.6 -> 1.7
      libdbd-sqlite-perl: upgrade 1.64 -> 1.66
      libencode-perl: upgrade 3.06 -> 3.07
      dash: upgrade 0.5.11.1 -> 0.5.11.2
      fuse3: upgrade 3.9.2 -> 3.9.3
      gperftools: upgrade 2.7.90 -> 2.8
      xfsprogs: upgrade 5.7.0 -> 5.8.0
      cifs-utils: upgrade 6.10 -> 6.11
      libdnet: upgrade 1.12 -> 1.14
      asio: upgrade 1.16.1 -> 1.18.0
      collectd: upgrade 5.11.0 -> 5.12.0
      cryptsetup: upgrade 2.3.3 -> 2.3.4
      gsoap: upgrade 2.0.105 -> 2.0.106
      jasper: upgrade 2.0.19 -> 2.0.20
      lcms: upgrade 2.9 -> 2.11
      libhugetlbfs: upgrade 2.22 -> 2.23
      ostree: upgrade 2020.5 -> 2020.6
      poppler: upgrade 20.08.0 -> 20.09.0
      redis: upgrade 6.0.6 -> 6.0.7
      spdlog: upgrade 1.7.0 -> 1.8.0
      zeromq: upgrade 4.3.2 -> 4.3.3
      python3-test-generator: Enable ptest

leckijakub (1):
      cukinia: new package

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I8382b605a3c059a037b8f4db53608f505da642ed
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
index 692c344..f8efc10 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
@@ -1,7 +1,7 @@
-From 89ea6ac4a8840e8c2be0140a9805c6522c6c5280 Mon Sep 17 00:00:00 2001
+From 6d90f9fdaf008f5c3b8fd8d91594fa1461437888 Mon Sep 17 00:00:00 2001
 From: Nate Karstens <nate.karstens@garmin.com>
 Date: Wed, 28 Jun 2017 17:30:00 -0500
-Subject: [PATCH 01/11] Create subroutine for cleaning recent interfaces
+Subject: [PATCH] Create subroutine for cleaning recent interfaces
 
 Moves functionality for cleaning the list of recent
 interfaces into its own subroutine.
@@ -10,14 +10,14 @@
 
 Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
 ---
- mDNSPosix/mDNSPosix.c | 24 ++++++++++++++----------
- 1 file changed, 14 insertions(+), 10 deletions(-)
+ mDNSPosix/mDNSPosix.c | 23 ++++++++++++++---------
+ 1 file changed, 14 insertions(+), 9 deletions(-)
 
 diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 0e10bd5..ffc9696 100644
+index a63cd19..7aeee7b 100755
 --- a/mDNSPosix/mDNSPosix.c
 +++ b/mDNSPosix/mDNSPosix.c
-@@ -856,6 +856,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
+@@ -1199,6 +1199,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
      return err;
  }
  
@@ -37,11 +37,10 @@
  // Creates a PosixNetworkInterface for the interface whose IP address is
  // intfAddr and whose name is intfName and registers it with mDNS core.
  mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, const char *intfName, int intfIndex)
-@@ -1010,16 +1023,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
- 
+@@ -1388,15 +1401,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
      // Clean up.
-     if (intfList != NULL) free_ifi_info(intfList);
--
+     if (intfList != NULL) freeifaddrs(intfList);
+ 
 -    // Clean up any interfaces that have been hanging around on the RecentInterfaces list for more than a minute
 -    PosixNetworkInterface **ri = &gRecentInterfaces;
 -    const mDNSs32 utc = mDNSPlatformUTC();
@@ -56,5 +55,5 @@
      return err;
  }
 -- 
-2.17.1
+2.20.1
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch
new file mode 100644
index 0000000..3e9be7d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0001-mdns-include-stddef.h-for-NULL.patch
@@ -0,0 +1,40 @@
+From d744609c56f9872e5aa71707f1f71feec9867f51 Mon Sep 17 00:00:00 2001
+From: Mikko Rapeli <mikko.rapeli@bmw.de>
+Date: Tue, 14 Jul 2020 16:36:29 +0000
+Subject: [PATCH 1/2] mdns: include <stddef.h> for NULL
+
+Fixes build error with version 1096.40.7:
+
+../mDNSCore/mDNS.c:11385:26: error: 'NULL' undeclared (first use in this function)
+11385 |     const char *reason = NULL;
+      |                          ^~~~
+../mDNSCore/mDNS.c:56:1: note: 'NULL' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
+   55 | #include "dns_sd_internal.h"
+  +++ |+#include <stddef.h>
+   56 |
+../mDNSCore/mDNS.c:11385:26: note: each undeclared identifier is reported only once for each function it appears in
+11385 |     const char *reason = NULL;
+      |                          ^~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
+---
+ mDNSCore/mDNS.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c
+index 2fbea04..d4b9af5 100755
+--- a/mDNSCore/mDNS.c
++++ b/mDNSCore/mDNS.c
+@@ -23,6 +23,7 @@
+  * routines, or types (which may or may not be present on any given platform).
+  */
+ 
++#include <stddef.h> /* for NULL */
+ #include "DNSCommon.h"                  // Defines general DNS utility routines
+ #include "uDNS.h"                       // Defines entry points into unicast-specific routines
+ #include "nsec.h"
+-- 
+2.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch
new file mode 100644
index 0000000..33590ff
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0002-mdns-cross-compilation-fixes-for-bitbake.patch
@@ -0,0 +1,145 @@
+From 72405143f9d16514e70b88bc4843c9634b88036a Mon Sep 17 00:00:00 2001
+From: Brendan Le Foll <brendan.le.foll@intel.com>
+Date: Tue, 3 Mar 2015 11:42:57 +0000
+Subject: [PATCH 2/2] mdns: cross compilation fixes for bitbake
+
+Fixes several build errors when incorrect compiler or
+compiler flags are used.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
+---
+ mDNSPosix/Makefile | 44 ++++++++++++++++++++------------------------
+ 1 file changed, 20 insertions(+), 24 deletions(-)
+
+diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
+index 78222e0..18a3af5 100755
+--- a/mDNSPosix/Makefile
++++ b/mDNSPosix/Makefile
+@@ -50,6 +50,7 @@
+ 
+ LIBVERS = 1
+ 
++POSIXDIR = ../mDNSPosix
+ COREDIR = ../mDNSCore
+ SHAREDDIR ?= ../mDNSShared
+ DSODIR ?= ../DSO
+@@ -62,16 +63,16 @@ else ifeq ($(SYSTEM), Linux)
+   os=linux
+ endif
+ 
+-CC = cc
+-BISON = bison
+-FLEX = flex
+-ST = strip
+-LD = ld
++CC ?= cc
++BISON ?= bison
++FLEX ?= flex
++ST ?= strip
++LD ?= ld
+ SOOPTS = -shared
+ CP = cp
+ RM = rm
+ LN = ln -s -f
+-CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
++CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(DSODIR) -I$(PROXYDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
+ CFLAGS_PTHREAD =
+ LINKOPTS =
+ LINKOPTS_PTHREAD = -lpthread
+@@ -85,6 +86,7 @@ CFLAGS_OPEN_SOURCE=
+ endif
+ 
+ # Set up diverging paths for debug vs. prod builds
++DEBUG ?= 1
+ ifeq "$(DEBUG)" "1"
+ CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=2
+ OBJDIR = objects/debug
+@@ -101,8 +103,8 @@ else
+ # 1. We want to make small binaries, suitable for putting into hardware devices
+ # 2. Some of the code analysis warnings only work when some form of optimization is enabled
+ CFLAGS_DEBUGGING = -g -DMDNS_DEBUGMSGS=0
+-OBJDIR ?= objects/prod
+-BUILDDIR ?= build/prod
++OBJDIR = objects/prod
++BUILDDIR = build/prod
+ STRIP = $(ST) -S
+ endif
+ endif
+@@ -125,7 +127,7 @@ else
+ # any target that contains the string "linux"
+ ifeq ($(findstring linux,$(os)),linux)
+ CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -ftabstop=4
+-LD = $(CC)
++LD ?= $(CC)
+ SOOPTS = -shared
+ FLEXFLAGS_OS = -l
+ JAVACFLAGS_OS += -I$(JDK)/include/linux
+@@ -276,8 +278,7 @@ Daemon: setup $(BUILDDIR)/mdnsd
+ 	@echo "Responder daemon done"
+ 
+ $(BUILDDIR)/mdnsd: $(DAEMONOBJS)
+-	$(CC) -o $@ $+ $(LINKOPTS)
+-	$(STRIP) $@
++	$(LD) -o $@ $+
+ 
+ # libdns_sd target builds the client library
+ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
+@@ -286,13 +287,9 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
+ CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
+ 
+ $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
+-	$(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+
+-	$(STRIP) $@
+-
+-Clients: setup libdns_sd ../Clients/build/dns-sd
+-	@echo "Clients done"
++	$(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+
+ 
+-../Clients/build/dns-sd: ../Clients/dns-sd.c
++Clients: setup libdns_sd
+ 	$(MAKE) -C ../Clients DEBUG=$(DEBUG) SUPMAKE_CFLAGS="$(MDNSCFLAGS)"
+ 
+ # nss_mdns target builds the Name Service Switch module
+@@ -300,8 +297,7 @@ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE)
+ 	@echo "Name Service Switch module done"
+ 
+ $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o
+-	$(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+
+-	$(STRIP) $@
++	$(LD) -shared $(LINKOPTS) -o $@ $+
+ 
+ #############################################################################
+ 
+@@ -494,21 +490,21 @@ dnsextd: setup $(BUILDDIR)/dnsextd
+ 	@echo "dnsextd done"
+ 
+ $(BUILDDIR)/mDNSClientPosix:         $(APPOBJ)     $(OBJDIR)/Client.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(BUILDDIR)/mDNSResponderPosix:      $(COMMONOBJ)  $(OBJDIR)/Responder.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ)  $(OBJDIR)/ProxyResponder.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(BUILDDIR)/mDNSNetMonitor:          $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(OBJDIR)/NetMonitor.c.o:            $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c
+ 
+ $(BUILDDIR)/dnsextd:                 $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o
+-	$(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD)
++	$(CC) $+ -o $@ $(LINKOPTS_PTHREAD)
+ 
+ #############################################################################
+ 
+-- 
+2.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch
index 05ad49b..db3a63e 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0004-Use-list-for-changed-interfaces.patch
@@ -1,4 +1,4 @@
-From e1f483510a1011e37540fdee8f3bc36111fa45a0 Mon Sep 17 00:00:00 2001
+From 798bfb5e984845a27874d1a244686db6e384d7b8 Mon Sep 17 00:00:00 2001
 From: Nate Karstens <nate.karstens@garmin.com>
 Date: Thu, 13 Jul 2017 09:00:00 -0500
 Subject: [PATCH 04/11] Use list for changed interfaces
@@ -15,10 +15,10 @@
  1 file changed, 52 insertions(+), 15 deletions(-)
 
 diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 8fe22be..699855a 100644
+index 195d04b..bb883c1 100755
 --- a/mDNSPosix/mDNSPosix.c
 +++ b/mDNSPosix/mDNSPosix.c
-@@ -75,6 +75,14 @@ struct IfChangeRec
+@@ -67,6 +67,14 @@ struct IfChangeRec
  };
  typedef struct IfChangeRec IfChangeRec;
  
@@ -31,9 +31,9 @@
 +typedef struct NetworkInterfaceIndex NetworkInterfaceIndex;
 +
  // Note that static data is initialized to zero in (modern) C.
- static fd_set gEventFDs;
- static int gMaxFD;                              // largest fd in gEventFDs
-@@ -1071,6 +1079,32 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
+ static PosixEventSource *gEventSources;             // linked list of PosixEventSource's
+ static sigset_t gEventSignalSet;                // Signals which event loop listens for
+@@ -1458,6 +1466,32 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
      return err;
  }
  
@@ -66,7 +66,7 @@
  #if MDNS_DEBUGMSGS
  mDNSlocal void      PrintNetLinkMsg(const struct nlmsghdr *pNLMsg)
  {
-@@ -1098,14 +1132,13 @@ mDNSlocal void      PrintNetLinkMsg(const struct nlmsghdr *pNLMsg)
+@@ -1485,14 +1519,13 @@ mDNSlocal void      PrintNetLinkMsg(const struct nlmsghdr *pNLMsg)
  }
  #endif
  
@@ -82,7 +82,7 @@
  
      // The structure here is more complex than it really ought to be because,
      // unfortunately, there's no good way to size a buffer in advance large
-@@ -1141,9 +1174,9 @@ mDNSlocal mDNSu32       ProcessRoutingNotification(int sd)
+@@ -1528,9 +1561,9 @@ mDNSlocal mDNSu32       ProcessRoutingNotification(int sd)
  
          // Process the NetLink message
          if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK)
@@ -94,7 +94,7 @@
  
          // Advance pNLMsg to the next message in the buffer
          if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE)
-@@ -1154,8 +1187,6 @@ mDNSlocal mDNSu32       ProcessRoutingNotification(int sd)
+@@ -1541,8 +1574,6 @@ mDNSlocal mDNSu32       ProcessRoutingNotification(int sd)
          else
              break;  // all done!
      }
@@ -103,7 +103,7 @@
  }
  
  #else // USES_NETLINK
-@@ -1187,14 +1218,13 @@ mDNSlocal void      PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg)
+@@ -1574,14 +1605,13 @@ mDNSlocal void      PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg)
  }
  #endif
  
@@ -119,7 +119,7 @@
  
      readCount = read(sd, buff, sizeof buff);
      if (readCount < (ssize_t) sizeof(struct ifa_msghdr))
-@@ -1209,12 +1239,10 @@ mDNSlocal mDNSu32       ProcessRoutingNotification(int sd)
+@@ -1596,12 +1626,10 @@ mDNSlocal mDNSu32       ProcessRoutingNotification(int sd)
          pRSMsg->ifam_type == RTM_IFINFO)
      {
          if (pRSMsg->ifam_type == RTM_IFINFO)
@@ -134,7 +134,7 @@
  }
  
  #endif // USES_NETLINK
-@@ -1224,7 +1252,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
+@@ -1611,7 +1639,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
  {
      IfChangeRec     *pChgRec = (IfChangeRec*) context;
      fd_set readFDs;
@@ -144,7 +144,7 @@
      struct timeval zeroTimeout = { 0, 0 };
  
      (void)fd; // Unused
-@@ -1233,17 +1262,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
+@@ -1619,17 +1648,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
      FD_ZERO(&readFDs);
      FD_SET(pChgRec->NotifySD, &readFDs);
  
@@ -173,5 +173,5 @@
  
  // Register with either a Routing Socket or RtNetLink to listen for interface changes.
 -- 
-2.17.1
+2.20.1
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch
deleted file mode 100644
index f2b171e..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0005-Handle-noisy-netlink-sockets.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-From 92025cab86619f548bf3eb816a1804ef40507ca7 Mon Sep 17 00:00:00 2001
-From: Nate Karstens <nate.karstens@garmin.com>
-Date: Mon, 24 Jul 2017 09:38:55 -0500
-Subject: [PATCH 05/11] Handle noisy netlink sockets
-
-The POSIX implementation currently clears all network interfaces
-when netlink indicates that there has been a change. This causes
-the following problems:
-
-  1) Applications are informed that all of the services they are
-     tracking have been removed.
-  2) Increases network load because the client must re-query for
-     all records it is interested in.
-
-This changes netlink notification handling by:
-
-  1) Always comparing with the latest interface list returned
-     by the OS.
-  2) Confirming that the interface has been changed in a way
-     that we care about.
-
-Upstream-Status: Submitted [dts@apple.com]
-
-Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
----
- mDNSPosix/mDNSPosix.c | 143 +++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 133 insertions(+), 10 deletions(-)
-
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 699855a..59a8b8c 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1247,14 +1247,38 @@ mDNSlocal void          ProcessRoutingNotification(int sd, GenLinkedList *change
- 
- #endif // USES_NETLINK
- 
-+// Test whether the given PosixNetworkInterface matches the given struct ifi_info
-+mDNSlocal mDNSBool InterfacesMatch(PosixNetworkInterface *intf, struct ifi_info *ifi)
-+{
-+    mDNSBool match = mDNSfalse;
-+    mDNSAddr ip, mask;
-+
-+    if((intf->index == ifi->ifi_index) &&
-+       (intf->sa_family == ifi->ifi_addr->sa_family) &&
-+       (strcmp(intf->coreIntf.ifname, ifi->ifi_name) == 0))
-+        {
-+        SockAddrTomDNSAddr(ifi->ifi_addr,    &ip,   NULL);
-+        SockAddrTomDNSAddr(ifi->ifi_netmask, &mask, NULL);
-+
-+        match = mDNSSameAddress(&intf->coreIntf.ip, &ip) &&
-+                mDNSSameAddress(&intf->coreIntf.mask, &mask);
-+        }
-+
-+    return match;
-+}
-+
- // Called when data appears on interface change notification socket
- mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
- {
-     IfChangeRec     *pChgRec = (IfChangeRec*) context;
-+    mDNS            *m = pChgRec->mDNS;
-     fd_set readFDs;
-     GenLinkedList changedInterfaces;
-     NetworkInterfaceIndex *changedInterface;
-     struct timeval zeroTimeout = { 0, 0 };
-+    struct ifi_info *ifi_list, **ifi, *ifi_free, *ifi_loop4 = NULL;
-+    PosixNetworkInterface *intf, *intfNext;
-+    mDNSBool found, foundav4;
- 
-     (void)fd; // Unused
-     (void)filter; // Unused
-@@ -1270,12 +1294,115 @@ mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
-     }
-     while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout));
- 
--    // Currently we rebuild the entire interface list whenever any interface change is
--    // detected. If this ever proves to be a performance issue in a multi-homed
--    // configuration, more care should be paid to changedInterfaces.
--    if (changedInterfaces.Head != NULL)
--        mDNSPlatformPosixRefreshInterfaceList(pChgRec->mDNS);
-+    CleanRecentInterfaces();
-+
-+    if (changedInterfaces.Head == NULL) goto cleanup;
-+
-+    ifi_list = get_ifi_info(AF_INET, mDNStrue);
-+    if (ifi_list == NULL) goto cleanup;
-+
-+#if HAVE_IPV6
-+    /* Link the IPv6 list to the end of the IPv4 list */
-+    ifi = &ifi_list;
-+    while (*ifi != NULL) ifi = &(*ifi)->ifi_next;
-+    *ifi = get_ifi_info(AF_INET6, mDNStrue);
-+#endif
-+
-+    for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext)
-+    {
-+        intfNext = (PosixNetworkInterface*)(intf->coreIntf.next);
-+
-+        // Loopback interface(s) are handled later
-+        if (intf->coreIntf.Loopback) continue;
-+
-+        found = mDNSfalse;
-+        for (ifi = &ifi_list; *ifi != NULL; ifi = &(*ifi)->ifi_next)
-+        {
-+            if (InterfacesMatch(intf, *ifi))
-+            {
-+                found = mDNStrue;
-+
-+                // Removes unchanged from ifi_list
-+                ifi_free = *ifi;
-+                *ifi = (*ifi)->ifi_next;
-+                ifi_free->ifi_next = NULL;
-+                free_ifi_info(ifi_free);
-+
-+                break;
-+            }
-+        }
-+
-+        // Removes changed and old interfaces from m->HostInterfaces
-+        if (!found) TearDownInterface(m, intf);
-+    }
-+
-+    // Add new and changed interfaces in ifi_list
-+    // Save off loopback interface in case it is needed later
-+    for (ifi = &ifi_list; *ifi != NULL; ifi = &(*ifi)->ifi_next)
-+    {
-+        if ((ifi_loop4 == NULL) &&
-+            ((*ifi)->ifi_addr->sa_family == AF_INET) &&
-+            ((*ifi)->ifi_flags & IFF_UP) &&
-+            ((*ifi)->ifi_flags & IFF_LOOPBACK))
-+        {
-+            ifi_loop4 = *ifi;
-+            continue;
-+        }
-+
-+        if (     (((*ifi)->ifi_addr->sa_family == AF_INET)
-+#if HAVE_IPV6
-+                  || ((*ifi)->ifi_addr->sa_family == AF_INET6)
-+#endif
-+                  ) && ((*ifi)->ifi_flags & IFF_UP)
-+                    && !((*ifi)->ifi_flags & IFF_POINTOPOINT)
-+                    && !((*ifi)->ifi_flags & IFF_LOOPBACK))
-+        {
-+            SetupOneInterface(m, *ifi);
-+        }
-+    }
-+
-+    // Determine if there is at least one non-loopback IPv4 interface. This is to work around issues
-+    // with multicast loopback on IPv6 interfaces -- see corresponding logic in SetupInterfaceList().
-+    foundav4 = mDNSfalse;
-+    for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next))
-+    {
-+        if (intf->sa_family == AF_INET && !intf->coreIntf.Loopback)
-+        {
-+            foundav4 = mDNStrue;
-+            break;
-+        }
-+    }
-+
-+    if (foundav4)
-+    {
-+        for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = intfNext)
-+        {
-+            intfNext = (PosixNetworkInterface*)(intf->coreIntf.next);
-+            if (intf->coreIntf.Loopback) TearDownInterface(m, intf);
-+        }
-+    }
-+    else
-+    {
-+        found = mDNSfalse;
-+
-+        for (intf = (PosixNetworkInterface*)(m->HostInterfaces); intf != NULL; intf = (PosixNetworkInterface*)(intf->coreIntf.next))
-+        {
-+            if (intf->coreIntf.Loopback)
-+            {
-+                found = mDNStrue;
-+                break;
-+            }
-+        }
-+
-+        if (!found && (ifi_loop4 != NULL))
-+        {
-+            SetupOneInterface(m, ifi_loop4);
-+        }
-+    }
-+
-+    if (ifi_list != NULL) free_ifi_info(ifi_list);
- 
-+cleanup:
-     while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL)
-     {
-         RemoveFromList(&changedInterfaces, changedInterface);
-@@ -1400,15 +1527,11 @@ mDNSexport void mDNSPlatformClose(mDNS *const m)
- #endif
- }
- 
--// This is used internally by InterfaceChangeCallback.
--// It's also exported so that the Standalone Responder (mDNSResponderPosix)
-+// This is exported so that the Standalone Responder (mDNSResponderPosix)
- // can call it in response to a SIGHUP (mainly for debugging purposes).
- mDNSexport mStatus mDNSPlatformPosixRefreshInterfaceList(mDNS *const m)
- {
-     int err;
--    // This is a pretty heavyweight way to process interface changes --
--    // destroying the entire interface list and then making fresh one from scratch.
--    // We should make it like the OS X version, which leaves unchanged interfaces alone.
-     ClearInterfaceList(m);
-     err = SetupInterfaceList(m);
-     return PosixErrorToStatus(err);
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch
deleted file mode 100644
index 86201c6..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0007-Indicate-loopback-interface-to-mDNS-core.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 07a9401d84804d7f0181aa4fb0f13a54b2a1c9a8 Mon Sep 17 00:00:00 2001
-From: Nate Karstens <nate.karstens@garmin.com>
-Date: Tue, 1 Aug 2017 17:06:01 -0500
-Subject: [PATCH 07/11] Indicate loopback interface to mDNS core
-
-Tells the mDNS core if an interface is a loopback interface,
-similar to AddInterfaceToList() in the MacOS implementation.
-Also reorganizes SetupOneInterface() to use a const struct
-rather than growing its parameter list again.
-
-Upstream-Status: Submitted [dts@apple.com]
-
-Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
----
- mDNSPosix/mDNSPosix.c | 37 ++++++++++++++++++-------------------
- 1 file changed, 18 insertions(+), 19 deletions(-)
-
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 3fc5451..798ab10 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -889,16 +889,14 @@ mDNSlocal void CleanRecentInterfaces(void)
- 
- // Creates a PosixNetworkInterface for the interface whose IP address is
- // intfAddr and whose name is intfName and registers it with mDNS core.
--mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask, const char *intfName, int intfIndex)
-+mDNSlocal int SetupOneInterface(mDNS *const m, struct ifi_info *const ifi)
- {
-     int err = 0;
-     PosixNetworkInterface *intf;
-     PosixNetworkInterface *alias = NULL;
- 
-     assert(m != NULL);
--    assert(intfAddr != NULL);
--    assert(intfName != NULL);
--    assert(intfMask != NULL);
-+    assert(ifi != NULL);
- 
-     // Allocate the interface structure itself.
-     intf = (PosixNetworkInterface*)calloc(1, sizeof(*intf));
-@@ -907,26 +905,27 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
-     // And make a copy of the intfName.
-     if (err == 0)
-     {
--        intf->intfName = strdup(intfName);
-+        intf->intfName = strdup(ifi->ifi_name);
-         if (intf->intfName == NULL) { assert(0); err = ENOMEM; }
-     }
- 
-     if (err == 0)
-     {
-         // Set up the fields required by the mDNS core.
--        SockAddrTomDNSAddr(intfAddr, &intf->coreIntf.ip, NULL);
--        SockAddrTomDNSAddr(intfMask, &intf->coreIntf.mask, NULL);
-+        SockAddrTomDNSAddr(ifi->ifi_addr, &intf->coreIntf.ip, NULL);
-+        SockAddrTomDNSAddr(ifi->ifi_netmask, &intf->coreIntf.mask, NULL);
- 
-         //LogMsg("SetupOneInterface: %#a %#a",  &intf->coreIntf.ip,  &intf->coreIntf.mask);
--        strncpy(intf->coreIntf.ifname, intfName, sizeof(intf->coreIntf.ifname));
-+        strncpy(intf->coreIntf.ifname, ifi->ifi_name, sizeof(intf->coreIntf.ifname));
-         intf->coreIntf.ifname[sizeof(intf->coreIntf.ifname)-1] = 0;
-         intf->coreIntf.Advertise = m->AdvertiseLocalAddresses;
-         intf->coreIntf.McastTxRx = mDNStrue;
-+        intf->coreIntf.Loopback = ((ifi->ifi_flags & IFF_LOOPBACK) != 0) ? mDNStrue : mDNSfalse;
- 
-         // Set up the extra fields in PosixNetworkInterface.
-         assert(intf->intfName != NULL);         // intf->intfName already set up above
--        intf->index                = intfIndex;
--        intf->sa_family            = intfAddr->sa_family;
-+        intf->index                = ifi->ifi_index;
-+        intf->sa_family            = ifi->ifi_addr->sa_family;
-         intf->multicastSocket4     = -1;
- #if HAVE_IPV6
-         intf->multicastSocket6     = -1;
-@@ -936,17 +935,17 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
-         intf->coreIntf.InterfaceID = (mDNSInterfaceID)alias;
- 
-         if (alias != intf)
--            debugf("SetupOneInterface: %s %#a is an alias of %#a", intfName, &intf->coreIntf.ip, &alias->coreIntf.ip);
-+            debugf("SetupOneInterface: %s %#a is an alias of %#a", ifi->ifi_name, &intf->coreIntf.ip, &alias->coreIntf.ip);
-     }
- 
-     // Set up the multicast socket
-     if (err == 0)
-     {
--        if (alias->multicastSocket4 == -1 && intfAddr->sa_family == AF_INET)
--            err = SetupSocket(intfAddr, MulticastDNSPort, intf->index, &alias->multicastSocket4);
-+        if (alias->multicastSocket4 == -1 && ifi->ifi_addr->sa_family == AF_INET)
-+            err = SetupSocket(ifi->ifi_addr, MulticastDNSPort, intf->index, &alias->multicastSocket4);
- #if HAVE_IPV6
--        else if (alias->multicastSocket6 == -1 && intfAddr->sa_family == AF_INET6)
--            err = SetupSocket(intfAddr, MulticastDNSPort, intf->index, &alias->multicastSocket6);
-+        else if (alias->multicastSocket6 == -1 && ifi->ifi_addr->sa_family == AF_INET6)
-+            err = SetupSocket(ifi->ifi_addr, MulticastDNSPort, intf->index, &alias->multicastSocket6);
- #endif
-     }
- 
-@@ -973,8 +972,8 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
-     }
-     else
-     {
--        // Use intfName instead of intf->intfName in the next line to avoid dereferencing NULL.
--        debugf("SetupOneInterface: %s %#a failed to register %d", intfName, &intf->coreIntf.ip, err);
-+        // Use ifi->ifi_name instead of intf->intfName in the next line to avoid dereferencing NULL.
-+        debugf("SetupOneInterface: %s %#a failed to register %d", ifi->ifi_name, &intf->coreIntf.ip, err);
-         if (intf) { FreePosixNetworkInterface(intf); intf = NULL; }
-     }
- 
-@@ -1023,7 +1022,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
-                 }
-                 else
-                 {
--                    if (SetupOneInterface(m, i->ifi_addr, i->ifi_netmask, i->ifi_name, i->ifi_index) == 0)
-+                    if (SetupOneInterface(m, i) == 0)
-                         if (i->ifi_addr->sa_family == AF_INET)
-                             foundav4 = mDNStrue;
-                 }
-@@ -1037,7 +1036,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
-         // In the interim, we skip loopback interface only if we found at least one v4 interface to use
-         // if ((m->HostInterfaces == NULL) && (firstLoopback != NULL))
-         if (!foundav4 && firstLoopback)
--            (void) SetupOneInterface(m, firstLoopback->ifi_addr, firstLoopback->ifi_netmask, firstLoopback->ifi_name, firstLoopback->ifi_index);
-+            (void) SetupOneInterface(m, firstLoopback);
-     }
- 
-     // Clean up.
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
index d64fb35..d9adde0 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
@@ -1,7 +1,7 @@
-From 19de26db69408f02241e232b39224589a0f630df Mon Sep 17 00:00:00 2001
+From 9ff06108cd44e84ba6c68bfa6737e793f117e303 Mon Sep 17 00:00:00 2001
 From: Nate Karstens <nate.karstens@garmin.com>
 Date: Thu, 10 Aug 2017 08:46:03 -0500
-Subject: [PATCH 11/11] Change a dynamic allocation to file-scope variable
+Subject: [PATCH] Change a dynamic allocation to file-scope variable
 
 Changes a variable from being dynamically-allocated to being
 statically-allocated at the file scope. Addresses a Coverity
@@ -11,14 +11,14 @@
 
 Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
 ---
- mDNSPosix/mDNSPosix.c | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
+ mDNSPosix/mDNSPosix.c | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
 
 diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 84af26b..b7795ed 100644
+index 7aeee7b..2d25016 100755
 --- a/mDNSPosix/mDNSPosix.c
 +++ b/mDNSPosix/mDNSPosix.c
-@@ -91,6 +91,7 @@ static sigset_t gEventSignalSet;                // Signals which event loop list
+@@ -81,6 +81,7 @@ static sigset_t gEventSignalSet;                // Signals which event loop list
  static sigset_t gEventSignals;                  // Signals which were received while inside loop
  
  static PosixNetworkInterface *gRecentInterfaces;
@@ -26,13 +26,13 @@
  
  // ***************************************************************************
  // Globals (for debugging)
-@@ -1412,16 +1413,11 @@ cleanup:
+@@ -1641,18 +1642,11 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
  mDNSlocal mStatus WatchForInterfaceChange(mDNS *const m)
  {
      mStatus err;
 -    IfChangeRec *pChgRec;
  
--    pChgRec = (IfChangeRec*) mDNSPlatformMemAllocate(sizeof *pChgRec);
+-    pChgRec = (IfChangeRec*) mDNSPlatformMemAllocateClear(sizeof *pChgRec);
 -    if (pChgRec == NULL)
 -        return mStatus_NoMemoryErr;
 -
@@ -42,10 +42,12 @@
 +    err = OpenIfNotifySocket(&gChgRec.NotifySD);
      if (err == 0)
 -        err = mDNSPosixAddFDToEventLoop(pChgRec->NotifySD, InterfaceChangeCallback, pChgRec);
+-    if (err)
+-        mDNSPlatformMemFree(pChgRec);
 +        err = mDNSPosixAddFDToEventLoop(gChgRec.NotifySD, InterfaceChangeCallback, &gChgRec);
  
      return err;
  }
 -- 
-2.17.1
+2.20.1
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch
deleted file mode 100644
index 4ab9d23..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/files/build.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
-From: Brendan Le Foll <brendan.le.foll@intel.com>
-Date: Tue, 3 Mar 2015 11:42:57 +0000
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
----
- mDNSPosix/Makefile | 54 +++++++++++++++++++++++++-----------------------------
- 1 file changed, 25 insertions(+), 29 deletions(-)
-
-diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
-index 4f98e90..8ac97ad 100755
---- a/mDNSPosix/Makefile
-+++ b/mDNSPosix/Makefile
-@@ -50,6 +50,7 @@
- 
- LIBVERS = 1
- 
-+POSIXDIR = ../mDNSPosix
- COREDIR = ../mDNSCore
- SHAREDDIR ?= ../mDNSShared
- JDK = /usr/jdk
-@@ -58,11 +59,11 @@ CC = @cc
- BISON = @bison
- FLEX = @flex
- ST = @strip
--LD = ld -shared
-+LD =@LD
- CP = cp
- RM = rm
- LN = ln -s -f
--CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
-+CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
- CFLAGS_PTHREAD =
- LINKOPTS =
- LINKOPTS_PTHREAD = -lpthread
-@@ -70,7 +71,7 @@ LDSUFFIX = so
- JAVACFLAGS_OS = -fPIC -shared -ldns_sd
- 
- # Set up diverging paths for debug vs. prod builds
--DEBUG=0
-+DEBUG?=1
- ifeq ($(DEBUG),1)
- CFLAGS_DEBUG = -g -DMDNS_DEBUGMSGS=2
- OBJDIR = objects/debug
-@@ -213,7 +214,7 @@ endif
- endif
- endif
- 
--CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
-+CFLAGS_BUILD = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
- 
- #############################################################################
- 
-@@ -249,8 +250,7 @@ Daemon: setup $(BUILDDIR)/mdnsd
- 	@echo "Responder daemon done"
- 
- $(BUILDDIR)/mdnsd: $(DAEMONOBJS)
--	$(CC) -o $@ $+ $(LINKOPTS)
--	@$(STRIP) $@
-+	$(CC) -o $@ $+
- 
- # libdns_sd target builds the client library
- libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
-@@ -259,22 +259,18 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
- CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
- 
- $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
--	@$(LD) $(LINKOPTS) -o $@ $+
--	@$(STRIP) $@
-+	$(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+
- 
--Clients: setup libdns_sd ../Clients/build/dns-sd
-+Clients: setup libdns_sd
-+	@$(MAKE) -C ../Clients DEBUG=${DEBUG}
- 	@echo "Clients done"
- 
--../Clients/build/dns-sd:
--	@$(MAKE) -C ../Clients
--
- # nss_mdns target builds the Name Service Switch module
- nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE)
- 	@echo "Name Service Switch module done"
- 
- $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o
--	@$(LD) $(LINKOPTS) -o $@ $+
--	@$(STRIP) $@
-+	$(LD) -shared $(LINKOPTS) -o $@ $+
- 
- #############################################################################
- 
-@@ -470,55 +466,55 @@ dnsextd: setup $(BUILDDIR)/dnsextd
- 	@echo "dnsextd done"
- 
- $(BUILDDIR)/mDNSClientPosix:         $(APPOBJ)     $(OBJDIR)/Client.c.o
--	$(CC) $+ -o $@ $(LINKOPTS)
-+	$(CC) $+ -o $@
- 
- $(BUILDDIR)/mDNSResponderPosix:      $(COMMONOBJ)  $(OBJDIR)/Responder.c.o
--	$(CC) $+ -o $@ $(LINKOPTS)
-+	$(CC) $+ -o $@
- 
- $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ)  $(OBJDIR)/ProxyResponder.c.o
--	$(CC) $+ -o $@ $(LINKOPTS)
-+	$(CC) $+ -o $@
- 
- $(BUILDDIR)/mDNSIdentify:            $(SPECIALOBJ) $(OBJDIR)/Identify.c.o
--	$(CC) $+ -o $@ $(LINKOPTS)
-+	$(CC) $+ -o $@
- 
- $(OBJDIR)/Identify.c.o:              $(COREDIR)/mDNS.c # Note: Identify.c textually imports mDNS.c
- 
- $(BUILDDIR)/mDNSNetMonitor:          $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o
--	$(CC) $+ -o $@ $(LINKOPTS)
-+	$(CC) $+ -o $@
- 
- $(OBJDIR)/NetMonitor.c.o:            $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c
- 
- $(BUILDDIR)/dnsextd:                 $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o
--	$(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD)
-+	$(CC) $+ -o $@ $(LINKOPTS_PTHREAD)
- 
- #############################################################################
- 
- # Implicit rules
- $(OBJDIR)/%.c.o:	%.c
--	$(CC) $(CFLAGS) -c -o $@ $<
-+	$(CC) $(CFLAGS_BUILD) -c -o $@ $<
- 
- $(OBJDIR)/%.c.o:	$(COREDIR)/%.c
--	$(CC) $(CFLAGS) -c -o $@ $<
-+	$(CC) $(CFLAGS_BUILD) -c -o $@ $<
- 
- $(OBJDIR)/%.c.o:	$(SHAREDDIR)/%.c
--	$(CC) $(CFLAGS) -c -o $@ $<
-+	$(CC) $(CFLAGS_BUILD) -c -o $@ $<
- 
- $(OBJDIR)/%.c.threadsafe.o:	%.c
--	$(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
-+	$(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
- 
- $(OBJDIR)/%.c.threadsafe.o:	$(SHAREDDIR)/%.c
--	$(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
-+	$(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
- 
- $(OBJDIR)/%.c.so.o:	%.c
--	$(CC) $(CFLAGS) -c -fPIC -o $@ $<
-+	$(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
- 
- $(OBJDIR)/%.c.so.o:	$(SHAREDDIR)/%.c
--	$(CC) $(CFLAGS) -c -fPIC -o $@ $<
-+	$(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
- 
- $(OBJDIR)/%.y.o: $(SHAREDDIR)/%.y
- 	$(BISON)              -o $(OBJDIR)/$*.c -d $<
--	$(CC) $(CFLAGS) -c -o $@ $(OBJDIR)/$*.c
-+	$(CC) $(CFLAGS_BUILD) -c -o $@ $(OBJDIR)/$*.c
- 
- $(OBJDIR)/%.l.o: $(SHAREDDIR)/%.l
- 	$(FLEX) $(FLEXFLAGS_OS) -i             -o$(OBJDIR)/$*.l.c $<
--	$(CC) $(CFLAGS) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
-+	$(CC) $(CFLAGS_BUILD) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
--- 
-2.9.5
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1096.40.7.bb
similarity index 90%
rename from meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb
rename to meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1096.40.7.bb
index 0f8dc92..086b408 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_878.270.2.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_1096.40.7.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
 DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
 HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
-LICENSE = "Apache-2.0"
+LICENSE = "Apache-2.0 & BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
 
 COMPATIBLE_HOST_libc-musl = 'null'
@@ -9,22 +9,23 @@
 RPROVIDES_${PN} += "libdns_sd.so"
 
 SRC_URI = "https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
-           file://build.patch;patchdir=.. \
            file://mdns.service \
+           file://0001-mdns-include-stddef.h-for-NULL.patch;patchdir=.. \
+           file://0002-mdns-cross-compilation-fixes-for-bitbake.patch;patchdir=.. \
            file://0001-Create-subroutine-for-cleaning-recent-interfaces.patch;patchdir=.. \
            file://0002-Create-subroutine-for-tearing-down-an-interface.patch;patchdir=.. \
            file://0003-Track-interface-socket-family.patch;patchdir=.. \
            file://0004-Use-list-for-changed-interfaces.patch;patchdir=.. \
-           file://0005-Handle-noisy-netlink-sockets.patch;patchdir=.. \
            file://0006-Remove-unneeded-function.patch;patchdir=.. \
-           file://0007-Indicate-loopback-interface-to-mDNS-core.patch;patchdir=.. \
            file://0008-Mark-deleted-interfaces-as-being-changed.patch;patchdir=.. \
            file://0009-Fix-possible-NULL-dereference.patch;patchdir=.. \
            file://0010-Handle-errors-from-socket-calls.patch;patchdir=.. \
            file://0011-Change-a-dynamic-allocation-to-file-scope-variable.patch;patchdir=.. \
            "
-SRC_URI[md5sum] = "4e139a8e1133349006b0436291c9e29b"
-SRC_URI[sha256sum] = "2cef0ee9900504c5277fb81de0a28e6c0835fe482ebecf1067c6864f5c4eda74"
+SRC_URI[md5sum] = "ac766013bbcb323e9db4c80805b2552a"
+SRC_URI[sha256sum] = "b86f4816b4145915198e7c5bf0bc56dbbfd960e9a4518bb6486baa40cdcca7e6"
+
+CVE_PRODUCT = "apple:mdnsresponder"
 
 PARALLEL_MAKE = ""
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch
deleted file mode 100644
index dd159b9..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From 4bf83597379523032663c8e95b3786a217c9a849 Mon Sep 17 00:00:00 2001
-From: Hugh McMaster <hugh.mcmaster@outlook.com>
-Date: Wed, 3 Apr 2019 21:36:03 +1100
-Subject: [PATCH] Add pkg-config support for building applications and
- sub-agents
-
-The netsnmp package should be used when building Net-SNMP applications.
-The netsnmp-agent package should be used when building Net-SNMP subagents.
-
-Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
-[ bvanassche: edited makefile code and .pc files; added ./configure changes ]
-
-Upstream-Status: Backport
-https://sourceforge.net/p/net-snmp/patches/_discuss/thread/a0d66e91dd/f940/attachment/0001-Add-pkg-config-support-for-building-applications-and.patch
----
- Makefile.in         |  2 ++
- Makefile.rules      | 30 ++++++++++++++++++++++++++----
- configure           |  4 ++++
- configure.ac        |  1 +
- netsnmp-agent.pc.in | 12 ++++++++++++
- netsnmp.pc.in       | 12 ++++++++++++
- 6 files changed, 57 insertions(+), 4 deletions(-)
- create mode 100644 netsnmp-agent.pc.in
- create mode 100644 netsnmp.pc.in
-
-diff --git a/Makefile.in b/Makefile.in
-index 9dbdde1353..ec972636c2 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -35,6 +35,7 @@ INSTALLBUILTHEADERS=include/net-snmp/net-snmp-config.h
- INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@
- INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user
- INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h
-+INSTALL_PKGCONFIG=netsnmp.pc netsnmp-agent.pc
- 
- #
- # other install rules.
-@@ -275,6 +276,7 @@ configclean: makefileclean
- 		libtool include/net-snmp/net-snmp-config.h \
- 		net-snmp-config net-snmp-config-x configure-summary \
- 		net-snmp-create-v3-user net-snmp-create-v3-user-x
-+	rm -f *.pc
- 	rm -f mibs/.index
- 	rm -f include/net-snmp/agent/mib_module_config.h		\
- 		include/net-snmp/agent/agent_module_config.h		\
-diff --git a/Makefile.rules b/Makefile.rules
-index 9e9e9009e5..e714f91e72 100644
---- a/Makefile.rules
-+++ b/Makefile.rules
-@@ -85,12 +85,14 @@ subdirs:
- # installlibs handles local, ucd and subdir libs. need to do subdir libs
- # before bins, sinze those libs may be needed for successful linking
- install: installlocalheaders @installucdheaders@ \
--         installlibs \
--         installlocalbin      installlocalsbin   \
-+         installlibs         install_pkgconfig   \
-+         installlocalbin     installlocalsbin    \
-          installsubdirs      $(OTHERINSTALL)
- 
--uninstall: uninstalllibs uninstallbin uninstallsbin uninstallheaders \
--           uninstallsubdirs $(OTHERUNINSTALL)
-+uninstall: uninstalllibs     uninstall_pkgconfig \
-+           uninstallbin      uninstallsbin       \
-+           uninstallheaders                      \
-+           uninstallsubdirs  $(OTHERUNINSTALL)
- 
- installprogs: installbin installsbin
- 
-@@ -287,6 +289,26 @@ uninstalllibs:
- 		done \
- 	fi
- 
-+#
-+# pkg-config files
-+#
-+install_pkgconfig: $(INSTALL_PKGCONFIG)
-+	@if test "x$(INSTALL_PKGCONFIG)" != x; then			\
-+		$(SHELL) $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
-+		for i in $(INSTALL_PKGCONFIG); do			\
-+			echo "installing $$i in $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
-+		done;							\
-+		$(INSTALL) $(INSTALL_PKGCONFIG) $(INSTALL_PREFIX)$(libdir)/pkgconfig; \
-+	fi
-+
-+uninstall_pkgconfig:
-+	@if test "x$(INSTALL_PKGCONFIG)" != x; then			\
-+		for i in $(INSTALL_PKGCONFIG); do			\
-+			echo "removing $$i from $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \
-+			$(UNINSTALL) $(INSTALL_PREFIX)$(libdir)/pkgconfig/$$i;\
-+		done;							\
-+	fi
-+
- #
- # normal bin binaries
- #
-diff --git a/configure b/configure
-index cad6b74486..8909bffe05 100755
---- a/configure
-+++ b/configure
-@@ -31717,6 +31717,8 @@ ac_config_files="$ac_config_files net-snmp-config:net-snmp-config.in"
- 
- ac_config_files="$ac_config_files net-snmp-create-v3-user:net-snmp-create-v3-user.in"
- 
-+ac_config_files="$ac_config_files netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in"
-+
- ac_config_files="$ac_config_files dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in"
- 
- ac_config_files="$ac_config_files local/snmpconf"
-@@ -32740,6 +32742,8 @@ do
-     "mibs/Makefile") CONFIG_FILES="$CONFIG_FILES mibs/Makefile:Makefile.top:mibs/Makefile.in:Makefile.rules" ;;
-     "net-snmp-config") CONFIG_FILES="$CONFIG_FILES net-snmp-config:net-snmp-config.in" ;;
-     "net-snmp-create-v3-user") CONFIG_FILES="$CONFIG_FILES net-snmp-create-v3-user:net-snmp-create-v3-user.in" ;;
-+    "netsnmp.pc") CONFIG_FILES="$CONFIG_FILES netsnmp.pc:netsnmp.pc.in" ;;
-+    "netsnmp-agent.pc") CONFIG_FILES="$CONFIG_FILES netsnmp-agent.pc:netsnmp-agent.pc.in" ;;
-     "dist/generation-scripts/gen-variables") CONFIG_FILES="$CONFIG_FILES dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in" ;;
-     "local/snmpconf") CONFIG_FILES="$CONFIG_FILES local/snmpconf" ;;
-     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
-diff --git a/configure.ac b/configure.ac
-index 1622b7c051..898b50f368 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -118,6 +118,7 @@ AC_CONFIG_FILES([net-snmp-config:net-snmp-config.in],
- 		[chmod +x net-snmp-config])
- AC_CONFIG_FILES([net-snmp-create-v3-user:net-snmp-create-v3-user.in],
- 		[chmod +x net-snmp-create-v3-user])
-+AC_CONFIG_FILES([netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in])
- AC_CONFIG_FILES([dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in])
- AC_CONFIG_FILES([local/snmpconf])
- 
-diff --git a/netsnmp-agent.pc.in b/netsnmp-agent.pc.in
-new file mode 100644
-index 0000000000..3a1c77bbf8
---- /dev/null
-+++ b/netsnmp-agent.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+includedir=@includedir@
-+libdir=@libdir@
-+
-+Name: netsnmp-agent (@PACKAGE_NAME@)
-+Description: SNMP (Simple Network Management Protocol) sub-agent SDK.
-+URL: http://www.net-snmp.org
-+Version: @PACKAGE_VERSION@
-+Cflags: -I${includedir}
-+Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp
-+Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@
-diff --git a/netsnmp.pc.in b/netsnmp.pc.in
-new file mode 100644
-index 0000000000..0a1f5785a4
---- /dev/null
-+++ b/netsnmp.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+includedir=@includedir@
-+libdir=@libdir@
-+
-+Name: netsnmp (@PACKAGE_NAME@)
-+Description: SNMP (Simple Network Management Protocol) daemon and applications.
-+URL: http://www.net-snmp.org
-+Version: @PACKAGE_VERSION@
-+Cflags: -I${includedir}
-+Libs: -L${libdir} -lnetsnmp
-+Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@
--- 
-2.26.2
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
index 5ad7470..05a47f6 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-config_os_headers-Error-Fix.patch
@@ -1,4 +1,4 @@
-From 2ad4df6d503be72a8910c3087611adb33d77ffde Mon Sep 17 00:00:00 2001
+From 69d4c517c07f55c505090e48d96ace8cd599fb26 Mon Sep 17 00:00:00 2001
 From: Li xin <lixin.fnst@cn.fujitsu.com>
 Date: Fri, 21 Aug 2015 18:23:13 +0900
 Subject: [PATCH] config_os_headers: Error Fix
@@ -13,15 +13,16 @@
 Upstream-Status: pending
 
 Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+
 ---
  configure.d/config_os_headers | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
-index 2fdb5a35d6..0272f02c8e 100644
+index f07d512..2363b42 100644
 --- a/configure.d/config_os_headers
 +++ b/configure.d/config_os_headers
-@@ -487,8 +487,8 @@ then
+@@ -395,8 +395,8 @@ then
      unset ac_cv_header_pkg_h
      netsnmp_save_CPPFLAGS="$CPPFLAGS"
      netsnmp_save_LDFLAGS="$LDFLAGS"
@@ -32,6 +33,3 @@
      AC_CHECK_HEADERS(pkg.h,
          NETSNMP_SEARCH_LIBS(pkg_init, pkg,
  	    AC_DEFINE(HAVE_LIBPKG, 1, [define if you have BSD pkg-ng])))
--- 
-2.26.2
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
index bf133b3..22e5915 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-get_pid_from_inode-Include-limit.h.patch
@@ -1,4 +1,4 @@
-From 98c6edba4835b515d933542411d80879327eee16 Mon Sep 17 00:00:00 2001
+From 2bf1bbe1d428ed06d57aa76b03e394b72ff2216d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 22 Jul 2016 18:34:39 +0000
 Subject: [PATCH] get_pid_from_inode: Include limit.h
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch
deleted file mode 100644
index 33a1e74..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 383e67e359b89abe0440597ce414297892ade511 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 26 Feb 2019 14:26:07 +0800
-Subject: [PATCH] net-snmp: fix compile error with --disable-des
-
-| scapi.c: In function 'sc_encrypt':
-| scapi.c:1256:5: error: 'pad_size' undeclared (first use in this function); did you mean 'dysize'?
-|      pad_size = pai->pad_size;
-|      ^~~~~~~~
-|      dysize
-
-pad_size is defined only without --disable-des
-[snip]
-#ifndef NETSNMP_DISABLE_DES
-    int             pad, plast, pad_size = 0;
-
-but used when disable-des,
-[snip]
-        QUITFUN(SNMPERR_GENERR, sc_encrypt_quit);
-    }
-    pad_size = pai->pad_size;
-
-    memset(my_iv, 0, sizeof(my_iv));
-
-#ifndef NETSNMP_DISABLE_DES
-    if (USM_CREATE_USER_PRIV_DES == (pai->type & USM_PRIV_MASK_ALG)) {
-
-        /*
-
-fix by move it into #ifndef NETSNMP_DISABLE_DES
-
-Upstream-Status: Submitted [https://sourceforge.net/p/net-snmp/bugs/2927/]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- snmplib/scapi.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/snmplib/scapi.c b/snmplib/scapi.c
-index 8ad1d70d90..8c6882d9ab 100644
---- a/snmplib/scapi.c
-+++ b/snmplib/scapi.c
-@@ -1251,7 +1251,6 @@ sc_encrypt(const oid * privtype, size_t privtypelen,
- 
-         QUITFUN(SNMPERR_GENERR, sc_encrypt_quit);
-     }
--    pad_size = pai->pad_size;
- 
-     memset(my_iv, 0, sizeof(my_iv));
- 
-@@ -1261,6 +1260,8 @@ sc_encrypt(const oid * privtype, size_t privtypelen,
-         /*
-          * now calculate the padding needed 
-          */
-+
-+       pad_size = pai->pad_size;
-         pad = pad_size - (ptlen % pad_size);
-         plast = (int) ptlen - (pad_size - pad);
-         if (pad == pad_size)
--- 
-2.26.2
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch
index 778b401..42352a6 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-snmplib-keytools.c-Don-t-check-for-return-from-EVP_M.patch
@@ -1,4 +1,4 @@
-From 89538a973119f1bf976b3a6df157ea940cf32eb5 Mon Sep 17 00:00:00 2001
+From f3ff99736b8cccbba77349b0d10a3cee366a4c87 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 18 Sep 2015 00:28:45 -0400
 Subject: [PATCH] snmplib/keytools.c: Don't check for return from
@@ -10,22 +10,25 @@
 snmplib/keytools.c: In function 'generate_Ku': error: invalid use of void expression
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
 
 ---
- snmplib/keytools.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ snmplib/keytools.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
 
 diff --git a/snmplib/keytools.c b/snmplib/keytools.c
-index 2cf0240..50fd3ea 100644
+index 129a7c0..2fc1efc 100644
 --- a/snmplib/keytools.c
 +++ b/snmplib/keytools.c
-@@ -186,8 +186,7 @@ generate_Ku(const oid * hashtype, u_int hashtype_len,
+@@ -183,10 +183,7 @@ generate_Ku(const oid * hashtype, u_int hashtype_len,
      ctx = EVP_MD_CTX_create();
  #else
      ctx = malloc(sizeof(*ctx));
--    if (!EVP_MD_CTX_init(ctx))
--        return SNMPERR_GENERR;
+-    if (!EVP_MD_CTX_init(ctx)) {
+-        rval = SNMPERR_GENERR;
+-        goto generate_Ku_quit;
+-    }
 +    EVP_MD_CTX_init(ctx);
  #endif
-     if (!EVP_DigestInit(ctx, hashfn))
-         return SNMPERR_GENERR;
+     if (!EVP_DigestInit(ctx, hashfn)) {
+         rval = SNMPERR_GENERR;
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch
index 4782714..c973bde 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0002-configure-fix-a-cc-check-issue.patch
@@ -1,7 +1,7 @@
-From a3631df3d6743113e1cd63579925e15bcce85868 Mon Sep 17 00:00:00 2001
+From 0a02ac779c51a2b4af3b58cb96967bf3eff80367 Mon Sep 17 00:00:00 2001
 From: Wenlin Kang <wenlin.kang@windriver.com>
 Date: Wed, 24 May 2017 16:45:34 +0800
-Subject: [PATCH 2/4] configure: fix a cc check issue.
+Subject: [PATCH] configure: fix a cc check issue.
 
 When has "." in cc value, the expression
 $myperl -V:cc | $myperl -n -e 'print if (s/^\s*cc=.([-=\w\s\/]+).;\s*/$1/);'
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
index a3d84b2..bfddc63 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0004-configure-fix-incorrect-variable.patch
@@ -1,7 +1,7 @@
-From f3c5cd4df7ce8e5639c99b7b918e41fb89e969e3 Mon Sep 17 00:00:00 2001
+From 011bdcd07f2a289d0cfc1b411c03c0cc7c42dad1 Mon Sep 17 00:00:00 2001
 From: Wenlin Kang <wenlin.kang@windriver.com>
 Date: Wed, 24 May 2017 17:10:20 +0800
-Subject: [PATCH 4/4] configure: fix incorrect variable
+Subject: [PATCH] configure: fix incorrect variable
 
 For cross compile platform, this variable will not be correct, so fix it.
 
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile.in b/Makefile.in
-index 9dbdde1..5fdc760 100644
+index 912f6b2..a53d1b2 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -173,7 +173,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt
+@@ -174,7 +174,7 @@ OTHERCLEANTODOS=perlclean @PYTHONCLEANTARGS@ cleanfeatures perlcleanfeatures pyt
  #
  # override LD_RUN_PATH to avoid dependencies on the build directory
  perlmodules: perlmakefiles subdirs
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/CVE-2019-20892.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/CVE-2019-20892.patch
deleted file mode 100644
index ec1b6de..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/CVE-2019-20892.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From 5f881d3bf24599b90d67a45cae7a3eb099cd71c9 Mon Sep 17 00:00:00 2001
-From: Bart Van Assche <bvanassche@acm.org>
-Date: Sat, 27 Jul 2019 19:34:09 -0700
-Subject: [PATCH] libsnmp, USM: Introduce a reference count in struct
- usmStateReference
-
-This patch fixes https://sourceforge.net/p/net-snmp/bugs/2956/.
-
-Upstream-Status: Backport
-[ak: fixup for 5.8 context, changes to library/snmpusm.h]
-
-CVE: CVE-2019-20892
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com>
-
----
- snmplib/snmp_client.c | 22 +++----------
- snmplib/snmpusm.c     | 73 ++++++++++++++++++++++++++++---------------
- 2 files changed, 53 insertions(+), 42 deletions(-)
-
-Index: net-snmp-5.8/snmplib/snmpusm.c
-===================================================================
---- net-snmp-5.8.orig/snmplib/snmpusm.c
-+++ net-snmp-5.8/snmplib/snmpusm.c
-@@ -285,12 +285,35 @@ free_enginetime_on_shutdown(int majorid,
- struct usmStateReference *
- usm_malloc_usmStateReference(void)
- {
--    struct usmStateReference *retval = (struct usmStateReference *)
--        calloc(1, sizeof(struct usmStateReference));
-+   struct usmStateReference *retval;
- 
-+    retval = calloc(1, sizeof(struct usmStateReference));
-+    if (retval)
-+        retval->refcnt = 1;
-     return retval;
- }                               /* end usm_malloc_usmStateReference() */
- 
-+static int
-+usm_clone(netsnmp_pdu *pdu, netsnmp_pdu *new_pdu)
-+{
-+    struct usmStateReference *ref = pdu->securityStateRef;
-+    struct usmStateReference **new_ref =
-+        (struct usmStateReference **)&new_pdu->securityStateRef;
-+    int ret = 0;
-+
-+    if (!ref)
-+        return ret;
-+
-+    if (pdu->command == SNMP_MSG_TRAP2) {
-+        netsnmp_assert(pdu->securityModel == SNMP_DEFAULT_SECMODEL);
-+        ret = usm_clone_usmStateReference(ref, new_ref);
-+    } else {
-+        netsnmp_assert(ref == *new_ref);
-+        ref->refcnt++;
-+    }
-+
-+    return ret;
-+}
- 
- void
- usm_free_usmStateReference(void *old)
-@@ -3345,6 +3368,7 @@ init_usm(void)
-     def->encode_reverse = usm_secmod_rgenerate_out_msg;
-     def->encode_forward = usm_secmod_generate_out_msg;
-     def->decode = usm_secmod_process_in_msg;
-+    def->pdu_clone = usm_clone;
-     def->pdu_free_state_ref = usm_free_usmStateReference;
-     def->session_setup = usm_session_init;
-     def->handle_report = usm_handle_report;
-Index: net-snmp-5.8/snmplib/snmp_client.c
-===================================================================
---- net-snmp-5.8.orig/snmplib/snmp_client.c
-+++ net-snmp-5.8/snmplib/snmp_client.c
-@@ -402,27 +402,15 @@ _clone_pdu_header(netsnmp_pdu *pdu)
-         return NULL;
-     }
- 
--    if (pdu->securityStateRef &&
--        pdu->command == SNMP_MSG_TRAP2) {
--
--        ret = usm_clone_usmStateReference((struct usmStateReference *) pdu->securityStateRef,
--                (struct usmStateReference **) &newpdu->securityStateRef );
--
--        if (ret)
--        {
-+    sptr = find_sec_mod(newpdu->securityModel);
-+    if (sptr && sptr->pdu_clone) {
-+        /* call security model if it needs to know about this */
-+        ret = sptr->pdu_clone(pdu, newpdu);
-+        if (ret) {
-             snmp_free_pdu(newpdu);
-             return NULL;
-         }
-     }
--
--    if ((sptr = find_sec_mod(newpdu->securityModel)) != NULL &&
--        sptr->pdu_clone != NULL) {
--        /*
--         * call security model if it needs to know about this 
--         */
--        (*sptr->pdu_clone) (pdu, newpdu);
--    }
--
-     return newpdu;
- }
- 
-Index: net-snmp-5.8/include/net-snmp/library/snmpusm.h
-===================================================================
---- net-snmp-5.8.orig/include/net-snmp/library/snmpusm.h
-+++ net-snmp-5.8/include/net-snmp/library/snmpusm.h
-@@ -43,6 +43,7 @@ extern          "C" {
-      * Structures.
-      */
-     struct usmStateReference {
-+        int             refcnt;
-         char           *usr_name;
-         size_t          usr_name_length;
-         u_char         *usr_engine_id;
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
index fc3ac2a..26dd014 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/fix-libtool-finish.patch
@@ -1,4 +1,4 @@
-From 0becb4843a40910d5ec9aa11969d4905a22037cf Mon Sep 17 00:00:00 2001
+From 27444fbf8323679ea0551a3bd5f04c365143d8c0 Mon Sep 17 00:00:00 2001
 From: "Roy.Li" <rongqing.li@windriver.com>
 Date: Fri, 16 Jan 2015 14:14:01 +0800
 Subject: [PATCH] net-snmp: fix "libtool --finish"
@@ -20,7 +20,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile.top b/Makefile.top
-index 5d4f9bc..d0ed31c 100644
+index 6315401..fc0ee06 100644
 --- a/Makefile.top
 +++ b/Makefile.top
 @@ -89,7 +89,7 @@ LIBREVISION = 0
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 5cbb60d..da6d80e 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,4 +1,4 @@
-From d619cd9fc01f336ff0ff55b18f9112789eb4d84c Mon Sep 17 00:00:00 2001
+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
 Subject: [PATCH] net snmp: fix engineBoots value on SIGHUP
@@ -14,10 +14,10 @@
  2 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/agent/snmpd.c b/agent/snmpd.c
-index 6566354..eb0d4b4 100644
+index ae73eda..66b4560 100644
 --- a/agent/snmpd.c
 +++ b/agent/snmpd.c
-@@ -1239,6 +1239,7 @@ receive(void)
+@@ -1207,6 +1207,7 @@ receive(void)
  	    snmp_log(LOG_INFO, "NET-SNMP version %s restarted\n",
  		     netsnmp_get_version());
              update_config();
@@ -26,10 +26,10 @@
  #if HAVE_SIGHOLD
              sigrelse(SIGHUP);
 diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c
-index 771ba3b..5de05e7 100644
+index 29c2a0f..ada961c 100644
 --- a/snmplib/snmpv3.c
 +++ b/snmplib/snmpv3.c
-@@ -1060,9 +1060,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg,
+@@ -1059,9 +1059,9 @@ init_snmpv3_post_config(int majorid, int minorid, void *serverarg,
      /*
       * if our engineID has changed at all, the boots record must be set to 1 
       */
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
index fb773e6..f1ebe2b 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-add-knob-whether-nlist.h-are-checked.patch
@@ -1,4 +1,4 @@
-From a1134a31d417cc05a1fdb094f613a00a7a5e7ac5 Mon Sep 17 00:00:00 2001
+From e507dcf8b29c55011f85d88bf05400d4717e4074 Mon Sep 17 00:00:00 2001
 From: Chong Lu <Chong.Lu@windriver.com>
 Date: Thu, 28 May 2020 09:46:34 -0500
 Subject: [PATCH] net-snmp: add knob whether nlist.h are checked
@@ -9,30 +9,28 @@
 Upstream-status: Pending
 
 Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
+
 ---
  configure.d/config_os_headers | 2 ++
  1 file changed, 2 insertions(+)
 
 diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers
-index 2fdb5a35d6..af997461d5 100644
+index 76ef58a..f07d512 100644
 --- a/configure.d/config_os_headers
 +++ b/configure.d/config_os_headers
-@@ -32,6 +32,7 @@ AC_CHECK_HEADERS([getopt.h   pthread.h  regex.h      ] dnl
-                  [sys/un.h           ])
+@@ -37,6 +37,7 @@ AC_CHECK_HEADERS([getopt.h   pthread.h  regex.h      ] dnl
+                  [sys/timeb.h        ])
  
  #  Library and Agent:
 +if test "x$with_elf" != "xno"; then
  AC_CHECK_HEADERS([nlist.h],,,[
  AC_INCLUDES_DEFAULT
  [
-@@ -39,6 +40,7 @@ AC_INCLUDES_DEFAULT
+@@ -44,6 +45,7 @@ AC_INCLUDES_DEFAULT
  #define LIBBSD_DISABLE_DEPRECATED 1
  #endif
  ]])
 +fi
  
  #  Library:
- AC_CHECK_HEADERS([fcntl.h    io.h       kstat.h                 ] dnl
--- 
-2.26.2
-
+ AC_CHECK_HEADERS([crt_externs.h                        ] dnl
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
index 4cd8fd1..2941a36 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
@@ -1,4 +1,4 @@
-From 068952c0e0cdda5a91250b91c5fcc9b85b43daab Mon Sep 17 00:00:00 2001
+From 3ca4335ec1d6b7b384c134fc85d7a9e513c68376 Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
 Date: Thu, 22 Jun 2017 10:25:08 +0800
 Subject: [PATCH] net-snmp: fix for --disable-des
@@ -15,10 +15,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/snmplib/scapi.c b/snmplib/scapi.c
-index 8ad1d70..43caddf 100644
+index 00c9174..c6875e1 100644
 --- a/snmplib/scapi.c
 +++ b/snmplib/scapi.c
-@@ -84,7 +84,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support)
+@@ -85,7 +85,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support);
  #include <openssl/hmac.h>
  #include <openssl/evp.h>
  #include <openssl/rand.h>
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
index 7cbaf0b..807983f 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-testing-add-the-output-format-for-ptest.patch
@@ -1,4 +1,4 @@
-From 827fe3b0253aab33472828f40ad05934cc0261b8 Mon Sep 17 00:00:00 2001
+From 972df16e9599dffddf5d714a4cbf43008c771122 Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
 Date: Wed, 14 Jan 2015 15:10:06 +0800
 Subject: [PATCH] testing: add the output format for ptest
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch
deleted file mode 100644
index b0dbf5a..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Reproducible build: To avoid build host paths being written into binaries,
-accept NETSNMP_CONFIGURE_OPTIONS from the environment.
-NETSNMP_CONFIGURE_OPTIONS can be set either null or to a fixed value.
-
---- net-snmp-5.8.original/configure.ac	2018-11-20 17:41:39.926529072 +1300
-+++ net-snmp-5.8/configure.ac	2018-11-20 17:54:44.488180224 +1300
-@@ -28,7 +28,7 @@
- #
- # save the configure arguments
- #
--AC_DEFINE_UNQUOTED(NETSNMP_CONFIGURE_OPTIONS,"$ac_configure_args",
-+AC_DEFINE_UNQUOTED(NETSNMP_CONFIGURE_OPTIONS,"${NETSNMP_CONFIGURE_OPTIONS-$ac_configure_args}",
-   [configure options specified])
- CONFIGURE_OPTIONS="\"$ac_configure_args\""
- AC_SUBST(CONFIGURE_OPTIONS)
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
index 4316c7a..bf1e7be 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch
@@ -1,11 +1,22 @@
+From 84e362fe97f50fbad69f083bc2d8fe18f83eb2f7 Mon Sep 17 00:00:00 2001
+From: "douglas.royds" <douglas.royds@taitradio.com>
+Date: Wed, 21 Nov 2018 13:52:18 +1300
+Subject: [PATCH] net-snmp: Reproducibility: Don't check build host for
+
 Reproducible build: Don't check for /etc/printcap on the build machine when
 cross-compiling. Use AC_CHECK_FILE to set the cached variable
 ac_cv_file__etc_printcap instead. When cross-compiling, this variable should be
 set in the environment to "yes" or "no" as appropriate for the target platform.
 
---- net-snmp-5.8.original/configure.d/config_os_misc4	2018-11-20 17:05:03.986274522 +1300
-+++ net-snmp-5.8/configure.d/config_os_misc4	2018-11-20 17:08:32.250700448 +1300
-@@ -116,9 +116,9 @@
+---
+ configure.d/config_os_misc4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.d/config_os_misc4 b/configure.d/config_os_misc4
+index 6f23c8e..8cea75a 100644
+--- a/configure.d/config_os_misc4
++++ b/configure.d/config_os_misc4
+@@ -99,9 +99,9 @@ if test x$LPSTAT_PATH != x; then
  	[Path to the lpstat command])
      AC_DEFINE(HAVE_LPSTAT, 1, [Set if the lpstat command is available])
  fi
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
rename to meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb
index 67316db..5df1f93 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb
@@ -25,13 +25,8 @@
            file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \
            file://net-snmp-fix-for-disable-des.patch \
            file://reproducibility-have-printcap.patch \
-           file://reproducibility-accept-configure-options-from-env.patch \
-           file://0001-net-snmp-fix-compile-error-disable-des.patch \
-           file://0001-Add-pkg-config-support-for-building-applications-and.patch \
-           file://CVE-2019-20892.patch \
            "
-SRC_URI[md5sum] = "63bfc65fbb86cdb616598df1aff6458a"
-SRC_URI[sha256sum] = "b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf"
+SRC_URI[sha256sum] = "04303a66f85d6d8b16d3cc53bde50428877c82ab524e17591dfceaeb94df6071"
 
 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/"
 UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
index 70c32b7..11b7d57 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
+++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga.inc
@@ -40,7 +40,7 @@
 PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap"
 PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam"
 
-inherit autotools update-rc.d useradd systemd pkgconfig multilib_header
+inherit autotools update-rc.d useradd systemd pkgconfig multilib_header update-alternatives
 
 CFLAGS += "-fcommon"
 
@@ -237,3 +237,7 @@
 pkg_prerm_${PN}-isisd () {
     ${sysconfdir}/init.d/quagga stop isisd
 }
+
+ALTERNATIVE_${PN} = "pimd"
+ALTERNATIVE_LINK_NAME[pimd] = "${sbindir}/pimd"
+