diff options
Diffstat (limited to 'meta-networking')
214 files changed, 3139 insertions, 7857 deletions
diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index d36ff5bf95..67f58bcc28 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -17,7 +17,7 @@ LAYERDEPENDS_networking-layer = "core" LAYERDEPENDS_networking-layer += "openembedded-layer" LAYERDEPENDS_networking-layer += "meta-python" -LAYERSERIES_COMPAT_networking-layer = "thud" +LAYERSERIES_COMPAT_networking-layer = "thud warrior" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt new file mode 100644 index 0000000000..82e694fdaf --- /dev/null +++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt @@ -0,0 +1,39 @@ +Checking uname sysname type: "Linux" +Checking uname version type: "# Wed May 20 10:34:39 UTC 2015" +Checking simple C program: "hello world" +rpath library support: OK +-Wl,--version-script support: OK +Checking getconf LFS_CFLAGS: NO +Checking correct behavior of strtoll: NO +Checking for working strptime: OK +Checking for C99 vsnprintf: "1" +Checking for HAVE_SHARED_MMAP: OK +Checking for HAVE_MREMAP: OK +Checking for HAVE_SECURE_MKSTEMP: OK +Checking for HAVE_IFACE_GETIFADDRS: NO +Checking for HAVE_IFACE_IFCONF: NO +Checking for HAVE_IFACE_IFREQ: NO +Checking for large file support without additional flags: OK +Checking for HAVE_INCOHERENT_MMAP: OK +Checking value of NSIG: "128" +Checking value of _NSIG: "128" +Checking value of SIGRTMAX: "127" +Checking value of SIGRTMIN: "34" +Checking whether the WRFILE -keytab is supported: OK +Checking for kernel change notify support: OK +Checking for Linux kernel oplocks: OK +Checking for kernel share modes: OK +Checking whether POSIX capabilities are available: OK +Checking if can we convert from CP850 to UCS-2LE: OK +Checking if can we convert from UTF-8 to UCS-2LE: OK +vfs_fileid checking for statfs() and struct statfs.f_fsid: OK +Checking whether we can use Linux thread-specific credentials: OK +Checking whether fcntl locking is available: OK +Checking for the maximum value of the 'time_t' type: OK +Checking whether the realpath function allows a NULL argument: OK +Checking for ftruncate extend: OK +getcwd takes a NULL argument: OK +Checking for small off_t: NO +Checking whether blkcnt_t is 32 bit: NO +Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch b/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch new file mode 100644 index 0000000000..269174b2f6 --- /dev/null +++ b/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch @@ -0,0 +1,31 @@ +From 77db892cdee265e971270c06ca1ffbaeea6449a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Tue, 26 Jun 2018 00:27:40 +0200 +Subject: [PATCH] Search for cython3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 727089d1..6b565cdc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -58,7 +58,7 @@ AC_SUBST([PYGOBJECT_LIBS]) + + AC_ARG_VAR([CYTHONEXEC], [Cython compiler]) + if test "x$CYTHONEXEC" = "x"; then +- AC_PATH_PROG([CYTHONEXEC],[cython]) ++ AC_PATH_PROG([CYTHONEXEC],[cython3]) + fi + AC_SUBST([CYTHONEXEC]) + AC_MSG_CHECKING([for cython executable]) +-- +2.14.3 + diff --git a/meta-networking/recipes-connectivity/blueman/blueman_git.bb b/meta-networking/recipes-connectivity/blueman/blueman_git.bb new file mode 100644 index 0000000000..947db78360 --- /dev/null +++ b/meta-networking/recipes-connectivity/blueman/blueman_git.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native" + +inherit autotools systemd gsettings python3native gtk-icon-cache + +SRC_URI = " \ + git://github.com/blueman-project/blueman.git \ + file://0001-Search-for-cython3.patch \ +" +SRCREV = "c4a03417e81e21543d4568e8e7f7de307582eb50" +PV = "2.0.5+git${SRCPV}" +S = "${WORKDIR}/git" + +EXTRA_OECONF = " \ + --disable-runtime-deps-check \ + --disable-schemas-compile \ +" + +SYSTEMD_SERVICE_${PN} = "${BPN}-mechanism.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +RRECOMENDS_${PN} += "adwaita-icon-theme" +RDEPENDS_${PN} += " \ + python3-dbus \ + packagegroup-tools-bluetooth \ +" + +PACKAGECONFIG[thunar] = "--enable-thunar-sendto,--disable-thunar-sendto,,thunar" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/Thunar \ + ${systemd_user_unitdir} \ + ${exec_prefix}${systemd_system_unitdir} \ + ${PYTHON_SITEPACKAGES_DIR} \ +" + +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_blueman.a" diff --git a/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb b/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb new file mode 100644 index 0000000000..df75e6342e --- /dev/null +++ b/meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb @@ -0,0 +1,17 @@ +SUMMARY = "a SocketCAN over Ethernet tunnel" +HOMEPAGE = "https://github.com/mguentner/cannelloni" +LICENSE = "GPLv2" + +SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https" +SRCREV = "44080bb021d1a143e6906f2ec4610513c4e1cece" + +PV = "20160414+${SRCPV}" + +LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +inherit cmake + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "lksctp-tools" +PACKAGECONFIG[lksctp-tools] = "-DSCTP_SUPPORT=true, -DSCTP_SUPPORT=false, lksctp-tools" diff --git a/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch b/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch deleted file mode 100644 index 8653302130..0000000000 --- a/meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 59f65235a7a690f50d1686e9977908c053697d8c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 28 Aug 2018 22:59:13 -0700 -Subject: [PATCH] undefine macro before redefining - -Fixes -src/main.c:89:9: error: 'printf' macro redefined [-Werror,-Wmacro-redefined] - -Upstream-Stats: Submitted [https://github.com/civetweb/civetweb/pull/649] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/main.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/main.c b/src/main.c -index bbcb0aec..01191a3c 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -86,6 +86,7 @@ - - #include "civetweb.h" - -+#undef printf - #define printf \ - DO_NOT_USE_THIS_FUNCTION__USE_fprintf /* Required for unit testing */ - diff --git a/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb index 9a7844ad04..c8fe24c637 100644 --- a/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb +++ b/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb @@ -4,11 +4,10 @@ HOMEPAGE = "https://github.com/civetweb/civetweb" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f28fdcba0dda735eed62bac6a397562" -SRCREV = "19f31ba8dd8443e86c7028a4b4c37f4b299aa68c" -PV = "1.10+git${SRCPV}" +SRCREV = "ce8f6d38a60eb16c996afee1e5340f76ef4d0923" +PV = "1.11+git${SRCPV}" SRC_URI = "git://github.com/civetweb/civetweb.git \ file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \ - file://0001-undefine-macro-before-redefining.patch \ " S = "${WORKDIR}/git" @@ -23,12 +22,7 @@ EXTRA_OECMAKE = " \ -DCIVETWEB_ENABLE_DUKTAPE=OFF \ -DCIVETWEB_ENABLE_LUA=OFF \ -DCIVETWEB_ENABLE_ASAN=OFF \ -" -EXTRA_OECMAKE_class-native = " \ - -DBUILD_SHARED_LIBS=ON \ - -DCIVETWEB_ENABLE_DUKTAPE=OFF \ - -DCIVETWEB_ENABLE_LUA=OFF \ - -DCIVETWEB_ENABLE_ASAN=OFF \ + -DCIVETWEB_BUILD_TESTING=OFF \ " # Building with ninja fails on missing third_party/lib/libcheck.a (which @@ -41,7 +35,7 @@ PACKAGECONFIG[cgi] = "-DCIVETWEB_DISABLE_CGI=OFF,-DCIVETWEB_DISABLE_CGI=ON," PACKAGECONFIG[cpp] = "-DCIVETWEB_ENABLE_CXX=ON,-DCIVETWEB_ENABLE_CXX=OFF," PACKAGECONFIG[debug] = "-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=ON,-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=OFF," PACKAGECONFIG[ipv6] = "-DCIVETWEB_ENABLE_IPV6=ON,-DCIVETWEB_ENABLE_IPV6=OFF," -PACKAGECONFIG[server] = "-DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_INSTALL_EXECUTABLE=OFF," +PACKAGECONFIG[server] = "-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=ON -DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF -DCIVETWEB_INSTALL_EXECUTABLE=OFF," PACKAGECONFIG[ssl] = "-DCIVETWEB_ENABLE_SSL=ON -DCIVETWEB_SSL_OPENSSL_API_1_1=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF,-DCIVETWEB_ENABLE_SSL=OFF,openssl (=1.0.2%)," PACKAGECONFIG[websockets] = "-DCIVETWEB_ENABLE_WEBSOCKETS=ON,-DCIVETWEB_ENABLE_WEBSOCKETS=OFF," diff --git a/meta-networking/recipes-connectivity/crda/crda_3.18.bb b/meta-networking/recipes-connectivity/crda/crda_3.18.bb index 853a52346d..c93905ea7c 100644 --- a/meta-networking/recipes-connectivity/crda/crda_3.18.bb +++ b/meta-networking/recipes-connectivity/crda/crda_3.18.bb @@ -4,10 +4,7 @@ SECTION = "net" LICENSE = "copyleft-next-0.3.0" LIC_FILES_CHKSUM = "file://copyleft-next-0.3.0;md5=8743a2c359037d4d329a31e79eabeffe" -DEPENDS = "python-m2crypto-native python-typing-native python-native libnl \ - ${@oe.utils.conditional("DEFAULT_CRYPT", "gcrypt", "libgcrypt", "", d)} \ - ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "openssl10", "", d)} \ - " +DEPENDS = "python-m2crypto-native python-typing-native python-native libnl libgcrypt" SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \ file://do-not-run-ldconfig-if-destdir-is-set.patch \ @@ -23,12 +20,9 @@ SRC_URI[sha256sum] = "43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e inherit python-dir pythonnative siteinfo -# "gcrypt" or "openssl" -DEFAULT_CRYPT ??= "gcrypt" - # Recursive make problem -EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg'" -EXTRA_OEMAKE_append = " ${@oe.utils.conditional("DEFAULT_CRYPT", "openssl", "USE_OPENSSL=1", "", d)}" +EXTRA_OEMAKE = "MAKEFLAGS= DESTDIR=${D} LIBDIR=${libdir}/crda LDLIBREG='-Wl,-rpath,${libdir}/crda -lreg' \ + UDEV_RULE_DIR=${nonarch_libdir}/udev/rules.d/" TARGET_BITS = "${SITEINFO_BITS}" export TARGET_BITS diff --git a/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb b/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb index 885c6c0e2b..84c3db7a5c 100644 --- a/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb +++ b/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb @@ -5,12 +5,14 @@ DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/" LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://dhcpcd.c;endline=26;md5=77c40d671aff804ca91ea99556da8e9b" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1e8f17e4edcccc38152ccf60374e0f89" SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "2465624b62c1154f0e89dc69c42c849b" -SRC_URI[sha256sum] = "6f9674dc7e27e936cc787175404a6171618675ecfb6903ab9887b1b66a87d69e" +SRC_URI[md5sum] = "77bbb1d73b6f30d6ddcc8b0fd3eae266" +SRC_URI[sha256sum] = "96968e883369ab4afd11eba9dfd9bb109f5dfff65b2814ce6c432f36362dc9b5" + +SRC_URI += "file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch" inherit autotools-brokensep diff --git a/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch b/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch new file mode 100644 index 0000000000..37d2344438 --- /dev/null +++ b/meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch @@ -0,0 +1,45 @@ +From aa9e3982c1e75ad49945a62f5e262279c7a905a4 Mon Sep 17 00:00:00 2001 +From: Stefano Cappa <stefano.cappa.ks89@gmail.com> +Date: Sun, 13 Jan 2019 01:50:52 +0100 +Subject: [PATCH] remove INCLUDEDIR to prevent build issues + +Upstream-Status: Pending + +Signed-off-by: Stefano Cappa <stefano.cappa.ks89@gmail.com> +--- + configure | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/configure b/configure +index 6c81e0db..32dea2b4 100755 +--- a/configure ++++ b/configure +@@ -20,7 +20,6 @@ BUILD= + HOST= + HOSTCC= + TARGET= +-INCLUDEDIR= + DEBUG= + FORK= + STATIC= +@@ -72,7 +71,6 @@ for x do + --mandir) MANDIR=$var;; + --datadir) DATADIR=$var;; + --with-ccopts|CFLAGS) CFLAGS=$var;; +- -I|--includedir) INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }-I$var";; + CC) CC=$var;; + CPPFLAGS) CPPFLAGS=$var;; + PKG_CONFIG) PKG_CONFIG=$var;; +@@ -309,9 +307,6 @@ if [ -n "$CPPFLAGS" ]; then + echo "CPPFLAGS=" >>$CONFIG_MK + echo "CPPFLAGS+= $CPPFLAGS" >>$CONFIG_MK + fi +-if [ -n "$INCLUDEDIR" ]; then +- echo "CPPFLAGS+= $INCLUDEDIR" >>$CONFIG_MK +-fi + if [ -n "$LDFLAGS" ]; then + echo "LDFLAGS=" >>$CONFIG_MK + echo "LDFLAGS+= $LDFLAGS" >>$CONFIG_MK +-- +2.17.2 (Apple Git-113) + diff --git a/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch b/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch new file mode 100644 index 0000000000..346a56a9ad --- /dev/null +++ b/meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch @@ -0,0 +1,74 @@ +From 630086cf1b3fba71822319a268d3711734cd6aa8 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 31 Jan 2019 12:56:13 -0800 +Subject: [PATCH] linux-port: Rename pthread_mutex_t variable 'lock' + +lock is also used by libc++ in std namespace and using it here causes +clang to fail e.g. + +dibbler-client.cpp:47:25: error: reference to 'lock' is ambiguous + pthread_mutex_lock(&lock); + ^ +../../../../../../../workspace/sources/dibbler/Port-linux/dibbler-client.cpp:29:26: note: candidate found by name lookup is 'lock' +extern ::pthread_mutex_t lock; + ^ +/mnt/a/yoe/build/tmp/work/aarch64-yoe-linux/dibbler/1.0.1+1.0.2RC1+gitc4b0ed52e751da7823dd9a36e91f93a6310e5525-r0/recipe-sysroot/usr/include/c++/v1/mutex:446:1: note: candidate found by name lookup is 'std::__1::lock' +lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3& ...__l3) + +Upstream-Status: Submitted [https://github.com/tomaszmrugalski/dibbler/pull/37] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Port-linux/dibbler-client.cpp | 6 +++--- + Port-linux/lowlevel-linux-link-state.c | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Port-linux/dibbler-client.cpp b/Port-linux/dibbler-client.cpp +index 78f34241..b5ebb9f0 100644 +--- a/Port-linux/dibbler-client.cpp ++++ b/Port-linux/dibbler-client.cpp +@@ -26,7 +26,7 @@ using namespace std; + + #define IF_RECONNECTED_DETECTED -1 + +-extern pthread_mutex_t lock; ++extern pthread_mutex_t dibbler_lock; + + TDHCPClient* ptr = 0; + +@@ -44,8 +44,8 @@ void signal_handler(int n) { + #ifdef MOD_CLNT_CONFIRM + void signal_handler_of_linkstate_change(int n) { + Log(Notice) << "Network switch off event detected. initiating CONFIRM." << LogEnd; +- pthread_mutex_lock(&lock); +- pthread_mutex_unlock(&lock); ++ pthread_mutex_lock(&dibbler_lock); ++ pthread_mutex_unlock(&dibbler_lock); + } + #endif + +diff --git a/Port-linux/lowlevel-linux-link-state.c b/Port-linux/lowlevel-linux-link-state.c +index 76293ea1..e6b94063 100644 +--- a/Port-linux/lowlevel-linux-link-state.c ++++ b/Port-linux/lowlevel-linux-link-state.c +@@ -34,7 +34,7 @@ volatile int * notifier = 0; + int isDone = 0; + pthread_t parent_id; + pthread_t ntid; +-pthread_mutex_t lock; ++pthread_mutex_t dibbler_lock; + + struct state { + int id; +@@ -86,9 +86,9 @@ void link_state_changed(int ifindex) + { + if (changed_links->cnt<16) + changed_links->ifindex[changed_links->cnt++] = ifindex; +- pthread_mutex_lock(&lock); ++ pthread_mutex_lock(&dibbler_lock); + *notifier = 1; /* notify that change has occured */ +- pthread_mutex_unlock(&lock); ++ pthread_mutex_unlock(&dibbler_lock); + pthread_kill(parent_id,SIGUSR1); + } else + { diff --git a/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb b/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb index 8890e14318..90051a319a 100644 --- a/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb +++ b/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb @@ -9,7 +9,8 @@ SRCREV = "c4b0ed52e751da7823dd9a36e91f93a6310e5525" SRC_URI = "git://github.com/tomaszmrugalski/dibbler \ file://dibbler_fix_getSize_crash.patch \ - " + file://0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch \ + " PV = "1.0.1+1.0.2RC1+git${SRCREV}" S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch b/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch new file mode 100644 index 0000000000..3f34ff2e4c --- /dev/null +++ b/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch @@ -0,0 +1,77 @@ +firewalld: fix building in a separate directory outside the source tree + +Upstream-Status: Submitted [https://github.com/firewalld/firewalld/pull/456] +Signed-off-by: Dan Callaghan <dan.callaghan@opengear.com> + +diff --git a/config/Makefile.am b/config/Makefile.am +index 7048d2ee..5270d408 100644 +--- a/config/Makefile.am ++++ b/config/Makefile.am +@@ -377,11 +377,11 @@ install-config: + $(MKDIR_P) $(DESTDIR)$(sconfdir)/zones + $(MKDIR_P) $(DESTDIR)$(sconfdir)/helpers + $(MKDIR_P) $(DESTDIR)$(prefixlibdir) +- cp -r icmptypes $(DESTDIR)$(prefixlibdir) +- cp -r ipsets $(DESTDIR)$(prefixlibdir) +- cp -r services $(DESTDIR)$(prefixlibdir) +- cp -r zones $(DESTDIR)$(prefixlibdir) +- cp -r helpers $(DESTDIR)$(prefixlibdir) ++ cp -r $(srcdir)/icmptypes $(DESTDIR)$(prefixlibdir) ++ cp -r $(srcdir)/ipsets $(DESTDIR)$(prefixlibdir) ++ cp -r $(srcdir)/services $(DESTDIR)$(prefixlibdir) ++ cp -r $(srcdir)/zones $(DESTDIR)$(prefixlibdir) ++ cp -r $(srcdir)/helpers $(DESTDIR)$(prefixlibdir) + + uninstall-config: + rmdir $(DESTDIR)$(sconfdir)/icmptypes +diff --git a/doc/xml/Makefile.am b/doc/xml/Makefile.am +index 8c93ab9c..d0313e3e 100644 +--- a/doc/xml/Makefile.am ++++ b/doc/xml/Makefile.am +@@ -69,7 +69,8 @@ edit = sed \ + -e 's|\@PREFIX\@|$(prefix)|' \ + -e 's|\@SYSCONFDIR\@|$(sysconfdir)|' \ + -e 's|\@PACKAGE_STRING\@|$(PACKAGE_STRING)|' \ +- -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|' ++ -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|' \ ++ -e 's|@SRCDIR@|$(srcdir)|' + + transform-man.xsl: transform-man.xsl.in + $(edit) $< >$@ +diff --git a/doc/xml/firewall-cmd.xml.in b/doc/xml/firewall-cmd.xml.in +index c2606553..24d77858 100644 +--- a/doc/xml/firewall-cmd.xml.in ++++ b/doc/xml/firewall-cmd.xml.in +@@ -1,9 +1,9 @@ + <?xml version="1.0" encoding="utf-8"?> + <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" + [ +-<!ENTITY authors SYSTEM "authors.xml"> +-<!ENTITY seealso SYSTEM "seealso.xml"> +-<!ENTITY notes SYSTEM "notes.xml"> ++<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml"> ++<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml"> ++<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml"> + <!ENTITY errorcodes SYSTEM "errorcodes.xml"> + ]> + +diff --git a/doc/xml/firewalld.xml.in b/doc/xml/firewalld.xml.in +index de802059..3d319b04 100644 +--- a/doc/xml/firewalld.xml.in ++++ b/doc/xml/firewalld.xml.in +@@ -1,9 +1,9 @@ + <?xml version="1.0" encoding="utf-8"?> + <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" + [ +-<!ENTITY authors SYSTEM "authors.xml"> +-<!ENTITY seealso SYSTEM "seealso.xml"> +-<!ENTITY notes SYSTEM "notes.xml"> ++<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml"> ++<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml"> ++<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml"> + ]> + + <!-- +-- +2.20.1 + diff --git a/meta-networking/recipes-connectivity/firewalld/files/firewalld.init b/meta-networking/recipes-connectivity/firewalld/files/firewalld.init new file mode 100644 index 0000000000..08e8930b97 --- /dev/null +++ b/meta-networking/recipes-connectivity/firewalld/files/firewalld.init @@ -0,0 +1,48 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: firewalld +# Required-Start: $syslog $local_fs messagebus +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: +# Description: +### END INIT INFO + +. /etc/init.d/functions + +firewalld=/usr/sbin/firewalld +pidfile=/var/run/firewalld.pid + +case "$1" in + start) + echo -n "Starting firewalld: " + start-stop-daemon --start --quiet --exec $firewalld + echo "." + ;; + stop) + echo -n "Stopping firewalld: " + start-stop-daemon --stop --quiet --pidfile $pidfile + echo "." + ;; + restart) + echo -n "Stopping firewalld: " + start-stop-daemon --stop --quiet --pidfile $pidfile + echo "." + echo -n "Starting firewalld: " + start-stop-daemon --start --quiet --exec $firewalld + echo "." + ;; + reload) + echo -n "Reloading firewalld: " + firewall-cmd --reload + echo "." + ;; + status) + firewall-cmd --state + ;; + *) + echo "Usage: /etc/init.d/firewalld {start|stop|restart|reload|status}" >&2 + exit 1 +esac diff --git a/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb b/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb new file mode 100644 index 0000000000..e999fa7a5d --- /dev/null +++ b/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb @@ -0,0 +1,84 @@ +SUMMARY = "Dynamic firewall daemon with a D-Bus interface" +HOMEPAGE = "https://firewalld.org/" +BUGTRACKER = "https://github.com/firewalld/firewalld/issues" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://github.com/firewalld/firewalld/archive/v${PV}.tar.gz \ + file://firewalld.init \ + file://0001-fix-building-in-a-separate-directory-outside-the-sou.patch \ +" +SRC_URI[md5sum] = "5ef954d9b6b244ffeabcd226be1867a0" +SRC_URI[sha256sum] = "039ad56ea6d6553aadf33243ea5b39802d73519e46a89c80c648b2bd1ec78aeb" + +# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4 +# xmlto-native is needed to populate /etc/xml/catalog.xml in the sysroot so that xsltproc finds the docbook xslt +DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native xmlto-native" + +inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_unitdir}/system/,--disable-systemd" + +# iptables, ip6tables, ebtables, and ipset *should* be unnecessary +# when the nftables backend is available, because nftables supersedes all of them. +# However we still need iptables and ip6tables to be available otherwise any +# application relying on "direct passthrough" rules (such as docker) will break. +# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by +# the Red Hat-specific init script which we aren't using, so we disable that. +EXTRA_OECONF = "\ + --with-nft=${sbindir}/nft \ + --without-ipset \ + --with-iptables=${sbindir}/iptables \ + --with-iptables-restore=${sbindir}/iptables-restore \ + --with-ip6tables=${sbindir}/ip6tables \ + --with-ip6tables-restore=${sbindir}/ip6tables-restore \ + --without-ebtables \ + --without-ebtables-restore \ + --disable-sysconfig \ +" + +INITSCRIPT_NAME = "firewalld" +SYSTEMD_SERVICE = "firewalld.service" + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + : + else + # firewalld ships an init script but it contains Red Hat-isms, replace it with our own + rm -rf ${D}${sysconfdir}/rc.d/ + install -d ${D}${sysconfdir}/init.d + install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld + fi + + # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE + # so now we need to fix up any references to point at the proper path in the image. + # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools. + if [ ${PN} != "${BPN}-native" ]; then + sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \ + ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml + fi + sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \ + ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml +} + +FILES_${PN} += "\ + ${PYTHON_SITEPACKAGES_DIR}/firewall \ + ${datadir}/polkit-1 \ + ${datadir}/metainfo \ +" + +RDEPENDS_${PN} = "\ + nftables \ + iptables \ + python3-core \ + python3-io \ + python3-fcntl \ + python3-shell \ + python3-syslog \ + python3-xml \ + python3-dbus \ + python3-slip-dbus \ + python3-decorator \ + python3-pygobject \ +" diff --git a/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch b/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch new file mode 100644 index 0000000000..9e1f5b2efe --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch @@ -0,0 +1,44 @@ +From fecf974b63f72eeb12d3b43522e948ca2bc704d4 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 11 Oct 2018 09:45:52 +0800 +Subject: [PATCH] freeradius: correct version number of libssl defect + +Upstream-Status: Backport [https://github.com/FreeRADIUS/freeradius-server + /commit/ad039347beca4ded297813a1da6eabb61fcf2ddd] + +upstream have refactored this part code into +src/lib/tls/base.c, and problem also have fixed +by commit ad039347beca + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + src/main/tls.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/main/tls.c b/src/main/tls.c +index acbfe79..d9c91f1 100644 +--- a/src/main/tls.c ++++ b/src/main/tls.c +@@ -72,15 +72,15 @@ typedef struct libssl_defect { + static libssl_defect_t libssl_defects[] = + { + { +- .low = 0x01010101f, /* 1.1.0a */ +- .high = 0x01010101f, /* 1.1.0a */ ++ .low = 0x01010001f, /* 1.1.0a */ ++ .high = 0x01010001f, /* 1.1.0a */ + .id = "CVE-2016-6309", + .name = "OCSP status request extension", + .comment = "For more information see https://www.openssl.org/news/secadv/20160926.txt" + }, + { +- .low = 0x01010100f, /* 1.1.0 */ +- .high = 0x01010100f, /* 1.1.0 */ ++ .low = 0x010100000f, /* 1.1.0 */ ++ .high = 0x01010000f, /* 1.1.0 */ + .id = "CVE-2016-6304", + .name = "OCSP status request extension", + .comment = "For more information see https://www.openssl.org/news/secadv/20160922.txt" +-- +2.7.4 + diff --git a/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/meta-networking/recipes-connectivity/freeradius/files/radiusd.service index 899c4e4955..8dae0df5bd 100644 --- a/meta-networking/recipes-connectivity/freeradius/files/radiusd.service +++ b/meta-networking/recipes-connectivity/freeradius/files/radiusd.service @@ -6,7 +6,6 @@ After=syslog.target network.target Type=forking PIDFile=@STATEDIR@/run/radiusd/radiusd.pid ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd @STATEDIR@/run/radiusd -ExecStartPre=-@BASE_BINDIR@/sh -c "if [ ! -f @SYSCONFDIR@/raddb/certs/server.pem ]; then sudo -u radiusd @SYSCONFDIR@/raddb/certs/bootstrap; fi" ExecStartPre=@SBINDIR@/radiusd -C ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/raddb ExecReload=@SBINDIR@/radiusd -C diff --git a/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb b/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb index 1b45e780ac..5ab9a3fb44 100644 --- a/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb +++ b/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb @@ -29,6 +29,7 @@ SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.b file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \ file://radiusd.service \ file://radiusd-volatiles.conf \ + file://0001-freeradius-correct-version-number-of-libssl-defect.patch \ " SRC_URI[md5sum] = "1f4ad38f32101a7d50d818afa6f17339" SRC_URI[sha256sum] = "3f03404b6e4a4f410e1f15ea2ababfec7f8a7ae8a49836d8a0c137436d913b96" @@ -67,6 +68,7 @@ EXTRA_OECONF = " --enable-strict-dependencies \ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ pcre libcap \ + openssl rlm-eap-fast rlm-eap-pwd \ " PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5" @@ -82,6 +84,9 @@ PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --w PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python" PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c" PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby" +PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl" +PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast" +PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd" inherit useradd autotools-brokensep update-rc.d systemd diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch b/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch deleted file mode 100644 index d4764f5867..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Pending - -Subject: rcp: fix to work with large files - -When we copy file by rcp command, if the file > 2GB, it will fail. -The cause is that it used incorrect data type on file size in sink() of rcp. - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/rcp.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/rcp.c b/src/rcp.c -index 21f55b6..bafa35f 100644 ---- a/src/rcp.c -+++ b/src/rcp.c -@@ -876,9 +876,9 @@ sink (int argc, char *argv[]) - enum - { YES, NO, DISPLAYED } wrerr; - BUF *bp; -- off_t i, j; -+ off_t i, j, size; - int amt, count, exists, first, mask, mode, ofd, omode; -- int setimes, size, targisdir, wrerrno; -+ int setimes, targisdir, wrerrno; - char ch, *cp, *np, *targ, *vect[1], buf[BUFSIZ]; - const char *why; - --- -1.9.1 - diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch b/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch deleted file mode 100644 index 24c134fcac..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch +++ /dev/null @@ -1,83 +0,0 @@ -Upstream: http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html - -Upstream-Status: Pending - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - ping/ping_common.h | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/ping/ping_common.h b/ping/ping_common.h -index 1dfd1b5..3bfbd12 100644 ---- a/ping/ping_common.h -+++ b/ping/ping_common.h -@@ -17,10 +17,14 @@ - You should have received a copy of the GNU General Public License - along with this program. If not, see `http://www.gnu.org/licenses/'. */ - -+#include <config.h> -+ - #include <netinet/in_systm.h> - #include <netinet/in.h> - #include <netinet/ip.h> -+#ifdef HAVE_IPV6 - #include <netinet/icmp6.h> -+#endif - #include <icmp.h> - #include <error.h> - #include <progname.h> -@@ -62,7 +66,12 @@ struct ping_stat - want to follow the traditional behaviour of ping. */ - #define DEFAULT_PING_COUNT 0 - -+#ifdef HAVE_IPV6 - #define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN) -+#else -+#define PING_HEADER_LEN (ICMP_MINLEN) -+#endif -+ - #define PING_TIMING(s) ((s) >= sizeof (struct timeval)) - #define PING_DATALEN (64 - PING_HEADER_LEN) /* default data length */ - -@@ -74,13 +83,20 @@ struct ping_stat - (t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\ - } while (0) - -+#ifdef HAVE_IPV6 - /* FIXME: Adjust IPv6 case for options and their consumption. */ - #define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \ - (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)) - -+#else -+#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN) -+#endif -+ -+#ifdef HAVE_IPV6 - typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest, - struct sockaddr_in6 * from, struct icmp6_hdr * icmp, - int datalen); -+#endif - - typedef int (*ping_efp) (int code, - void *closure, -@@ -89,13 +105,17 @@ typedef int (*ping_efp) (int code, - struct ip * ip, icmphdr_t * icmp, int datalen); - - union event { -+#ifdef HAVE_IPV6 - ping_efp6 handler6; -+#endif - ping_efp handler; - }; - - union ping_address { - struct sockaddr_in ping_sockaddr; -+#ifdef HAVE_IPV6 - struct sockaddr_in6 ping_sockaddr6; -+#endif - }; - - typedef struct ping_data PING; --- -2.8.3 - diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch deleted file mode 100644 index 3da4e9f55a..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 552a7d64ad4a7188a9b7cd89933ae7caf7ebfe90 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier at gentoo.org> -Date: Thu, 18 Nov 2010 16:59:14 -0500 -Subject: [PATCH gnulib] printf-parse: pull in features.h for __GLIBC__ - -Upstream-Status: Pending - -Signed-off-by: Mike Frysinger <vapier at gentoo.org> ---- - lib/printf-parse.h | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/lib/printf-parse.h b/lib/printf-parse.h -index 67a4a2a..3bd6152 100644 ---- a/lib/printf-parse.h -+++ b/lib/printf-parse.h -@@ -25,6 +25,9 @@ - - #include "printf-args.h" - -+#ifdef HAVE_FEATURES_H -+# include <features.h> /* for __GLIBC__ */ -+#endif - - /* Flags */ - #define FLAG_GROUP 1 /* ' flag */ --- -1.7.3.2 - diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch b/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch deleted file mode 100644 index b13bb9229f..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch +++ /dev/null @@ -1,14 +0,0 @@ -Upstream-Status: Pending - ---- inetutils-1.8/lib/wchar.in.h -+++ inetutils-1.8/lib/wchar.in.h -@@ -70,6 +70,9 @@ - /* The include_next requires a split double-inclusion guard. */ - #if @HAVE_WCHAR_H@ - # @INCLUDE_NEXT@ @NEXT_WCHAR_H@ -+#else -+# include <stddef.h> -+# define MB_CUR_MAX 1 - #endif - - #undef _GL_ALREADY_INCLUDING_WCHAR_H diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch b/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch deleted file mode 100644 index 2592989a90..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch +++ /dev/null @@ -1,26 +0,0 @@ -inetutils: define PATH_PROCNET_DEV if not already defined - -this prevents the following compilation error : -system/linux.c:401:15: error: 'PATH_PROCNET_DEV' undeclared (first use in this function) - -this patch comes from : - http://repository.timesys.com/buildsources/i/inetutils/inetutils-1.9/ - -Upstream-Status: Inappropriate [not author] - -Signed-of-by: Eric Bénard <eric@eukrea.com> ---- -diff -Naur inetutils-1.9.orig/ifconfig/system/linux.c inetutils-1.9/ifconfig/system/linux.c ---- inetutils-1.9.orig/ifconfig/system/linux.c 2012-01-04 16:31:36.000000000 -0500 -+++ inetutils-1.9/ifconfig/system/linux.c 2012-01-04 16:40:53.000000000 -0500 -@@ -49,6 +49,10 @@ - #include "../ifconfig.h" - - -+#ifndef PATH_PROCNET_DEV -+ #define PATH_PROCNET_DEV "/proc/net/dev" -+#endif -+ - /* ARPHRD stuff. */ - - static void diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch b/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch deleted file mode 100644 index ff3abd86aa..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch +++ /dev/null @@ -1,40 +0,0 @@ -Only check security/pam_appl.h which is provided by package libpam when pam is -enabled. - -Upstream-Status: Pending - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- -diff --git a/configure.ac b/configure.ac -index b35e672..e78a751 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -195,6 +195,19 @@ fi - - # See if we have libpam.a. Investigate PAM versus Linux-PAM. - if test "$with_pam" = yes ; then -+ AC_CHECK_HEADERS([security/pam_appl.h], [], [], [ -+#include <sys/types.h> -+#ifdef HAVE_NETINET_IN_SYSTM_H -+# include <netinet/in_systm.h> -+#endif -+#include <netinet/in.h> -+#ifdef HAVE_NETINET_IP_H -+# include <netinet/ip.h> -+#endif -+#ifdef HAVE_SYS_PARAM_H -+# include <sys/param.h> -+#endif -+]) - AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl) - AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam) - if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then -@@ -587,7 +600,7 @@ AC_HEADER_DIRENT - AC_CHECK_HEADERS([arpa/nameser.h errno.h fcntl.h features.h \ - glob.h memory.h netinet/ether.h netinet/in_systm.h \ - netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \ -- security/pam_appl.h shadow.h \ -+ shadow.h \ - stdarg.h stdlib.h string.h stropts.h sys/tty.h \ - sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \ - sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \ diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils deleted file mode 100644 index 30e81ef450..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils +++ /dev/null @@ -1,20 +0,0 @@ -# default: off -# description: -# Rexecd is the server for the rexec program. The server provides remote -# execution facilities with authentication based on user names and -# passwords. -# -service exec -{ - socket_type = stream - protocol = tcp - flags = NAMEINARGS - wait = no - user = root - group = root - log_on_success += USERID - log_on_failure += USERID - server = @SBINDIR@/tcpd - server_args = @SBINDIR@/in.rexecd - disable = yes -} diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils deleted file mode 100644 index 21b55da9a9..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils +++ /dev/null @@ -1,23 +0,0 @@ -# default: off -# description: -# Rlogind is a server for the rlogin program. The server provides remote -# execution with authentication based on privileged port numbers from trusted -# host -# -service login -{ - socket_type = stream - protocol = tcp - flags = NAMEINARGS - wait = no - user = root - group = root - log_on_success += USERID - log_on_failure += USERID - server = @SBINDIR@/tcpd - server_args = @SBINDIR@/in.rlogind -a - disable = yes -} - - - diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils deleted file mode 100644 index 2b894a74bd..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils +++ /dev/null @@ -1,21 +0,0 @@ -# default: off -# description: -# The rshd server is a server for the rcmd(3) routine and, -# consequently, for the rsh(1) program. The server provides -# remote execution facilities with authentication based on -# privileged port numbers from trusted hosts. -# -service shell -{ - socket_type = stream - protocol = tcp - flags = NAMEINARGS - wait = no - user = root - group = root - log_on_success += USERID - log_on_failure += USERID - server = @SBINDIR@/tcpd - server_args = @SBINDIR@/in.rshd -aL - disable = yes -} diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils deleted file mode 100644 index 2d9a0408c0..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils +++ /dev/null @@ -1,13 +0,0 @@ -# default: on -# description: The telnet server serves telnet sessions; it uses \ -# unencrypted username/password pairs for authentication. -service telnet -{ - disable = no - flags = REUSE - socket_type = stream - wait = no - user = root - server = @SBINDIR@/in.telnetd - log_on_failure += USERID -} diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils deleted file mode 100644 index 67b44c43e8..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils +++ /dev/null @@ -1,19 +0,0 @@ -# default: off -# description: -# Tftpd is a server which supports the Internet Trivial File Transfer -# Pro-tocol (RFC 783). The TFTP server operates at the port indicated -# in the tftp service description; see services(5). -# -service tftp -{ - disable = yes - socket_type = dgram - protocol = udp - flags = IPv6 - wait = yes - user = root - group = root - server = @SBINDIR@/in.tftpd - server_args = /tftpboot -} - diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch b/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch deleted file mode 100644 index 532a0e5c08..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils/version.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Pending - -remove m4_esyscmd function - -Signed-off-by: Chunrong Guo <b40290@freescale.com> ---- inetutils-1.9.1/configure.ac 2012-01-06 22:05:05.000000000 +0800 -+++ inetutils-1.9.1/configure.ac 2012-11-12 14:01:11.732957019 +0800 -@@ -20,8 +20,7 @@ - - AC_PREREQ(2.59) - --AC_INIT([GNU inetutils], -- m4_esyscmd([build-aux/git-version-gen .tarball-version 's/inetutils-/v/;s/_/./g']), -+AC_INIT([GNU inetutils],[1.9.4], - [bug-inetutils@gnu.org]) - - AC_CONFIG_SRCDIR([src/inetd.c]) diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb deleted file mode 100644 index a27dbae2e6..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb +++ /dev/null @@ -1,206 +0,0 @@ -DESCRIPTION = "The GNU inetutils are a collection of common \ -networking utilities and servers including ftp, ftpd, rcp, \ -rexec, rlogin, rlogind, rsh, rshd, syslog, syslogd, talk, \ -talkd, telnet, telnetd, tftp, tftpd, and uucpd." -HOMEPAGE = "http://www.gnu.org/software/inetutils" -SECTION = "net" -DEPENDS = "ncurses netbase readline virtual/crypt" - -LICENSE = "GPLv3" - -LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7" - -SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \ - file://version.patch \ - file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \ - file://inetutils-1.8-0003-wchar.patch \ - file://rexec.xinetd.inetutils \ - file://rlogin.xinetd.inetutils \ - file://rsh.xinetd.inetutils \ - file://telnet.xinetd.inetutils \ - file://tftpd.xinetd.inetutils \ - file://inetutils-1.9-PATH_PROCNET_DEV.patch \ - file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \ - file://0001-rcp-fix-to-work-with-large-files.patch \ -" - -SRC_URI[md5sum] = "04852c26c47cc8c6b825f2b74f191f52" -SRC_URI[sha256sum] = "be8f75eff936b8e41b112462db51adf689715658a1b09e0d6b05d11ec92cc616" - -inherit autotools gettext update-alternatives texinfo - -acpaths = "-I ./m4" - -SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}" - -PACKAGECONFIG ??= "ftp uucpd \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \ - " -PACKAGECONFIG[ftp] = "--enable-ftp,--disable-ftp,readline" -PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline" -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6 gl_cv_socket_ipv6=no," -PACKAGECONFIG[ping6] = "--enable-ping6,--disable-ping6," - -EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \ - inetutils_cv_path_login=${base_bindir}/login \ - --with-libreadline-prefix=${STAGING_LIBDIR} \ - --enable-rpath=no \ -" - -EXTRA_OECONF_append_libc-musl = " --disable-rsh --disable-rcp --disable-rlogin " - -do_configure_prepend () { - export HELP2MAN='true' - cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath - rm -f ${S}/glob/configure* -} - -do_install_append () { - install -m 0755 -d ${D}${base_sbindir} - install -m 0755 -d ${D}${sbindir} - install -m 0755 -d ${D}${sysconfdir}/xinetd.d - if [ "${base_bindir}" != "${bindir}" ] ; then - install -m 0755 -d ${D}${base_bindir} - mv ${D}${bindir}/ping* ${D}${base_bindir}/ - mv ${D}${bindir}/hostname ${D}${base_bindir}/ - fi - mv ${D}${bindir}/ifconfig ${D}${base_sbindir}/ - mv ${D}${libexecdir}/syslogd ${D}${base_sbindir}/ - mv ${D}${libexecdir}/tftpd ${D}${sbindir}/in.tftpd - mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd - mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd - if [ -e ${D}${libexecdir}/rlogind ]; then - mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind - fi - if [ -e ${D}${libexecdir}/rshd ]; then - mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd - fi - if [ -e ${D}${libexecdir}/talkd ]; then - mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd - fi - mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd - mv ${D}${libexecdir}/* ${D}${bindir}/ - cp ${WORKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec - cp ${WORKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin - cp ${WORKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh - cp ${WORKDIR}/telnet.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/telnet - cp ${WORKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd - - sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/* - if [ -e ${D}${libdir}/charset.alias ]; then - rm -rf ${D}${libdir}/charset.alias - fi - rm -rf ${D}${libexecdir}/ - # remove usr/lib if empty - rmdir ${D}${libdir} || true -} - -PACKAGES =+ "${PN}-ping ${PN}-ping6 ${PN}-hostname ${PN}-ifconfig \ -${PN}-tftp ${PN}-logger ${PN}-traceroute ${PN}-syslogd \ -${PN}-ftp ${PN}-ftpd ${PN}-tftpd ${PN}-telnet ${PN}-telnetd ${PN}-inetd \ -${PN}-rsh ${PN}-rshd" - -# The packages tftpd, telnetd and rshd conflict with the ones -# provided by netkit, so add the corresponding -dbg packages -# for them to avoid the confliction between the dbg package -# of inetutils and netkit. -PACKAGES =+ "${PN}-tftpd-dbg ${PN}-telnetd-dbg ${PN}-rshd-dbg" -NOAUTOPACKAGEDEBUG = "1" - -ALTERNATIVE_PRIORITY = "79" -ALTERNATIVE_${PN} = "talk whois" -ALTERNATIVE_LINK_NAME[talkd] = "${sbindir}/in.talkd" -ALTERNATIVE_LINK_NAME[uucpd] = "${sbindir}/in.uucpd" - -ALTERNATIVE_PRIORITY_${PN}-logger = "60" -ALTERNATIVE_${PN}-logger = "logger" -ALTERNATIVE_${PN}-syslogd = "syslogd" -ALTERNATIVE_LINK_NAME[syslogd] = "${base_sbindir}/syslogd" - -ALTERNATIVE_${PN}-ftp = "ftp" -ALTERNATIVE_${PN}-ftpd = "ftpd" -ALTERNATIVE_${PN}-tftp = "tftp" -ALTERNATIVE_${PN}-tftpd = "tftpd" -ALTERNATIVE_LINK_NAME[tftpd] = "${sbindir}/tftpd" -ALTERNATIVE_TARGET[tftpd] = "${sbindir}/in.tftpd" - -ALTERNATIVE_${PN}-telnet = "telnet" -ALTERNATIVE_${PN}-telnetd = "telnetd" -ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd" -ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd" - -ALTERNATIVE_${PN}-rsh = "rcp rexec rlogin rsh" -ALTERNATIVE_${PN}-rshd = "rshd rexecd rlogind" -ALTERNATIVE_LINK_NAME[rshd] = "${sbindir}/rshd" -ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd" -ALTERNATIVE_LINK_NAME[rexecd] = "${sbindir}/rexecd" -ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd" -ALTERNATIVE_LINK_NAME[rlogind] = "${sbindir}/rlogind" -ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind" - -ALTERNATIVE_${PN}-inetd= "inetd" -ALTERNATIVE_${PN}-traceroute = "traceroute" - -ALTERNATIVE_${PN}-hostname = "hostname" -ALTERNATIVE_LINK_NAME[hostname] = "${base_bindir}/hostname" - -ALTERNATIVE_${PN}-doc = "hostname.1 dnsdomainname.1 logger.1 syslogd.8" -ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1" -ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1" -ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1" -ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8" - -ALTERNATIVE_${PN}-ifconfig = "ifconfig" -ALTERNATIVE_LINK_NAME[ifconfig] = "${base_sbindir}/ifconfig" - -ALTERNATIVE_${PN}-ping = "ping" -ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" - -ALTERNATIVE_${PN}-ping6 = "${@bb.utils.filter('PACKAGECONFIG', 'ping6', d)}" -ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6" - - -FILES_${PN}-dbg += "${base_bindir}/.debug ${base_sbindir}/.debug ${bindir}/.debug ${sbindir}/.debug" -FILES_${PN}-ping = "${base_bindir}/ping.${BPN}" -FILES_${PN}-ping6 = "${base_bindir}/ping6.${BPN}" -FILES_${PN}-hostname = "${base_bindir}/hostname.${BPN}" -FILES_${PN}-ifconfig = "${base_sbindir}/ifconfig.${BPN}" -FILES_${PN}-traceroute = "${bindir}/traceroute.${BPN}" -FILES_${PN}-logger = "${bindir}/logger.${BPN}" - -FILES_${PN}-syslogd = "${base_sbindir}/syslogd.${BPN}" -RCONFLICTS_${PN}-syslogd = "rsyslog busybox-syslog sysklogd syslog-ng" - -FILES_${PN}-ftp = "${bindir}/ftp.${BPN}" - -FILES_${PN}-tftp = "${bindir}/tftp.${BPN}" -FILES_${PN}-telnet = "${bindir}/telnet.${BPN}" -FILES_${PN}-rsh = "${bindir}/rsh.${BPN} ${bindir}/rlogin.${BPN} ${bindir}/rexec.${BPN} ${bindir}/rcp.${BPN}" - -FILES_${PN}-rshd = "${sbindir}/in.rshd ${sbindir}/in.rlogind ${sbindir}/in.rexecd \ - ${sysconfdir}/xinetd.d/rsh ${sysconfdir}/xinetd.d/rlogin ${sysconfdir}/xinetd.d/rexec" -FILES_${PN}-rshd-dbg = "${sbindir}/.debug/in.rshd ${sbindir}/.debug/in.rlogind ${sbindir}/.debug/in.rexecd" -RDEPENDS_${PN}-rshd += "xinetd tcp-wrappers" -RCONFLICTS_${PN}-rshd += "netkit-rshd" -RPROVIDES_${PN}-rshd = "rshd" - -FILES_${PN}-ftpd = "${bindir}/ftpd.${BPN}" -FILES_${PN}-ftpd-dbg = "${bindir}/.debug/ftpd.${BPN}" -RDEPENDS_${PN}-ftpd += "xinetd" - -FILES_${PN}-tftpd = "${sbindir}/in.tftpd ${sysconfdir}/xinetd.d/tftpd" -FILES_${PN}-tftpd-dbg = "${sbindir}/.debug/in.tftpd" -RCONFLICTS_${PN}-tftpd += "netkit-tftpd" -RDEPENDS_${PN}-tftpd += "xinetd" - -FILES_${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet" -FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd" -RCONFLICTS_${PN}-telnetd += "netkit-telnetd" -RPROVIDES_${PN}-telnetd = "telnetd" -RDEPENDS_${PN}-telnetd += "xinetd" - -FILES_${PN}-inetd = "${bindir}/inetd.${BPN}" - -RDEPENDS_${PN} = "xinetd" diff --git a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.12.0.bb b/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb index 71380ba198..2e9d01e147 100644 --- a/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.12.0.bb +++ b/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb @@ -23,9 +23,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a" SECTION = "libs" SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz" - -SRC_URI[md5sum] = "90b55ca8c726f6612de8a31a2a090e94" -SRC_URI[sha256sum] = "a2bed048f41a19ec7b4dd2e96649145bbd68a6955c3b51aeb7ccbf8908c3ce97" +SRC_URI[md5sum] = "eae9cf16114f4491dbbc0fe36bb7e6c3" +SRC_URI[sha256sum] = "e3dab56e9093c790b7d5e0f7eb19451010fe680649d25cf1dcca9d5441669ae2" inherit cmake diff --git a/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch b/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch new file mode 100644 index 0000000000..cd4291d91b --- /dev/null +++ b/meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch @@ -0,0 +1,40 @@ +From 54698856e5602bbd9d61e855814c854a013b4840 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 22 Dec 2018 18:47:45 -0800 +Subject: [PATCH] Add OpenEmbedded cross compile case + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + genconfig.sh | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/genconfig.sh b/genconfig.sh +index dc42462..59922e9 100755 +--- a/genconfig.sh ++++ b/genconfig.sh +@@ -98,6 +98,12 @@ if [ -f ../shared/tomato_version ]; then + OS_VERSION="Tomato $TOMATO_VER" + fi + ++# OpenEmbedded special case ++if [ -f ./os.openembedded ]; then ++ OS_NAME=OpenEmbedded ++ OS_VERSION=$(cat ./os.openembedded) ++fi ++ + ${RM} ${CONFIGFILE} + + echo "/* MiniUPnP Project" >> ${CONFIGFILE} +@@ -318,6 +324,11 @@ case $OS_NAME in + echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE} + FW=netfilter + ;; ++ OpenEmbedded) ++ OS_URL=http://www.openembedded.org/ ++ echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE} ++ FW=netfilter ++ ;; + AstLinux) + OS_URL=http://www.astlinux.org/ + echo "#define USE_IFACEWATCHER 1" >> ${CONFIGFILE} diff --git a/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb b/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb index 04b5cd589c..d4093e5119 100644 --- a/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb +++ b/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb @@ -11,14 +11,19 @@ inherit autotools gettext pkgconfig systemd DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack" -SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${P}.tar.gz;downloadfilename=${P}.tar.gz \ - file://miniupnpd.service" - -SRC_URI[md5sum] = "b4c7c938915edeee6ca4c65dd021f212" -SRC_URI[sha256sum] = "860c15f2f8340fd69546b01cffe4c7fcff3e63a7bdfe5a2af6b2346f0e074bb6" +SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${BP}.tar.gz;downloadfilename=${BP}.tar.gz \ + file://miniupnpd.service \ + file://0001-Add-OpenEmbedded-cross-compile-case.patch \ + " +SRC_URI[md5sum] = "03b00c27106835e728a3b858ecf83390" +SRC_URI[sha256sum] = "1aaecd25cf152d99557dfe80c7508af9cb06e97ecad4786ce5dafb4c958d196b" IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}" +do_configure_prepend() { + echo "${@d.getVar('DISTRO_VERSION')}" > ${S}/os.openembedded +} + do_compile() { cd ${S} CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux diff --git a/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch b/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch deleted file mode 100644 index c89dfe6bef..0000000000 --- a/meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch +++ /dev/null @@ -1,975 +0,0 @@ -From d9aeef8d95a325942cc92f4d72415771d75d904c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com> -Date: Tue, 12 Apr 2016 13:05:10 +0100 -Subject: [PATCH 2/2] uthash: remove in-tree version -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -We don't need it as we want to use the version provided by -meta-oe instead. - -Upstream-Status: Inappropriate [embedded-specific] -Signed-off-by: André Draszik <andre.draszik@jci.com> ---- - src/uthash.h | 948 ----------------------------------------------------------- - 1 file changed, 948 deletions(-) - delete mode 100644 src/uthash.h - -diff --git a/src/uthash.h b/src/uthash.h -deleted file mode 100644 -index 915a825..0000000 ---- a/src/uthash.h -+++ /dev/null -@@ -1,948 +0,0 @@ --/* --Copyright (c) 2003-2013, Troy D. Hanson http://troydhanson.github.com/uthash/ --All rights reserved. -- --Redistribution and use in source and binary forms, with or without --modification, are permitted provided that the following conditions are met: -- -- * Redistributions of source code must retain the above copyright -- notice, this list of conditions and the following disclaimer. -- --THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS --IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED --TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A --PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER --OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, --EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, --PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR --PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF --LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING --NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS --SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --*/ -- --#ifndef UTHASH_H --#define UTHASH_H -- --#include <string.h> /* memcmp,strlen */ --#include <stddef.h> /* ptrdiff_t */ --#include <stdlib.h> /* exit() */ -- --/* These macros use decltype or the earlier __typeof GNU extension. -- As decltype is only available in newer compilers (VS2010 or gcc 4.3+ -- when compiling c++ source) this code uses whatever method is needed -- or, for VS2008 where neither is available, uses casting workarounds. */ --#ifdef _MSC_VER /* MS compiler */ --#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */ --#define DECLTYPE(x) (decltype(x)) --#else /* VS2008 or older (or VS2010 in C mode) */ --#define NO_DECLTYPE --#define DECLTYPE(x) --#endif --#else /* GNU, Sun and other compilers */ --#define DECLTYPE(x) (__typeof(x)) --#endif -- --#ifdef NO_DECLTYPE --#define DECLTYPE_ASSIGN(dst,src) \ --do { \ -- char **_da_dst = (char**)(&(dst)); \ -- *_da_dst = (char*)(src); \ --} while(0) --#else --#define DECLTYPE_ASSIGN(dst,src) \ --do { \ -- (dst) = DECLTYPE(dst)(src); \ --} while(0) --#endif -- --/* a number of the hash function use uint32_t which isn't defined on win32 */ --#ifdef _MSC_VER --typedef unsigned int uint32_t; --typedef unsigned char uint8_t; --#else --#include <inttypes.h> /* uint32_t */ --#endif -- --#define UTHASH_VERSION 1.9.8 -- --#ifndef uthash_fatal --#define uthash_fatal(msg) exit(-1) /* fatal error (out of memory,etc) */ --#endif --#ifndef uthash_malloc --#define uthash_malloc(sz) malloc(sz) /* malloc fcn */ --#endif --#ifndef uthash_free --#define uthash_free(ptr,sz) free(ptr) /* free fcn */ --#endif -- --#ifndef uthash_noexpand_fyi --#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ --#endif --#ifndef uthash_expand_fyi --#define uthash_expand_fyi(tbl) /* can be defined to log expands */ --#endif -- --/* initial number of buckets */ --#define HASH_INITIAL_NUM_BUCKETS 32 /* initial number of buckets */ --#define HASH_INITIAL_NUM_BUCKETS_LOG2 5 /* lg2 of initial number of buckets */ --#define HASH_BKT_CAPACITY_THRESH 10 /* expand when bucket count reaches */ -- --/* calculate the element whose hash handle address is hhe */ --#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) -- --#define HASH_FIND(hh,head,keyptr,keylen,out) \ --do { \ -- unsigned _hf_bkt,_hf_hashv; \ -- out=NULL; \ -- if (head) { \ -- HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \ -- if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \ -- HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \ -- keyptr,keylen,out); \ -- } \ -- } \ --} while (0) -- --#ifdef HASH_BLOOM --#define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM) --#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0) --#define HASH_BLOOM_MAKE(tbl) \ --do { \ -- (tbl)->bloom_nbits = HASH_BLOOM; \ -- (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \ -- if (!((tbl)->bloom_bv)) { uthash_fatal( "out of memory"); } \ -- memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN); \ -- (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \ --} while (0) -- --#define HASH_BLOOM_FREE(tbl) \ --do { \ -- uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ --} while (0) -- --#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8))) --#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8))) -- --#define HASH_BLOOM_ADD(tbl,hashv) \ -- HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) -- --#define HASH_BLOOM_TEST(tbl,hashv) \ -- HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) -- --#else --#define HASH_BLOOM_MAKE(tbl) --#define HASH_BLOOM_FREE(tbl) --#define HASH_BLOOM_ADD(tbl,hashv) --#define HASH_BLOOM_TEST(tbl,hashv) (1) --#define HASH_BLOOM_BYTELEN 0 --#endif -- --#define HASH_MAKE_TABLE(hh,head) \ --do { \ -- (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \ -- sizeof(UT_hash_table)); \ -- if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \ -- memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \ -- (head)->hh.tbl->tail = &((head)->hh); \ -- (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ -- (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ -- (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ -- (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ -- HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ -- if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \ -- memset((head)->hh.tbl->buckets, 0, \ -- HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ -- HASH_BLOOM_MAKE((head)->hh.tbl); \ -- (head)->hh.tbl->signature = HASH_SIGNATURE; \ --} while(0) -- --#define HASH_ADD(hh,head,fieldname,keylen_in,add) \ -- HASH_ADD_KEYPTR(hh,head,&((add)->fieldname),keylen_in,add) -- --#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \ --do { \ -- replaced=NULL; \ -- HASH_FIND(hh,head,&((add)->fieldname),keylen_in,replaced); \ -- if (replaced!=NULL) { \ -- HASH_DELETE(hh,head,replaced); \ -- }; \ -- HASH_ADD(hh,head,fieldname,keylen_in,add); \ --} while(0) -- --#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \ --do { \ -- unsigned _ha_bkt; \ -- (add)->hh.next = NULL; \ -- (add)->hh.key = (char*)keyptr; \ -- (add)->hh.keylen = (unsigned)keylen_in; \ -- if (!(head)) { \ -- head = (add); \ -- (head)->hh.prev = NULL; \ -- HASH_MAKE_TABLE(hh,head); \ -- } else { \ -- (head)->hh.tbl->tail->next = (add); \ -- (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ -- (head)->hh.tbl->tail = &((add)->hh); \ -- } \ -- (head)->hh.tbl->num_items++; \ -- (add)->hh.tbl = (head)->hh.tbl; \ -- HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \ -- (add)->hh.hashv, _ha_bkt); \ -- HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \ -- HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \ -- HASH_EMIT_KEY(hh,head,keyptr,keylen_in); \ -- HASH_FSCK(hh,head); \ --} while(0) -- --#define HASH_TO_BKT( hashv, num_bkts, bkt ) \ --do { \ -- bkt = ((hashv) & ((num_bkts) - 1)); \ --} while(0) -- --/* delete "delptr" from the hash table. -- * "the usual" patch-up process for the app-order doubly-linked-list. -- * The use of _hd_hh_del below deserves special explanation. -- * These used to be expressed using (delptr) but that led to a bug -- * if someone used the same symbol for the head and deletee, like -- * HASH_DELETE(hh,users,users); -- * We want that to work, but by changing the head (users) below -- * we were forfeiting our ability to further refer to the deletee (users) -- * in the patch-up process. Solution: use scratch space to -- * copy the deletee pointer, then the latter references are via that -- * scratch pointer rather than through the repointed (users) symbol. -- */ --#define HASH_DELETE(hh,head,delptr) \ --do { \ -- unsigned _hd_bkt; \ -- struct UT_hash_handle *_hd_hh_del; \ -- if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) ) { \ -- uthash_free((head)->hh.tbl->buckets, \ -- (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ -- HASH_BLOOM_FREE((head)->hh.tbl); \ -- uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ -- head = NULL; \ -- } else { \ -- _hd_hh_del = &((delptr)->hh); \ -- if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \ -- (head)->hh.tbl->tail = \ -- (UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \ -- (head)->hh.tbl->hho); \ -- } \ -- if ((delptr)->hh.prev) { \ -- ((UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \ -- (head)->hh.tbl->hho))->next = (delptr)->hh.next; \ -- } else { \ -- DECLTYPE_ASSIGN(head,(delptr)->hh.next); \ -- } \ -- if (_hd_hh_del->next) { \ -- ((UT_hash_handle*)((ptrdiff_t)_hd_hh_del->next + \ -- (head)->hh.tbl->hho))->prev = \ -- _hd_hh_del->prev; \ -- } \ -- HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ -- HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ -- (head)->hh.tbl->num_items--; \ -- } \ -- HASH_FSCK(hh,head); \ --} while (0) -- -- --/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */ --#define HASH_FIND_STR(head,findstr,out) \ -- HASH_FIND(hh,head,findstr,strlen(findstr),out) --#define HASH_ADD_STR(head,strfield,add) \ -- HASH_ADD(hh,head,strfield,strlen(add->strfield),add) --#define HASH_REPLACE_STR(head,strfield,add,replaced) \ -- HASH_REPLACE(hh,head,strfield,strlen(add->strfield),add,replaced) --#define HASH_FIND_INT(head,findint,out) \ -- HASH_FIND(hh,head,findint,sizeof(int),out) --#define HASH_ADD_INT(head,intfield,add) \ -- HASH_ADD(hh,head,intfield,sizeof(int),add) --#define HASH_REPLACE_INT(head,intfield,add,replaced) \ -- HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) --#define HASH_FIND_PTR(head,findptr,out) \ -- HASH_FIND(hh,head,findptr,sizeof(void *),out) --#define HASH_ADD_PTR(head,ptrfield,add) \ -- HASH_ADD(hh,head,ptrfield,sizeof(void *),add) --#define HASH_REPLACE_PTR(head,ptrfield,add) \ -- HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) --#define HASH_DEL(head,delptr) \ -- HASH_DELETE(hh,head,delptr) -- --/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined. -- * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined. -- */ --#ifdef HASH_DEBUG --#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0) --#define HASH_FSCK(hh,head) \ --do { \ -- unsigned _bkt_i; \ -- unsigned _count, _bkt_count; \ -- char *_prev; \ -- struct UT_hash_handle *_thh; \ -- if (head) { \ -- _count = 0; \ -- for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \ -- _bkt_count = 0; \ -- _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ -- _prev = NULL; \ -- while (_thh) { \ -- if (_prev != (char*)(_thh->hh_prev)) { \ -- HASH_OOPS("invalid hh_prev %p, actual %p\n", \ -- _thh->hh_prev, _prev ); \ -- } \ -- _bkt_count++; \ -- _prev = (char*)(_thh); \ -- _thh = _thh->hh_next; \ -- } \ -- _count += _bkt_count; \ -- if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ -- HASH_OOPS("invalid bucket count %d, actual %d\n", \ -- (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ -- } \ -- } \ -- if (_count != (head)->hh.tbl->num_items) { \ -- HASH_OOPS("invalid hh item count %d, actual %d\n", \ -- (head)->hh.tbl->num_items, _count ); \ -- } \ -- /* traverse hh in app order; check next/prev integrity, count */ \ -- _count = 0; \ -- _prev = NULL; \ -- _thh = &(head)->hh; \ -- while (_thh) { \ -- _count++; \ -- if (_prev !=(char*)(_thh->prev)) { \ -- HASH_OOPS("invalid prev %p, actual %p\n", \ -- _thh->prev, _prev ); \ -- } \ -- _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ -- _thh = ( _thh->next ? (UT_hash_handle*)((char*)(_thh->next) + \ -- (head)->hh.tbl->hho) : NULL ); \ -- } \ -- if (_count != (head)->hh.tbl->num_items) { \ -- HASH_OOPS("invalid app item count %d, actual %d\n", \ -- (head)->hh.tbl->num_items, _count ); \ -- } \ -- } \ --} while (0) --#else --#define HASH_FSCK(hh,head) --#endif -- --/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to -- * the descriptor to which this macro is defined for tuning the hash function. -- * The app can #include <unistd.h> to get the prototype for write(2). */ --#ifdef HASH_EMIT_KEYS --#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \ --do { \ -- unsigned _klen = fieldlen; \ -- write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \ -- write(HASH_EMIT_KEYS, keyptr, fieldlen); \ --} while (0) --#else --#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) --#endif -- --/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */ --#ifdef HASH_FUNCTION --#define HASH_FCN HASH_FUNCTION --#else --#define HASH_FCN HASH_JEN --#endif -- --/* The Bernstein hash function, used in Perl prior to v5.6 */ --#define HASH_BER(key,keylen,num_bkts,hashv,bkt) \ --do { \ -- unsigned _hb_keylen=keylen; \ -- char *_hb_key=(char*)(key); \ -- (hashv) = 0; \ -- while (_hb_keylen--) { (hashv) = ((hashv) * 33) + *_hb_key++; } \ -- bkt = (hashv) & (num_bkts-1); \ --} while (0) -- -- --/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at -- * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */ --#define HASH_SAX(key,keylen,num_bkts,hashv,bkt) \ --do { \ -- unsigned _sx_i; \ -- char *_hs_key=(char*)(key); \ -- hashv = 0; \ -- for(_sx_i=0; _sx_i < keylen; _sx_i++) \ -- hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \ -- bkt = hashv & (num_bkts-1); \ --} while (0) -- --#define HASH_FNV(key,keylen,num_bkts,hashv,bkt) \ --do { \ -- unsigned _fn_i; \ -- char *_hf_key=(char*)(key); \ -- hashv = 2166136261UL; \ -- for(_fn_i=0; _fn_i < keylen; _fn_i++) \ -- hashv = (hashv * 16777619) ^ _hf_key[_fn_i]; \ -- bkt = hashv & (num_bkts-1); \ --} while(0) -- --#define HASH_OAT(key,keylen,num_bkts,hashv,bkt) \ --do { \ -- unsigned _ho_i; \ -- char *_ho_key=(char*)(key); \ -- hashv = 0; \ -- for(_ho_i=0; _ho_i < keylen; _ho_i++) { \ -- hashv += _ho_key[_ho_i]; \ -- hashv += (hashv << 10); \ -- hashv ^= (hashv >> 6); \ -- } \ -- hashv += (hashv << 3); \ -- hashv ^= (hashv >> 11); \ -- hashv += (hashv << 15); \ -- bkt = hashv & (num_bkts-1); \ --} while(0) -- --#define HASH_JEN_MIX(a,b,c) \ --do { \ -- a -= b; a -= c; a ^= ( c >> 13 ); \ -- b -= c; b -= a; b ^= ( a << 8 ); \ -- c -= a; c -= b; c ^= ( b >> 13 ); \ -- a -= b; a -= c; a ^= ( c >> 12 ); \ -- b -= c; b -= a; b ^= ( a << 16 ); \ -- c -= a; c -= b; c ^= ( b >> 5 ); \ -- a -= b; a -= c; a ^= ( c >> 3 ); \ -- b -= c; b -= a; b ^= ( a << 10 ); \ -- c -= a; c -= b; c ^= ( b >> 15 ); \ --} while (0) -- --#define HASH_JEN(key,keylen,num_bkts,hashv,bkt) \ --do { \ -- unsigned _hj_i,_hj_j,_hj_k; \ -- unsigned char *_hj_key=(unsigned char*)(key); \ -- hashv = 0xfeedbeef; \ -- _hj_i = _hj_j = 0x9e3779b9; \ -- _hj_k = (unsigned)keylen; \ -- while (_hj_k >= 12) { \ -- _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \ -- + ( (unsigned)_hj_key[2] << 16 ) \ -- + ( (unsigned)_hj_key[3] << 24 ) ); \ -- _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \ -- + ( (unsigned)_hj_key[6] << 16 ) \ -- + ( (unsigned)_hj_key[7] << 24 ) ); \ -- hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \ -- + ( (unsigned)_hj_key[10] << 16 ) \ -- + ( (unsigned)_hj_key[11] << 24 ) ); \ -- \ -- HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ -- \ -- _hj_key += 12; \ -- _hj_k -= 12; \ -- } \ -- hashv += keylen; \ -- switch ( _hj_k ) { \ -- case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \ -- case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \ -- case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \ -- case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \ -- case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \ -- case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \ -- case 5: _hj_j += _hj_key[4]; \ -- case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \ -- case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \ -- case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \ -- case 1: _hj_i += _hj_key[0]; \ -- } \ -- HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ -- bkt = hashv & (num_bkts-1); \ --} while(0) -- --/* The Paul Hsieh hash function */ --#undef get16bits --#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ -- || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) --#define get16bits(d) (*((const uint16_t *) (d))) --#endif -- --#if !defined (get16bits) --#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \ -- +(uint32_t)(((const uint8_t *)(d))[0]) ) --#endif --#define HASH_SFH(key,keylen,num_bkts,hashv,bkt) \ --do { \ -- unsigned char *_sfh_key=(unsigned char*)(key); \ -- uint32_t _sfh_tmp, _sfh_len = keylen; \ -- \ -- int _sfh_rem = _sfh_len & 3; \ -- _sfh_len >>= 2; \ -- hashv = 0xcafebabe; \ -- \ -- /* Main loop */ \ -- for (;_sfh_len > 0; _sfh_len--) { \ -- hashv += get16bits (_sfh_key); \ -- _sfh_tmp = (uint32_t)(get16bits (_sfh_key+2)) << 11 ^ hashv; \ -- hashv = (hashv << 16) ^ _sfh_tmp; \ -- _sfh_key += 2*sizeof (uint16_t); \ -- hashv += hashv >> 11; \ -- } \ -- \ -- /* Handle end cases */ \ -- switch (_sfh_rem) { \ -- case 3: hashv += get16bits (_sfh_key); \ -- hashv ^= hashv << 16; \ -- hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)] << 18); \ -- hashv += hashv >> 11; \ -- break; \ -- case 2: hashv += get16bits (_sfh_key); \ -- hashv ^= hashv << 11; \ -- hashv += hashv >> 17; \ -- break; \ -- case 1: hashv += *_sfh_key; \ -- hashv ^= hashv << 10; \ -- hashv += hashv >> 1; \ -- } \ -- \ -- /* Force "avalanching" of final 127 bits */ \ -- hashv ^= hashv << 3; \ -- hashv += hashv >> 5; \ -- hashv ^= hashv << 4; \ -- hashv += hashv >> 17; \ -- hashv ^= hashv << 25; \ -- hashv += hashv >> 6; \ -- bkt = hashv & (num_bkts-1); \ --} while(0) -- --#ifdef HASH_USING_NO_STRICT_ALIASING --/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads. -- * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error. -- * MurmurHash uses the faster approach only on CPU's where we know it's safe. -- * -- * Note the preprocessor built-in defines can be emitted using: -- * -- * gcc -m64 -dM -E - < /dev/null (on gcc) -- * cc -## a.c (where a.c is a simple test file) (Sun Studio) -- */ --#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86)) --#define MUR_GETBLOCK(p,i) p[i] --#else /* non intel */ --#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 0x3) == 0) --#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 0x3) == 1) --#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 0x3) == 2) --#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 0x3) == 3) --#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL)) --#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__)) --#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24)) --#define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16)) --#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8)) --#else /* assume little endian non-intel */ --#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24)) --#define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16)) --#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8)) --#endif --#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \ -- (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \ -- (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \ -- MUR_ONE_THREE(p)))) --#endif --#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r)))) --#define MUR_FMIX(_h) \ --do { \ -- _h ^= _h >> 16; \ -- _h *= 0x85ebca6b; \ -- _h ^= _h >> 13; \ -- _h *= 0xc2b2ae35l; \ -- _h ^= _h >> 16; \ --} while(0) -- --#define HASH_MUR(key,keylen,num_bkts,hashv,bkt) \ --do { \ -- const uint8_t *_mur_data = (const uint8_t*)(key); \ -- const int _mur_nblocks = (keylen) / 4; \ -- uint32_t _mur_h1 = 0xf88D5353; \ -- uint32_t _mur_c1 = 0xcc9e2d51; \ -- uint32_t _mur_c2 = 0x1b873593; \ -- uint32_t _mur_k1 = 0; \ -- const uint8_t *_mur_tail; \ -- const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+_mur_nblocks*4); \ -- int _mur_i; \ -- for(_mur_i = -_mur_nblocks; _mur_i; _mur_i++) { \ -- _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \ -- _mur_k1 *= _mur_c1; \ -- _mur_k1 = MUR_ROTL32(_mur_k1,15); \ -- _mur_k1 *= _mur_c2; \ -- \ -- _mur_h1 ^= _mur_k1; \ -- _mur_h1 = MUR_ROTL32(_mur_h1,13); \ -- _mur_h1 = _mur_h1*5+0xe6546b64; \ -- } \ -- _mur_tail = (const uint8_t*)(_mur_data + _mur_nblocks*4); \ -- _mur_k1=0; \ -- switch((keylen) & 3) { \ -- case 3: _mur_k1 ^= _mur_tail[2] << 16; \ -- case 2: _mur_k1 ^= _mur_tail[1] << 8; \ -- case 1: _mur_k1 ^= _mur_tail[0]; \ -- _mur_k1 *= _mur_c1; \ -- _mur_k1 = MUR_ROTL32(_mur_k1,15); \ -- _mur_k1 *= _mur_c2; \ -- _mur_h1 ^= _mur_k1; \ -- } \ -- _mur_h1 ^= (keylen); \ -- MUR_FMIX(_mur_h1); \ -- hashv = _mur_h1; \ -- bkt = hashv & (num_bkts-1); \ --} while(0) --#endif /* HASH_USING_NO_STRICT_ALIASING */ -- --/* key comparison function; return 0 if keys equal */ --#define HASH_KEYCMP(a,b,len) memcmp(a,b,len) -- --/* iterate over items in a known bucket to find desired item */ --#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \ --do { \ -- if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \ -- else out=NULL; \ -- while (out) { \ -- if ((out)->hh.keylen == keylen_in) { \ -- if ((HASH_KEYCMP((out)->hh.key,keyptr,keylen_in)) == 0) break; \ -- } \ -- if ((out)->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,(out)->hh.hh_next)); \ -- else out = NULL; \ -- } \ --} while(0) -- --/* add an item to a bucket */ --#define HASH_ADD_TO_BKT(head,addhh) \ --do { \ -- head.count++; \ -- (addhh)->hh_next = head.hh_head; \ -- (addhh)->hh_prev = NULL; \ -- if (head.hh_head) { (head).hh_head->hh_prev = (addhh); } \ -- (head).hh_head=addhh; \ -- if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH) \ -- && (addhh)->tbl->noexpand != 1) { \ -- HASH_EXPAND_BUCKETS((addhh)->tbl); \ -- } \ --} while(0) -- --/* remove an item from a given bucket */ --#define HASH_DEL_IN_BKT(hh,head,hh_del) \ -- (head).count--; \ -- if ((head).hh_head == hh_del) { \ -- (head).hh_head = hh_del->hh_next; \ -- } \ -- if (hh_del->hh_prev) { \ -- hh_del->hh_prev->hh_next = hh_del->hh_next; \ -- } \ -- if (hh_del->hh_next) { \ -- hh_del->hh_next->hh_prev = hh_del->hh_prev; \ -- } -- --/* Bucket expansion has the effect of doubling the number of buckets -- * and redistributing the items into the new buckets. Ideally the -- * items will distribute more or less evenly into the new buckets -- * (the extent to which this is true is a measure of the quality of -- * the hash function as it applies to the key domain). -- * -- * With the items distributed into more buckets, the chain length -- * (item count) in each bucket is reduced. Thus by expanding buckets -- * the hash keeps a bound on the chain length. This bounded chain -- * length is the essence of how a hash provides constant time lookup. -- * -- * The calculation of tbl->ideal_chain_maxlen below deserves some -- * explanation. First, keep in mind that we're calculating the ideal -- * maximum chain length based on the *new* (doubled) bucket count. -- * In fractions this is just n/b (n=number of items,b=new num buckets). -- * Since the ideal chain length is an integer, we want to calculate -- * ceil(n/b). We don't depend on floating point arithmetic in this -- * hash, so to calculate ceil(n/b) with integers we could write -- * -- * ceil(n/b) = (n/b) + ((n%b)?1:0) -- * -- * and in fact a previous version of this hash did just that. -- * But now we have improved things a bit by recognizing that b is -- * always a power of two. We keep its base 2 log handy (call it lb), -- * so now we can write this with a bit shift and logical AND: -- * -- * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0) -- * -- */ --#define HASH_EXPAND_BUCKETS(tbl) \ --do { \ -- unsigned _he_bkt; \ -- unsigned _he_bkt_i; \ -- struct UT_hash_handle *_he_thh, *_he_hh_nxt; \ -- UT_hash_bucket *_he_new_buckets, *_he_newbkt; \ -- _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \ -- 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ -- if (!_he_new_buckets) { uthash_fatal( "out of memory"); } \ -- memset(_he_new_buckets, 0, \ -- 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ -- tbl->ideal_chain_maxlen = \ -- (tbl->num_items >> (tbl->log2_num_buckets+1)) + \ -- ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0); \ -- tbl->nonideal_items = 0; \ -- for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++) \ -- { \ -- _he_thh = tbl->buckets[ _he_bkt_i ].hh_head; \ -- while (_he_thh) { \ -- _he_hh_nxt = _he_thh->hh_next; \ -- HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt); \ -- _he_newbkt = &(_he_new_buckets[ _he_bkt ]); \ -- if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) { \ -- tbl->nonideal_items++; \ -- _he_newbkt->expand_mult = _he_newbkt->count / \ -- tbl->ideal_chain_maxlen; \ -- } \ -- _he_thh->hh_prev = NULL; \ -- _he_thh->hh_next = _he_newbkt->hh_head; \ -- if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev = \ -- _he_thh; \ -- _he_newbkt->hh_head = _he_thh; \ -- _he_thh = _he_hh_nxt; \ -- } \ -- } \ -- uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ -- tbl->num_buckets *= 2; \ -- tbl->log2_num_buckets++; \ -- tbl->buckets = _he_new_buckets; \ -- tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ? \ -- (tbl->ineff_expands+1) : 0; \ -- if (tbl->ineff_expands > 1) { \ -- tbl->noexpand=1; \ -- uthash_noexpand_fyi(tbl); \ -- } \ -- uthash_expand_fyi(tbl); \ --} while(0) -- -- --/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */ --/* Note that HASH_SORT assumes the hash handle name to be hh. -- * HASH_SRT was added to allow the hash handle name to be passed in. */ --#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn) --#define HASH_SRT(hh,head,cmpfcn) \ --do { \ -- unsigned _hs_i; \ -- unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \ -- struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \ -- if (head) { \ -- _hs_insize = 1; \ -- _hs_looping = 1; \ -- _hs_list = &((head)->hh); \ -- while (_hs_looping) { \ -- _hs_p = _hs_list; \ -- _hs_list = NULL; \ -- _hs_tail = NULL; \ -- _hs_nmerges = 0; \ -- while (_hs_p) { \ -- _hs_nmerges++; \ -- _hs_q = _hs_p; \ -- _hs_psize = 0; \ -- for ( _hs_i = 0; _hs_i < _hs_insize; _hs_i++ ) { \ -- _hs_psize++; \ -- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ -- ((void*)((char*)(_hs_q->next) + \ -- (head)->hh.tbl->hho)) : NULL); \ -- if (! (_hs_q) ) break; \ -- } \ -- _hs_qsize = _hs_insize; \ -- while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) { \ -- if (_hs_psize == 0) { \ -- _hs_e = _hs_q; \ -- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ -- ((void*)((char*)(_hs_q->next) + \ -- (head)->hh.tbl->hho)) : NULL); \ -- _hs_qsize--; \ -- } else if ( (_hs_qsize == 0) || !(_hs_q) ) { \ -- _hs_e = _hs_p; \ -- if (_hs_p){ \ -- _hs_p = (UT_hash_handle*)((_hs_p->next) ? \ -- ((void*)((char*)(_hs_p->next) + \ -- (head)->hh.tbl->hho)) : NULL); \ -- } \ -- _hs_psize--; \ -- } else if (( \ -- cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \ -- DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \ -- ) <= 0) { \ -- _hs_e = _hs_p; \ -- if (_hs_p){ \ -- _hs_p = (UT_hash_handle*)((_hs_p->next) ? \ -- ((void*)((char*)(_hs_p->next) + \ -- (head)->hh.tbl->hho)) : NULL); \ -- } \ -- _hs_psize--; \ -- } else { \ -- _hs_e = _hs_q; \ -- _hs_q = (UT_hash_handle*)((_hs_q->next) ? \ -- ((void*)((char*)(_hs_q->next) + \ -- (head)->hh.tbl->hho)) : NULL); \ -- _hs_qsize--; \ -- } \ -- if ( _hs_tail ) { \ -- _hs_tail->next = ((_hs_e) ? \ -- ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \ -- } else { \ -- _hs_list = _hs_e; \ -- } \ -- if (_hs_e) { \ -- _hs_e->prev = ((_hs_tail) ? \ -- ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \ -- } \ -- _hs_tail = _hs_e; \ -- } \ -- _hs_p = _hs_q; \ -- } \ -- if (_hs_tail){ \ -- _hs_tail->next = NULL; \ -- } \ -- if ( _hs_nmerges <= 1 ) { \ -- _hs_looping=0; \ -- (head)->hh.tbl->tail = _hs_tail; \ -- DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ -- } \ -- _hs_insize *= 2; \ -- } \ -- HASH_FSCK(hh,head); \ -- } \ --} while (0) -- --/* This function selects items from one hash into another hash. -- * The end result is that the selected items have dual presence -- * in both hashes. There is no copy of the items made; rather -- * they are added into the new hash through a secondary hash -- * hash handle that must be present in the structure. */ --#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \ --do { \ -- unsigned _src_bkt, _dst_bkt; \ -- void *_last_elt=NULL, *_elt; \ -- UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \ -- ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \ -- if (src) { \ -- for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \ -- for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \ -- _src_hh; \ -- _src_hh = _src_hh->hh_next) { \ -- _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \ -- if (cond(_elt)) { \ -- _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \ -- _dst_hh->key = _src_hh->key; \ -- _dst_hh->keylen = _src_hh->keylen; \ -- _dst_hh->hashv = _src_hh->hashv; \ -- _dst_hh->prev = _last_elt; \ -- _dst_hh->next = NULL; \ -- if (_last_elt_hh) { _last_elt_hh->next = _elt; } \ -- if (!dst) { \ -- DECLTYPE_ASSIGN(dst,_elt); \ -- HASH_MAKE_TABLE(hh_dst,dst); \ -- } else { \ -- _dst_hh->tbl = (dst)->hh_dst.tbl; \ -- } \ -- HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \ -- HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh); \ -- (dst)->hh_dst.tbl->num_items++; \ -- _last_elt = _elt; \ -- _last_elt_hh = _dst_hh; \ -- } \ -- } \ -- } \ -- } \ -- HASH_FSCK(hh_dst,dst); \ --} while (0) -- --#define HASH_CLEAR(hh,head) \ --do { \ -- if (head) { \ -- uthash_free((head)->hh.tbl->buckets, \ -- (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ -- HASH_BLOOM_FREE((head)->hh.tbl); \ -- uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ -- (head)=NULL; \ -- } \ --} while(0) -- --#define HASH_OVERHEAD(hh,head) \ -- (size_t)((((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \ -- ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \ -- (sizeof(UT_hash_table)) + \ -- (HASH_BLOOM_BYTELEN))) -- --#ifdef NO_DECLTYPE --#define HASH_ITER(hh,head,el,tmp) \ --for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL); \ -- el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL)) --#else --#define HASH_ITER(hh,head,el,tmp) \ --for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); \ -- el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL)) --#endif -- --/* obtain a count of items in the hash */ --#define HASH_COUNT(head) HASH_CNT(hh,head) --#define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0) -- --typedef struct UT_hash_bucket { -- struct UT_hash_handle *hh_head; -- unsigned count; -- -- /* expand_mult is normally set to 0. In this situation, the max chain length -- * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If -- * the bucket's chain exceeds this length, bucket expansion is triggered). -- * However, setting expand_mult to a non-zero value delays bucket expansion -- * (that would be triggered by additions to this particular bucket) -- * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH. -- * (The multiplier is simply expand_mult+1). The whole idea of this -- * multiplier is to reduce bucket expansions, since they are expensive, in -- * situations where we know that a particular bucket tends to be overused. -- * It is better to let its chain length grow to a longer yet-still-bounded -- * value, than to do an O(n) bucket expansion too often. -- */ -- unsigned expand_mult; -- --} UT_hash_bucket; -- --/* random signature used only to find hash tables in external analysis */ --#define HASH_SIGNATURE 0xa0111fe1 --#define HASH_BLOOM_SIGNATURE 0xb12220f2 -- --typedef struct UT_hash_table { -- UT_hash_bucket *buckets; -- unsigned num_buckets, log2_num_buckets; -- unsigned num_items; -- struct UT_hash_handle *tail; /* tail hh in app order, for fast append */ -- ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */ -- -- /* in an ideal situation (all buckets used equally), no bucket would have -- * more than ceil(#items/#buckets) items. that's the ideal chain length. */ -- unsigned ideal_chain_maxlen; -- -- /* nonideal_items is the number of items in the hash whose chain position -- * exceeds the ideal chain maxlen. these items pay the penalty for an uneven -- * hash distribution; reaching them in a chain traversal takes >ideal steps */ -- unsigned nonideal_items; -- -- /* ineffective expands occur when a bucket doubling was performed, but -- * afterward, more than half the items in the hash had nonideal chain -- * positions. If this happens on two consecutive expansions we inhibit any -- * further expansion, as it's not helping; this happens when the hash -- * function isn't a good fit for the key domain. When expansion is inhibited -- * the hash will still work, albeit no longer in constant time. */ -- unsigned ineff_expands, noexpand; -- -- uint32_t signature; /* used only to find hash tables in external analysis */ --#ifdef HASH_BLOOM -- uint32_t bloom_sig; /* used only to test bloom exists in external analysis */ -- uint8_t *bloom_bv; -- char bloom_nbits; --#endif -- --} UT_hash_table; -- --typedef struct UT_hash_handle { -- struct UT_hash_table *tbl; -- void *prev; /* prev element in app order */ -- void *next; /* next element in app order */ -- struct UT_hash_handle *hh_prev; /* previous hh in bucket order */ -- struct UT_hash_handle *hh_next; /* next hh in bucket order */ -- void *key; /* ptr to enclosing struct's key */ -- unsigned keylen; /* enclosing struct's key len */ -- unsigned hashv; /* result of hash-fcn(key) */ --} UT_hash_handle; -- --#endif /* UTHASH_H */ --- -2.15.1 - diff --git a/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb b/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb index b4adfdada9..768b5930fb 100644 --- a/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb +++ b/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb @@ -11,12 +11,11 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \ DEPENDS = "uthash" SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \ - file://0002-uthash-remove-in-tree-version.patch \ file://mosquitto.init \ " -SRC_URI[md5sum] = "f98c99998a36a234f3a9d9b402b991db" -SRC_URI[sha256sum] = "8557bc7ae34dfaf32a0fb56d2491b7a7f731269c88337227233013502df4d5b0" +SRC_URI[md5sum] = "bbbcceb32db3657d9d436a8440a9db1c" +SRC_URI[sha256sum] = "78d7e70c3794dc3a1d484b4f2f8d3addebe9c2da3f5a1cebe557f7d13beb0da4" inherit systemd update-rc.d useradd @@ -24,25 +23,23 @@ PACKAGECONFIG ??= "ssl uuid \ ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \ " -PACKAGECONFIG[dns-srv] = ",,c-ares" -PACKAGECONFIG[ssl] = ",,openssl" -PACKAGECONFIG[uuid] = ",,util-linux" +PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares" +PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl" +PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux" PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd" -PACKAGECONFIG[websockets] = ",,libwebsockets" +PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets" EXTRA_OEMAKE = " \ prefix=${prefix} \ mandir=${mandir} \ localedir=${localedir} \ - ${@bb.utils.contains('PACKAGECONFIG', 'dns-srv', 'WITH_SRV=yes', 'WITH_SRV=no', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'ssl', 'WITH_TLS=yes WITH_TLS_PSK=yes', 'WITH_TLS=no WITH_TLS_PSK=no', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'uuid', 'WITH_UUID=yes', 'WITH_UUID=no', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'websockets', 'WITH_WEBSOCKETS=yes', 'WITH_WEBSOCKETS=no', d)} \ + ${PACKAGECONFIG_CONFARGS} \ STRIP=/bin/true \ WITH_DOCS=no \ + WITH_BUNDLED_DEPS=no \ " -export LIB_SUFFIX = "${@d.getVar('baselib', True).replace('lib', '')}" +export LIB_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}" do_install() { oe_runmake 'DESTDIR=${D}' install diff --git a/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb b/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb index fa6b43ace9..8444f0b739 100644 --- a/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb +++ b/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=587b3fd7fd291e418ff4d2b8f3904755" SECTION = "libs/networking" SRC_URI = "git://github.com/nanomsg/nanomsg.git;protocol=https" -SRCREV = "e7f8a751316b942d8962cd0232c2d606c1d9a9db" +SRCREV = "1749fd7b039165a91b8d556b4df18e3e632ad830" S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.10.bb index 9159fcbf6b..56db770b97 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.10.bb @@ -10,8 +10,8 @@ inherit gnomebase useradd gettext systemd SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz" -SRC_URI[md5sum] = "f118226ed2bfbacfd64ac4d1e0bd0383" -SRC_URI[sha256sum] = "ac86a7a539d78df90095676e9183f2d422fb93dbfe4b3afef22f81825d303d61" +SRC_URI[md5sum] = "4dbbc103761facc7a61a1c00dfd55231" +SRC_URI[sha256sum] = "af3cc86ba848d21b4ac807a09d575de11335ba4df8ce6fdb089212e77c2231ef" S = "${WORKDIR}/NetworkManager-openvpn-${PV}" diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch index 28848d3543..302c0292bd 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch @@ -1,17 +1,17 @@ -From 583f0448fb7e9aba2b410c06eec6f420b41a6a0c Mon Sep 17 00:00:00 2001 +From 3dc3d8e73bc430ea4e93e33f7b2a4b3e0ff175af Mon Sep 17 00:00:00 2001 From: Pablo Saavedra <psaavedra@igalia.com> Date: Tue, 13 Mar 2018 17:36:20 +0100 -Subject: [PATCH 7/7] Fixed configure.ac: Fix pkgconfig sysroot locations +Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 51e5eb6..c9d3e56 100644 +index 967eac0..b914219 100644 --- a/configure.ac +++ b/configure.ac -@@ -669,7 +669,7 @@ else +@@ -592,7 +592,7 @@ if test "$have_jansson" = "yes"; then AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled]) AC_CHECK_TOOLS(READELF, [eu-readelf readelf]) @@ -20,6 +20,3 @@ index 51e5eb6..c9d3e56 100644 JANSSON_SONAME=`$READELF -d $JANSSON_LIBDIR/libjansson.so |sed -n 's/.*SONAME.*\[[\([^]]*\)]]/\1/p'` if test "$JANSSON_SONAME" = ""; then --- -2.14.1 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch deleted file mode 100644 index 7194423192..0000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 18f71c1b48730b8602826517f2b5b088283ae948 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 31 Mar 2017 16:48:00 -0700 -Subject: [PATCH 5/7] sd-lldp.h: Remove net/ethernet.h seems to be over - specified - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/systemd/src/libsystemd-network/sd-lldp.c | 1 + - src/systemd/src/systemd/sd-lldp.h | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/systemd/src/libsystemd-network/sd-lldp.c b/src/systemd/src/libsystemd-network/sd-lldp.c -index 31e2448..7721cc2 100644 ---- a/src/systemd/src/libsystemd-network/sd-lldp.c -+++ b/src/systemd/src/libsystemd-network/sd-lldp.c -@@ -21,6 +21,7 @@ - #include "nm-sd-adapt.h" - - #include <arpa/inet.h> -+#include <net/ethernet.h> - #include <linux/sockios.h> - - #include "sd-lldp.h" -diff --git a/src/systemd/src/systemd/sd-lldp.h b/src/systemd/src/systemd/sd-lldp.h -index 3f35eeb..61b0e45 100644 ---- a/src/systemd/src/systemd/sd-lldp.h -+++ b/src/systemd/src/systemd/sd-lldp.h -@@ -22,7 +22,7 @@ - ***/ - - #include <inttypes.h> --#include <net/ethernet.h> -+//#include <net/ethernet.h> - #include <sys/types.h> - - #include "sd-event.h" --- -2.14.1 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch index 92485f0441..5581dd3aab 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch @@ -13,15 +13,15 @@ Upstream-Status: Inappropriate [OE specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- - Makefile.am | 18 ++---------------- - configure.ac | 4 ---- - 2 files changed, 2 insertions(+), 20 deletions(-) + Makefile.am | 11 ----------- + configure.ac | 5 ----- + 2 files changed, 16 deletions(-) diff --git a/Makefile.am b/Makefile.am -index 639921d..314a61d 100644 +index b180466..1ab4658 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -961,9 +961,7 @@ endif +@@ -1298,9 +1298,7 @@ EXTRA_DIST += \ if HAVE_INTROSPECTION libnm_noinst_data = \ @@ -31,37 +31,30 @@ index 639921d..314a61d 100644 libnm/nm-settings-keyfile-docs.xml \ libnm/nm-settings-ifcfg-rh-docs.xml -@@ -3317,23 +3315,11 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums) +@@ -3930,18 +3928,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums) $(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp - clients_common_settings_doc_c = clients/common/settings-docs.c + clients_common_settings_doc_h = clients/common/settings-docs.h -if HAVE_INTROSPECTION --$(clients_common_settings_doc_c): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp +-$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp - $(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^) --DISTCLEANFILES += $(clients_common_settings_doc_c) --check-local-settings-docs: $(clients_common_settings_doc_c) -- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \ -- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)" ; then \ -- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_c)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_c).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes"; \ -- false; \ -- fi;\ -- fi +-DISTCLEANFILES += $(clients_common_settings_doc_h) +-check-local-settings-docs: $(clients_common_settings_doc_h) +- $(srcdir)/tools/check-settings-docs.sh "$(srcdir)" "$(builddir)" "$(clients_common_settings_doc_h)" -check_local += check-local-settings-docs -else -+ - $(clients_common_settings_doc_c): $(clients_common_settings_doc_c).in clients/common/.dirstamp - $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_c).in" "$(builddir)/$(clients_common_settings_doc_c)" + $(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp + $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" check-local-settings-docs: -endif -+ EXTRA_DIST += \ - $(clients_common_settings_doc_c) \ - $(clients_common_settings_doc_c).in + $(clients_common_settings_doc_h) \ + $(clients_common_settings_doc_h).in diff --git a/configure.ac b/configure.ac -index c9d3e56..407222e 100644 +index b914219..872c292 100644 --- a/configure.ac +++ b/configure.ac -@@ -1286,10 +1286,6 @@ GTK_DOC_CHECK(1.0) +@@ -1215,11 +1215,6 @@ GTK_DOC_CHECK(1.0) # check if we can build setting property documentation build_docs=no if test -n "$INTROSPECTION_MAKEFILE"; then @@ -69,9 +62,10 @@ index c9d3e56..407222e 100644 - if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then - AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)]) - fi - +- AC_PATH_PROG(PERL, perl) if test -z "$PERL"; then + AC_MSG_ERROR([--enable-introspection requires perl]) -- -2.14.3 +2.20.1 diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch index 548cccb329..e99c22710c 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch @@ -1,7 +1,7 @@ From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Thu, 22 Mar 2018 18:18:06 +0100 -Subject: [PATCH 2/4] musl: dlopen is included so LD_LIBS="" instead of +Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of LD_LIBS="none required" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -22,7 +22,7 @@ diff --git a/configure.ac b/configure.ac index 487a266..96ae4f7 100644 --- a/configure.ac +++ b/configure.ac -@@ -305,6 +305,7 @@ dnl +@@ -235,6 +235,7 @@ dnl dnl Checks for libdl - on certain platforms its part of libc dnl AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=]) @@ -32,4 +32,3 @@ index 487a266..96ae4f7 100644 PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0], -- 2.14.3 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch new file mode 100644 index 0000000000..accd2f2569 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch @@ -0,0 +1,179 @@ +From 7b09945585e6ce65049fa4039f26caee8daa44b9 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 + +Networkmanager imported some code from systemd. This requires some adjustments +for musl. + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@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/stdio-util.h | 2 ++ + shared/systemd/src/basic/string-util.h | 5 +++++ + shared/systemd/src/basic/util.h | 29 +++++-------------------- + 6 files changed, 28 insertions(+), 24 deletions(-) + +diff --git a/shared/systemd/src/basic/in-addr-util.c b/shared/systemd/src/basic/in-addr-util.c +index 5ced350..c6b52b8 100644 +--- a/shared/systemd/src/basic/in-addr-util.c ++++ b/shared/systemd/src/basic/in-addr-util.c +@@ -13,6 +13,7 @@ + #include "in-addr-util.h" + #include "macro.h" + #include "parse-util.h" ++#include "string-util.h" + #include "util.h" + + bool in4_addr_is_null(const struct in_addr *a) { +diff --git a/shared/systemd/src/basic/process-util.c b/shared/systemd/src/basic/process-util.c +index b0afb5c..7adc8bd 100644 +--- a/shared/systemd/src/basic/process-util.c ++++ b/shared/systemd/src/basic/process-util.c +@@ -21,6 +21,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> +@@ -1168,11 +1171,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; +@@ -1201,7 +1206,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 d2246a8..76f257f 100644 +--- a/shared/systemd/src/basic/socket-util.h ++++ b/shared/systemd/src/basic/socket-util.h +@@ -13,6 +13,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_socket.h" + #include "sparse-endian.h" +diff --git a/shared/systemd/src/basic/stdio-util.h b/shared/systemd/src/basic/stdio-util.h +index dc67b6e..6336243 100644 +--- a/shared/systemd/src/basic/stdio-util.h ++++ b/shared/systemd/src/basic/stdio-util.h +@@ -1,7 +1,9 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + #pragma once + ++#if defined(__GLIBC__) + #include <printf.h> ++#endif + #include <stdarg.h> + #include <stdio.h> + #include <sys/types.h> +diff --git a/shared/systemd/src/basic/string-util.h b/shared/systemd/src/basic/string-util.h +index 38070ab..6b918e0 100644 +--- a/shared/systemd/src/basic/string-util.h ++++ b/shared/systemd/src/basic/string-util.h +@@ -27,6 +27,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_; + + static inline bool streq_ptr(const char *a, const char *b) { +diff --git a/shared/systemd/src/basic/util.h b/shared/systemd/src/basic/util.h +index dc33d66..cc768e9 100644 +--- a/shared/systemd/src/basic/util.h ++++ b/shared/systemd/src/basic/util.h +@@ -27,6 +27,11 @@ + #include "macro.h" + #include "time-util.h" + ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++#endif ++ + size_t page_size(void) _pure_; + #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) + +@@ -66,16 +71,6 @@ int prot_from_flags(int flags) _const_; + bool in_initrd(void); + void in_initrd_force(bool value); + +-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); \ +- }) +- + /** + * Normal bsearch requires base to be nonnull. Here were require + * that only if nmemb > 0. +@@ -116,20 +111,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn + qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \ + }) + +-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) { +- if (nmemb <= 1) +- return; +- +- assert(base); +- qsort_r(base, nmemb, size, compar, userdata); +-} +- +-#define typesafe_qsort_r(p, n, func, userdata) \ +- ({ \ +- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \ +- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \ +- }) +- + /* Normal memcpy requires src to be nonnull. We do nothing if n is 0. */ + static inline void memcpy_safe(void *dst, const void *src, size_t n) { + if (n == 0) +-- +2.20.1 + diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch deleted file mode 100644 index 9d208e1fda..0000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch +++ /dev/null @@ -1,53 +0,0 @@ -From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Thu, 22 Mar 2018 17:54:10 +0100 -Subject: [PATCH 1/4] Usual fix for musl libc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Stolen from [1] and prettyfied slightly - -[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - src/systemd/src/basic/stdio-util.h | 2 ++ - src/systemd/src/basic/util.h | 5 +++++ - 2 files changed, 7 insertions(+) - -diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h -index bd1144b..9eafacb 100644 ---- a/src/systemd/src/basic/stdio-util.h -+++ b/src/systemd/src/basic/stdio-util.h -@@ -19,7 +19,9 @@ - along with systemd; If not, see <http://www.gnu.org/licenses/>. - ***/ - -+#if defined(__GLIBC__) - #include <printf.h> -+#endif - #include <stdarg.h> - #include <stdio.h> - #include <sys/types.h> -diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h -index b31dfd1..9b7032c 100644 ---- a/src/systemd/src/basic/util.h -+++ b/src/systemd/src/basic/util.h -@@ -46,6 +46,11 @@ - #include "missing.h" - #include "time-util.h" - -+#if !defined(__GLIBC__) -+typedef int (*__compar_fn_t) (const void*, const void*); -+typedef __compar_fn_t comparison_fn_t; -+#endif -+ - size_t page_size(void) _pure_; - #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) - --- -2.14.3 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch new file mode 100644 index 0000000000..25f9a4a001 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch @@ -0,0 +1,118 @@ +From 0b0f2d5abe27b2c9587f449795f0ae3568fc3e38 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Mon, 8 Apr 2019 23:10:43 +0200 +Subject: [PATCH 2/2] Fix build with musl +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The build issues caused by definition conflicts musl vs linux-libc headers +(error: redefinition of ...) can be reduced to two headers: + +1. netinet/if_ether.h <-> linux/if_ether.h: linux-libc header plays well with + glibc and musl headers in case libc's variant (netinet/if_ether.h) is + included BEFORE linux variant [1]. We add include at two positions: + 1. shared/nm-default.h: This is a global which used for networkmanager and + is included at the very beginning of all c-files. + 2. libnm-core/nm-utils.h: This file makes it into installation and is used + by dependent packages as network-manager-applet +2. net/if_arp. <-> linux/if_ether.h: linux-libc: Unfortunaly these files do + not play together in harmony. Therefore the libc variant is included early in + shared/nm-default.h and occurances linux/if_arp.h are removed. + +Note: +Be aware that this is still nasty business: We have to trust that musl headers +define same signatures as linux would do - just because musl-makers consider +linux-libc headers 'notoriously broken for userspace' [2] (search for +'error: redefinition of'). + +[1] http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280440.html +[2] https://wiki.musl-libc.org/faq.html + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + clients/tui/nmt-device-entry.c | 1 - + libnm-core/nm-utils.h | 4 ++++ + shared/nm-default.h | 3 +++ + src/devices/nm-device.c | 2 +- + src/platform/nm-linux-platform.c | 1 - + 5 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/clients/tui/nmt-device-entry.c b/clients/tui/nmt-device-entry.c +index 43fbbc1..3eae286 100644 +--- a/clients/tui/nmt-device-entry.c ++++ b/clients/tui/nmt-device-entry.c +@@ -39,7 +39,6 @@ + #include "nmt-device-entry.h" + + #include <sys/socket.h> +-#include <linux/if_arp.h> + + #include "nmtui.h" + +diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h +index 2b5baba..8a50131 100644 +--- a/libnm-core/nm-utils.h ++++ b/libnm-core/nm-utils.h +@@ -25,6 +25,10 @@ + #error "Only <NetworkManager.h> can be included directly." + #endif + ++/* include as early as possible for musl */ ++#include <netinet/if_ether.h> ++/* #include <net/if_arp.h> - uncoment for broken dependents?? */ ++ + #include <glib.h> + + #include <netinet/in.h> +diff --git a/shared/nm-default.h b/shared/nm-default.h +index 26d6476..b29e8af 100644 +--- a/shared/nm-default.h ++++ b/shared/nm-default.h +@@ -211,6 +211,9 @@ + #endif + + #include <stdlib.h> ++/* include as early as possible for musl */ ++#include <netinet/if_ether.h> ++#include <net/if_arp.h> + + /*****************************************************************************/ + +diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c +index 7514fa7..d305fa5 100644 +--- a/src/devices/nm-device.c ++++ b/src/devices/nm-device.c +@@ -24,6 +24,7 @@ + #include "nm-device.h" + + #include <netinet/in.h> ++#include <net/if.h> + #include <unistd.h> + #include <sys/ioctl.h> + #include <signal.h> +@@ -32,7 +33,6 @@ + #include <arpa/inet.h> + #include <fcntl.h> + #include <linux/if_addr.h> +-#include <linux/if_arp.h> + #include <linux/rtnetlink.h> + #include <linux/pkt_sched.h> + +diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c +index 2f5c75b..d6ca6d9 100644 +--- a/src/platform/nm-linux-platform.c ++++ b/src/platform/nm-linux-platform.c +@@ -27,7 +27,6 @@ + #include <fcntl.h> + #include <libudev.h> + #include <linux/ip.h> +-#include <linux/if_arp.h> + #include <linux/if_link.h> + #include <linux/if_tun.h> + #include <linux/if_tunnel.h> +-- +2.20.1 + diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch deleted file mode 100644 index 5dd17b63b4..0000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 714b4731a238653e9c7d885c0dee10677b0a4df3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Thu, 22 Mar 2018 18:24:07 +0100 -Subject: [PATCH 3/4] musl: network support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Stolen from [1] and prettyfied slightly - -[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - libnm-core/nm-utils.h | 4 ++++ - src/platform/wifi/wifi-utils.h | 4 ++++ - src/systemd/src/basic/socket-util.h | 5 +++++ - 3 files changed, 13 insertions(+) - -diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h -index df9284b..2bcf4b8 100644 ---- a/libnm-core/nm-utils.h -+++ b/libnm-core/nm-utils.h -@@ -30,7 +30,11 @@ - #include <netinet/in.h> - - /* For ETH_ALEN and INFINIBAND_ALEN */ -+#if defined(__GLIBC__) - #include <linux/if_ether.h> -+#else -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - #include <linux/if_infiniband.h> - - #include "nm-core-enum-types.h" -diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h -index 705717b..da3edc4 100644 ---- a/src/platform/wifi/wifi-utils.h -+++ b/src/platform/wifi/wifi-utils.h -@@ -22,7 +22,11 @@ - #ifndef __WIFI_UTILS_H__ - #define __WIFI_UTILS_H__ - -+#if defined(__GLIBC__) - #include <net/ethernet.h> -+#else /* musl libc */ -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - - #include "nm-dbus-interface.h" - -diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h -index d7e2d85..d109c84 100644 ---- a/src/systemd/src/basic/socket-util.h -+++ b/src/systemd/src/basic/socket-util.h -@@ -29,6 +29,11 @@ - #include <linux/netlink.h> - #include <linux/if_infiniband.h> - #include <linux/if_packet.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.h" --- -2.14.3 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch deleted file mode 100644 index fc55ce85f6..0000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch +++ /dev/null @@ -1,62 +0,0 @@ -From d513c8bfc982dbd976617178b040c512c95710b6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Thu, 22 Mar 2018 18:29:00 +0100 -Subject: [PATCH 4/4] musl: process-util -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Stolen from [1] and prettyfied slightly - -[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - src/systemd/src/basic/process-util.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/systemd/src/basic/process-util.c b/src/systemd/src/basic/process-util.c -index 272030d..485f1db 100644 ---- a/src/systemd/src/basic/process-util.c -+++ b/src/systemd/src/basic/process-util.c -@@ -36,6 +36,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> -@@ -1015,11 +1018,13 @@ static 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 __attribute__ ((__weak__)); -+#endif - - pid_t getpid_cached(void) { - pid_t current_value; -@@ -1042,7 +1047,11 @@ pid_t getpid_cached(void) { - - new_pid = getpid(); - -+#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; --- -2.14.3 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch deleted file mode 100644 index 752fe4f581..0000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch +++ /dev/null @@ -1,77 +0,0 @@ -From b3b4fe35018c98ad176719b2d9ffb867974fc7c3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Mon, 16 Apr 2018 14:45:44 +0200 -Subject: [PATCH] musl: avoid further conflicts by including net/ethernet.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - src/systemd/src/systemd/sd-dhcp-client.h | 2 ++ - src/systemd/src/systemd/sd-dhcp-lease.h | 2 ++ - src/systemd/src/systemd/sd-dhcp6-client.h | 2 ++ - src/systemd/src/systemd/sd-ipv4ll.h | 2 ++ - 4 files changed, 8 insertions(+) - -diff --git a/src/systemd/src/systemd/sd-dhcp-client.h b/src/systemd/src/systemd/sd-dhcp-client.h -index 5e46d8d..18a613f 100644 ---- a/src/systemd/src/systemd/sd-dhcp-client.h -+++ b/src/systemd/src/systemd/sd-dhcp-client.h -@@ -21,7 +21,9 @@ - ***/ - - #include <inttypes.h> -+#if defined(__GLIBC__) - #include <net/ethernet.h> -+#endif - #include <netinet/in.h> - #include <sys/types.h> - -diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h -index 7ab99cc..85acdf2 100644 ---- a/src/systemd/src/systemd/sd-dhcp-lease.h -+++ b/src/systemd/src/systemd/sd-dhcp-lease.h -@@ -22,7 +22,9 @@ - ***/ - - #include <inttypes.h> -+#if defined(__GLIBC__) - #include <net/ethernet.h> -+#endif - #include <netinet/in.h> - #include <sys/types.h> - -diff --git a/src/systemd/src/systemd/sd-dhcp6-client.h b/src/systemd/src/systemd/sd-dhcp6-client.h -index 7819f0d..35f30ee 100644 ---- a/src/systemd/src/systemd/sd-dhcp6-client.h -+++ b/src/systemd/src/systemd/sd-dhcp6-client.h -@@ -21,7 +21,9 @@ - ***/ - - #include <inttypes.h> -+#if defined(__GLIBC__) - #include <net/ethernet.h> -+#endif - #include <sys/types.h> - - #include "sd-dhcp6-lease.h" -diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h -index 5ba9208..c90eca6 100644 ---- a/src/systemd/src/systemd/sd-ipv4ll.h -+++ b/src/systemd/src/systemd/sd-ipv4ll.h -@@ -20,7 +20,9 @@ - along with systemd; If not, see <http://www.gnu.org/licenses/>. - ***/ - -+#if defined(__GLIBC__) - #include <net/ethernet.h> -+#endif - #include <netinet/in.h> - - #include "sd-event.h" --- -2.14.3 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch deleted file mode 100644 index 8ed7ee64fb..0000000000 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 6db6596e450062601d18b2ae812a4a58d2e03a53 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Mon, 16 Apr 2018 15:07:20 +0200 -Subject: [PATCH] Add a strndupa replacement for musl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - src/systemd/src/basic/in-addr-util.c | 1 + - src/systemd/src/basic/string-util.h | 5 +++++ - 2 files changed, 6 insertions(+) - -diff --git a/src/systemd/src/basic/in-addr-util.c b/src/systemd/src/basic/in-addr-util.c -index 2a02d90..a57c360 100644 ---- a/src/systemd/src/basic/in-addr-util.c -+++ b/src/systemd/src/basic/in-addr-util.c -@@ -30,6 +30,7 @@ - #include "in-addr-util.h" - #include "macro.h" - #include "parse-util.h" -+#include "string-util.h" - #include "util.h" - - bool in4_addr_is_null(const struct in_addr *a) { -diff --git a/src/systemd/src/basic/string-util.h b/src/systemd/src/basic/string-util.h -index 4c94b18..a6dc446 100644 ---- a/src/systemd/src/basic/string-util.h -+++ b/src/systemd/src/basic/string-util.h -@@ -44,6 +44,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_; - - static inline bool streq_ptr(const char *a, const char *b) { --- -2.14.3 - diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.10.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb index 682c896234..9f01f1bc1a 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.10.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb @@ -5,21 +5,17 @@ SECTION = "net/misc" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \ file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \ - file://docs/api/html/license.html;md5=ac20f1edc24f72480a1106871e9fbe9a \ + file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \ " DEPENDS = " \ intltool-native \ libxslt-native \ libnl \ - dbus \ - dbus-glib \ - dbus-glib-native \ libgudev \ util-linux \ libndp \ libnewt \ - polkit \ jansson \ curl \ " @@ -28,57 +24,62 @@ inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introsp SRC_URI = " \ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ - file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \ - file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ - file://0003-Do-not-create-settings-settings-property-documentati.patch \ - file://musl/0001-musl-basic.patch \ - file://musl/0002-musl-dlopen-configure-ac.patch \ - file://musl/0003-musl-network-support.patch \ - file://musl/0004-musl-process-util.patch \ - file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \ - file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \ + file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ + file://0002-Do-not-create-settings-settings-property-documentati.patch \ + file://0003-dlopen-failure.patch \ " -SRC_URI[md5sum] = "8c67fc286150ed357b6c833b9e015330" -SRC_URI[sha256sum] = "244e29c0d1a57492df9aaf2d8c31e4a1b76bdfa8e862ae106239862e1c78c3ca" +SRC_URI_append_libc-musl = " \ + file://musl/0001-Fix-build-with-musl-systemd-specific.patch \ + file://musl/0002-Fix-build-with-musl.patch \ +" + +SRC_URI[md5sum] = "10abacaafb162a67d2942adf03e7e9e4" +SRC_URI[sha256sum] = "8e962833b6ca03edda1bc57ed6614a7b8c2339531b44acef098d05f2324c5d2c" -UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.10/" +UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.16/" UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz" S = "${WORKDIR}/NetworkManager-${PV}" EXTRA_OECONF = " \ --disable-ifcfg-rh \ - --disable-ifnet \ - --disable-ifcfg-suse \ --disable-more-warnings \ --with-iptables=${sbindir}/iptables \ --with-tests \ --with-nmtui=yes \ + --with-udev-dir=${nonarch_base_libdir}/udev \ " -# gobject-introspection related -GI_DATA_ENABLED_libc-musl = "False" - -# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template -CFLAGS_libc-musl_append = " \ - -DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \ - -D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \ +# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template +# avoids: +# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? +# +# and +# +# | In file included from ../NetworkManager-1.16.0/src/systemd/nm-sd-utils-core.c:25: +# | ../NetworkManager-1.16.0/src/systemd/sd-adapt-core/nm-sd-adapt-core.h:68:6: error: #error neither secure_getenv nor __secure_getenv is available +# | # error neither secure_getenv nor __secure_getenv is available +# | ^~~~~ +CFLAGS_append_libc-musl = " \ + -DRTLD_DEEPBIND=0 \ + -DHAVE_SECURE_GETENV \ + -Dsecure_getenv=getenv \ " do_compile_prepend() { export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" } -PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \ +PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ " PACKAGECONFIG[systemd] = " \ - --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \ + --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ --without-systemdsystemunitdir, \ - polkit \ " +PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,polkit" PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" # consolekit is not picked by shlibs, so add it to RDEPENDS too PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" @@ -88,10 +89,10 @@ PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client" PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" +PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib" PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant" PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" -PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no" PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \ @@ -107,14 +108,14 @@ FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so" FILES_${PN} += " \ ${libexecdir} \ - ${libdir}/pppd/*/nm-pppd-plugin.so \ - ${libdir}/NetworkManager/*.so \ + ${libdir}/NetworkManager/${PV}/*.so \ ${nonarch_libdir}/NetworkManager/VPN \ ${nonarch_libdir}/NetworkManager/conf.d \ ${datadir}/polkit-1 \ ${datadir}/dbus-1 \ - ${base_libdir}/udev/* \ + ${noarch_base_libdir}/udev/* \ ${systemd_unitdir}/system \ + ${libdir}/pppd \ " RRECOMMENDS_${PN} += "iptables \ @@ -126,6 +127,7 @@ FILES_${PN}-dev += " \ ${datadir}/NetworkManager/gdb-cmd \ ${libdir}/pppd/*/*.la \ ${libdir}/NetworkManager/*.la \ + ${libdir}/NetworkManager/${PV}/*.la \ " FILES_${PN}-nmtui = " \ @@ -139,7 +141,7 @@ FILES_${PN}-nmtui-doc = " \ ${mandir}/man1/nmtui* \ " -SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service" +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" do_install_append() { rm -rf ${D}/run ${D}${localstatedir}/run diff --git a/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb b/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb index c944144e22..050a2833c7 100644 --- a/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb +++ b/meta-networking/recipes-connectivity/openconnect/openconnect_git.bb @@ -2,7 +2,11 @@ SUMMARY = "Open client for Cisco AnyConnect VPN" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=243b725d71bb5df4a1e5920b344b86ad" +SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git" +SRCREV = "6487ee8763e1b6345718684909aca970befbc49d" + DEPENDS = "vpnc libxml2 krb5 gettext-native" +RDEPENDS_${PN} = "bash python" PACKAGECONFIG ??= "gnutls lz4 libproxy" @@ -14,10 +18,7 @@ PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy," # not config defaults PACKAGECONFIG[pcsc-lite] = "--with-libpcsclite,--without-libpcsclite,pcsc-lite," -PV = "7.08" - -SRCREV = "9697bea0e50952cab57063238b43a7099e498cbb" -SRC_URI = "git://git.infradead.org/users/dwmw2/openconnect.git" +PV = "8.02" S = "${WORKDIR}/git" @@ -25,3 +26,8 @@ inherit autotools pkgconfig EXTRA_OECONF += "--with-vpnc-script=${SYSROOT_DESTDIR}${sysconfdir}/vpnc/vpnc-script \ --disable-static" + +do_configure_append() { + # script has /usr/bin/python2 path hardcoded + sed -i -e 's=python2\.*=python=g' ${S}/trojans/tncc-wrapper.py +} diff --git a/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb b/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb index 4e41aa5765..3aa41f1add 100644 --- a/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb +++ b/meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb @@ -4,8 +4,8 @@ LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://COPYING;md5=8d8bac174bf8422b151200e6cc78ebe4" -SRC_URI[md5sum] = "5fc644a65463031295c6b7dd51a0f1bd" -SRC_URI[sha256sum] = "bc36507506ad29bfdac941b0987ebd1cc9633c9a9291d7378e229e4515a0a517" +SRC_URI[md5sum] = "f638d854a3639fb37c0e06d1092a771e" +SRC_URI[sha256sum] = "aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc" PYPI_PACKAGE = "python-networkmanager" inherit pypi setuptools diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch b/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch deleted file mode 100644 index 4c94831d7f..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 0bc8bc4143a58f91f6d7ce228b6763f377fdf45a Mon Sep 17 00:00:00 2001 -From: Andrew Bartlett <abartlet@samba.org> -Date: Thu, 12 Jul 2018 12:34:56 +1200 -Subject: [PATCH] ldb: Refuse to build Samba against a newer minor version of - ldb - -Samba is not compatible with new versions of ldb (except release versions) - -Other users would not notice the breakages, but Samba makes many -more assuptions about the LDB internals than any other package. - -(Specifically, LDB 1.2 and 1.4 broke builds against released -Samba versions) - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=13519 - -Signed-off-by: Andrew Bartlett <abartlet@samba.org> -Reviewed-by: Gary Lockyer <gary@catalyst.net.nz> -(cherry picked from commit 52efa796538ae004ca62ea32fc8c833472991be6) ---- - lib/ldb/wscript | 32 ++++++++++++++++++++++---------- - 1 file changed, 22 insertions(+), 10 deletions(-) - -diff --git a/lib/ldb/wscript b/lib/ldb/wscript -index d94086b..2bb0832 100644 ---- a/lib/ldb/wscript -+++ b/lib/ldb/wscript -@@ -62,23 +62,33 @@ def configure(conf): - conf.env.standalone_ldb = conf.IN_LAUNCH_DIR() - - if not conf.env.standalone_ldb: -+ max_ldb_version = [int(x) for x in VERSION.split(".")] -+ max_ldb_version[2] = 999 -+ max_ldb_version_dots = "%d.%d.%d" % tuple(max_ldb_version) -+ - if conf.env.disable_python: -- if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', minversion=VERSION, -- onlyif='talloc tdb tevent', -- implied_deps='replace talloc tdb tevent'): -+ if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', -+ minversion=VERSION, -+ maxversion=max_ldb_version_dots, -+ onlyif='talloc tdb tevent', -+ implied_deps='replace talloc tdb tevent'): - conf.define('USING_SYSTEM_LDB', 1) - else: - using_system_pyldb_util = True -- if not conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', minversion=VERSION, -- onlyif='talloc tdb tevent', -- implied_deps='replace talloc tdb tevent ldb'): -+ if not conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', -+ minversion=VERSION, -+ maxversion=max_ldb_version_dots, -+ onlyif='talloc tdb tevent', -+ implied_deps='replace talloc tdb tevent ldb'): - using_system_pyldb_util = False - - # We need to get a pyldb-util for all the python versions - # we are building for - if conf.env['EXTRA_PYTHON']: - name = 'pyldb-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG'] -- if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION, -+ if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, -+ minversion=VERSION, -+ maxversion=max_ldb_version_dots, - onlyif='talloc tdb tevent', - implied_deps='replace talloc tdb tevent ldb'): - using_system_pyldb_util = False -@@ -86,9 +96,11 @@ def configure(conf): - if using_system_pyldb_util: - conf.define('USING_SYSTEM_PYLDB_UTIL', 1) - -- if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', minversion=VERSION, -- onlyif='talloc tdb tevent pyldb-util', -- implied_deps='replace talloc tdb tevent'): -+ if conf.CHECK_BUNDLED_SYSTEM_PKG('ldb', -+ minversion=VERSION, -+ maxversion=max_ldb_version_dots, -+ onlyif='talloc tdb tevent pyldb-util', -+ implied_deps='replace talloc tdb tevent'): - conf.define('USING_SYSTEM_LDB', 1) - - if conf.CONFIG_SET('USING_SYSTEM_LDB'): --- -2.18.0 - diff --git a/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch b/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch new file mode 100644 index 0000000000..5c299d617b --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch @@ -0,0 +1,51 @@ +From 5bd7b5d04435bd593349825973ce32290f5f604d Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Wed, 25 Jul 2018 09:55:25 +0800 +Subject: [PATCH] samba: cmocka.h: fix musl libc conflicting types error + +Fix build on qemumips64(el) + +taken from: +[PATCH] libldb: fix musl libc conflicting types error + +/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t' + typedef unsigned int uintptr_t; + ^~~~~~~~~ +use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined + +Upstream-Status: Pending + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +Signed-off-by: Andrea Adami <andrea.adami@gmail.com> +--- + third_party/cmocka/cmocka.h | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h +index 4fd82a9..5443a08 100644 +--- a/third_party/cmocka/cmocka.h ++++ b/third_party/cmocka/cmocka.h +@@ -110,7 +110,7 @@ typedef uintmax_t LargestIntegralType; + ((LargestIntegralType)(value)) + + /* Smallest integral type capable of holding a pointer. */ +-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) ++#if !defined(__DEFINED_uintptr_t) + # if defined(_WIN32) + /* WIN32 is an ILP32 platform */ + typedef unsigned int uintptr_t; +@@ -134,9 +134,8 @@ typedef uintmax_t LargestIntegralType; + # endif /* __WORDSIZE */ + # endif /* _WIN32 */ + +-# define _UINTPTR_T +-# define _UINTPTR_T_DEFINED +-#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ ++# define __DEFINED_uintptr_t ++#endif /* !defined(__DEFINED_uintptr_t) */ + + /* Perform an unsigned cast to uintptr_t. */ + #define cast_to_pointer_integral_type(value) \ +-- +2.7.4 + diff --git a/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb b/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb index da0ac322a7..8c08d1ed3b 100644 --- a/meta-networking/recipes-connectivity/samba/samba_4.8.4.bb +++ b/meta-networking/recipes-connectivity/samba/samba_4.8.11.bb @@ -23,15 +23,15 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ file://dnsserver-4.7.0.patch \ file://smb_conf-4.7.0.patch \ file://volatiles.03_samba \ - file://0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch \ " SRC_URI_append_libc-musl = " \ file://samba-pam.patch \ file://samba-4.3.9-remove-getpwent_r.patch \ + file://cmocka-uintptr_t.patch \ " -SRC_URI[md5sum] = "ca5bfbebd8d9eb95506e16594b2bbee2" -SRC_URI[sha256sum] = "f5044d149e01894a08b1d114b8b69aed78171a7bb19608bd1fd771453b9a5406" +SRC_URI[md5sum] = "de61611075e97ea98140a42d9189d9a5" +SRC_URI[sha256sum] = "d294a8d7455d7d252d7bafc9c474855ea6e0ebe559c3babcd303a5c24e58710a" UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.8(\.\d+)+).tar.gz" @@ -80,6 +80,7 @@ PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libunwind] = ", , libunwind" # 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: @@ -91,7 +92,7 @@ PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" # 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] = ",--without-ad-dc,," +PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," @@ -106,6 +107,16 @@ SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODU # SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE" +# interim packages: As long as ldb/pyldb-util are in SAMBA4_LIBS we need to pack +# bundled libraries in seperate packages. Otherwise they are auto-packed in +# package 'samba' which RDEPENDS on lots of packages not wanted e.g autostarting +# nmbd/smbd daemons +# Once 'ldb,pyldb-util' are removed from SAMBA4_LIBS the bundled packages can +# be removed again. +PACKAGES =+ "${PN}-bundled-ldb ${PN}-bundled-pyldb-util" +FILES_${PN}-bundled-ldb = "${libdir}/samba/libldb${SOLIBS}" +FILES_${PN}-bundled-pyldb-util = "${libdir}/samba/libpyldb-util${SOLIBS}" + EXTRA_OECONF += "--enable-fhs \ --with-piddir=/run \ --with-sockets-dir=/run/samba \ @@ -192,15 +203,15 @@ PACKAGES =+ "${PN}-python ${PN}-pidl \ python samba_populate_packages() { def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN', True) + pn = d.getVar('PN') d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) - mlprefix = d.getVar('MLPREFIX', True) or '' + mlprefix = d.getVar('MLPREFIX') or '' pam_libdir = d.expand('${base_libdir}/security') pam_pkgname = mlprefix + 'pam-plugin%s' do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) - libdir = d.getVar('libdir', True) + libdir = d.getVar('libdir') do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) pkglibdir = '%s/samba' % libdir do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) @@ -219,16 +230,13 @@ RDEPENDS_${PN}-python += "pytalloc python-tdb" FILES_${PN}-base = "${sbindir}/nmbd \ ${sbindir}/smbd \ ${sysconfdir}/init.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/nmbd \ - ${localstatedir}/spool/samba \ ${systemd_system_unitdir}/nmb.service \ ${systemd_system_unitdir}/smb.service" FILES_${PN}-ad-dc = "${sbindir}/samba \ ${systemd_system_unitdir}/samba.service \ ${libdir}/krb5/plugins/kdb/samba.so \ - " +" RDEPENDS_${PN}-ad-dc = "krb5-kdc" FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ @@ -236,11 +244,14 @@ FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ ${sysconfdir}/ctdb/nodes \ ${datadir}/ctdb-tests \ ${datadir}/ctdb/tests \ + ${localstatedir}/lib/ctdb \ " FILES_${BPN}-common = "${sysconfdir}/default \ ${sysconfdir}/samba \ ${sysconfdir}/tmpfiles.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/spool/samba \ " FILES_${PN} += "${libdir}/vfs/*.so \ diff --git a/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb b/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb index 22f52b55f0..c2eb95fe73 100644 --- a/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb +++ b/meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native" -SRC_URI = "https://www.snort.org/downloads/snort/${BP}.tar.gz \ +SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \ file://snort.init \ file://0001-libpcap-search-sysroot-for-headers.patch \ file://fix-host-contamination-when-enable-static-daq.patch \ @@ -72,7 +72,7 @@ do_install_append() { mkdir -p ${D}${localstatedir}/log/snort install -d ${D}/var/log/snort - sed -i 's/-fdebug-prefix-map[^ ]*//g; s#${STAGING_DIR_TARGET}##g' ${D}${libdir}/pkgconfig/*.pc + sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc } FILES_${PN} += " \ diff --git a/meta-networking/recipes-connectivity/umip/umip_1.0.bb b/meta-networking/recipes-connectivity/umip/umip_1.0.bb index e2abc02ce7..43367b5503 100644 --- a/meta-networking/recipes-connectivity/umip/umip_1.0.bb +++ b/meta-networking/recipes-connectivity/umip/umip_1.0.bb @@ -20,6 +20,9 @@ SRC_URI = "git://git.umip.org/umip/umip.git \ " SRCREV = "cbd441c5db719db554ff2b4fcb02fef88ae2f791" +# Depends on ipsec-tools which is already MACHINE_ARCH (and also RRECOMMENDS kernel modules) +PACKAGE_ARCH = "${MACHINE_ARCH}" + S = "${WORKDIR}/git" EXTRA_OECONF = "--enable-vt" diff --git a/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb b/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb index 795c891b19..4c3d95bd8a 100644 --- a/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb +++ b/meta-networking/recipes-connectivity/vlan/vlan_1.9.bb @@ -4,7 +4,7 @@ SECTION = "misc" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://vconfig.c;beginline=1;endline=19;md5=094ca47de36c20c598b15b32c270ce0a" -SRC_URI = "http://${BPN}.sourcearchive.com/downloads/${PV}-3ubuntu9/${BPN}_${PV}.orig.tar.gz \ +SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/vlan/1.9-3ubuntu10.6/${BPN}_${PV}.orig.tar.gz \ file://no-HOME-includes.patch \ file://0001-Add-printf-format-and-silence-format-security-warnin.patch \ " diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb index 2b990db3cb..7b7de58490 100644 --- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb +++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb @@ -5,8 +5,8 @@ LICENSE = "ISC" LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" -SRC_URI[md5sum] = "0cbbdc21186c76cf58aba01b03f3dc5b" -SRC_URI[sha256sum] = "e1dfbc3b97771373077f430c3c05082fae883145b37db5b2cfd12c56676fbe7b" +SRC_URI[md5sum] = "b5eb2d0cc23f5e495a59405e34ce437f" +SRC_URI[sha256sum] = "3a4e6f7006599bc5764f86e1e86422710da13ad80e0242147b61c6855ebc915f" inherit bin_package allarch diff --git a/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch b/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch deleted file mode 100644 index f304d933da..0000000000 --- a/meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -From fb490136cf8f2456cfe13b0b4f796e6c155e75dc Mon Sep 17 00:00:00 2001 -From: Dengke Du <dengke.du@windriver.com> -Date: Wed, 30 Aug 2017 03:02:32 -0400 -Subject: [PATCH] fix no rule to make cyassl/options.h - -Upstream-Status: Pending - -Signed-off-by: Dengke Du <dengke.du@windriver.com> ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 395d75d..d4a3880 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3684,6 +3684,7 @@ AC_CONFIG_FILES([wolfssl/options.h]) - #fi - AC_CONFIG_FILES([support/wolfssl.pc]) - AC_CONFIG_FILES([rpm/spec]) -+AC_CONFIG_FILES([cyassl/options.h]) - - AX_CREATE_GENERIC_CONFIG - AX_AM_JOBSERVER([yes]) --- -2.8.1 - diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb deleted file mode 100644 index dc9094d8bf..0000000000 --- a/meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "wolfSSL Lightweight, Embedded SSL Library" -DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written in C and \ - optimized for embedded and RTOS environments. It can be \ - Up to 20 times smaller than OpenSSL while still supporting \ - a full TLS 1.2 client and server." -HOMEPAGE = "http://www.wolfssl.com/yaSSL/Products-wolfssl.html" -BUGTRACKER = "http://github.com/wolfssl/wolfssl/issues" -SECTION = "libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -PROVIDES += "cyassl" -RPROVIDES_${PN} = "cyassl" - -S = "${WORKDIR}/git" -SRCREV = "1196a3b64d9fabffc8273b87f6f69ac0e75d2eb7" -SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https; \ - file://0001-fix-no-rule-to-make-cyassl-options.h.patch \ - " - -inherit autotools - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb new file mode 100644 index 0000000000..d8883a77f6 --- /dev/null +++ b/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" +DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ + in C and optimized for embedded and RTOS environments. It can \ + be up to 20 times smaller than OpenSSL while still supporting \ + a full TLS client and server, up to TLS 1.3" +HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" +BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" +SECTION = "libs" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +PROVIDES += "cyassl" +RPROVIDES_${PN} = "cyassl" + +SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https" +SRCREV = "21f2beca9f320199fcea4a96df3e19967804144b" +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-networking/recipes-core/images/meta-networking-image-base.bb b/meta-networking/recipes-core/images/meta-networking-image-base.bb new file mode 100644 index 0000000000..eaf1409537 --- /dev/null +++ b/meta-networking/recipes-core/images/meta-networking-image-base.bb @@ -0,0 +1,7 @@ +SUMMARY = "meta-networking build test image" + +IMAGE_INSTALL = "packagegroup-core-boot" + +LICENSE = "MIT" + +inherit core-image diff --git a/meta-networking/recipes-core/images/meta-networking-image.bb b/meta-networking/recipes-core/images/meta-networking-image.bb new file mode 100644 index 0000000000..f4c7401b35 --- /dev/null +++ b/meta-networking/recipes-core/images/meta-networking-image.bb @@ -0,0 +1,3 @@ +require meta-networking-image-base.bb + +IMAGE_INSTALL += "packagegroup-meta-networking" diff --git a/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb new file mode 100644 index 0000000000..64eabe4629 --- /dev/null +++ b/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb @@ -0,0 +1,123 @@ +SUMMARY = "Meta-networking packagegroups" + +inherit packagegroup + +PROVIDES = "${PACKAGES}" +PACKAGES = ' \ + packagegroup-meta-networking \ + packagegroup-meta-networking-connectivity \ + packagegroup-meta-networking-daemons \ + packagegroup-meta-networking-devtools \ + packagegroup-meta-networking-extended \ + packagegroup-meta-networking-filter \ + packagegroup-meta-networking-irc \ + packagegroup-meta-networking-kernel \ + packagegroup-meta-networking-netkit \ + packagegroup-meta-networking-protocols \ + packagegroup-meta-networking-support \ +' + +RDEPENDS_packagegroup-meta-networking = "\ + packagegroup-meta-networking-connectivity \ + packagegroup-meta-networking-daemons \ + packagegroup-meta-networking-devtools \ + packagegroup-meta-networking-extended \ + packagegroup-meta-networking-filter \ + packagegroup-meta-networking-irc \ + packagegroup-meta-networking-kernel \ + packagegroup-meta-networking-netkit \ + packagegroup-meta-networking-protocols \ + packagegroup-meta-networking-support \ + " + +RDEPENDS_packagegroup-meta-networking-connectivity = "\ + openconnect ez-ipupdate mosquitto sethdlc crda \ + dibbler-server dibbler-client dibbler-requestor dibbler-relay \ + libdnet ufw civetweb freeradius kea daq \ + mbedtls relayd snort dhcpcd rdate vlan umip vpnc \ + inetutils wolfssl lftp miniupnpd networkmanager \ + networkmanager-openvpn rdist nanomsg python-networkmanager \ + wireless-regdb \ + ${@bb.utils.contains("DISTRO_FEATURES", "bluez5 x11", "blueman", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \ + " + +RDEPENDS_packagegroup-meta-networking-daemons = "\ + ippool radvd autofs keepalived proftpd openhpi lldpd \ + ptpd igmpproxy opensaf squid \ + atftp postfix iscsi-initiator-utils vsftpd cyrus-sasl \ + pure-ftpd vblade tftp-hpa ncftp \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "networkd-dispatcher", "", d)} \ + " + +RDEPENDS_packagegroup-meta-networking-devtools = "\ + python-ldap grpc \ + " + +RDEPENDS_packagegroup-meta-networking-extended = "\ + corosync \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dlm", "", d)} \ + " + +RDEPENDS_packagegroup-meta-networking-filter = "\ + ebtables conntrack-tools libnetfilter-queue \ + libnetfilter-conntrack libnetfilter-cthelper libnetfilter-acct \ + libnetfilter-cttimeout libnetfilter-log nfacct \ + arno-iptables-firewall libnftnl nftables \ + libnfnetlink \ + " + +RDEPENDS_packagegroup-meta-networking-irc = "\ + znc \ + " + +RDEPENDS_packagegroup-meta-networking-kernel = "\ + wireguard-module wireguard-tools \ + " + +RDEPENDS_packagegroup-meta-networking-netkit = "\ + netkit-rwho-client netkit-rwho-server netkit-rsh-client netkit-rsh-server \ + netkit-telnet netkit-tftp-client netkit-tftp-server \ + netkit-ftp netkit-rusers-client netkit-rusers-server netkit-rpc \ + " + +RDEPENDS_packagegroup-meta-networking-protocols = "\ + tsocks freediameter xl2tpd babeld mdns net-snmp \ + quagga pptp-linux zeroconf nopoll openflow rp-pppoe \ + radiusclient-ng openl2tp usrsctp \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "dante", "", d)} \ + " + +RDEPENDS_packagegroup-meta-networking-support = "\ + ncp ndisc6 mtr tinyproxy ssmping ntp \ + wpan-tools bridge-utils ifenslave celt051 pimd \ + nbd-client nbd-server nbd-trdump \ + phytool fwknop htpdate tcpreplay ipsec-tools \ + traceroute geoip-perl geoip geoipupdate esmtp \ + libtdb netcf dnsmasq curlpp openipmi drbd-utils \ + drbd tunctl dovecot ipvsadm stunnel chrony spice-protocol \ + usbredir ntop wireshark tnftp lksctp-tools \ + cim-schema-docs cim-schema-final cim-schema-exper \ + libmemcached smcroute libtevent ipcalc c-ares uftp \ + ntimed linux-atm ssmtp openvpn lowpan-tools rdma-core \ + iftop aoetools tcpslice tcpdump libtalloc memcached nuttcp netcat \ + netcat-openbsd fetchmail yp-tools ypbind-mt yp-tools \ + arptables macchanger nghttp2 strongswan fping \ + dnssec-conf libesmtp cifs-utils open-isns \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "libldb", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "non-commercial", "netperf", "", d)} \ + ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "spice", "", d)} \ + " + + +RDEPENDS_packagegroup-meta-networking-support_remove_mipsarch = "spice-protocol" +RDEPENDS_packagegroup-meta-networking-support_remove_mips64 = "spice-protocol" +RDEPENDS_packagegroup-meta-networking-support_remove_mips64el = "spice-protocol" +RDEPENDS_packagegroup-meta-networking-support_remove_powerpc = "spice-protocol" +RDEPENDS_packagegroup-meta-networking-support_remove_riscv64 = "spice-protocol" +RDEPENDS_packagegroup-meta-networking-support_remove_riscv32 = "spice-protocol" +RDEPENDS_packagegroup-meta-networking-support_remove_armv5 = "spice-protocol" +RDEPENDS_packagegroup-meta-networking-support_remove_aarch64 = "spice-protocol memcached" + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch b/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch index f3f25f461e..410827b338 100644 --- a/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch +++ b/meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch @@ -1,21 +1,26 @@ -From 6d24365f0828185fd1bb4d199209ca07eb95c41d Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 24 Aug 2018 06:24:36 +0000 -Subject: [PATCH] Do not hardcode path for pkg.m4 +From a27217a5437da313d251b4a765bf7cb60ffaa62d Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 27 Nov 2018 15:27:47 +0800 +Subject: [PATCH] From 6d24365f0828185fd1bb4d199209ca07eb95c41d Mon Sep 17 + 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 24 Aug 2018 + 06:24:36 +0000 Subject: [PATCH] Do not hardcode path for pkg.m4 Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> + +update patch to version 5.1.5 +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in -index 50aed15..f81767c 100644 +index 493b9f1..268d06b 100644 --- a/configure.in +++ b/configure.in @@ -12,7 +12,7 @@ define([AC_CACHE_SAVE], )dnl - AC_INIT(.autofs-5.1.4) + AC_INIT(.autofs-5.1.5) # for pkg-config macros -m4_include([/usr/share/aclocal/pkg.m4]) @@ -24,5 +29,5 @@ index 50aed15..f81767c 100644 # # autofs installs by default in /usr -- -1.9.1 +2.7.4 diff --git a/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch b/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch index 469027aacc..e7fdd10aab 100644 --- a/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch +++ b/meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch @@ -1,22 +1,26 @@ -From 557ca399f4b3a397f20bb147ec6dc4ab9732dd1e Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 31 Mar 2017 19:12:10 -0700 -Subject: [PATCH] Replace __S_IEXEC with S_IEXEC +From 096e33743158e0e8c04d60d01cc66e2945d79777 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 27 Nov 2018 16:52:35 +0800 +Subject: [PATCH] From 557ca399f4b3a397f20bb147ec6dc4ab9732dd1e Mon Sep 17 + 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 31 Mar 2017 + 19:12:10 -0700 Subject: [PATCH] Replace __S_IEXEC with S_IEXEC S_IEXEC is portable Signed-off-by: Khem Raj <raj.khem@gmail.com> +update patch to version 5.1.5 +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- - daemon/lookup.c | 4 ++-- + daemon/lookup.c | 6 +++--- modules/lookup_multi.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/daemon/lookup.c b/daemon/lookup.c -index 201ccbb..d821db8 100644 +index 18df935..d35d484 100644 --- a/daemon/lookup.c +++ b/daemon/lookup.c -@@ -366,7 +366,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source +@@ -382,7 +382,7 @@ static int read_file_source_instance(struct autofs_point *ap, struct map_source if (!S_ISREG(st.st_mode)) return NSS_STATUS_NOTFOUND; @@ -25,7 +29,7 @@ index 201ccbb..d821db8 100644 type = src_prog; else type = src_file; -@@ -856,7 +856,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_ +@@ -942,7 +942,7 @@ static int lookup_name_file_source_instance(struct autofs_point *ap, struct map_ if (!S_ISREG(st.st_mode)) return NSS_STATUS_NOTFOUND; @@ -34,8 +38,17 @@ index 201ccbb..d821db8 100644 type = src_prog; else type = src_file; +@@ -1118,7 +1118,7 @@ static struct map_source *lookup_get_map_source(struct master_mapent *entry) + if (!S_ISREG(st.st_mode)) + return NULL; + +- if (st.st_mode & __S_IEXEC) ++ if (st.st_mode & S_IEXEC) + type = "program"; + else + type = "file"; diff --git a/modules/lookup_multi.c b/modules/lookup_multi.c -index fadd2ea..3ecda6d 100644 +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 @@ -47,3 +60,6 @@ index fadd2ea..3ecda6d 100644 type = src_prog; else type = src_file; +-- +2.7.4 + diff --git a/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch b/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch deleted file mode 100644 index 1d5c3e1eeb..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 2cbc576ea1fbd1cbf4579d64b30e41d762084e7f Mon Sep 17 00:00:00 2001 -From: "yanjun.zhu" <yanjun.zhu@windriver.com> -Date: Tue, 15 Jan 2013 12:45:44 +0800 -Subject: [PATCH] autofs: do not check for modprobe - -Description: Loading autofs module is #ifdef'ed in the source, so - there is no need to check for /proc (which is only used - to load module) or modprobe. Both modprobe and /proc - are always in the fixed location so there's no need to - check for these to start with. - -Upstream-Status: Backport [1] -[1] http://www.spinics.net/lists/autofs/msg00139.html - ---- - configure.in | 6 ------ - daemon/module.c | 3 +++ - include/automount.h | 11 +++-------- - 3 files changed, 6 insertions(+), 14 deletions(-) - -diff --git a/configure.in b/configure.in -index 44a1c8b..b226236 100644 ---- a/configure.in -+++ b/configure.in -@@ -34,11 +34,6 @@ AC_MSG_CHECKING([for binaries in]) - AC_MSG_RESULT([$searchpath]) - - # --# Make sure we have "/proc" --# --AF_LINUX_PROCFS() -- --# - # Location of init.d directory? - # - AF_INIT_D() -@@ -142,7 +137,6 @@ AF_PATH_INCLUDE(UMOUNT, umount, /bin/umount, $searchpath) - AF_PATH_INCLUDE(E2FSCK, fsck.ext2 e2fsck, , $searchpath) - AF_PATH_INCLUDE(E3FSCK, fsck.ext3 e3fsck, , $searchpath) - AF_PATH_INCLUDE(E4FSCK, fsck.ext4 e4fsck, , $searchpath) --AF_PATH_INCLUDE(MODPROBE, modprobe, , $searchpath) - - AF_CHECK_PROG(LEX, flex lex, , $searchpath) - AF_CHECK_PROG(YACC, bison, , $searchpath) -diff --git a/daemon/module.c b/daemon/module.c -index bed8f7a..e41a98e 100644 ---- a/daemon/module.c -+++ b/daemon/module.c -@@ -19,6 +19,8 @@ - #include "automount.h" - #include "nsswitch.h" - -+#if 0 -+/* see comment in daemon/automount.c around load_autofs4_module() call */ - int load_autofs4_module(void) - { - FILE *fp; -@@ -53,6 +55,7 @@ int load_autofs4_module(void) - - return 1; - } -+#endif - - int open_lookup(const char *name, const char *err_prefix, const char *mapfmt, - int argc, const char *const *argv, struct lookup_mod **lookup) -diff --git a/include/automount.h b/include/automount.h -index c0f5fbf..cc336ad 100644 ---- a/include/automount.h -+++ b/include/automount.h -@@ -51,16 +51,11 @@ - #error Failed to locate umount(8)! - #endif - --#ifndef HAVE_MODPROBE --#error Failed to locate modprobe(8)! --#endif -- --#ifndef HAVE_LINUX_PROCFS --#error Failed to verify existence of procfs filesystem! --#endif -- -+#if 0 -+/* see comment in daemon/automount.c around load_autofs4_module() call */ - #define FS_MODULE_NAME "autofs4" - int load_autofs4_module(void); -+#endif - - /* The -s (sloppy) option to mount is good, if we have it... */ - diff --git a/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch b/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch index 1c7b11997c..be750ab897 100644 --- a/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch +++ b/meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch @@ -1,7 +1,9 @@ -From e3ae56cf0bb4063c31295f45d04e3c504f4b6cc7 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 24 Apr 2017 20:41:25 -0700 -Subject: [PATCH] autofs: Upgrade to 5.1.2 release +From 602f9ca83c2bdbf511bcb178fcb4b9fc54da955f Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 27 Nov 2018 15:20:46 +0800 +Subject: [PATCH] From e3ae56cf0bb4063c31295f45d04e3c504f4b6cc7 Mon Sep 17 + 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 24 Apr 2017 + 20:41:25 -0700 Subject: [PATCH] autofs: Upgrade to 5.1.2 release Use pkg-config first to look for external libnsl which is now split out from glibc, if it does not exist then see if its provided @@ -9,20 +11,27 @@ by glibc itself. -Khem +Upstream-Status: Pending + +update patch to version 5.1.5 +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.in b/configure.in -index 9cf73b8..1016c71 100644 +index 76ecb40..493b9f1 100644 --- a/configure.in +++ b/configure.in -@@ -186,7 +186,7 @@ fi - # - # glibc/libc 6 new libraries - # --AC_CHECK_LIB(nsl, yp_match, LIBNSL="-lnsl") -+PKG_CHECK_MODULES([NSL], [libnsl], [], [AC_CHECK_LIB([nsl],[yp_match],[LIBNSL="-lnsl"],[LIBNSL=""])]) - AC_SUBST(LIBNSL) +@@ -238,7 +238,7 @@ AC_SUBST(LIBCLOCK_GETTIME) - AC_CHECK_LIB(resolv, res_query, LIBRESOLV="-lresolv") + PKG_CHECK_MODULES([NSL],[libnsl],, + [ +-AC_CHECK_LIB(nsl, yp_match, NSL_LIBS="-lnsl") ++PKG_CHECK_MODULES([NSL], [libnsl], [], [AC_CHECK_LIB([nsl],[yp_match],[LIBNSL="-lnsl"],[LIBNSL=""])]) + AC_SUBST(NSL_LIBS) + NSL_CFLAGS="" + ]) +-- +2.7.4 + diff --git a/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch b/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch index 3d0c6bd715..d1f9f3493e 100644 --- a/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch +++ b/meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch @@ -1,22 +1,27 @@ -From dabcbdae38038a8e4ad2c4286112381c407c5ce7 Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Tue, 19 Aug 2014 11:31:35 +0800 -Subject: [PATCH] using pkg-config to detect libxml-2.0 and krb5 +From dd90a690f95569b999b8ac9ab57e834b3421dcbb Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 27 Nov 2018 15:19:07 +0800 +Subject: [PATCH] From dabcbdae38038a8e4ad2c4286112381c407c5ce7 Mon Sep 17 + 00:00:00 2001 From: Roy Li <rongqing.li@windriver.com> Date: Tue, 19 Aug 2014 + 11:31:35 +0800 Subject: [PATCH] using pkg-config to detect libxml-2.0 and + krb5 -Upstream-status: Pending +Upstream-Status: Pending Signed-off-by: Roy Li <rongqing.li@windriver.com> +update patch to 5.1.5 +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- configure.in | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in -index b226236..9cf73b8 100644 +index f5fbb35..76ecb40 100644 --- a/configure.in +++ b/configure.in -@@ -162,8 +162,20 @@ if test x$enable_sloppy_mount = xyes; then - fi +@@ -211,8 +211,20 @@ fi + AC_SUBST(ENABLE_FEDFS) # LDAP SASL auth needs libxml and Kerberos -AF_CHECK_LIBXML() @@ -38,3 +43,6 @@ index b226236..9cf73b8 100644 AC_SEARCH_LIBS([versionsort],[]) if test "$ac_cv_search_versionsort" = "no"; then +-- +2.7.4 + diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.5.bb index 8a1bcad285..9e43549e83 100644 --- a/meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb +++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.5.bb @@ -13,7 +13,6 @@ 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://autofs-5.0.7-do-not-check-for-modprobe.patch \ file://fix_disable_ldap.patch \ file://autofs-5.0.7-fix-lib-deps.patch \ file://add-the-needed-stdarg.h.patch \ @@ -27,8 +26,10 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \ file://0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch \ file://0001-Do-not-hardcode-path-for-pkg.m4.patch \ " -SRC_URI[md5sum] = "17bc9d371cf39d99f400ebadfc2289bb" -SRC_URI[sha256sum] = "8d1c9964c8286ccb08262ad47c60bb6343492902def5399fd36d79a0ccb0e718" + + +SRC_URI[md5sum] = "03b13168ec7bd66a6f2d5f6fea705eee" +SRC_URI[sha256sum] = "86a8e56ea9d72bb53ff8cdfeefb5cafe983592c6b0178fb99c4a731e59879181" UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/" @@ -62,6 +63,9 @@ do_configure_prepend () { } do_install_append () { + # samples have been removed from SUBDIRS from 5.1.5, need to install separately + oe_runmake 'DESTDIR=${D}' install_samples + if [ -d ${D}/run ]; then rmdir ${D}/run fi diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample deleted file mode 100644 index ec0584193d..0000000000 --- a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample +++ /dev/null @@ -1,21 +0,0 @@ -# options to dnrd - -# example: two default dns servers and dns servers for exampledomain.com. The -# latter are load balanced (-b) -# -# - -# DNRD_OPTS=" -# -s XXX.XXX.XX.XXX -# -s XXX.XXX.XX.XXX -# -b -# -s XXX.XXX.XX.XXX:exampledomain.com -# -s XXX.XXX.XX.XXX:exampledomain.com" - -# example: dnrd user -# - -# DNRD_USER="user" -# - - diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init deleted file mode 100644 index 2fe583fcf9..0000000000 --- a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/sh -# -# Startup script for dnrd -# -# Copyright 2008, Rakesh Pandit <rakesh.pandit@gmail.com> -# -# This source is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This source 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 -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# chkconfig: - 85 15 -# description: dnrd is a proxying nameserver. It forwards DNS queries to the -# appropriate nameserver, but can also act as the primary nameserver for -# a subnet behind a firewall. It also has features such as caching DNS -# requests, support for DNS servers, cache poisoning prevention, TCP -# support, etc.. - -# processname: dnrd -# pidfile: /var/run/dnrd.pid -# config: /etc/dnrd/dnrd.conf - -# Provides: dnrd -# Required-Start: -# Should-Start: -# Required-Stop: -# Default-Stop: 0 1 2 6 -# Short-Description: Start dnrd daemon -# Description: Domain Name Relay Daemon -# END INIT INFO - -exe=/usr/sbin/dnrd -pfile=/etc/passwd - -# Source function library. -. /etc/init.d/functions - -# Source conf file -. /etc/dnrd/dnrd.conf - -[ -x $exe ] || exit 1 -[ -r "/etc/dnrd/dnrd.conf" ] || exit 1 -if [ $DNRD_USER ] -then - grep "^${LOGIN}:" $pfile >/dev/null 2>&1 - if [ $? -eq 0 ];then - echo "$DNRD_USER specified in /etc/dnrd/dnrd.conf does not exist!" - fi -else - echo "DNRD_USER not set at /etc/dnrd/dnrd.conf!" - exit 1 -fi - -case "$1" in - start) - echo -n "Starting dnrd: " - daemon dnrd $DNRD_OPTS -u $DNRD_USER - echo - touch /var/lock/subsys/dnrd - ;; - stop) - echo -n "Shutting down dnrd: " - killproc dnrd - echo - rm -f /var/lock/subsys/dnrd - rm -f /var/run/dnrd.pid - ;; - status) - status dnrd - ;; - restart) - $0 stop - $0 start - ;; - reload) - echo -n "Reloading dnrd: " - killproc dnrd -HUP - echo - ;; - *) - echo "Usage: $0 {start|stop|restart|reload|status}" - exit 1 -esac - -exit 0 diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service deleted file mode 100644 index 9c9fa66394..0000000000 --- a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Domain Name Relay Daemon -After=network.target - -[Service] -Type=forking -PIDFile=/var/run/dnrd.pid -EnvironmentFile=/etc/dnrd/dnrd.conf -ExecStart=/usr/sbin/dnrd $DNRD_OPTS -u $DNRD_USER - -[Install] -WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb b/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb deleted file mode 100644 index 5424dc455e..0000000000 --- a/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "simple dynamic multicast routing daemon that only uses IGMP signalling" -HOMEPAGE = "http://sourceforge.net/projects/igmpproxy/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=1e995e2799bb0d27d63069b97f805420" - -SRC_URI = "http://sourceforge.net/projects/igmpproxy/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ - file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \ - " - -SRC_URI[md5sum] = "c56f41ec195bc1fe016369bf74efc5a1" -SRC_URI[sha256sum] = "ee18ff3d8c3ae3a29dccb7e5eedf332337330020168bd95a11cece8d7d7ee6ae" - -inherit autotools pkgconfig - -CFLAGS += "-D_GNU_SOURCE" diff --git a/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb b/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb new file mode 100644 index 0000000000..c99ebe0e9c --- /dev/null +++ b/meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "simple dynamic multicast routing daemon that only uses IGMP signalling" +HOMEPAGE = "http://sourceforge.net/projects/igmpproxy/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=432040ff3a55670c1dec0c32b209ad69" + +SRC_URI = "https://github.com/pali/igmpproxy/releases/download/${PV}/igmpproxy-${PV}.tar.gz \ + file://0001-src-igmpproxy.h-Include-sys-types.h-for-u_short-u_in.patch \ +" +SRC_URI[md5sum] = "3a9c2cb42c1f5ee0cb769a4884545641" +SRC_URI[sha256sum] = "d351e623037390f575c1203d9cbb7ba33a8bdef85a3c5e1d2901c5a2a38449a1" + +inherit autotools pkgconfig + +CFLAGS += "-D_GNU_SOURCE" diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch new file mode 100644 index 0000000000..f945c636f7 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch @@ -0,0 +1,115 @@ +From 24ce8f62e042e69497e1299212504c356179e15b Mon Sep 17 00:00:00 2001 +From: Lee Duncan <lduncan@suse.com> +Date: Tue, 6 Nov 2018 11:16:06 -0800 +Subject: [PATCH] Fix i586 build issues with string length overflow. + +Gcc7 warns of possible string print overflow, on i586, +when printing password length (via a macro), generating +errors like: + +[ 59s] ^~~~~~~~~~~~~~~~~~~~ +[ 59s] In file included from /usr/include/stdio.h:862:0, +[ 59s] from idbm.h:27, +[ 59s] from context.h:22, +[ 59s] from idbm.c:59: +[ 59s] /usr/include/bits/stdio2.h:64:10: note: +'__builtin___snprintf_chk' output between 2 and 11 bytes into a +destination of size 8 +[ 59s] return __builtin___snprintf_chk (__s, __n, +__USE_FORTIFY_LEVEL - 1, +[ 59s] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~ +[ 59s] __bos (__s), __fmt, __va_arg_pack ()); +[ 59s] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +[ 59s] cc1: all warnings being treated as errors +[ 59s] make[1]: *** [<builtin>: idbm.o] Error 1 +[ 59s] make[1]: Leaving directory + +The fix is to limit the size of the string printed, so that no +overflow is possible. + +The print macros in usr/idbm.c were updated, as well, to match +the newer version in libopeniscsiusr/idbm.c, also to help the +i586 build. + +Upstream-Status: Backport[https://github.com/open-iscsi/open-iscsi/commit/24ce8f62e042e69497e1299212504c356179e15b] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + libopeniscsiusr/idbm.c | 2 +- + usr/idbm.c | 11 ++++++----- + 2 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c +index 7724de2..055dd9a 100644 +--- a/libopeniscsiusr/idbm.c ++++ b/libopeniscsiusr/idbm.c +@@ -676,7 +676,7 @@ updated: + if (!passwd_done && !strcmp(#_param, name)) { \ + passwd_done = 1; \ + name = #_param "_length"; \ +- snprintf(passwd_len, 8, "%d", (int)strlen(value)); \ ++ snprintf(passwd_len, 8, "%.7d", (int)strlen(value) & 0xffff); \ + value = passwd_len; \ + goto setup_passwd_len; \ + } +diff --git a/usr/idbm.c b/usr/idbm.c +index a0207e2..89a6c27 100644 +--- a/usr/idbm.c ++++ b/usr/idbm.c +@@ -30,6 +30,7 @@ + #include <fcntl.h> + #include <sys/stat.h> + #include <sys/file.h> ++#include <inttypes.h> + + #include "idbm.h" + #include "idbm_fields.h" +@@ -65,7 +66,7 @@ static struct idbm *db; + #define __recinfo_int(_key, _info, _rec, _name, _show, _n, _mod) do { \ + _info[_n].type = TYPE_INT; \ + strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ +- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ ++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIi32, _rec->_name); \ + _info[_n].data = &_rec->_name; \ + _info[_n].data_len = sizeof(_rec->_name); \ + _info[_n].visible = _show; \ +@@ -76,7 +77,7 @@ static struct idbm *db; + #define __recinfo_uint8(_key, _info, _rec, _name, _show, _n, _mod) do { \ + _info[_n].type = TYPE_UINT8; \ + strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ +- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ ++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu8, _rec->_name); \ + _info[_n].data = &_rec->_name; \ + _info[_n].data_len = sizeof(_rec->_name); \ + _info[_n].visible = _show; \ +@@ -87,7 +88,7 @@ static struct idbm *db; + #define __recinfo_uint16(_key, _info, _rec, _name, _show, _n, _mod) do { \ + _info[_n].type = TYPE_UINT16; \ + strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ +- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ ++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu16, _rec->_name); \ + _info[_n].data = &_rec->_name; \ + _info[_n].data_len = sizeof(_rec->_name); \ + _info[_n].visible = _show; \ +@@ -98,7 +99,7 @@ static struct idbm *db; + #define __recinfo_uint32(_key, _info, _rec, _name, _show, _n, _mod) do { \ + _info[_n].type = TYPE_UINT32; \ + strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ +- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ ++ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu32, _rec->_name); \ + _info[_n].data = &_rec->_name; \ + _info[_n].data_len = sizeof(_rec->_name); \ + _info[_n].visible = _show; \ +@@ -1041,7 +1042,7 @@ updated: + if (!passwd_done && !strcmp(#_param, name)) { \ + passwd_done = 1; \ + name = #_param "_length"; \ +- snprintf(passwd_len, 8, "%d", (int)strlen(value)); \ ++ snprintf(passwd_len, 8, "%.7" PRIi32, (int)strlen(value) & 0xffff); \ + value = passwd_len; \ + goto setup_passwd_len; \ + } +-- +2.7.4 + diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb index e6a87a38aa..48b0783f67 100644 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb @@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" SRCREV ?= "bd79e4ed1004a6035d2538a308c5930890421a22" SRC_URI = "git://github.com/open-iscsi/open-iscsi \ + file://0001-Fix-i586-build-issues-with-string-length-overflow.patch \ file://initd.debian \ file://99_iscsi-initiator-utils \ file://iscsi-initiator \ diff --git a/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb b/meta-networking/recipes-daemons/keepalived/keepalived_2.0.15.bb index 36417b72a3..9a20e02db6 100644 --- a/meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb +++ b/meta-networking/recipes-daemons/keepalived/keepalived_2.0.15.bb @@ -11,12 +11,12 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz" -SRC_URI[md5sum] = "610af6e04071f02d3469191de7499f4e" -SRC_URI[sha256sum] = "4e2d7cc01a6ee29a3955f5c622d47704ba7d9dd758189f15e9def016a2d1faa3" +SRC_URI[md5sum] = "68413d76fc23191ddd66246d498e19b5" +SRC_URI[sha256sum] = "933ee01bc6346aa573453b998f87510d3cce4aba4537c9642b24e6dbfba5c6f4" DEPENDS = "libnfnetlink openssl" -inherit autotools pkgconfig systemd update-rc.d +inherit autotools pkgconfig systemd PACKAGECONFIG ??= "libnl snmp \ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ @@ -41,8 +41,5 @@ do_install_append() { FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt" -INITSCRIPT_NAME = "keepalived" -INITSCRIPT_PARAMS = "remove" - SYSTEMD_SERVICE_${PN} = "keepalived.service" SYSTEMD_AUTO_ENABLE ?= "disable" diff --git a/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher.bb b/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb index 050a938248..affd0aae05 100644 --- a/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher.bb +++ b/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb @@ -15,11 +15,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d" RDEPENDS_${PN} = "systemd python3 python3-pygobject python3-dbus" -SRC_URI = "git://gitlab.com/craftyguy/networkd-dispatcher.git;protocol=https" -SRCREV = "c7e25623a161b64618ea778541c064d2a1df086b" -PV = "1.7+git${SRCPV}" - -S = "${WORKDIR}/git" +SRC_URI = "https://gitlab.com/craftyguy/networkd-dispatcher/-/archive/${PV}/networkd-dispatcher-${PV}.tar.bz2" +SRC_URI[md5sum] = "304d7dcc21331ea295e207f8493cb8d8" +SRC_URI[sha256sum] = "21f84c3646a043329dc64787e4e58dfce592b2559b0e3069af82c469805660c2" # Nothing to build, just a python script to install do_configure[noexec] = "1" diff --git a/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch b/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch new file mode 100644 index 0000000000..b2771c0c92 --- /dev/null +++ b/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch @@ -0,0 +1,35 @@ +From e0b2be7a1fce0fed63bac8c350b711b69edfe30e Mon Sep 17 00:00:00 2001 +From: "yanjun.zhu" <yanjun.zhu@windriver.com> +Date: Tue, 30 Apr 2019 10:04:58 +0800 +Subject: [PATCH] openhpid/safhpi.c: fix function saHpiSensorThresholdsSet + +In COPY_TH the SensorThresholds->TH will be copied to tmp.TH only if +TH.IsSupported == SAHPI_TRUE. So we should pass &tmp but not +SensorThresholds as the argument to OH_CALL_ABI. Otherwise the TH will +be set even if TH.IsSupported == SAHPI_FALSE. + +Upstream-Status: Submitted +[https://github.com/open-hpi/openhpi/pull/2744/commits/77a78bb1ada56e55c5ba6d7a5987c214705bf035] + +Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + openhpid/safhpi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/openhpid/safhpi.c b/openhpid/safhpi.c +index 28a2632..61b7f03 100644 +--- a/openhpid/safhpi.c ++++ b/openhpid/safhpi.c +@@ -1933,7 +1933,7 @@ SaErrorT SAHPI_API saHpiSensorThresholdsSet ( + oh_release_domain(d); /* Unlock domain */ + + OH_CALL_ABI(h, set_sensor_thresholds, SA_ERR_HPI_INVALID_CMD, rv, +- ResourceId, SensorNum, SensorThresholds); ++ ResourceId, SensorNum, &tmp); + oh_release_handler(h); + + return rv; +-- +2.7.4 + diff --git a/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch b/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch deleted file mode 100644 index 60e2e79191..0000000000 --- a/meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch +++ /dev/null @@ -1,33 +0,0 @@ -Fix for saftest failures. - -Upstream-Status: Pending - -Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com> - -Index: openhpi-3.6.1/openhpid/safhpi.c -=================================================================== ---- openhpi-3.6.1.orig/openhpid/safhpi.c -+++ openhpi-3.6.1/openhpid/safhpi.c -@@ -1933,7 +1933,7 @@ SaErrorT SAHPI_API saHpiSensorThresholds - oh_release_domain(d); /* Unlock domain */ - - OH_CALL_ABI(h, set_sensor_thresholds, SA_ERR_HPI_INVALID_CMD, rv, -- ResourceId, SensorNum, SensorThresholds); -+ ResourceId, SensorNum, &tmp); - oh_release_handler(h); - - return rv; -Index: openhpi-3.6.1/utils/sahpi_struct_utils.c -=================================================================== ---- openhpi-3.6.1.orig/utils/sahpi_struct_utils.c -+++ openhpi-3.6.1/utils/sahpi_struct_utils.c -@@ -3861,6 +3861,9 @@ SaHpiBoolT oh_valid_textbuffer(SaHpiText - /* found a unpaired surrogate */ - return SAHPI_FALSE; - } -+ } else { -+ /*the first 2 bytes wrong*/ -+ return SAHPI_FALSE; - } - } - break; diff --git a/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb b/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb index c4b3309f7c..e3a0c2eb60 100644 --- a/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb +++ b/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb @@ -33,7 +33,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ file://openhpi-glib-cross-compile.patch \ file://openhpi-linkfix.patch \ file://openhpi-fix-host-gcc.patch \ - file://openhpi-fix-testfail-errors.patch \ + file://openhpi-fix-function-saHpiSensorThresholds.patch \ file://openhpi-add-libnetsnmp-when-link.patch \ file://openhpi-invalide-session.patch \ file://openhpi-use-serial-tests-config-needed-by-ptest.patch \ @@ -60,19 +60,20 @@ FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so" INSANE_SKIP_${PN}-libs = "dev-so" RDEPENDS_${PN} += "${PN}-libs" -PACKAGECONFIG ??= "libgcrypt non32bit" +PACKAGECONFIG ??= "libgcrypt non32bit snmp-bc" PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils," PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt," PACKAGECONFIG[non32bit] = "--enable-non32bit-int,--disable-non32bit-int,," +PACKAGECONFIG[snmp-bc] = "--enable-snmp_bc,--disable-snmp_bc" export DISTRO do_install_append () { install -m 0755 -d ${D}${sysconfdir}/${BPN} - install -m 0755 ${S}/openhpiclient.conf.example ${D}${sysconfdir}/${BPN}/openhpiclient.conf - install -m 0700 ${S}/openhpi.conf.example ${D}${sysconfdir}/${BPN}/openhpi.conf - install -m 0755 ${S}/simulation.data.example ${D}${sysconfdir}/${BPN}/simulation.data - install -m 0755 ${S}/test_agent.data.example ${D}${sysconfdir}/${BPN}/test_agent.data + install -m 0644 ${S}/openhpiclient.conf.example ${D}${sysconfdir}/${BPN}/openhpiclient.conf + install -m 0600 ${S}/openhpi.conf.example ${D}${sysconfdir}/${BPN}/openhpi.conf + install -m 0644 ${S}/simulation.data.example ${D}${sysconfdir}/${BPN}/simulation.data + install -m 0644 ${S}/test_agent.data.example ${D}${sysconfdir}/${BPN}/test_agent.data install -m 0755 ${WORKDIR}/openhpi.init ${D}${sysconfdir}/init.d/openhpid install -d ${D}${systemd_unitdir}/system @@ -104,6 +105,9 @@ do_install_ptest () { sed -i "s/^Makefile:/MM:/g" ${x}; done; + install -m 644 ${S}/openhpid/t/ohpi/openhpi.conf ${D}${PTEST_PATH}/openhpid/t/ohpi/ + sed -i "s:OPENHPI_CONF=[^ ]*:OPENHPI_CONF=./openhpi.conf:g" ${D}${PTEST_PATH}/openhpid/t/ohpi/Makefile + mkdir -p ${D}${PTEST_PATH}/plugins/watchdog/ cp -L ${D}/${libdir}/${BPN}/libwatchdog.so ${D}${PTEST_PATH}/plugins/watchdog/ cp -L ${D}/${libdir}/${BPN}/libsimulator.so ${D}${PTEST_PATH}/plugins/watchdog/ diff --git a/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch b/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch index db6796d05d..93c75777fe 100644 --- a/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch +++ b/meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch @@ -1,4 +1,4 @@ -From ae7178a78aba2e5766b70191617113487fd7ad0b Mon Sep 17 00:00:00 2001 +From 88661a60629894353512c53ed32f2b901f64149c Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 16 Apr 2018 18:29:17 -0700 Subject: [PATCH] Fix string overflow in snprintf @@ -53,7 +53,7 @@ index 81e521e..d53cc48 100644 TRACE_ENTER(); diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc b/src/smf/smfd/SmfUpgradeCampaign.cc -index 45cdce8..6761bcf 100644 +index c30ea14..098f17a 100644 --- a/src/smf/smfd/SmfUpgradeCampaign.cc +++ b/src/smf/smfd/SmfUpgradeCampaign.cc @@ -447,7 +447,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) { @@ -66,11 +66,11 @@ index 45cdce8..6761bcf 100644 /* Read the SmfCampRestartInfo object smfCampRestartCnt attr */ std::string obj = "smfRestartInfo=info," + @@ -473,7 +473,7 @@ SaAisErrorT SmfUpgradeCampaign::tooManyRestarts(bool *o_result) { - attrsmfCampRestartCnt.setName("smfCampRestartCnt"); - attrsmfCampRestartCnt.setType("SA_IMM_ATTR_SAUINT32T"); + attrsmfCampRestartCnt.SetAttributeName("smfCampRestartCnt"); + attrsmfCampRestartCnt.SetAttributeType("SA_IMM_ATTR_SAUINT32T"); char buf[5]; - snprintf(buf, 4, "%d", curCnt); + snprintf(buf, 4, "%hd", curCnt); - attrsmfCampRestartCnt.addValue(buf); - imoCampRestartInfo.addValue(attrsmfCampRestartCnt); + attrsmfCampRestartCnt.AddAttributeValue(buf); + imoCampRestartInfo.AddValue(attrsmfCampRestartCnt); diff --git a/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb b/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb index c534c6206b..3e4d33e005 100644 --- a/meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb +++ b/meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb @@ -29,8 +29,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \ file://0001-Fix-string-overflow-in-snprintf.patch \ file://0008-check-for-size-before-using-strncpy.patch \ " -SRC_URI[md5sum] = "21836e43b13ad33bed9bd0ed391e5a6e" -SRC_URI[sha256sum] = "e55dc2645487fb22938e8386b99eef6eb7aff43a246ce3e92488daf6ee46247a" +SRC_URI[md5sum] = "d9f44f778e23cf739085f74c5ff793b1" +SRC_URI[sha256sum] = "5713fbe21c557c9a992af6805bc44521f2cf6cf950ae873036d9a81c73364b60" inherit autotools useradd systemd pkgconfig @@ -48,7 +48,8 @@ PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi" PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}" PKGLIBDIR="${libdir}" - +CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation" +CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation=" LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" do_install_append() { diff --git a/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch b/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch deleted file mode 100644 index 6b86e39259..0000000000 --- a/meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 63619acf25151d4dade6d65732722ec4a710a5ac Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 15 Jul 2017 09:54:25 -0700 -Subject: [PATCH] Check for glibc before setting CANT_USE_SEND_RECV_MSG - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/util/sys_defs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h -index f720e2a..7314c63 100644 ---- a/src/util/sys_defs.h -+++ b/src/util/sys_defs.h -@@ -813,7 +813,7 @@ extern int initgroups(const char *, int); - #define KERNEL_VERSION(a,b,c) (LINUX_VERSION_CODE + 1) - #endif - #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,2,0)) \ -- || (__GLIBC__ < 2) -+ || (defined(__GLIBC__) && (__GLIBC__ < 2)) - #define CANT_USE_SEND_RECV_MSG - #define DEF_SMTP_CACHE_DEMAND 0 - #else --- -2.13.3 - diff --git a/meta-networking/recipes-daemons/postfix/files/0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch b/meta-networking/recipes-daemons/postfix/files/0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch new file mode 100644 index 0000000000..565098400b --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch @@ -0,0 +1,58 @@ +From 4caa18feb70f8f3d133657c1250a53f4e292bb42 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Fri, 12 Oct 2018 12:38:02 +0800 +Subject: [PATCH] makedefs: add -lnsl and -lresolv to SYSLIBS by default + +We don't need to check libnsl.so and libresolv.so since the libnsl2 is +specified in DEPENDS and libresolv.so is from c libarary. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + makedefs | 22 ++-------------------- + 1 file changed, 2 insertions(+), 20 deletions(-) + +diff --git a/makedefs b/makedefs +index 2683bce..8f1b3f4 100644 +--- a/makedefs ++++ b/makedefs +@@ -484,16 +484,7 @@ case "$SYSTEM.$RELEASE" in + SYSLIBS="$SYSLIBS -ldb" + ;; + esac +- for name in nsl resolv $GDBM_LIBS +- do +- for lib in $BUILD_SYSROOT_NSL_PATH +- do +- test -e $lib/lib$name.a -o -e $lib/lib$name.so && { +- SYSLIBS="$SYSLIBS -l$name" +- break +- } +- done +- done ++ SYSLIBS="$SYSLIBS -lnsl -lresolv" + # Kernel 2.4 added IPv6 + case "$RELEASE" in + 2.[0-3].*) CCARGS="$CCARGS -DNO_IPV6";; +@@ -561,16 +552,7 @@ EOF + SYSLIBS="$SYSLIBS -ldb" + ;; + esac +- for name in nsl resolv +- do +- for lib in $BUILD_SYSROOT_NSL_PATH +- do +- test -e $lib/lib$name.a -o -e $lib/lib$name.so && { +- SYSLIBS="$SYSLIBS -l$name" +- break +- } +- done +- done ++ SYSLIBS="$SYSLIBS -lnsl -lresolv" + SYSLIBS="$SYSLIBS -ldl" + : ${SHLIB_SUFFIX=.so} + : ${SHLIB_CFLAGS=-fPIC} +-- +2.7.4 + diff --git a/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-networking/recipes-daemons/postfix/postfix.inc index 882b27b6ee..3d4f1df439 100644 --- a/meta-networking/recipes-daemons/postfix/postfix.inc +++ b/meta-networking/recipes-daemons/postfix/postfix.inc @@ -97,27 +97,9 @@ do_compile () { "s:\$(SHELL) makedefs):\$(SHELL) makedefs $SYSTEM $RELEASE):" \ ${S}/Makefile.in export BUILD_SYSROOT="${STAGING_DIR_HOST}" - export BUILD_SYSROOT_NSL_PATH="${STAGING_BASELIBDIR} \ - ${STAGING_LIBDIR}" else # native build export BUILD_SYSROOT="${STAGING_DIR_NATIVE}" - - # ubuntu x86 host: /lib/x86_64-linux-gnu(64) /lib/i386-linux-gnu (32) - # on 64 bits, 32 libs in i386-linux-gnu - # let makedefs finds nsl and resolv libs, host CC will link - # the correct libraries - BUILD_SYSROOT_NSL_PATH="$(${CC} -print-search-dirs 2>/dev/null | \ - sed -n '/^libraries: =/s/libraries: =//p' | \ - sed -e 's/:/\n/g' | xargs -n1 readlink -f | \ - grep -v 'gcc\|/[0-9.]\+$' | sort -u)" - if [ -z "$BUILD_SYSROOT_NSL_PATH" ]; then - BUILD_SYSROOT_NSL_PATH="/usr/lib64 /lib64 \ - /lib/x86_64-linux-gnu \ - /usr/lib /lib \ - /lib/i386-linux-gnu" - fi - export BUILD_SYSROOT_NSL_PATH fi oe_runmake makefiles diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.2.6.bb b/meta-networking/recipes-daemons/postfix/postfix_3.2.6.bb deleted file mode 100644 index 12144671bc..0000000000 --- a/meta-networking/recipes-daemons/postfix/postfix_3.2.6.bb +++ /dev/null @@ -1,11 +0,0 @@ -require postfix.inc - -SRC_URI += "file://0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch \ - file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ - file://postfix-install.patch \ - file://icu-config.patch \ - " -SRC_URI[md5sum] = "d10f1fb551be86f6e48c2908dd8a12ff" -SRC_URI[sha256sum] = "1df036380bae7c356bfa8989a87de58033b6aaa09b3bafcfa36c3694dd449039" - -UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.2(\.\d+)+).tar.gz" diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb b/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb new file mode 100644 index 0000000000..3ce8055539 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb @@ -0,0 +1,11 @@ +require postfix.inc + +SRC_URI += "file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \ + file://postfix-install.patch \ + file://icu-config.patch \ + file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ + " +SRC_URI[md5sum] = "093109941095390562166de766d4720d" +SRC_URI[sha256sum] = "8b2ba54f9d2a049582a0ed3ee2dbe96ba57e278feea9cb4f80e1a61844e6319f" + +UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz" diff --git a/meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch b/meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch new file mode 100644 index 0000000000..1d2a5368c1 --- /dev/null +++ b/meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch @@ -0,0 +1,68 @@ +From e00d3f52ccc6496a60992ac5a9d771b1d067eceb Mon Sep 17 00:00:00 2001 +From: Haiqing Bai <Haiqing.Bai@windriver.com> +Date: Thu, 22 Nov 2018 08:42:48 +0000 +Subject: [PATCH] Fixed 100% CPU using issue by adding minimum POSIX timer + interval + +Added minimum POSIX timer interval to prevent from timers firing +to quickly for the process to handle, resulting in 100% CPU and +endless signal queue. + +Upstream-status: Backport +[From commit 1f0baae98a7b23e85f2bfd8f5de64795421c270e: + - critical: added minimum POSIX timer interval to prevent from + timers firing to quickly for the process to handle, + resulting in 100% CPU and endless signal queue] + +Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com> +--- + src/dep/eventtimer.h | 3 ++- + src/dep/eventtimer_itimer.c | 2 +- + src/dep/eventtimer_posix.c | 4 ++++ + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/dep/eventtimer.h b/src/dep/eventtimer.h +index 64e483a..0a21318 100644 +--- a/src/dep/eventtimer.h ++++ b/src/dep/eventtimer.h +@@ -30,7 +30,8 @@ + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#define EVENTTIMER_MAX_DESC 20 ++#define EVENTTIMER_MAX_DESC 20 ++#define EVENTTIMER_MIN_INTERVAL_US 250 /* 4000/sec */ + + typedef struct EventTimer EventTimer; + +diff --git a/src/dep/eventtimer_itimer.c b/src/dep/eventtimer_itimer.c +index cf3c6db..3bb7ec6 100644 +--- a/src/dep/eventtimer_itimer.c ++++ b/src/dep/eventtimer_itimer.c +@@ -53,7 +53,7 @@ + + #include "../ptpd.h" + +-#define US_TIMER_INTERVAL (62500) ++#define US_TIMER_INTERVAL (31250) + + static volatile unsigned int elapsed; + +diff --git a/src/dep/eventtimer_posix.c b/src/dep/eventtimer_posix.c +index 637eef3..f4a702d 100644 +--- a/src/dep/eventtimer_posix.c ++++ b/src/dep/eventtimer_posix.c +@@ -100,6 +100,10 @@ eventTimerStart_posix(EventTimer *timer, double interval) + ts.tv_sec = interval; + ts.tv_nsec = (interval - ts.tv_sec) * 1E9; + ++ if(!ts.tv_sec && ts.tv_nsec < EVENTTIMER_MIN_INTERVAL_US * 1000) { ++ ts.tv_nsec = EVENTTIMER_MIN_INTERVAL_US * 1000; ++ } ++ + DBGV("Timer %s start requested at %d.%4d sec interval\n", timer->id, ts.tv_sec, ts.tv_nsec); + + its.it_interval = ts; +-- +2.11.0 + diff --git a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb index e136193205..58625c8090 100644 --- a/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb +++ b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb @@ -23,6 +23,7 @@ def get_sub(d): SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \ file://ptpd-use-pkgconfig.patch \ + file://Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch \ file://ptpd.service \ file://ptpd.conf \ " diff --git a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch index 76523fb997..16a611e3c6 100644 --- a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch +++ b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch @@ -1,4 +1,4 @@ -From 1bafadf2502334a3e972ff667061469316d0d2ca Mon Sep 17 00:00:00 2001 +From a45e086661a3eed29193546c525998d7525ef6d9 Mon Sep 17 00:00:00 2001 From: Tudor Florea <tudor.florea@enea.com> Date: Tue, 4 Aug 2015 02:46:39 +0200 Subject: [PATCH] Remove hardcoded /usr/local includes from configure.ac @@ -7,17 +7,18 @@ Upstream-Status: Inappropriate [config] Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@promwad.com> Signed-off-by: Tudor Florea <tudor.florea@enea.com> + --- configure.ac | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/configure.ac b/configure.ac -index 6c78e8c..851d45d 100644 +index 3a4209b..695ce68 100644 --- a/configure.ac +++ b/configure.ac -@@ -100,18 +100,6 @@ AC_ARG_VAR(PYTHON,local path to the python interpreter) - python_possible_path="/usr/bin:/usr/local/bin:/bin:/opt/python/bin:/opt/python/usr/bin:/opt/python/usr/local/bin" - AC_PATH_PROG(PYTHON,python,/usr/bin/env python,$python_possible_path) +@@ -91,18 +91,6 @@ AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"]) + AX_CHECK_LINK_FLAG([-Wl,-z,now], [LDFLAGS="$LDFLAGS -Wl,-z,now"]) + AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"]) -if test -d /usr/local/include; then - CPPFLAGS="$CPPFLAGS -I/usr/local/include" @@ -34,6 +35,3 @@ index 6c78e8c..851d45d 100644 CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2" dnl Checks for header files --- -1.9.1 - diff --git a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch index 4cb33bc5c8..32d714f6f4 100644 --- a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch +++ b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch @@ -1,7 +1,8 @@ -From 0290bd6f4ceddff2c52dff833c9d31d24de7d0e1 Mon Sep 17 00:00:00 2001 +From 79fd22c0def26eba130db98e312bb00fec32ac0a Mon Sep 17 00:00:00 2001 From: Tudor Florea <tudor.florea@enea.com> Date: Tue, 4 Aug 2015 03:07:01 +0200 -Subject: [PATCH] Don't mess with CFLAGS and LDFLAGS when --with-minimal is specified +Subject: [PATCH] Don't mess with CFLAGS and LDFLAGS when --with-minimal is + specified We especially don't want stripping enabled. @@ -9,15 +10,16 @@ Upstream-Status: Inappropriate [config] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Tudor Florea <tudor.florea@enea.com> + --- configure.ac | 2 -- 1 file changed, 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 851d45d..dc410a1 100644 +index 695ce68..0f28b55 100644 --- a/configure.ac +++ b/configure.ac -@@ -423,8 +423,6 @@ AC_ARG_WITH(minimal, +@@ -414,8 +414,6 @@ AC_ARG_WITH(minimal, AC_DEFINE(NO_FTP_USERS) AC_DEFINE(WITHOUT_ASCII) AC_DEFINE(BORING_MODE) @@ -26,6 +28,3 @@ index 851d45d..dc410a1 100644 fi ]) AC_ARG_WITH(paranoidmsg, --- -1.9.1 - diff --git a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.47.bb index e5c5616460..43be44ea3a 100644 --- a/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb +++ b/meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.47.bb @@ -3,20 +3,19 @@ DESCRIPTION = "Pure-FTPd is a free (BSD license), secure, production-quality and HOMEPAGE = "http://www.pureftpd.org/project/pure-ftpd" SECTION = "net" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=90352fb2bfe17f4261687a0d6e09f489" +LIC_FILES_CHKSUM = "file://COPYING;md5=0595b4261a04bc2d27f30b9c90796c1f" DEPENDS = "libcap virtual/crypt" - SRC_URI = "http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${PV}.tar.gz \ file://0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch \ file://nostrip.patch \ " -SRC_URI[md5sum] = "4195af8f0e5ee2a798b1014071dae3a3" -SRC_URI[sha256sum] = "7be73a8e58b190a7054d2ae00c5e650cb9e091980420082d02ec3c3b68d8e7f9" +SRC_URI[md5sum] = "f000e519918682ee6b65090352177d4a" +SRC_URI[sha256sum] = "4740c316f5df879a2d68464489fb9b8b90113fe7dce58e2cdd2054a4768f27ad" inherit autotools EXTRA_OECONF = "--with-minimal" PACKAGECONFIG[libsodium] ="ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=yes, \ - ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=no, libsodium" + ac_cv_lib_sodium_crypto_pwhash_scryptsalsa208sha256_str=no, libsodium" diff --git a/meta-networking/recipes-daemons/radvd/radvd.inc b/meta-networking/recipes-daemons/radvd/radvd.inc index 06d16a4cef..59a07d78dc 100644 --- a/meta-networking/recipes-daemons/radvd/radvd.inc +++ b/meta-networking/recipes-daemons/radvd/radvd.inc @@ -20,7 +20,7 @@ SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \ file://volatiles.03_radvd \ file://radvd.default" -inherit autotools update-rc.d useradd pkgconfig systemd +inherit autotools useradd pkgconfig systemd SYSTEMD_SERVICE_${PN} = "radvd.service" SYSTEMD_AUTO_ENABLE = "disable" @@ -36,7 +36,7 @@ do_install_append () { sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/radvd sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/radvd - install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/volatiles.03_radvd + install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/03_radvd # Install systemd service files install -d ${D}${systemd_unitdir}/system @@ -54,9 +54,6 @@ do_install_append () { done } -INITSCRIPT_NAME = "radvd" -INITSCRIPT_PARAMS = "defaults 20 80" - USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system --home ${localstatedir}/run/radvd/ -M -g nogroup radvd" diff --git a/meta-networking/recipes-daemons/radvd/radvd_2.17.bb b/meta-networking/recipes-daemons/radvd/radvd_2.17.bb deleted file mode 100644 index 4baea01d07..0000000000 --- a/meta-networking/recipes-daemons/radvd/radvd_2.17.bb +++ /dev/null @@ -1,5 +0,0 @@ - -require radvd.inc - -SRC_URI[md5sum] = "64ee3fdb5544bcddef1c6cd80d77fa0a" -SRC_URI[sha256sum] = "53757e7f2164899e1145482f1ae91829600a6e2f6fec29cfb3b350a3bb45bd5d" diff --git a/meta-networking/recipes-daemons/radvd/radvd_2.18.bb b/meta-networking/recipes-daemons/radvd/radvd_2.18.bb new file mode 100644 index 0000000000..6097b209d3 --- /dev/null +++ b/meta-networking/recipes-daemons/radvd/radvd_2.18.bb @@ -0,0 +1,5 @@ + +require radvd.inc + +SRC_URI[md5sum] = "26ead3a0d5cfbe4c81c3089eaf7b3250" +SRC_URI[sha256sum] = "4f573e36b96ba92d03b5abbbd5f059b9c8994967812c77852f44049ac5a448fd" diff --git a/meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch b/meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch deleted file mode 100644 index 001d9e906e..0000000000 --- a/meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch +++ /dev/null @@ -1,506 +0,0 @@ -From 01a44c96dbd04936e9cb2501745a834a0b09d504 Mon Sep 17 00:00:00 2001 -From: Amos Jeffries <yadij@users.noreply.github.com> -Date: Sun, 13 May 2018 06:57:41 +0000 -Subject: [PATCH] Bug 4843 pt1: ext_edirectory_userip_acl refactoring for GCC-8 - (#204) - -Proposed changes to this helper to fix strcat / strncat buffer -overread / overflow issues. - -The approach takes three parts: - -* adds a makeHexString function to replace many for-loops - catenating bits of strings together with hex conversion into a - second buffer. Replacing with a snprintf() and buffer overflow - handling. - -* a copy of Ip::Address::lookupHostIp to convert the input - string into IP address binary format, then generate the hex - string using the above new hex function instead of looped - sub-string concatenations across several buffers. - This removes all the "00" and "0000" strncat() calls and - allows far simpler code even with added buffer overflow - handling. - -* replace multiple string part concatenations with a few simpler - calls to snprintf() for all the search_ip buffer constructions. - Adding buffer overflow handling as needed for the new calls. ---- -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport - - .../ext_edirectory_userip_acl.cc | 376 ++++++------------ - 1 file changed, 120 insertions(+), 256 deletions(-) - -diff --git a/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc b/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc -index 63609e4..ad16bfd 100644 ---- a/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc -+++ b/helpers/external_acl/eDirectory_userip/ext_edirectory_userip_acl.cc -@@ -67,6 +67,9 @@ - #ifdef HAVE_LDAP_H - #include <ldap.h> - #endif -+#ifdef HAVE_NETDB_H -+#include <netdb.h> -+#endif - - #ifdef HELPER_INPUT_BUFFER - #define EDUI_MAXLEN HELPER_INPUT_BUFFER -@@ -714,11 +717,14 @@ BindLDAP(edui_ldap_t *l, char *dn, char *pw, unsigned int t) - - /* Copy details - dn and pw CAN be NULL for anonymous and/or TLS */ - if (dn != NULL) { -+ if (strlen(dn) >= sizeof(l->dn)) -+ return LDAP_ERR_OOB; /* DN too large */ -+ - if ((l->basedn[0] != '\0') && (strstr(dn, l->basedn) == NULL)) { - /* We got a basedn, but it's not part of dn */ -- xstrncpy(l->dn, dn, sizeof(l->dn)); -- strncat(l->dn, ",", 1); -- strncat(l->dn, l->basedn, strlen(l->basedn)); -+ const int x = snprintf(l->dn, sizeof(l->dn)-1, "%s,%s", dn, l->basedn); -+ if (x < 0 || static_cast<size_t>(x) >= sizeof(l->dn)) -+ return LDAP_ERR_OOB; /* DN too large */ - } else - xstrncpy(l->dn, dn, sizeof(l->dn)); - } -@@ -778,24 +784,73 @@ BindLDAP(edui_ldap_t *l, char *dn, char *pw, unsigned int t) - } - } - -+// XXX: duplicate (partial) of Ip::Address::lookupHostIp -+/** -+ * Convert the IP address string representation in src to -+ * its binary representation. -+ * -+ * \return binary representation of the src IP address. -+ * Must be free'd using freeaddrinfo(). -+ */ -+static struct addrinfo * -+makeIpBinary(const char *src) -+{ -+ struct addrinfo want; -+ memset(&want, 0, sizeof(want)); -+ want.ai_flags = AI_NUMERICHOST; // prevent actual DNS lookups! -+ -+ struct addrinfo *dst = nullptr; -+ if (getaddrinfo(src, nullptr, &want, &dst) != 0) { -+ // not an IP address -+ /* free any memory getaddrinfo() dynamically allocated. */ -+ if (dst) -+ freeaddrinfo(dst); -+ return nullptr; -+ } -+ -+ return dst; -+} -+ -+/** -+ * Convert srcLen bytes from src into HEX and store into dst, which -+ * has a maximum content size of dstSize including c-string terminator. -+ * The dst value produced will be a 0-terminated c-string. -+ * -+ * \retval N length of dst written (excluding c-string terminator) -+ * \retval -11 (LDAP_ERR_OOB) buffer overflow detected -+ */ -+static int -+makeHexString(char *dst, const int dstSize, const char *src, const int srcLen) -+{ -+ // HEX encoding doubles the amount of bytes/octets copied -+ if ((srcLen*2) >= dstSize) -+ return LDAP_ERR_OOB; // cannot copy that many -+ -+ *dst = 0; -+ -+ for (int k = 0; k < srcLen; ++k) { -+ int c = static_cast<int>(src[k]); -+ if (c < 0) -+ c = c + 256; -+ char hexc[4]; -+ const int hlen = snprintf(hexc, sizeof(hexc), "%02X", c); -+ if (hlen < 0 || static_cast<size_t>(hlen) > sizeof(hexc)) // should be impossible -+ return LDAP_ERR_OOB; -+ strcat(dst, hexc); -+ } -+ return strlen(dst); -+} -+ - /* - * ConvertIP() - <edui_ldap_t> <ip> - * - * Take an IPv4 address in dot-decimal or IPv6 notation, and convert to 2-digit HEX stored in l->search_ip - * This is the networkAddress that we search LDAP for. -- * -- * PENDING -- CHANGE OVER TO inet*_pton, but inet6_pton does not provide the correct syntax -- * - */ - static int - ConvertIP(edui_ldap_t *l, char *ip) - { -- char bufa[EDUI_MAXLEN], bufb[EDUI_MAXLEN], obj[EDUI_MAXLEN]; -- char hexc[4], *p; - void *y, *z; -- size_t s; -- long x; -- int i, j, t, swi; /* IPv6 "::" cut over toggle */ - if (l == NULL) return LDAP_ERR_NULL; - if (ip == NULL) return LDAP_ERR_PARAM; - if (!(l->status & LDAP_INIT_S)) return LDAP_ERR_INIT; /* Not initalized */ -@@ -831,183 +886,22 @@ ConvertIP(edui_ldap_t *l, char *ip) - l->status |= (LDAP_IPV4_S); - z = NULL; - } -- s = strlen(ip); -- *(bufa) = '\0'; -- *(bufb) = '\0'; -- *(obj) = '\0'; -- /* StringSplit() will zero out bufa & obj at each call */ -- memset(l->search_ip, '\0', sizeof(l->search_ip)); -- xstrncpy(bufa, ip, sizeof(bufa)); /* To avoid segfaults, use bufa instead of ip */ -- swi = 0; -- if (l->status & LDAP_IPV6_S) { -- /* Search for :: in string */ -- if ((bufa[0] == ':') && (bufa[1] == ':')) { -- /* bufa starts with a ::, so just copy and clear */ -- xstrncpy(bufb, bufa, sizeof(bufb)); -- *(bufa) = '\0'; -- ++swi; /* Indicates that there is a bufb */ -- } else if ((bufa[0] == ':') && (bufa[1] != ':')) { -- /* bufa starts with a :, a typo so just fill in a ':', cat and clear */ -- bufb[0] = ':'; -- strncat(bufb, bufa, strlen(bufa)); -- *(bufa) = '\0'; -- ++swi; /* Indicates that there is a bufb */ -- } else { -- p = strstr(bufa, "::"); -- if (p != NULL) { -- /* Found it, break bufa down and split into bufb here */ -- *(bufb) = '\0'; -- i = strlen(p); -- memcpy(bufb, p, i); -- *p = '\0'; -- bufb[i] = '\0'; -- ++swi; /* Indicates that there is a bufb */ -- } -- } -- } -- s = strlen(bufa); -- if (s < 1) -- s = strlen(bufb); -- while (s > 0) { -- if ((l->status & LDAP_IPV4_S) && (swi == 0)) { -- /* Break down IPv4 address */ -- t = StringSplit(bufa, '.', obj, sizeof(obj)); -- if (t > 0) { -- errno = 0; -- x = strtol(obj, (char **)NULL, 10); -- if (((x < 0) || (x > 255)) || ((errno != 0) && (x == 0)) || ((obj[0] != '0') && (x == 0))) -- return LDAP_ERR_OOB; /* Out of bounds -- Invalid address */ -- memset(hexc, '\0', sizeof(hexc)); -- int hlen = snprintf(hexc, sizeof(hexc), "%02X", (int)x); -- strncat(l->search_ip, hexc, hlen); -- } else -- break; /* reached end of octet */ -- } else if (l->status & LDAP_IPV6_S) { -- /* Break down IPv6 address */ -- if (swi > 1) -- t = StringSplit(bufb, ':', obj, sizeof(obj)); /* After "::" */ -- else -- t = StringSplit(bufa, ':', obj, sizeof(obj)); /* Before "::" */ -- /* Convert octet by size (t) - and fill 0's */ -- switch (t) { /* IPv6 is already in HEX, copy contents */ -- case 4: -- hexc[0] = (char) toupper((int)obj[0]); -- i = (int)hexc[0]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[1] = (char) toupper((int)obj[1]); -- i = (int)hexc[1]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[2] = '\0'; -- strncat(l->search_ip, hexc, 2); -- hexc[0] = (char) toupper((int)obj[2]); -- i = (int)hexc[0]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[1] = (char) toupper((int)obj[3]); -- i = (int)hexc[1]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[2] = '\0'; -- strncat(l->search_ip, hexc, 2); -- break; -- case 3: -- hexc[0] = '0'; -- hexc[1] = (char) toupper((int)obj[0]); -- i = (int)hexc[1]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[2] = '\0'; -- strncat(l->search_ip, hexc, 2); -- hexc[0] = (char) toupper((int)obj[1]); -- i = (int)hexc[0]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[1] = (char) toupper((int)obj[2]); -- i = (int)hexc[1]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[2] = '\0'; -- strncat(l->search_ip, hexc, 2); -- break; -- case 2: -- strncat(l->search_ip, "00", 2); -- hexc[0] = (char) toupper((int)obj[0]); -- i = (int)hexc[0]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[1] = (char) toupper((int)obj[1]); -- i = (int)hexc[1]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[2] = '\0'; -- strncat(l->search_ip, hexc, 2); -- break; -- case 1: -- strncat(l->search_ip, "00", 2); -- hexc[0] = '0'; -- hexc[1] = (char) toupper((int)obj[0]); -- i = (int)hexc[1]; -- if (!isxdigit(i)) -- return LDAP_ERR_OOB; /* Out of bounds */ -- hexc[2] = '\0'; -- strncat(l->search_ip, hexc, 2); -- break; -- default: -- if (t > 4) -- return LDAP_ERR_OOB; -- break; -- } -- /* Code to pad the address with 0's between a '::' */ -- if ((strlen(bufa) == 0) && (swi == 1)) { -- /* We are *AT* the split, pad in some 0000 */ -- t = strlen(bufb); -- /* How many ':' exist in bufb ? */ -- j = 0; -- for (i = 0; i < t; ++i) { -- if (bufb[i] == ':') -- ++j; -- } -- --j; /* Preceding "::" doesn't count */ -- t = 8 - (strlen(l->search_ip) / 4) - j; /* Remainder */ -- if (t > 0) { -- for (i = 0; i < t; ++i) -- strncat(l->search_ip, "0000", 4); -- } -- } -- } -- if ((bufa[0] == '\0') && (swi > 0)) { -- s = strlen(bufb); -- ++swi; -- } else -- s = strlen(bufa); -- } -- s = strlen(l->search_ip); - -- /* CHECK sizes of address, truncate or pad */ -- /* if "::" is at end of ip, then pad another block or two */ -- while ((l->status & LDAP_IPV6_S) && (s < 32)) { -- strncat(l->search_ip, "0000", 4); -- s = strlen(l->search_ip); -- } -- if ((l->status & LDAP_IPV6_S) && (s > 32)) { -- /* Too long, truncate */ -- l->search_ip[32] = '\0'; -- s = strlen(l->search_ip); -- } -- /* If at end of ip, and its not long enough, then pad another block or two */ -- while ((l->status & LDAP_IPV4_S) && (s < 8)) { -- strncat(l->search_ip, "00", 2); -- s = strlen(l->search_ip); -- } -- if ((l->status & LDAP_IPV4_S) && (s > 8)) { -- /* Too long, truncate */ -- l->search_ip[8] = '\0'; -- s = strlen(l->search_ip); -+ size_t s = LDAP_ERR_INVALID; -+ if (struct addrinfo *dst = makeIpBinary(ip)) { -+ if (dst->ai_family == AF_INET6) { -+ struct sockaddr_in6 *sia = reinterpret_cast<struct sockaddr_in6 *>(dst->ai_addr); -+ const char *ia = reinterpret_cast<const char *>(sia->sin6_addr.s6_addr); -+ s = makeHexString(l->search_ip, sizeof(l->search_ip), ia, 16); // IPv6 = 16-byte address -+ -+ } else if (dst->ai_family == AF_INET) { -+ struct sockaddr_in *sia = reinterpret_cast<struct sockaddr_in *>(dst->ai_addr); -+ const char *ia = reinterpret_cast<const char *>(&(sia->sin_addr)); -+ s = makeHexString(l->search_ip, sizeof(l->search_ip), ia, 4); // IPv4 = 4-byte address -+ } // else leave s with LDAP_ERR_INVALID value -+ freeaddrinfo(dst); - } - -- /* Completed, s is length of address in HEX */ - return s; - } - -@@ -1099,48 +993,42 @@ SearchFilterLDAP(edui_ldap_t *l, char *group) - } - if (group == NULL) { - /* No groupMembership= to add, yay! */ -- xstrncpy(bufa, "(&", sizeof(bufa)); -- strncat(bufa, edui_conf.search_filter, strlen(edui_conf.search_filter)); - /* networkAddress */ -- snprintf(bufb, sizeof(bufb), "(|(networkAddress=1\\23%s)", bufc); - if (l->status & LDAP_IPV4_S) { -- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s))", \ -- bufc, bufc); -- strncat(bufb, bufd, ln); -+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s)", bufc, bufc); -+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd)) -+ return LDAP_ERR_OOB; -+ - } else if (l->status & LDAP_IPV6_S) { -- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s))", \ -- bufc, bufc); -- strncat(bufb, bufd, ln); -- } else -- strncat(bufb, ")", 1); -- strncat(bufa, bufb, strlen(bufb)); -- strncat(bufa, ")", 1); -+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s)", bufc, bufc); -+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd)) -+ return LDAP_ERR_OOB; -+ } -+ const int x = snprintf(bufa, sizeof(bufa), "(&%s(|(networkAddress=1\\23%s)%s))", edui_conf.search_filter, bufc, bufd); -+ if (x < 0 || static_cast<size_t>(x) >= sizeof(bufa)) -+ return LDAP_ERR_OOB; -+ - } else { - /* Needs groupMembership= to add... */ -- xstrncpy(bufa, "(&(&", sizeof(bufa)); -- strncat(bufa, edui_conf.search_filter, strlen(edui_conf.search_filter)); - /* groupMembership -- NOTE: Squid *MUST* provide "cn=" from squid.conf */ -- snprintf(bufg, sizeof(bufg), "(groupMembership=%s", group); - if ((l->basedn[0] != '\0') && (strstr(group, l->basedn) == NULL)) { -- strncat(bufg, ",", 1); -- strncat(bufg, l->basedn, strlen(l->basedn)); -+ const int ln = snprintf(bufg, sizeof(bufg), ",%s", l->basedn); -+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd)) -+ return LDAP_ERR_OOB; - } -- strncat(bufg, ")", 1); -- strncat(bufa, bufg, strlen(bufg)); - /* networkAddress */ -- snprintf(bufb, sizeof(bufb), "(|(networkAddress=1\\23%s)", bufc); - if (l->status & LDAP_IPV4_S) { -- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s))", \ -- bufc, bufc); -- strncat(bufb, bufd, ln); -+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=8\\23\\00\\00%s)(networkAddress=9\\23\\00\\00%s)", bufc, bufc); -+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd)) -+ return LDAP_ERR_OOB; - } else if (l->status & LDAP_IPV6_S) { -- int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s))", \ -- bufc, bufc); -- strncat(bufb, bufd, ln); -- } else -- strncat(bufb, ")", 1); -- strncat(bufa, bufb, strlen(bufb)); -- strncat(bufa, "))", 2); -+ const int ln = snprintf(bufd, sizeof(bufd), "(networkAddress=10\\23\\00\\00%s)(networkAddress=11\\23\\00\\00%s)", bufc, bufc); -+ if (ln < 0 || static_cast<size_t>(ln) >= sizeof(bufd)) -+ return LDAP_ERR_OOB; -+ } -+ const int x = snprintf(bufa, sizeof(bufa), "(&(&%s(groupMembership=%s%s)(|(networkAddress=1\\23%s)%s)))", edui_conf.search_filter, group, bufg, bufc, bufd); -+ if (x < 0 || static_cast<size_t>(x) >= sizeof(bufa)) -+ return LDAP_ERR_OOB; - } - s = strlen(bufa); - xstrncpy(l->search_filter, bufa, sizeof(l->search_filter)); -@@ -1212,10 +1100,10 @@ static int - SearchIPLDAP(edui_ldap_t *l) - { - ber_len_t i, x; -- ber_len_t j, k; -- ber_len_t y, z; -- int c; -- char bufa[EDUI_MAXLEN], bufb[EDUI_MAXLEN], hexc[4]; -+ ber_len_t j; -+ ber_len_t z; -+ char bufa[EDUI_MAXLEN]; -+ char bufb[EDUI_MAXLEN]; - LDAPMessage *ent; - if (l == NULL) return LDAP_ERR_NULL; - if (l->lp == NULL) return LDAP_ERR_POINTER; -@@ -1273,19 +1161,11 @@ SearchIPLDAP(edui_ldap_t *l) - /* bufa is the address, just compare it */ - if (!(l->status & LDAP_IPV4_S) || (l->status & LDAP_IPV6_S)) - break; /* Not looking for IPv4 */ -- for (k = 0; k < z; ++k) { -- c = (int) bufa[k]; -- if (c < 0) -- c = c + 256; -- int hlen = snprintf(hexc, sizeof(hexc), "%02X", c); -- if (k == 0) -- xstrncpy(bufb, hexc, sizeof(bufb)); -- else -- strncat(bufb, hexc, hlen); -- } -- y = strlen(bufb); -+ const int blen = makeHexString(bufb, sizeof(bufb), bufa, z); -+ if (blen < 0) -+ return blen; - /* Compare value with IP */ -- if (memcmp(l->search_ip, bufb, y) == 0) { -+ if (memcmp(l->search_ip, bufb, blen) == 0) { - /* We got a match! - Scan 'ber' for 'cn' values */ - z = ldap_count_values_len(ber); - for (j = 0; j < z; ++j) { -@@ -1308,19 +1188,11 @@ SearchIPLDAP(edui_ldap_t *l) - /* bufa + 2 is the address (skip 2 digit port) */ - if (!(l->status & LDAP_IPV4_S) || (l->status & LDAP_IPV6_S)) - break; /* Not looking for IPv4 */ -- for (k = 2; k < z; ++k) { -- c = (int) bufa[k]; -- if (c < 0) -- c = c + 256; -- int hlen = snprintf(hexc, sizeof(hexc), "%02X", c); -- if (k == 2) -- xstrncpy(bufb, hexc, sizeof(bufb)); -- else -- strncat(bufb, hexc, hlen); -- } -- y = strlen(bufb); -+ const int blen = makeHexString(bufb, sizeof(bufb), &bufa[2], z); -+ if (blen < 0) -+ return blen; - /* Compare value with IP */ -- if (memcmp(l->search_ip, bufb, y) == 0) { -+ if (memcmp(l->search_ip, bufb, blen) == 0) { - /* We got a match! - Scan 'ber' for 'cn' values */ - z = ldap_count_values_len(ber); - for (j = 0; j < z; ++j) { -@@ -1343,19 +1215,11 @@ SearchIPLDAP(edui_ldap_t *l) - /* bufa + 2 is the address (skip 2 digit port) */ - if (!(l->status & LDAP_IPV6_S)) - break; /* Not looking for IPv6 */ -- for (k = 2; k < z; ++k) { -- c = (int) bufa[k]; -- if (c < 0) -- c = c + 256; -- int hlen = snprintf(hexc, sizeof(hexc), "%02X", c); -- if (k == 2) -- xstrncpy(bufb, hexc, sizeof(bufb)); -- else -- strncat(bufb, hexc, hlen); -- } -- y = strlen(bufb); -+ const int blen = makeHexString(bufb, sizeof(bufb), &bufa[2], z); -+ if (blen < 0) -+ return blen; - /* Compare value with IP */ -- if (memcmp(l->search_ip, bufb, y) == 0) { -+ if (memcmp(l->search_ip, bufb, blen) == 0) { - /* We got a match! - Scan 'ber' for 'cn' values */ - z = ldap_count_values_len(ber); - for (j = 0; j < z; ++j) { diff --git a/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch b/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch new file mode 100644 index 0000000000..fbbad1597f --- /dev/null +++ b/meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch @@ -0,0 +1,31 @@ +From 1def5b4278d97f197520d23c1dce52f93a1b2f46 Mon Sep 17 00:00:00 2001 +From: Andrej Valek <andrej.valek@siemens.com> +Date: Tue, 9 Apr 2019 09:40:30 +0200 +Subject: [PATCH] splay.cc: fix bind is not a member of std + +fix +| ../../squid-4.6/test-suite/splay.cc:134:28: error: 'bind' is not a member of 'std' +| auto nextRandom = std::bind (distribution, generator); +| ^~~~ +| ../../squid-4.6/test-suite/splay.cc:134:28: note: 'std::bind' is defined in header '<functional>'; did you forget to '#include <functional>'? + +Signed-off-by: Andrej Valek <andrej.valek@siemens.com> +--- + test-suite/splay.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test-suite/splay.cc b/test-suite/splay.cc +index f71b337..4e21adc 100644 +--- a/test-suite/splay.cc ++++ b/test-suite/splay.cc +@@ -20,6 +20,7 @@ + #include <unistd.h> + #endif + #include <random> ++#include <functional> + + class intnode + { +-- +2.11.0 + diff --git a/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch b/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch index 8ea55d0e16..f267875ed8 100644 --- a/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch +++ b/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch @@ -1,4 +1,4 @@ -From faaa796a138cbd5033b1e53f33faac0cf4162bf5 Mon Sep 17 00:00:00 2001 +From 86dae8010310d13bd2a2beb006b4085d06ae1556 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 25 Jun 2017 00:59:24 -0700 Subject: [PATCH] tools.cc: fixed unused-result warning @@ -12,21 +12,23 @@ fix Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - src/tools.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + src/tools.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tools.cc b/src/tools.cc -index 8137a03..843e266 100644 +index 5829574..19f0836 100644 --- a/src/tools.cc +++ b/src/tools.cc -@@ -612,8 +612,8 @@ enter_suid(void) - if (setresuid((uid_t)-1, 0, (uid_t)-1) < 0) - debugs (21, 3, "enter_suid: setresuid failed: " << xstrerror ()); +@@ -581,8 +581,10 @@ enter_suid(void) + debugs (21, 3, "enter_suid: setresuid failed: " << xstrerr(xerrno)); + } #else - - setuid(0); -+ if (setuid(0) < 0) -+ debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerror()); ++ if (setuid(0) < 0) { ++ const auto xerrno = errno; ++ debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerr(xerrno)); ++ } #endif #if HAVE_PRCTL && defined(PR_SET_DUMPABLE) /* Set Linux DUMPABLE flag */ diff --git a/meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch b/meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch deleted file mode 100644 index c8f0c47bd1..0000000000 --- a/meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a6b1e0fd14311587186e40d09bff5c8c3aada2e4 Mon Sep 17 00:00:00 2001 -From: Amos Jeffries <squid3@treenet.co.nz> -Date: Sat, 25 Jul 2015 05:53:16 -0700 -Subject: [PATCH] smblib: fix buffer over-read - -When parsing SMB LanManager packets with invalid protocol ID and the -default set of Squid supported protocols. It may access memory outside -the buffer storing protocol names. - -smblib is only used by already deprecated helpers which are deprecated -due to far more significant NTLM protocol issues. It will also only -result in packets being rejected later with invalid protocol names. So -this is a minor bug rather than a vulnerability. - - Detected by Coverity Scan. Issue 1256165 ---- -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport - - lib/smblib/smblib-util.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/lib/smblib/smblib-util.c b/lib/smblib/smblib-util.c -index 6139ae2..e722cbb 100644 ---- a/lib/smblib/smblib-util.c -+++ b/lib/smblib/smblib-util.c -@@ -204,7 +204,11 @@ int SMB_Figure_Protocol(const char *dialects[], int prot_index) - { - int i; - -- if (dialects == SMB_Prots) { /* The jobs is easy, just index into table */ -+ // prot_index may be a value outside the table SMB_Types[] -+ // which holds data at offsets 0 to 11 -+ int ourType = (prot_index < 0 || prot_index > 11); -+ -+ if (ourType && dialects == SMB_Prots) { /* The jobs is easy, just index into table */ - - return(SMB_Types[prot_index]); - } else { /* Search through SMB_Prots looking for a match */ diff --git a/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch index 25f68aff8f..1516bb014b 100644 --- a/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch +++ b/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch @@ -1,4 +1,4 @@ -From b4943594654cd340b95aabdc2f3750a4705cc0de Mon Sep 17 00:00:00 2001 +From b73b802282bf95d214c86ba943c5765ba6930bc1 Mon Sep 17 00:00:00 2001 From: Jim Somerville <Jim.Somerville@windriver.com> Date: Mon, 21 Oct 2013 12:50:44 -0400 Subject: [PATCH] Fix flawed dynamic -ldb link test in configure @@ -12,19 +12,17 @@ about why and setting the need for -ldb incorrectly. Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> --- - configure.ac | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) + configure.ac | 10 ++++++++++ + 1 file changed, 10 insertions(+) diff --git a/configure.ac b/configure.ac -index 57cd1ac..3827222 100644 +index d2f7feb..c7ae568 100644 --- a/configure.ac +++ b/configure.ac -@@ -3229,8 +3229,16 @@ AC_CHECK_DECL(dbopen,,,[ - #include <db.h> - #endif]) +@@ -3235,6 +3235,16 @@ case "$host" in + ;; + esac --dnl 1.85 --SQUID_CHECK_DBOPEN_NEEDS_LIBDB +if test "x$ac_cv_have_decl_dbopen" = "xyes"; then + dnl 1.85 + SQUID_CHECK_DBOPEN_NEEDS_LIBDB @@ -35,6 +33,6 @@ index 57cd1ac..3827222 100644 + # dynamic compile/link test. + ac_cv_dbopen_libdb="yes" +fi - if test "x$ac_cv_dbopen_libdb" = "xyes"; then - LIB_DB="-ldb" - fi + dnl System-specific library modifications + dnl + case "$host" in diff --git a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch index 6a3352548b..dd83b62e67 100644 --- a/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch +++ b/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch @@ -1,4 +1,4 @@ -From a85311965707ba2fa78f7ce044e6f61e65e66fd0 Mon Sep 17 00:00:00 2001 +From e4778299a3e49a634d2c7fe4fd9ac77777e829e3 Mon Sep 17 00:00:00 2001 From: Jim Somerville <Jim.Somerville@windriver.com> Date: Tue, 14 Oct 2014 02:56:08 -0400 Subject: [PATCH] Skip AC_RUN_IFELSE tests @@ -17,7 +17,7 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com> 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4 -index 5c83d88..c264118 100644 +index ad0ba60..4477446 100644 --- a/acinclude/krb5.m4 +++ b/acinclude/krb5.m4 @@ -61,7 +61,15 @@ main(void) @@ -38,10 +38,10 @@ index 5c83d88..c264118 100644 ]) ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4 -index c4874da..ba72982 100644 +index 7624b56..b449c5a 100644 --- a/acinclude/lib-checks.m4 +++ b/acinclude/lib-checks.m4 -@@ -177,7 +177,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[ +@@ -217,7 +217,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[ [ AC_MSG_RESULT([no]) ], @@ -51,8 +51,8 @@ index c4874da..ba72982 100644 + ]) SQUID_STATE_ROLLBACK(check_const_SSL_METHOD) - ] -@@ -265,7 +267,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[ + ]) +@@ -377,7 +379,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[ AC_MSG_RESULT([yes]) AC_DEFINE(SQUID_USE_SSLLHASH_HACK, 1) ], diff --git a/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch b/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch index e990480a6d..124e04490f 100644 --- a/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch +++ b/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch @@ -17,25 +17,25 @@ diff --git a/configure.ac b/configure.ac index 504a844..ff4688c 100644 --- a/configure.ac +++ b/configure.ac -@@ -974,15 +974,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then - dnl Find the main header and include path... - AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [ - AC_CHECK_HEADERS([libxml/parser.h], [], [ -- AC_MSG_NOTICE([Testing in /usr/include/libxml2]) -+ AC_MSG_NOTICE([Testing in $SYSROOT/usr/include/libxml2]) - SAVED_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS" -+ CPPFLAGS="-I$SYSROOT/usr/include/libxml2 $CPPFLAGS" - unset ac_cv_header_libxml_parser_h -- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/include/libxml2"], [ -- AC_MSG_NOTICE([Testing in /usr/local/include/libxml2]) -- CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS" -+ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/include/libxml2"], [ -+ AC_MSG_NOTICE([Testing in $SYSROOT/usr/local/include/libxml2]) -+ CPPFLAGS="-I$SYSROOT/usr/local/include/libxml2 $SAVED_CPPFLAGS" +@@ -931,15 +931,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then + dnl Find the main header and include path... + AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [ + AC_CHECK_HEADERS([libxml/parser.h], [], [ +- AC_MSG_NOTICE([Testing in /usr/include/libxml2]) ++ AC_MSG_NOTICE([Testing in $SYSROOT/usr/include/libxml2]) + SAVED_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS" ++ CPPFLAGS="-I$SYSROOT/usr/include/libxml2 $CPPFLAGS" unset ac_cv_header_libxml_parser_h -- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/local/include/libxml2"], [ -+ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/local/include/libxml2"], [ - AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h]) +- AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I/usr/include/libxml2"], [ +- AC_MSG_NOTICE([Testing in /usr/local/include/libxml2]) +- CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS" ++ AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I$SYSROOT/usr/include/libxml2"], [ ++ AC_MSG_NOTICE([Testing in $SYSROOT/usr/local/include/libxml2]) ++ CPPFLAGS="-I$SYSROOT/usr/local/include/libxml2 $SAVED_CPPFLAGS" + unset ac_cv_header_libxml_parser_h +- AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I/usr/local/include/libxml2"], [ ++ AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I$SYSROOT/usr/local/include/libxml2"], [ + AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h]) + ]) ]) - ]) diff --git a/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch b/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch index 9c75f17e70..732cf17f7b 100644 --- a/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch +++ b/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch @@ -1,4 +1,4 @@ -From 9bcec221a2bb438d8a9ed59aed846ffe3be9cffa Mon Sep 17 00:00:00 2001 +From 3d881c112bba765731d581194aae95651819b715 Mon Sep 17 00:00:00 2001 From: Jackie Huang <jackie.huang@windriver.com> Date: Tue, 19 Jul 2016 01:56:23 -0400 Subject: [PATCH] squid: use serial-tests config needed by ptest @@ -15,15 +15,15 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 3827222..504a844 100644 +index c7ae568..5e1454e 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ AC_PREREQ(2.61) AC_CONFIG_HEADERS([include/autoconf.h]) AC_CONFIG_AUX_DIR(cfgaux) AC_CONFIG_SRCDIR([src/main.cc]) --AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects]) -+AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects serial-tests]) +-AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects dist-xz]) ++AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects dist-xz serial-tests]) AC_REVISION($Revision$)dnl AC_PREFIX_DEFAULT(/usr/local/squid) AM_MAINTAINER_MODE diff --git a/meta-networking/recipes-daemons/squid/squid_3.5.27.bb b/meta-networking/recipes-daemons/squid/squid_4.6.bb index 1557c4b2d6..ca4927dda1 100644 --- a/meta-networking/recipes-daemons/squid/squid_3.5.27.bb +++ b/meta-networking/recipes-daemons/squid/squid_4.6.bb @@ -12,7 +12,7 @@ LICENSE = "GPLv2+" MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${PV}.tar.bz2 \ +SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \ file://Set-up-for-cross-compilation.patch \ file://Skip-AC_RUN_IFELSE-tests.patch \ file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ @@ -23,34 +23,34 @@ SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${P file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ file://0001-tools.cc-fixed-unused-result-warning.patch \ - file://0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch \ - file://0002-smblib-fix-buffer-over-read.patch \ + file://0001-splay.cc-fix-bind-is-not-a-member-of-std.patch \ " SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" -SRC_URI[md5sum] = "c17a3ed3a40cd59c23f48b8539dafcd8" -SRC_URI[sha256sum] = "467da134eaf0f7962ba5881793d106772fb05fefa4aea7d9569eec0412c52433" +SRC_URI[md5sum] = "6fb9f2be772b9bcaf2b3322d9e16ee1e" +SRC_URI[sha256sum] = "73c1970467618db194057f6c43c80019a4dc47847579fc404796ff2dcd215f05" -LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \ - file://errors/COPYRIGHT;md5=8861130fae91400bcf99b66f133172b3 \ - " -DEPENDS = "libtool krb5 openldap db cyrus-sasl openssl expat libxml2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://errors/COPYRIGHT;md5=19cc4dd146f397e72f3ff6f9f58fbfbe \ + " +DEPENDS = "libtool krb5 openldap db cyrus-sasl" inherit autotools pkgconfig useradd ptest perlnative +LDFLAGS_append_mipsarch = " -latomic" +LDFLAGS_append_powerpc = " -latomic" + USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" -PACKAGECONFIG ??= "${@bb.utils.contains('TARGET_ARCH', 'powerpc', 'noatomics', '', d)} \ - ${@bb.utils.contains('TARGET_ARCH', 'mips', 'noatomics', '', d)} \ - ${@bb.utils.contains('TARGET_ARCH', 'mipsel', 'noatomics', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ " PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" -PACKAGECONFIG[noatomics] = "squid_cv_gnu_atomics=no,squid_cv_gnu_atomics=yes,," PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," +PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2" +PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" BASIC_AUTH = "DB SASL LDAP" diff --git a/meta-networking/recipes-daemons/vblade/vblade_22.bb b/meta-networking/recipes-daemons/vblade/vblade_22.bb index a51a8c31ca..a52a1e92b4 100644 --- a/meta-networking/recipes-daemons/vblade/vblade_22.bb +++ b/meta-networking/recipes-daemons/vblade/vblade_22.bb @@ -4,6 +4,8 @@ SECTION = "admin" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/aoetools/files/vblade/" + SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BP}.tar.gz \ file://cross.patch \ file://makefile-add-ldflags.patch \ diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch new file mode 100644 index 0000000000..7573c967fa --- /dev/null +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch @@ -0,0 +1,46 @@ +From dd353303f62d1dfe32cb000e482616b021708fbe Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Thu, 29 Nov 2018 00:47:34 -0800 +Subject: [PATCH] vsftpd: allow syscalls in the seccomp sandbox + +* Allow sysinfo() and getdents64 in the seccomp + sandbox otherwise comes below OOPS: priv_sock_get_cmd + as the syscall sysinfo() and getdents64 not allowed + +root@qemux86-64:~# tnftp 192.168.1.1 +Connected to 192.168.1.1. +220 (vsFTPd 3.0.3) +Name (192.168.1.1:root): anonymous +331 Please specify the password. +Password: +230 Login successful. +Remote system type is UNIX. +Using binary mode to transfer files. +ftp> prompt +Interactive mode off. +ftp> mget small* +OOPS: priv_sock_get_cmd + +Upstream-Status: Pending + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + seccompsandbox.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/seccompsandbox.c b/seccompsandbox.c +index 2c350a9..377c50e 100644 +--- a/seccompsandbox.c ++++ b/seccompsandbox.c +@@ -409,6 +409,8 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess) + allow_nr(__NR_getcwd); + allow_nr(__NR_chdir); + allow_nr(__NR_getdents); ++ allow_nr(__NR_getdents64); ++ allow_nr(__NR_sysinfo); + /* Misc */ + allow_nr(__NR_umask); + +-- +2.17.1 + diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch deleted file mode 100644 index c6c0f80a19..0000000000 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9c4826c19f04da533886209361a2caddf582d65c Mon Sep 17 00:00:00 2001 -From: Mingli Yu <Mingli.Yu@windriver.com> -Date: Tue, 6 Sep 2016 17:17:44 +0800 -Subject: [PATCH] vsftpd: allow sysinfo() in the seccomp sandbox - -Upstream-Status: Pending - -* Allow sysinfo() in the seccomp sandbox otherwise - comes below OOPS: priv_sock_get_cmd as the syscall - sysinfo() not allowed - -tnftp 192.168.1.1 -Connected to 192.168.1.1. -220 (vsFTPd 3.0.3) -Name (192.168.1.1:root): anonymous -331 Please specify the password. -Password: -230 Login successful. -Remote system type is UNIX. -Using binary mode to transfer files. -ftp> prompt -Interactive mode off. -ftp> mget small* -OOPS: priv_sock_get_cmd - -Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> - ---- - seccompsandbox.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/seccompsandbox.c b/seccompsandbox.c -index 2c350a9..67d9ca5 100644 ---- a/seccompsandbox.c -+++ b/seccompsandbox.c -@@ -409,6 +409,7 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess) - allow_nr(__NR_getcwd); - allow_nr(__NR_chdir); - allow_nr(__NR_getdents); -+ allow_nr(__NR_sysinfo); - /* Misc */ - allow_nr(__NR_umask); - diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb index 2e3e0e8843..df0d7f4551 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb @@ -18,7 +18,7 @@ SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \ file://volatiles.99_vsftpd \ file://vsftpd.service \ file://vsftpd-2.1.0-filter.patch \ - file://0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch \ + file://0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)} \ file://0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch \ diff --git a/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch index a83d854072..54e0b99a46 100644 --- a/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch +++ b/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch @@ -1,24 +1,26 @@ -From cc6dbabea0e452ebc93682df860a79ed9a45722e Mon Sep 17 00:00:00 2001 +From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001 From: Alexey Firago <alexey_firago@mentor.com> Date: Fri, 20 Oct 2017 00:04:19 +0300 Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during - cross-compilation + cross-compiling or native build Signed-off-by: Alexey Firago <alexey_firago@mentor.com> +Signed-off-by: Hiram Lew <lew@avast.com> +Signed-off-by: Jan Kaisrlik <jan.kaisrlik@avast.com> --- CMakeLists.txt | 9 ++++++++- templates/CMakeLists.txt.template | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index f9cd630..9663934 100644 +index a59fd81..cd90424 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -170,6 +170,13 @@ function(protobuf_generate_grpc_cpp) +@@ -160,6 +160,13 @@ function(protobuf_generate_grpc_cpp) return() endif() - -+ #if cross-compiling, find host plugin + ++ #if cross-compiling or nativesdk, find host plugin + if(CMAKE_CROSSCOMPILING) + find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin) + else() @@ -28,7 +30,7 @@ index f9cd630..9663934 100644 set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}) foreach(FIL ${ARGN}) get_filename_component(ABS_FIL ${FIL} ABSOLUTE) -@@ -345,7 +352,7 @@ function(protobuf_generate_grpc_cpp) +@@ -177,7 +184,7 @@ function(protobuf_generate_grpc_cpp) COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} --cpp_out=${_gRPC_PROTO_GENS_DIR} @@ -38,14 +40,14 @@ index f9cd630..9663934 100644 ${REL_FIL} DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template -index 64daf04..a7e8629 100644 +index de13d02..b22bd5c 100644 --- a/templates/CMakeLists.txt.template +++ b/templates/CMakeLists.txt.template @@ -209,6 +209,13 @@ return() endif() - -+ #if cross-compiling, find host plugin + ++ #if cross-compiling or nativesdk, find host plugin + if(CMAKE_CROSSCOMPILING) + find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin) + else() @@ -55,7 +57,7 @@ index 64daf04..a7e8629 100644 set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>) foreach(FIL <%text>${ARGN}</%text>) get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE) -@@ -390,7 +397,7 @@ +@@ -226,7 +233,7 @@ COMMAND <%text>${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}</%text> ARGS --grpc_out=<%text>generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}</%text> --cpp_out=<%text>${_gRPC_PROTO_GENS_DIR}</%text> @@ -64,5 +66,6 @@ index 64daf04..a7e8629 100644 <%text>${_protobuf_include_path}</%text> <%text>${REL_FIL}</%text> DEPENDS <%text>${ABS_FIL}</%text> <%text>${_gRPC_PROTOBUF_PROTOC}</%text> grpc_cpp_plugin --- +-- 2.7.4 + diff --git a/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb b/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb index 7b3f73657c..d236714325 100644 --- a/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb +++ b/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb @@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl" DEPENDS_append_class-target = " gtest grpc-native " +DEPENDS_append_class-nativesdk = " grpc-native " S = "${WORKDIR}/git" SRCREV = "d8020cb6daa87f1a3bb3b0c299bc081c4a3de1e8" @@ -16,6 +17,7 @@ SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;branch=${BRANCH} \ file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \ " SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch" +SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch" # Fixes build with older compilers 4.8 especially on ubuntu 14.04 CXXFLAGS_append_class-native = " -Wl,--no-as-needed" diff --git a/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb b/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb index 6fd0affdf6..040c53f5c5 100644 --- a/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb +++ b/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb @@ -4,12 +4,11 @@ HOMEPAGE = "http://rocky.eld.leidenuniv.nl/joomla/index.php?option=com_content&v LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://gpl_license.txt;md5=11c7b65c4a4acb9d5175f7e9bf99c403" -SRC_URI = "http://rocky.eld.leidenuniv.nl/arno-iptables-firewall/${BPN}_${PV}.tar.gz \ - " -SRC_URI[md5sum] = "77eba7f148bf2840a3e35a6f50c9c353" -SRC_URI[sha256sum] = "0bafd85ddc235752250eaec0c7fdb21e530912483f6807a97f86158ed2d301f7" +SRC_URI = "https://github.com/arno-iptables-firewall/aif/archive/${PV}.tar.gz" +SRC_URI[md5sum] = "71271c08299aacd45ceb9c9400082d03" +SRC_URI[sha256sum] = "e2c4fb88a25f0cae8308a3b2bb922b5e2f52f24d8309b24e15a527a6b326e703" -S = "${WORKDIR}/${BPN}_${PV}" +S = "${WORKDIR}/aif-${PV}" inherit systemd diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb index 46168b0ba4..51e0ec1a69 100644 --- a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb +++ b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb @@ -12,8 +12,8 @@ SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-too file://conntrack-failover \ file://init \ " -SRC_URI[tar.md5sum] = "acd9e0b27cf16ae3092ba900e4d7560e" -SRC_URI[tar.sha256sum] = "b7caf4fcc4c03575df57d25e5216584d597fd916c891f191dac616ce68bdba6c" +SRC_URI[tar.md5sum] = "9356a0cd4df81a597ac26d87ccfebac4" +SRC_URI[tar.sha256sum] = "36c6d99c7684851d4d72e75bd07ff3f0ff1baaf4b6f069eb7244990cd1a9a462" inherit autotools update-rc.d pkgconfig diff --git a/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb b/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb index f05bd615d5..276784009f 100644 --- a/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb +++ b/meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb @@ -12,6 +12,8 @@ RDEPENDS_${PN} += "bash" RRECOMMENDS_${PN} += "kernel-module-ebtables \ " +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/ebtables/files/ebtables/" + SRC_URI = "${SOURCEFORGE_MIRROR}/ebtables/ebtables-v${PV}.tar.gz \ file://ebtables-save \ file://installnonroot.patch \ diff --git a/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch b/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch deleted file mode 100644 index 76d2d5d287..0000000000 --- a/meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 32af64e1811c74292891dc4dc8455736f7d33ccf Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 30 Mar 2017 13:26:56 -0700 -Subject: [PATCH] Correct typo in the location of internal.h in #include - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/libnetfilter_queue.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c -index 211a8ba..065d618 100644 ---- a/src/libnetfilter_queue.c -+++ b/src/libnetfilter_queue.c -@@ -32,7 +32,7 @@ - - #include <libnfnetlink/libnfnetlink.h> - #include <libnetfilter_queue/libnetfilter_queue.h> --#include "src/internal.h" -+#include "internal.h" - - /** - * \mainpage --- -2.12.1 - diff --git a/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch b/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch index 946f1b71d7..aa9ff09a99 100644 --- a/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch +++ b/meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch @@ -1,4 +1,4 @@ -From 06562244ac4a1a61e1a2c6b219a517658f7349bf Mon Sep 17 00:00:00 2001 +From db7eb5f0a4e78c6bd3c4f9cbd8332d909eb82ad6 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 10 Apr 2017 12:09:41 -0700 Subject: [PATCH] Declare the define visivility attribute together @@ -9,16 +9,17 @@ symbols become hidden and consumers of this library fail to link due to these missing symbols Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- doxygen.cfg.in | 2 +- - src/extra/ipv4.c | 15 +++---- + src/extra/ipv4.c | 15 ++---- src/extra/ipv6.c | 9 ++-- - src/extra/pktbuff.c | 42 ++++++------------ - src/extra/tcp.c | 21 +++------ - src/extra/udp.c | 21 +++------ - src/internal.h | 5 +-- - src/libnetfilter_queue.c | 108 ++++++++++++++++------------------------------- - src/nlmsg.c | 21 +++------ + src/extra/pktbuff.c | 42 +++++---------- + src/extra/tcp.c | 21 +++----- + src/extra/udp.c | 21 +++----- + src/internal.h | 5 +- + src/libnetfilter_queue.c | 108 +++++++++++++-------------------------- + src/nlmsg.c | 21 +++----- 9 files changed, 82 insertions(+), 162 deletions(-) diff --git a/doxygen.cfg.in b/doxygen.cfg.in @@ -592,7 +593,7 @@ index 558d267..79b0752 100644 struct iphdr; diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c -index 065d618..ab0b66b 100644 +index 673e3b0..c12f068 100644 --- a/src/libnetfilter_queue.c +++ b/src/libnetfilter_queue.c @@ -133,8 +133,7 @@ struct nfq_data { @@ -772,7 +773,7 @@ index 065d618..ab0b66b 100644 /** * nfq_set_queue_flags - set flags (options) for the kernel queue -@@ -690,7 +678,7 @@ EXPORT_SYMBOL(nfq_set_mode); +@@ -708,7 +696,7 @@ EXPORT_SYMBOL(nfq_set_mode); * * \return -1 on error with errno set appropriately; =0 otherwise. */ @@ -781,7 +782,7 @@ index 065d618..ab0b66b 100644 uint32_t mask, uint32_t flags) { union { -@@ -711,7 +699,6 @@ int nfq_set_queue_flags(struct nfq_q_handle *qh, +@@ -729,7 +717,6 @@ int nfq_set_queue_flags(struct nfq_q_handle *qh, return nfnl_query(qh->h->nfnlh, &u.nmh); } @@ -789,7 +790,7 @@ index 065d618..ab0b66b 100644 /** * nfq_set_queue_maxlen - Set kernel queue maximum length parameter -@@ -724,7 +711,7 @@ EXPORT_SYMBOL(nfq_set_queue_flags); +@@ -742,7 +729,7 @@ EXPORT_SYMBOL(nfq_set_queue_flags); * * \return -1 on error; >=0 otherwise. */ @@ -798,7 +799,7 @@ index 065d618..ab0b66b 100644 uint32_t queuelen) { union { -@@ -742,7 +729,6 @@ int nfq_set_queue_maxlen(struct nfq_q_handle *qh, +@@ -760,7 +747,6 @@ int nfq_set_queue_maxlen(struct nfq_q_handle *qh, return nfnl_query(qh->h->nfnlh, &u.nmh); } @@ -806,7 +807,7 @@ index 065d618..ab0b66b 100644 /** * @} -@@ -829,14 +815,13 @@ static int __set_verdict(struct nfq_q_handle *qh, uint32_t id, +@@ -847,14 +833,13 @@ static int __set_verdict(struct nfq_q_handle *qh, uint32_t id, * * \return -1 on error; >= 0 otherwise. */ @@ -822,7 +823,7 @@ index 065d618..ab0b66b 100644 /** * nfq_set_verdict2 - like nfq_set_verdict, but you can set the mark. -@@ -847,14 +832,13 @@ EXPORT_SYMBOL(nfq_set_verdict); +@@ -865,14 +850,13 @@ EXPORT_SYMBOL(nfq_set_verdict); * \param data_len number of bytes of data pointed to by #buf * \param buf the buffer that contains the packet data */ @@ -838,7 +839,7 @@ index 065d618..ab0b66b 100644 /** * nfq_set_verdict_batch - issue verdicts on several packets at once -@@ -868,13 +852,12 @@ EXPORT_SYMBOL(nfq_set_verdict2); +@@ -886,13 +870,12 @@ EXPORT_SYMBOL(nfq_set_verdict2); * batch support was added in Linux 3.1. * These functions will fail silently on older kernels. */ @@ -853,7 +854,7 @@ index 065d618..ab0b66b 100644 /** * nfq_set_verdict_batch2 - like nfq_set_verdict_batch, but you can set a mark. -@@ -883,13 +866,12 @@ EXPORT_SYMBOL(nfq_set_verdict_batch); +@@ -901,13 +884,12 @@ EXPORT_SYMBOL(nfq_set_verdict_batch); * \param verdict verdict to return to netfilter (NF_ACCEPT, NF_DROP) * \param mark mark to put on packet */ @@ -868,7 +869,7 @@ index 065d618..ab0b66b 100644 /** * nfq_set_verdict_mark - like nfq_set_verdict, but you can set the mark. -@@ -905,14 +887,13 @@ EXPORT_SYMBOL(nfq_set_verdict_batch2); +@@ -923,14 +905,13 @@ EXPORT_SYMBOL(nfq_set_verdict_batch2); * This function is deprecated since it is broken, its use is highly * discouraged. Please, use nfq_set_verdict2 instead. */ @@ -884,7 +885,7 @@ index 065d618..ab0b66b 100644 /** * @} -@@ -947,12 +928,11 @@ EXPORT_SYMBOL(nfq_set_verdict_mark); +@@ -965,12 +946,11 @@ EXPORT_SYMBOL(nfq_set_verdict_mark); } __attribute__ ((packed)); \endverbatim */ @@ -898,7 +899,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_nfmark - get the packet mark -@@ -960,11 +940,10 @@ EXPORT_SYMBOL(nfq_get_msg_packet_hdr); +@@ -978,11 +958,10 @@ EXPORT_SYMBOL(nfq_get_msg_packet_hdr); * * \return the netfilter mark currently assigned to the given queued packet. */ @@ -911,7 +912,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_timestamp - get the packet timestamp -@@ -975,7 +954,7 @@ EXPORT_SYMBOL(nfq_get_nfmark); +@@ -993,7 +972,7 @@ EXPORT_SYMBOL(nfq_get_nfmark); * * \return 0 on success, non-zero on failure. */ @@ -920,7 +921,7 @@ index 065d618..ab0b66b 100644 { struct nfqnl_msg_packet_timestamp *qpt; qpt = nfnl_get_pointer_to_data(nfad->data, NFQA_TIMESTAMP, -@@ -988,7 +967,6 @@ int nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv) +@@ -1006,7 +985,6 @@ int nfq_get_timestamp(struct nfq_data *nfad, struct timeval *tv) return 0; } @@ -928,7 +929,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_indev - get the interface that the packet was received through -@@ -1001,11 +979,10 @@ EXPORT_SYMBOL(nfq_get_timestamp); +@@ -1019,11 +997,10 @@ EXPORT_SYMBOL(nfq_get_timestamp); * \warning all nfq_get_dev() functions return 0 if not set, since linux * only allows ifindex >= 1, see net/core/dev.c:2600 (in 2.6.13.1) */ @@ -941,7 +942,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_physindev - get the physical interface that the packet was received -@@ -1015,11 +992,10 @@ EXPORT_SYMBOL(nfq_get_indev); +@@ -1033,11 +1010,10 @@ EXPORT_SYMBOL(nfq_get_indev); * If the returned index is 0, the packet was locally generated or the * physical input interface is no longer known (ie. POSTROUTING?). */ @@ -954,7 +955,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_outdev - gets the interface that the packet will be routed out -@@ -1029,11 +1005,10 @@ EXPORT_SYMBOL(nfq_get_physindev); +@@ -1047,11 +1023,10 @@ EXPORT_SYMBOL(nfq_get_physindev); * returned index is 0, the packet is destined for localhost or the output * interface is not yet known (ie. PREROUTING?). */ @@ -967,7 +968,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_physoutdev - get the physical interface that the packet output -@@ -1045,11 +1020,10 @@ EXPORT_SYMBOL(nfq_get_outdev); +@@ -1063,11 +1038,10 @@ EXPORT_SYMBOL(nfq_get_outdev); * * \return The index of physical interface that the packet output will be routed out. */ @@ -980,7 +981,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_indev_name - get the name of the interface the packet -@@ -1089,13 +1063,12 @@ EXPORT_SYMBOL(nfq_get_physoutdev); +@@ -1107,13 +1081,12 @@ EXPORT_SYMBOL(nfq_get_physoutdev); \endverbatim * */ @@ -995,7 +996,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_physindev_name - get the name of the physical interface the -@@ -1109,13 +1082,12 @@ EXPORT_SYMBOL(nfq_get_indev_name); +@@ -1127,13 +1100,12 @@ EXPORT_SYMBOL(nfq_get_indev_name); * * \return -1 in case of error, > 0 if it succeed. */ @@ -1010,7 +1011,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_outdev_name - get the name of the physical interface the -@@ -1129,13 +1101,12 @@ EXPORT_SYMBOL(nfq_get_physindev_name); +@@ -1147,13 +1119,12 @@ EXPORT_SYMBOL(nfq_get_physindev_name); * * \return -1 in case of error, > 0 if it succeed. */ @@ -1025,7 +1026,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_physoutdev_name - get the name of the interface the -@@ -1150,13 +1121,12 @@ EXPORT_SYMBOL(nfq_get_outdev_name); +@@ -1168,13 +1139,12 @@ EXPORT_SYMBOL(nfq_get_outdev_name); * \return -1 in case of error, > 0 if it succeed. */ @@ -1040,7 +1041,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_packet_hw -@@ -1180,12 +1150,11 @@ EXPORT_SYMBOL(nfq_get_physoutdev_name); +@@ -1198,12 +1168,11 @@ EXPORT_SYMBOL(nfq_get_physoutdev_name); } __attribute__ ((packed)); \endverbatim */ @@ -1054,7 +1055,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_uid - get the UID of the user the packet belongs to -@@ -1193,7 +1162,7 @@ EXPORT_SYMBOL(nfq_get_packet_hw); +@@ -1215,7 +1184,7 @@ EXPORT_SYMBOL(nfq_get_packet_hw); * * \return 1 if there is a UID available, 0 otherwise. */ @@ -1063,7 +1064,7 @@ index 065d618..ab0b66b 100644 { if (!nfnl_attr_present(nfad->data, NFQA_UID)) return 0; -@@ -1201,7 +1170,6 @@ int nfq_get_uid(struct nfq_data *nfad, uint32_t *uid) +@@ -1223,7 +1192,6 @@ int nfq_get_uid(struct nfq_data *nfad, uint32_t *uid) *uid = ntohl(nfnl_get_data(nfad->data, NFQA_UID, uint32_t)); return 1; } @@ -1071,7 +1072,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_gid - get the GID of the user the packet belongs to -@@ -1209,7 +1177,7 @@ EXPORT_SYMBOL(nfq_get_uid); +@@ -1235,7 +1203,7 @@ EXPORT_SYMBOL(nfq_get_uid); * * \return 1 if there is a GID available, 0 otherwise. */ @@ -1080,15 +1081,15 @@ index 065d618..ab0b66b 100644 { if (!nfnl_attr_present(nfad->data, NFQA_GID)) return 0; -@@ -1217,7 +1185,6 @@ int nfq_get_gid(struct nfq_data *nfad, uint32_t *gid) +@@ -1243,7 +1211,6 @@ int nfq_get_gid(struct nfq_data *nfad, uint32_t *gid) *gid = ntohl(nfnl_get_data(nfad->data, NFQA_GID, uint32_t)); return 1; } -EXPORT_SYMBOL(nfq_get_gid); - /** -@@ -1227,7 +1194,7 @@ EXPORT_SYMBOL(nfq_get_gid); + * nfq_get_secctx - get the security context for this packet +@@ -1256,7 +1223,7 @@ EXPORT_SYMBOL(nfq_get_gid); * * \return -1 on error, otherwise > 0 */ @@ -1097,7 +1098,7 @@ index 065d618..ab0b66b 100644 { if (!nfnl_attr_present(nfad->data, NFQA_SECCTX)) return -1; -@@ -1240,7 +1207,6 @@ int nfq_get_secctx(struct nfq_data *nfad, unsigned char **secdata) +@@ -1269,7 +1236,6 @@ int nfq_get_secctx(struct nfq_data *nfad, unsigned char **secdata) return 0; } @@ -1105,7 +1106,7 @@ index 065d618..ab0b66b 100644 /** * nfq_get_payload - get payload -@@ -1253,7 +1219,7 @@ EXPORT_SYMBOL(nfq_get_secctx); +@@ -1282,7 +1248,7 @@ EXPORT_SYMBOL(nfq_get_secctx); * * \return -1 on error, otherwise > 0. */ @@ -1114,7 +1115,7 @@ index 065d618..ab0b66b 100644 { *data = (unsigned char *) nfnl_get_pointer_to_data(nfad->data, NFQA_PAYLOAD, char); -@@ -1262,7 +1228,6 @@ int nfq_get_payload(struct nfq_data *nfad, unsigned char **data) +@@ -1291,7 +1257,6 @@ int nfq_get_payload(struct nfq_data *nfad, unsigned char **data) return -1; } @@ -1122,7 +1123,7 @@ index 065d618..ab0b66b 100644 /** * @} -@@ -1307,7 +1272,7 @@ do { \ +@@ -1336,7 +1301,7 @@ do { \ * would have been printed into the buffer (in case that there is enough * room in it). See snprintf() return value for more information. */ @@ -1131,7 +1132,7 @@ index 065d618..ab0b66b 100644 { struct nfqnl_msg_packet_hdr *ph; struct nfqnl_msg_packet_hw *hwph; -@@ -1460,7 +1425,6 @@ int nfq_snprintf_xml(char *buf, size_t rem, struct nfq_data *tb, int flags) +@@ -1489,7 +1454,6 @@ int nfq_snprintf_xml(char *buf, size_t rem, struct nfq_data *tb, int flags) return len; } @@ -1224,6 +1225,3 @@ index ba28c77..5582407 100644 /** * @} --- -2.12.2 - diff --git a/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb b/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.7.bb index e4e186bdbb..5c81501567 100644 --- a/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb +++ b/meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.7.bb @@ -6,10 +6,9 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" DEPENDS = "libnfnetlink libmnl" -SRC_URI = "http://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2;name=tar \ -" -SRC_URI[tar.md5sum] = "7139c5f408dd9606ffecfd5dcda8175b" -SRC_URI[tar.sha256sum] = "efcc08021284e75f4d96d3581c5155a11f08fd63316b1938cbcb269c87f37feb" +SRC_URI = "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-${PV}.tar.bz2" +SRC_URI[md5sum] = "013d182c2df716fcb5eb2a1fb7febd1f" +SRC_URI[sha256sum] = "33685351e29dff93cc21f5344b6e628e41e32b9f9e567f4bec0478eb41f989b6" S = "${WORKDIR}/libnetfilter_conntrack-${PV}" diff --git a/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb b/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.3.bb index 754e11d999..896cfdfaa4 100644 --- a/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb +++ b/meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.3.bb @@ -6,11 +6,9 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" DEPENDS = "libnfnetlink libmnl" -PV .= "+git${SRCREV}" -SRCREV = "981025e103d887fb6a9c9bb49c74ec323108d098" +SRCREV = "601abd1c71ccdf90753cf294c120ad43fb25dc54" SRC_URI = "git://git.netfilter.org/libnetfilter_queue \ - file://0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch \ file://0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch \ " diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch b/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch deleted file mode 100644 index e82b23813f..0000000000 --- a/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch +++ /dev/null @@ -1,2949 +0,0 @@ -From bd01f785da5222d0662be3182fe2650e1c12f43e Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 10 Apr 2017 14:07:07 -0700 -Subject: [PATCH] Declare the define visivility attribute together - -clang ignores the visibility attribute if its not -defined before the definition. As a result these -symbols become hidden and consumers of this library -fail to link due to these missing symbols - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - doxygen.cfg.in | 2 +- - include/utils.h | 5 +-- - src/batch.c | 21 ++++------- - src/chain.c | 102 +++++++++++++++++--------------------------------- - src/common.c | 21 ++++------- - src/expr.c | 51 +++++++++---------------- - src/gen.c | 39 +++++++------------ - src/object.c | 99 ++++++++++++++++-------------------------------- - src/rule.c | 114 +++++++++++++++++++------------------------------------- - src/ruleset.c | 48 ++++++++---------------- - src/set.c | 96 ++++++++++++++++------------------------------- - src/set_elem.c | 72 ++++++++++++----------------------- - src/table.c | 90 +++++++++++++++----------------------------- - src/trace.c | 27 +++++--------- - src/udata.c | 48 ++++++++---------------- - 15 files changed, 279 insertions(+), 556 deletions(-) - -diff --git a/doxygen.cfg.in b/doxygen.cfg.in -index 23fcad4..e49f28d 100644 ---- a/doxygen.cfg.in -+++ b/doxygen.cfg.in -@@ -72,7 +72,7 @@ RECURSIVE = YES - EXCLUDE = - EXCLUDE_SYMLINKS = NO - EXCLUDE_PATTERNS = */.git/* .*.d --EXCLUDE_SYMBOLS = EXPORT_SYMBOL -+EXCLUDE_SYMBOLS = - EXAMPLE_PATH = - EXAMPLE_PATTERNS = - EXAMPLE_RECURSIVE = NO -diff --git a/include/utils.h b/include/utils.h -index 2f5cf34..ff8207e 100644 ---- a/include/utils.h -+++ b/include/utils.h -@@ -9,10 +9,9 @@ - - #include "config.h" - #ifdef HAVE_VISIBILITY_HIDDEN --# define __visible __attribute__((visibility("default"))) --# define EXPORT_SYMBOL(x) typeof(x) (x) __visible; -+# define __EXPORTED __attribute__((visibility("default"))) - #else --# define EXPORT_SYMBOL -+# define __EXPORT - #endif - - #define __noreturn __attribute__((__noreturn__)) -diff --git a/src/batch.c b/src/batch.c -index 5ee3fd7..3bedd26 100644 ---- a/src/batch.c -+++ b/src/batch.c -@@ -57,7 +57,7 @@ static void nftnl_batch_add_page(struct nftnl_batch_page *page, - list_add_tail(&page->head, &batch->page_list); - } - --struct nftnl_batch *nftnl_batch_alloc(uint32_t pg_size, uint32_t pg_overrun_size) -+struct nftnl_batch __EXPORTED *nftnl_batch_alloc(uint32_t pg_size, uint32_t pg_overrun_size) - { - struct nftnl_batch *batch; - struct nftnl_batch_page *page; -@@ -80,9 +80,8 @@ err1: - free(batch); - return NULL; - } --EXPORT_SYMBOL(nftnl_batch_alloc); - --void nftnl_batch_free(struct nftnl_batch *batch) -+void __EXPORTED nftnl_batch_free(struct nftnl_batch *batch) - { - struct nftnl_batch_page *page, *next; - -@@ -94,9 +93,8 @@ void nftnl_batch_free(struct nftnl_batch *batch) - - free(batch); - } --EXPORT_SYMBOL(nftnl_batch_free); - --int nftnl_batch_update(struct nftnl_batch *batch) -+int __EXPORTED nftnl_batch_update(struct nftnl_batch *batch) - { - struct nftnl_batch_page *page; - struct nlmsghdr *last_nlh; -@@ -119,21 +117,18 @@ int nftnl_batch_update(struct nftnl_batch *batch) - err1: - return -1; - } --EXPORT_SYMBOL(nftnl_batch_update); - --void *nftnl_batch_buffer(struct nftnl_batch *batch) -+void __EXPORTED *nftnl_batch_buffer(struct nftnl_batch *batch) - { - return mnl_nlmsg_batch_current(batch->current_page->batch); - } --EXPORT_SYMBOL(nftnl_batch_buffer); - --uint32_t nftnl_batch_buffer_len(struct nftnl_batch *batch) -+uint32_t __EXPORTED nftnl_batch_buffer_len(struct nftnl_batch *batch) - { - return mnl_nlmsg_batch_size(batch->current_page->batch); - } --EXPORT_SYMBOL(nftnl_batch_buffer_len); - --int nftnl_batch_iovec_len(struct nftnl_batch *batch) -+int __EXPORTED nftnl_batch_iovec_len(struct nftnl_batch *batch) - { - int num_pages = batch->num_pages; - -@@ -143,9 +138,8 @@ int nftnl_batch_iovec_len(struct nftnl_batch *batch) - - return num_pages; - } --EXPORT_SYMBOL(nftnl_batch_iovec_len); - --void nftnl_batch_iovec(struct nftnl_batch *batch, struct iovec *iov, -+void __EXPORTED nftnl_batch_iovec(struct nftnl_batch *batch, struct iovec *iov, - uint32_t iovlen) - { - struct nftnl_batch_page *page; -@@ -160,4 +154,3 @@ void nftnl_batch_iovec(struct nftnl_batch *batch, struct iovec *iov, - i++; - } - } --EXPORT_SYMBOL(nftnl_batch_iovec); -diff --git a/src/chain.c b/src/chain.c -index 29860c5..362fa0d 100644 ---- a/src/chain.c -+++ b/src/chain.c -@@ -87,13 +87,12 @@ static const char *nftnl_hooknum2str(int family, int hooknum) - return "unknown"; - } - --struct nftnl_chain *nftnl_chain_alloc(void) -+struct nftnl_chain __EXPORTED *nftnl_chain_alloc(void) - { - return calloc(1, sizeof(struct nftnl_chain)); - } --EXPORT_SYMBOL(nftnl_chain_alloc); - --void nftnl_chain_free(const struct nftnl_chain *c) -+void __EXPORTED nftnl_chain_free(const struct nftnl_chain *c) - { - if (c->flags & (1 << NFTNL_CHAIN_NAME)) - xfree(c->name); -@@ -105,15 +104,13 @@ void nftnl_chain_free(const struct nftnl_chain *c) - xfree(c->dev); - xfree(c); - } --EXPORT_SYMBOL(nftnl_chain_free); - --bool nftnl_chain_is_set(const struct nftnl_chain *c, uint16_t attr) -+bool __EXPORTED nftnl_chain_is_set(const struct nftnl_chain *c, uint16_t attr) - { - return c->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_chain_is_set); - --void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) -+void __EXPORTED nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) - { - if (!(c->flags & (1 << attr))) - return; -@@ -147,7 +144,6 @@ void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr) - - c->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_chain_unset); - - static uint32_t nftnl_chain_validate[NFTNL_CHAIN_MAX + 1] = { - [NFTNL_CHAIN_HOOKNUM] = sizeof(uint32_t), -@@ -159,7 +155,7 @@ static uint32_t nftnl_chain_validate[NFTNL_CHAIN_MAX + 1] = { - [NFTNL_CHAIN_FAMILY] = sizeof(uint32_t), - }; - --int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, -+int __EXPORTED nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - const void *data, uint32_t data_len) - { - nftnl_assert_attr_exists(attr, NFTNL_CHAIN_MAX); -@@ -226,45 +222,38 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr, - c->flags |= (1 << attr); - return 0; - } --EXPORT_SYMBOL(nftnl_chain_set_data); - --void nftnl_chain_set(struct nftnl_chain *c, uint16_t attr, const void *data) -+void __EXPORTED nftnl_chain_set(struct nftnl_chain *c, uint16_t attr, const void *data) - { - nftnl_chain_set_data(c, attr, data, nftnl_chain_validate[attr]); - } --EXPORT_SYMBOL(nftnl_chain_set); - --void nftnl_chain_set_u32(struct nftnl_chain *c, uint16_t attr, uint32_t data) -+void __EXPORTED nftnl_chain_set_u32(struct nftnl_chain *c, uint16_t attr, uint32_t data) - { - nftnl_chain_set_data(c, attr, &data, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_chain_set_u32); - --void nftnl_chain_set_s32(struct nftnl_chain *c, uint16_t attr, int32_t data) -+void __EXPORTED nftnl_chain_set_s32(struct nftnl_chain *c, uint16_t attr, int32_t data) - { - nftnl_chain_set_data(c, attr, &data, sizeof(int32_t)); - } --EXPORT_SYMBOL(nftnl_chain_set_s32); - --void nftnl_chain_set_u64(struct nftnl_chain *c, uint16_t attr, uint64_t data) -+void __EXPORTED nftnl_chain_set_u64(struct nftnl_chain *c, uint16_t attr, uint64_t data) - { - nftnl_chain_set_data(c, attr, &data, sizeof(uint64_t)); - } --EXPORT_SYMBOL(nftnl_chain_set_u64); - --void nftnl_chain_set_u8(struct nftnl_chain *c, uint16_t attr, uint8_t data) -+void __EXPORTED nftnl_chain_set_u8(struct nftnl_chain *c, uint16_t attr, uint8_t data) - { - nftnl_chain_set_data(c, attr, &data, sizeof(uint8_t)); - } --EXPORT_SYMBOL(nftnl_chain_set_u8); - --int nftnl_chain_set_str(struct nftnl_chain *c, uint16_t attr, const char *str) -+int __EXPORTED nftnl_chain_set_str(struct nftnl_chain *c, uint16_t attr, const char *str) - { - return nftnl_chain_set_data(c, attr, str, strlen(str) + 1); - } --EXPORT_SYMBOL(nftnl_chain_set_str); - --const void *nftnl_chain_get_data(const struct nftnl_chain *c, uint16_t attr, -+const void __EXPORTED *nftnl_chain_get_data(const struct nftnl_chain *c, uint16_t attr, - uint32_t *data_len) - { - if (!(c->flags & (1 << attr))) -@@ -310,22 +299,19 @@ const void *nftnl_chain_get_data(const struct nftnl_chain *c, uint16_t attr, - } - return NULL; - } --EXPORT_SYMBOL(nftnl_chain_get_data); - --const void *nftnl_chain_get(const struct nftnl_chain *c, uint16_t attr) -+const void __EXPORTED *nftnl_chain_get(const struct nftnl_chain *c, uint16_t attr) - { - uint32_t data_len; - return nftnl_chain_get_data(c, attr, &data_len); - } --EXPORT_SYMBOL(nftnl_chain_get); - --const char *nftnl_chain_get_str(const struct nftnl_chain *c, uint16_t attr) -+const char __EXPORTED *nftnl_chain_get_str(const struct nftnl_chain *c, uint16_t attr) - { - return nftnl_chain_get(c, attr); - } --EXPORT_SYMBOL(nftnl_chain_get_str); - --uint32_t nftnl_chain_get_u32(const struct nftnl_chain *c, uint16_t attr) -+uint32_t __EXPORTED nftnl_chain_get_u32(const struct nftnl_chain *c, uint16_t attr) - { - uint32_t data_len; - const uint32_t *val = nftnl_chain_get_data(c, attr, &data_len); -@@ -334,9 +320,8 @@ uint32_t nftnl_chain_get_u32(const struct nftnl_chain *c, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_chain_get_u32); - --int32_t nftnl_chain_get_s32(const struct nftnl_chain *c, uint16_t attr) -+int32_t __EXPORTED nftnl_chain_get_s32(const struct nftnl_chain *c, uint16_t attr) - { - uint32_t data_len; - const int32_t *val = nftnl_chain_get_data(c, attr, &data_len); -@@ -345,9 +330,8 @@ int32_t nftnl_chain_get_s32(const struct nftnl_chain *c, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_chain_get_s32); - --uint64_t nftnl_chain_get_u64(const struct nftnl_chain *c, uint16_t attr) -+uint64_t __EXPORTED nftnl_chain_get_u64(const struct nftnl_chain *c, uint16_t attr) - { - uint32_t data_len; - const uint64_t *val = nftnl_chain_get_data(c, attr, &data_len); -@@ -356,9 +340,8 @@ uint64_t nftnl_chain_get_u64(const struct nftnl_chain *c, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_chain_get_u64); - --uint8_t nftnl_chain_get_u8(const struct nftnl_chain *c, uint16_t attr) -+uint8_t __EXPORTED nftnl_chain_get_u8(const struct nftnl_chain *c, uint16_t attr) - { - uint32_t data_len; - const uint8_t *val = nftnl_chain_get_data(c, attr, &data_len); -@@ -367,9 +350,8 @@ uint8_t nftnl_chain_get_u8(const struct nftnl_chain *c, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_chain_get_u8); - --void nftnl_chain_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_chain *c) -+void __EXPORTED nftnl_chain_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_chain *c) - { - if (c->flags & (1 << NFTNL_CHAIN_TABLE)) - mnl_attr_put_strz(nlh, NFTA_CHAIN_TABLE, c->table); -@@ -404,7 +386,6 @@ void nftnl_chain_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_ch - if (c->flags & (1 << NFTNL_CHAIN_TYPE)) - mnl_attr_put_strz(nlh, NFTA_CHAIN_TYPE, c->type); - } --EXPORT_SYMBOL(nftnl_chain_nlmsg_build_payload); - - static int nftnl_chain_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -529,7 +510,7 @@ static int nftnl_chain_parse_hook(struct nlattr *attr, struct nftnl_chain *c) - return 0; - } - --int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) -+int __EXPORTED nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - { - struct nlattr *tb[NFTA_CHAIN_MAX+1] = {}; - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); -@@ -590,7 +571,6 @@ int nftnl_chain_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_chain *c) - - return ret; - } --EXPORT_SYMBOL(nftnl_chain_nlmsg_parse); - - static inline int nftnl_str2hooknum(int family, const char *hook) - { -@@ -732,19 +712,17 @@ static int nftnl_chain_do_parse(struct nftnl_chain *c, enum nftnl_parse_type typ - return ret; - } - --int nftnl_chain_parse(struct nftnl_chain *c, enum nftnl_parse_type type, -+int __EXPORTED nftnl_chain_parse(struct nftnl_chain *c, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - return nftnl_chain_do_parse(c, type, data, err, NFTNL_PARSE_BUFFER); - } --EXPORT_SYMBOL(nftnl_chain_parse); - --int nftnl_chain_parse_file(struct nftnl_chain *c, enum nftnl_parse_type type, -+int __EXPORTED nftnl_chain_parse_file(struct nftnl_chain *c, enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) - { - return nftnl_chain_do_parse(c, type, fp, err, NFTNL_PARSE_FILE); - } --EXPORT_SYMBOL(nftnl_chain_parse_file); - - static int nftnl_chain_export(char *buf, size_t size, - const struct nftnl_chain *c, int type) -@@ -841,13 +819,12 @@ static int nftnl_chain_cmd_snprintf(char *buf, size_t size, - return offset; - } - --int nftnl_chain_snprintf(char *buf, size_t size, const struct nftnl_chain *c, -+int __EXPORTED nftnl_chain_snprintf(char *buf, size_t size, const struct nftnl_chain *c, - uint32_t type, uint32_t flags) - { - return nftnl_chain_cmd_snprintf(buf, size, c, nftnl_flag2cmd(flags), type, - flags); - } --EXPORT_SYMBOL(nftnl_chain_snprintf); - - static int nftnl_chain_do_snprintf(char *buf, size_t size, const void *c, - uint32_t cmd, uint32_t type, uint32_t flags) -@@ -855,19 +832,18 @@ static int nftnl_chain_do_snprintf(char *buf, size_t size, const void *c, - return nftnl_chain_snprintf(buf, size, c, type, flags); - } - --int nftnl_chain_fprintf(FILE *fp, const struct nftnl_chain *c, uint32_t type, -+int __EXPORTED nftnl_chain_fprintf(FILE *fp, const struct nftnl_chain *c, uint32_t type, - uint32_t flags) - { - return nftnl_fprintf(fp, c, NFTNL_CMD_UNSPEC, type, flags, - nftnl_chain_do_snprintf); - } --EXPORT_SYMBOL(nftnl_chain_fprintf); - - struct nftnl_chain_list { - struct list_head list; - }; - --struct nftnl_chain_list *nftnl_chain_list_alloc(void) -+struct nftnl_chain_list __EXPORTED *nftnl_chain_list_alloc(void) - { - struct nftnl_chain_list *list; - -@@ -879,9 +855,8 @@ struct nftnl_chain_list *nftnl_chain_list_alloc(void) - - return list; - } --EXPORT_SYMBOL(nftnl_chain_list_alloc); - --void nftnl_chain_list_free(struct nftnl_chain_list *list) -+void __EXPORTED nftnl_chain_list_free(struct nftnl_chain_list *list) - { - struct nftnl_chain *r, *tmp; - -@@ -891,33 +866,28 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) - } - xfree(list); - } --EXPORT_SYMBOL(nftnl_chain_list_free); - --int nftnl_chain_list_is_empty(const struct nftnl_chain_list *list) -+int __EXPORTED nftnl_chain_list_is_empty(const struct nftnl_chain_list *list) - { - return list_empty(&list->list); - } --EXPORT_SYMBOL(nftnl_chain_list_is_empty); - --void nftnl_chain_list_add(struct nftnl_chain *r, struct nftnl_chain_list *list) -+void __EXPORTED nftnl_chain_list_add(struct nftnl_chain *r, struct nftnl_chain_list *list) - { - list_add(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_chain_list_add); - --void nftnl_chain_list_add_tail(struct nftnl_chain *r, struct nftnl_chain_list *list) -+void __EXPORTED nftnl_chain_list_add_tail(struct nftnl_chain *r, struct nftnl_chain_list *list) - { - list_add_tail(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_chain_list_add_tail); - --void nftnl_chain_list_del(struct nftnl_chain *r) -+void __EXPORTED nftnl_chain_list_del(struct nftnl_chain *r) - { - list_del(&r->head); - } --EXPORT_SYMBOL(nftnl_chain_list_del); - --int nftnl_chain_list_foreach(struct nftnl_chain_list *chain_list, -+int __EXPORTED nftnl_chain_list_foreach(struct nftnl_chain_list *chain_list, - int (*cb)(struct nftnl_chain *r, void *data), - void *data) - { -@@ -931,14 +901,13 @@ int nftnl_chain_list_foreach(struct nftnl_chain_list *chain_list, - } - return 0; - } --EXPORT_SYMBOL(nftnl_chain_list_foreach); - - struct nftnl_chain_list_iter { - const struct nftnl_chain_list *list; - struct nftnl_chain *cur; - }; - --struct nftnl_chain_list_iter * -+struct nftnl_chain_list_iter __EXPORTED * - nftnl_chain_list_iter_create(const struct nftnl_chain_list *l) - { - struct nftnl_chain_list_iter *iter; -@@ -955,9 +924,8 @@ nftnl_chain_list_iter_create(const struct nftnl_chain_list *l) - - return iter; - } --EXPORT_SYMBOL(nftnl_chain_list_iter_create); - --struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *iter) -+struct nftnl_chain __EXPORTED *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *iter) - { - struct nftnl_chain *r = iter->cur; - -@@ -971,10 +939,8 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite - - return r; - } --EXPORT_SYMBOL(nftnl_chain_list_iter_next); - --void nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter) -+void __EXPORTED nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter) - { - xfree(iter); - } --EXPORT_SYMBOL(nftnl_chain_list_iter_destroy); -diff --git a/src/common.c b/src/common.c -index a95883c..68bce2e 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -43,15 +43,14 @@ static struct nlmsghdr *__nftnl_nlmsg_build_hdr(char *buf, uint16_t type, - return nlh; - } - --struct nlmsghdr *nftnl_nlmsg_build_hdr(char *buf, uint16_t type, uint16_t family, -+struct nlmsghdr __EXPORTED *nftnl_nlmsg_build_hdr(char *buf, uint16_t type, uint16_t family, - uint16_t flags, uint32_t seq) - { - return __nftnl_nlmsg_build_hdr(buf, (NFNL_SUBSYS_NFTABLES << 8) | type, - family, flags, seq, 0); - } --EXPORT_SYMBOL(nftnl_nlmsg_build_hdr); - --struct nftnl_parse_err *nftnl_parse_err_alloc(void) -+struct nftnl_parse_err __EXPORTED *nftnl_parse_err_alloc(void) - { - struct nftnl_parse_err *err; - -@@ -63,15 +62,13 @@ struct nftnl_parse_err *nftnl_parse_err_alloc(void) - - return err; - } --EXPORT_SYMBOL(nftnl_parse_err_alloc); - --void nftnl_parse_err_free(struct nftnl_parse_err *err) -+void __EXPORTED nftnl_parse_err_free(struct nftnl_parse_err *err) - { - xfree(err); - } --EXPORT_SYMBOL(nftnl_parse_err_free); - --int nftnl_parse_perror(const char *msg, struct nftnl_parse_err *err) -+int __EXPORTED nftnl_parse_perror(const char *msg, struct nftnl_parse_err *err) - { - switch (err->error) { - case NFTNL_PARSE_EBADINPUT: -@@ -89,7 +86,6 @@ int nftnl_parse_perror(const char *msg, struct nftnl_parse_err *err) - return fprintf(stderr, "%s: Undefined error\n", msg); - } - } --EXPORT_SYMBOL(nftnl_parse_perror); - - int nftnl_cmd_header_snprintf(char *buf, size_t size, uint32_t cmd, uint32_t type, - uint32_t flags) -@@ -165,21 +161,19 @@ int nftnl_cmd_footer_fprintf(FILE *fp, uint32_t cmd, uint32_t type, - nftnl_cmd_footer_fprintf_cb); - } - --struct nlmsghdr *nftnl_batch_begin(char *buf, uint32_t seq) -+struct nlmsghdr __EXPORTED *nftnl_batch_begin(char *buf, uint32_t seq) - { - return __nftnl_nlmsg_build_hdr(buf, NFNL_MSG_BATCH_BEGIN, AF_UNSPEC, - 0, seq, NFNL_SUBSYS_NFTABLES); - } --EXPORT_SYMBOL(nftnl_batch_begin); - --struct nlmsghdr *nftnl_batch_end(char *buf, uint32_t seq) -+struct nlmsghdr __EXPORTED *nftnl_batch_end(char *buf, uint32_t seq) - { - return __nftnl_nlmsg_build_hdr(buf, NFNL_MSG_BATCH_END, AF_UNSPEC, - 0, seq, NFNL_SUBSYS_NFTABLES); - } --EXPORT_SYMBOL(nftnl_batch_end); - --int nftnl_batch_is_supported(void) -+int __EXPORTED nftnl_batch_is_supported(void) - { - struct mnl_socket *nl; - struct mnl_nlmsg_batch *b; -@@ -236,4 +230,3 @@ err: - mnl_nlmsg_batch_stop(b); - return -1; - } --EXPORT_SYMBOL(nftnl_batch_is_supported); -diff --git a/src/expr.c b/src/expr.c -index 10ba2c4..c7eb2b4 100644 ---- a/src/expr.c -+++ b/src/expr.c -@@ -24,7 +24,7 @@ - - #include <libnftnl/expr.h> - --struct nftnl_expr *nftnl_expr_alloc(const char *name) -+struct nftnl_expr __EXPORTED *nftnl_expr_alloc(const char *name) - { - struct nftnl_expr *expr; - struct expr_ops *ops; -@@ -43,24 +43,21 @@ struct nftnl_expr *nftnl_expr_alloc(const char *name) - - return expr; - } --EXPORT_SYMBOL(nftnl_expr_alloc); - --void nftnl_expr_free(const struct nftnl_expr *expr) -+void __EXPORTED nftnl_expr_free(const struct nftnl_expr *expr) - { - if (expr->ops->free) - expr->ops->free(expr); - - xfree(expr); - } --EXPORT_SYMBOL(nftnl_expr_free); - --bool nftnl_expr_is_set(const struct nftnl_expr *expr, uint16_t type) -+bool __EXPORTED nftnl_expr_is_set(const struct nftnl_expr *expr, uint16_t type) - { - return expr->flags & (1 << type); - } --EXPORT_SYMBOL(nftnl_expr_is_set); - --int nftnl_expr_set(struct nftnl_expr *expr, uint16_t type, -+int __EXPORTED nftnl_expr_set(struct nftnl_expr *expr, uint16_t type, - const void *data, uint32_t data_len) - { - switch(type) { -@@ -73,43 +70,37 @@ int nftnl_expr_set(struct nftnl_expr *expr, uint16_t type, - expr->flags |= (1 << type); - return 0; - } --EXPORT_SYMBOL(nftnl_expr_set); - --void -+void __EXPORTED - nftnl_expr_set_u8(struct nftnl_expr *expr, uint16_t type, uint8_t data) - { - nftnl_expr_set(expr, type, &data, sizeof(uint8_t)); - } --EXPORT_SYMBOL(nftnl_expr_set_u8); - --void -+void __EXPORTED - nftnl_expr_set_u16(struct nftnl_expr *expr, uint16_t type, uint16_t data) - { - nftnl_expr_set(expr, type, &data, sizeof(uint16_t)); - } --EXPORT_SYMBOL(nftnl_expr_set_u16); - --void -+void __EXPORTED - nftnl_expr_set_u32(struct nftnl_expr *expr, uint16_t type, uint32_t data) - { - nftnl_expr_set(expr, type, &data, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_expr_set_u32); - --void -+void __EXPORTED - nftnl_expr_set_u64(struct nftnl_expr *expr, uint16_t type, uint64_t data) - { - nftnl_expr_set(expr, type, &data, sizeof(uint64_t)); - } --EXPORT_SYMBOL(nftnl_expr_set_u64); - --int nftnl_expr_set_str(struct nftnl_expr *expr, uint16_t type, const char *str) -+int __EXPORTED nftnl_expr_set_str(struct nftnl_expr *expr, uint16_t type, const char *str) - { - return nftnl_expr_set(expr, type, str, strlen(str) + 1); - } --EXPORT_SYMBOL(nftnl_expr_set_str); - --const void *nftnl_expr_get(const struct nftnl_expr *expr, -+const void __EXPORTED *nftnl_expr_get(const struct nftnl_expr *expr, - uint16_t type, uint32_t *data_len) - { - const void *ret; -@@ -129,9 +120,8 @@ const void *nftnl_expr_get(const struct nftnl_expr *expr, - - return ret; - } --EXPORT_SYMBOL(nftnl_expr_get); - --uint8_t nftnl_expr_get_u8(const struct nftnl_expr *expr, uint16_t type) -+uint8_t __EXPORTED nftnl_expr_get_u8(const struct nftnl_expr *expr, uint16_t type) - { - const void *data; - uint32_t data_len; -@@ -145,9 +135,8 @@ uint8_t nftnl_expr_get_u8(const struct nftnl_expr *expr, uint16_t type) - - return *((uint8_t *)data); - } --EXPORT_SYMBOL(nftnl_expr_get_u8); - --uint16_t nftnl_expr_get_u16(const struct nftnl_expr *expr, uint16_t type) -+uint16_t __EXPORTED nftnl_expr_get_u16(const struct nftnl_expr *expr, uint16_t type) - { - const void *data; - uint32_t data_len; -@@ -161,9 +150,8 @@ uint16_t nftnl_expr_get_u16(const struct nftnl_expr *expr, uint16_t type) - - return *((uint16_t *)data); - } --EXPORT_SYMBOL(nftnl_expr_get_u16); - --uint32_t nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type) -+uint32_t __EXPORTED nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type) - { - const void *data; - uint32_t data_len; -@@ -177,9 +165,8 @@ uint32_t nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type) - - return *((uint32_t *)data); - } --EXPORT_SYMBOL(nftnl_expr_get_u32); - --uint64_t nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type) -+uint64_t __EXPORTED nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type) - { - const void *data; - uint32_t data_len; -@@ -193,17 +180,15 @@ uint64_t nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type) - - return *((uint64_t *)data); - } --EXPORT_SYMBOL(nftnl_expr_get_u64); - --const char *nftnl_expr_get_str(const struct nftnl_expr *expr, uint16_t type) -+const char __EXPORTED *nftnl_expr_get_str(const struct nftnl_expr *expr, uint16_t type) - { - uint32_t data_len; - - return (const char *)nftnl_expr_get(expr, type, &data_len); - } --EXPORT_SYMBOL(nftnl_expr_get_str); - --bool nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2) -+bool __EXPORTED nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2) - { - if (e1->flags != e2->flags || - strcmp(e1->ops->name, e2->ops->name) != 0) -@@ -211,7 +196,6 @@ bool nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2) - - return e1->ops->cmp(e1, e2); - } --EXPORT_SYMBOL(nftnl_expr_cmp); - - void nftnl_expr_build_payload(struct nlmsghdr *nlh, struct nftnl_expr *expr) - { -@@ -275,7 +259,7 @@ err1: - return NULL; - } - --int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr, -+int __EXPORTED nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr, - uint32_t type, uint32_t flags) - { - int ret; -@@ -289,4 +273,3 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr, - - return offset; - } --EXPORT_SYMBOL(nftnl_expr_snprintf); -diff --git a/src/gen.c b/src/gen.c -index 213562e..8b45caa 100644 ---- a/src/gen.c -+++ b/src/gen.c -@@ -29,25 +29,22 @@ struct nftnl_gen { - uint32_t flags; - }; - --struct nftnl_gen *nftnl_gen_alloc(void) -+struct nftnl_gen __EXPORTED *nftnl_gen_alloc(void) - { - return calloc(1, sizeof(struct nftnl_gen)); - } --EXPORT_SYMBOL(nftnl_gen_alloc); - --void nftnl_gen_free(const struct nftnl_gen *gen) -+void __EXPORTED nftnl_gen_free(const struct nftnl_gen *gen) - { - xfree(gen); - } --EXPORT_SYMBOL(nftnl_gen_free); - --bool nftnl_gen_is_set(const struct nftnl_gen *gen, uint16_t attr) -+bool __EXPORTED nftnl_gen_is_set(const struct nftnl_gen *gen, uint16_t attr) - { - return gen->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_gen_is_set); - --void nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr) -+void __EXPORTED nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr) - { - if (!(gen->flags & (1 << attr))) - return; -@@ -58,13 +55,12 @@ void nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr) - } - gen->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_gen_unset); - - static uint32_t nftnl_gen_validate[NFTNL_GEN_MAX + 1] = { - [NFTNL_GEN_ID] = sizeof(uint32_t), - }; - --int nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr, -+int __EXPORTED nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr, - const void *data, uint32_t data_len) - { - nftnl_assert_attr_exists(attr, NFTNL_GEN_MAX); -@@ -78,21 +74,18 @@ int nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr, - gen->flags |= (1 << attr); - return 0; - } --EXPORT_SYMBOL(nftnl_gen_set_data); - --int nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data) -+int __EXPORTED nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data) - { - return nftnl_gen_set_data(gen, attr, data, nftnl_gen_validate[attr]); - } --EXPORT_SYMBOL(nftnl_gen_set); - --void nftnl_gen_set_u32(struct nftnl_gen *gen, uint16_t attr, uint32_t val) -+void __EXPORTED nftnl_gen_set_u32(struct nftnl_gen *gen, uint16_t attr, uint32_t val) - { - nftnl_gen_set_data(gen, attr, &val, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_gen_set_u32); - --const void *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr, -+const void __EXPORTED *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr, - uint32_t *data_len) - { - if (!(gen->flags & (1 << attr))) -@@ -105,21 +98,18 @@ const void *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr, - } - return NULL; - } --EXPORT_SYMBOL(nftnl_gen_get_data); - --const void *nftnl_gen_get(const struct nftnl_gen *gen, uint16_t attr) -+const void __EXPORTED *nftnl_gen_get(const struct nftnl_gen *gen, uint16_t attr) - { - uint32_t data_len; - return nftnl_gen_get_data(gen, attr, &data_len); - } --EXPORT_SYMBOL(nftnl_gen_get); - --uint32_t nftnl_gen_get_u32(const struct nftnl_gen *gen, uint16_t attr) -+uint32_t __EXPORTED nftnl_gen_get_u32(const struct nftnl_gen *gen, uint16_t attr) - { - const void *ret = nftnl_gen_get(gen, attr); - return ret == NULL ? 0 : *((uint32_t *)ret); - } --EXPORT_SYMBOL(nftnl_gen_get_u32); - - static int nftnl_gen_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -140,7 +130,7 @@ static int nftnl_gen_parse_attr_cb(const struct nlattr *attr, void *data) - return MNL_CB_OK; - } - --int nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen) -+int __EXPORTED nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen) - { - struct nlattr *tb[NFTA_GEN_MAX + 1] = {}; - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); -@@ -154,7 +144,6 @@ int nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen) - } - return 0; - } --EXPORT_SYMBOL(nftnl_gen_nlmsg_parse); - - static int nftnl_gen_snprintf_default(char *buf, size_t size, - const struct nftnl_gen *gen) -@@ -186,13 +175,12 @@ static int nftnl_gen_cmd_snprintf(char *buf, size_t size, - return offset; - } - --int nftnl_gen_snprintf(char *buf, size_t size, const struct nftnl_gen *gen, -+int __EXPORTED nftnl_gen_snprintf(char *buf, size_t size, const struct nftnl_gen *gen, - uint32_t type, uint32_t flags) - {; - return nftnl_gen_cmd_snprintf(buf, size, gen, nftnl_flag2cmd(flags), type, - flags); - } --EXPORT_SYMBOL(nftnl_gen_snprintf); - - static int nftnl_gen_do_snprintf(char *buf, size_t size, const void *gen, - uint32_t cmd, uint32_t type, uint32_t flags) -@@ -200,10 +188,9 @@ static int nftnl_gen_do_snprintf(char *buf, size_t size, const void *gen, - return nftnl_gen_snprintf(buf, size, gen, type, flags); - } - --int nftnl_gen_fprintf(FILE *fp, const struct nftnl_gen *gen, uint32_t type, -+int __EXPORTED nftnl_gen_fprintf(FILE *fp, const struct nftnl_gen *gen, uint32_t type, - uint32_t flags) - { - return nftnl_fprintf(fp, gen, NFTNL_CMD_UNSPEC, type, flags, - nftnl_gen_do_snprintf); - } --EXPORT_SYMBOL(nftnl_gen_fprintf); -diff --git a/src/object.c b/src/object.c -index e1a5ac4..d409c6d 100644 ---- a/src/object.c -+++ b/src/object.c -@@ -39,13 +39,12 @@ static struct obj_ops *nftnl_obj_ops_lookup(uint32_t type) - return obj_ops[type]; - } - --struct nftnl_obj *nftnl_obj_alloc(void) -+struct nftnl_obj __EXPORTED *nftnl_obj_alloc(void) - { - return calloc(1, sizeof(struct nftnl_obj)); - } --EXPORT_SYMBOL(nftnl_obj_alloc); - --void nftnl_obj_free(const struct nftnl_obj *obj) -+void __EXPORTED nftnl_obj_free(const struct nftnl_obj *obj) - { - if (obj->flags & (1 << NFTNL_OBJ_TABLE)) - xfree(obj->table); -@@ -54,20 +53,18 @@ void nftnl_obj_free(const struct nftnl_obj *obj) - - xfree(obj); - } --EXPORT_SYMBOL(nftnl_obj_free); - --bool nftnl_obj_is_set(const struct nftnl_obj *obj, uint16_t attr) -+bool __EXPORTED nftnl_obj_is_set(const struct nftnl_obj *obj, uint16_t attr) - { - return obj->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_obj_is_set); - - static uint32_t nftnl_obj_validate[NFTNL_OBJ_MAX + 1] = { - [NFTNL_OBJ_FAMILY] = sizeof(uint32_t), - [NFTNL_OBJ_USE] = sizeof(uint32_t), - }; - --void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, -+void __EXPORTED nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, - const void *data, uint32_t data_len) - { - if (attr < NFTNL_OBJ_MAX) -@@ -100,45 +97,38 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, - } - obj->flags |= (1 << attr); - } --EXPORT_SYMBOL(nftnl_obj_set_data); - --void nftnl_obj_set(struct nftnl_obj *obj, uint16_t attr, const void *data) -+void __EXPORTED nftnl_obj_set(struct nftnl_obj *obj, uint16_t attr, const void *data) - { - nftnl_obj_set_data(obj, attr, data, nftnl_obj_validate[attr]); - } --EXPORT_SYMBOL(nftnl_obj_set); - --void nftnl_obj_set_u8(struct nftnl_obj *obj, uint16_t attr, uint8_t val) -+void __EXPORTED nftnl_obj_set_u8(struct nftnl_obj *obj, uint16_t attr, uint8_t val) - { - nftnl_obj_set_data(obj, attr, &val, sizeof(uint8_t)); - } --EXPORT_SYMBOL(nftnl_obj_set_u8); - --void nftnl_obj_set_u16(struct nftnl_obj *obj, uint16_t attr, uint16_t val) -+void __EXPORTED nftnl_obj_set_u16(struct nftnl_obj *obj, uint16_t attr, uint16_t val) - { - nftnl_obj_set_data(obj, attr, &val, sizeof(uint16_t)); - } --EXPORT_SYMBOL(nftnl_obj_set_u16); - --void nftnl_obj_set_u32(struct nftnl_obj *obj, uint16_t attr, uint32_t val) -+void __EXPORTED nftnl_obj_set_u32(struct nftnl_obj *obj, uint16_t attr, uint32_t val) - { - nftnl_obj_set_data(obj, attr, &val, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_obj_set_u32); - --void nftnl_obj_set_u64(struct nftnl_obj *obj, uint16_t attr, uint64_t val) -+void __EXPORTED nftnl_obj_set_u64(struct nftnl_obj *obj, uint16_t attr, uint64_t val) - { - nftnl_obj_set_data(obj, attr, &val, sizeof(uint64_t)); - } --EXPORT_SYMBOL(nftnl_obj_set_u64); - --void nftnl_obj_set_str(struct nftnl_obj *obj, uint16_t attr, const char *str) -+void __EXPORTED nftnl_obj_set_str(struct nftnl_obj *obj, uint16_t attr, const char *str) - { - nftnl_obj_set_data(obj, attr, str, 0); - } --EXPORT_SYMBOL(nftnl_obj_set_str); - --const void *nftnl_obj_get_data(struct nftnl_obj *obj, uint16_t attr, -+const void __EXPORTED *nftnl_obj_get_data(struct nftnl_obj *obj, uint16_t attr, - uint32_t *data_len) - { - if (!(obj->flags & (1 << attr))) -@@ -168,50 +158,43 @@ const void *nftnl_obj_get_data(struct nftnl_obj *obj, uint16_t attr, - } - return NULL; - } --EXPORT_SYMBOL(nftnl_obj_get_data); - --const void *nftnl_obj_get(struct nftnl_obj *obj, uint16_t attr) -+const void __EXPORTED *nftnl_obj_get(struct nftnl_obj *obj, uint16_t attr) - { - uint32_t data_len; - return nftnl_obj_get_data(obj, attr, &data_len); - } --EXPORT_SYMBOL(nftnl_obj_get); - --uint8_t nftnl_obj_get_u8(struct nftnl_obj *obj, uint16_t attr) -+uint8_t __EXPORTED nftnl_obj_get_u8(struct nftnl_obj *obj, uint16_t attr) - { - const void *ret = nftnl_obj_get(obj, attr); - return ret == NULL ? 0 : *((uint8_t *)ret); - } --EXPORT_SYMBOL(nftnl_obj_get_u8); - --uint16_t nftnl_obj_get_u16(struct nftnl_obj *obj, uint16_t attr) -+uint16_t __EXPORTED nftnl_obj_get_u16(struct nftnl_obj *obj, uint16_t attr) - { - const void *ret = nftnl_obj_get(obj, attr); - return ret == NULL ? 0 : *((uint16_t *)ret); - } --EXPORT_SYMBOL(nftnl_obj_get_u16); - --uint32_t nftnl_obj_get_u32(struct nftnl_obj *obj, uint16_t attr) -+uint32_t __EXPORTED nftnl_obj_get_u32(struct nftnl_obj *obj, uint16_t attr) - { - const void *ret = nftnl_obj_get(obj, attr); - return ret == NULL ? 0 : *((uint32_t *)ret); - } --EXPORT_SYMBOL(nftnl_obj_get_u32); - --uint64_t nftnl_obj_get_u64(struct nftnl_obj *obj, uint16_t attr) -+uint64_t __EXPORTED nftnl_obj_get_u64(struct nftnl_obj *obj, uint16_t attr) - { - const void *ret = nftnl_obj_get(obj, attr); - return ret == NULL ? 0 : *((uint64_t *)ret); - } --EXPORT_SYMBOL(nftnl_obj_get_u64); - --const char *nftnl_obj_get_str(struct nftnl_obj *obj, uint16_t attr) -+const char __EXPORTED *nftnl_obj_get_str(struct nftnl_obj *obj, uint16_t attr) - { - return nftnl_obj_get(obj, attr); - } --EXPORT_SYMBOL(nftnl_obj_get_str); - --void nftnl_obj_nlmsg_build_payload(struct nlmsghdr *nlh, -+void __EXPORTED nftnl_obj_nlmsg_build_payload(struct nlmsghdr *nlh, - const struct nftnl_obj *obj) - { - if (obj->flags & (1 << NFTNL_OBJ_TABLE)) -@@ -228,7 +211,6 @@ void nftnl_obj_nlmsg_build_payload(struct nlmsghdr *nlh, - mnl_attr_nest_end(nlh, nest); - } - } --EXPORT_SYMBOL(nftnl_obj_nlmsg_build_payload); - - static int nftnl_obj_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -258,7 +240,7 @@ static int nftnl_obj_parse_attr_cb(const struct nlattr *attr, void *data) - return MNL_CB_OK; - } - --int nftnl_obj_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_obj *obj) -+int __EXPORTED nftnl_obj_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_obj *obj) - { - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); - struct nlattr *tb[NFTA_OBJ_MAX + 1] = {}; -@@ -299,7 +281,6 @@ int nftnl_obj_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_obj *obj) - - return 0; - } --EXPORT_SYMBOL(nftnl_obj_nlmsg_parse); - - #ifdef JSON_PARSING - static int nftnl_jansson_parse_obj(struct nftnl_obj *t, json_t *tree, -@@ -377,19 +358,17 @@ static int nftnl_obj_do_parse(struct nftnl_obj *obj, enum nftnl_parse_type type, - return ret; - } - --int nftnl_obj_parse(struct nftnl_obj *obj, enum nftnl_parse_type type, -+int __EXPORTED nftnl_obj_parse(struct nftnl_obj *obj, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - return nftnl_obj_do_parse(obj, type, data, err, NFTNL_PARSE_BUFFER); - } --EXPORT_SYMBOL(nftnl_obj_parse); - --int nftnl_obj_parse_file(struct nftnl_obj *obj, enum nftnl_parse_type type, -+int __EXPORTED nftnl_obj_parse_file(struct nftnl_obj *obj, enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) - { - return nftnl_obj_do_parse(obj, type, fp, err, NFTNL_PARSE_FILE); - } --EXPORT_SYMBOL(nftnl_obj_parse_file); - - static int nftnl_obj_export(char *buf, size_t size, - const struct nftnl_obj *obj, -@@ -469,13 +448,12 @@ static int nftnl_obj_cmd_snprintf(char *buf, size_t size, - return offset; - } - --int nftnl_obj_snprintf(char *buf, size_t size, const struct nftnl_obj *obj, -+int __EXPORTED nftnl_obj_snprintf(char *buf, size_t size, const struct nftnl_obj *obj, - uint32_t type, uint32_t flags) - { - return nftnl_obj_cmd_snprintf(buf, size, obj, nftnl_flag2cmd(flags), - type, flags); - } --EXPORT_SYMBOL(nftnl_obj_snprintf); - - static int nftnl_obj_do_snprintf(char *buf, size_t size, const void *obj, - uint32_t cmd, uint32_t type, uint32_t flags) -@@ -483,19 +461,18 @@ static int nftnl_obj_do_snprintf(char *buf, size_t size, const void *obj, - return nftnl_obj_snprintf(buf, size, obj, type, flags); - } - --int nftnl_obj_fprintf(FILE *fp, const struct nftnl_obj *obj, uint32_t type, -+int __EXPORTED nftnl_obj_fprintf(FILE *fp, const struct nftnl_obj *obj, uint32_t type, - uint32_t flags) - { - return nftnl_fprintf(fp, obj, NFTNL_CMD_UNSPEC, type, flags, - nftnl_obj_do_snprintf); - } --EXPORT_SYMBOL(nftnl_obj_fprintf); - - struct nftnl_obj_list { - struct list_head list; - }; - --struct nftnl_obj_list *nftnl_obj_list_alloc(void) -+struct nftnl_obj_list __EXPORTED *nftnl_obj_list_alloc(void) - { - struct nftnl_obj_list *list; - -@@ -507,9 +484,8 @@ struct nftnl_obj_list *nftnl_obj_list_alloc(void) - - return list; - } --EXPORT_SYMBOL(nftnl_obj_list_alloc); - --void nftnl_obj_list_free(struct nftnl_obj_list *list) -+void __EXPORTED nftnl_obj_list_free(struct nftnl_obj_list *list) - { - struct nftnl_obj *r, *tmp; - -@@ -519,34 +495,29 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) - } - xfree(list); - } --EXPORT_SYMBOL(nftnl_obj_list_free); - --int nftnl_obj_list_is_empty(struct nftnl_obj_list *list) -+int __EXPORTED nftnl_obj_list_is_empty(struct nftnl_obj_list *list) - { - return list_empty(&list->list); - } --EXPORT_SYMBOL(nftnl_obj_list_is_empty); - --void nftnl_obj_list_add(struct nftnl_obj *r, struct nftnl_obj_list *list) -+void __EXPORTED nftnl_obj_list_add(struct nftnl_obj *r, struct nftnl_obj_list *list) - { - list_add(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_obj_list_add); - --void nftnl_obj_list_add_tail(struct nftnl_obj *r, -+void __EXPORTED nftnl_obj_list_add_tail(struct nftnl_obj *r, - struct nftnl_obj_list *list) - { - list_add_tail(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_obj_list_add_tail); - --void nftnl_obj_list_del(struct nftnl_obj *t) -+void __EXPORTED nftnl_obj_list_del(struct nftnl_obj *t) - { - list_del(&t->head); - } --EXPORT_SYMBOL(nftnl_obj_list_del); - --int nftnl_obj_list_foreach(struct nftnl_obj_list *table_list, -+int __EXPORTED nftnl_obj_list_foreach(struct nftnl_obj_list *table_list, - int (*cb)(struct nftnl_obj *t, void *data), - void *data) - { -@@ -560,14 +531,13 @@ int nftnl_obj_list_foreach(struct nftnl_obj_list *table_list, - } - return 0; - } --EXPORT_SYMBOL(nftnl_obj_list_foreach); - - struct nftnl_obj_list_iter { - struct nftnl_obj_list *list; - struct nftnl_obj *cur; - }; - --struct nftnl_obj_list_iter * -+struct nftnl_obj_list_iter __EXPORTED * - nftnl_obj_list_iter_create(struct nftnl_obj_list *l) - { - struct nftnl_obj_list_iter *iter; -@@ -584,9 +554,8 @@ nftnl_obj_list_iter_create(struct nftnl_obj_list *l) - - return iter; - } --EXPORT_SYMBOL(nftnl_obj_list_iter_create); - --struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) -+struct nftnl_obj __EXPORTED *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) - { - struct nftnl_obj *r = iter->cur; - -@@ -600,10 +569,8 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) - - return r; - } --EXPORT_SYMBOL(nftnl_obj_list_iter_next); - --void nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter) -+void __EXPORTED nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter) - { - xfree(iter); - } --EXPORT_SYMBOL(nftnl_obj_list_iter_destroy); -diff --git a/src/rule.c b/src/rule.c -index 6c22141..ad8609f 100644 ---- a/src/rule.c -+++ b/src/rule.c -@@ -52,7 +52,7 @@ struct nftnl_rule { - struct list_head expr_list; - }; - --struct nftnl_rule *nftnl_rule_alloc(void) -+struct nftnl_rule __EXPORTED *nftnl_rule_alloc(void) - { - struct nftnl_rule *r; - -@@ -64,9 +64,8 @@ struct nftnl_rule *nftnl_rule_alloc(void) - - return r; - } --EXPORT_SYMBOL(nftnl_rule_alloc); - --void nftnl_rule_free(const struct nftnl_rule *r) -+void __EXPORTED nftnl_rule_free(const struct nftnl_rule *r) - { - struct nftnl_expr *e, *tmp; - -@@ -82,15 +81,13 @@ void nftnl_rule_free(const struct nftnl_rule *r) - - xfree(r); - } --EXPORT_SYMBOL(nftnl_rule_free); - --bool nftnl_rule_is_set(const struct nftnl_rule *r, uint16_t attr) -+bool __EXPORTED nftnl_rule_is_set(const struct nftnl_rule *r, uint16_t attr) - { - return r->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_rule_is_set); - --void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) -+void __EXPORTED nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) - { - if (!(r->flags & (1 << attr))) - return; -@@ -116,7 +113,6 @@ void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr) - - r->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_rule_unset); - - static uint32_t nftnl_rule_validate[NFTNL_RULE_MAX + 1] = { - [NFTNL_RULE_HANDLE] = sizeof(uint64_t), -@@ -127,7 +123,7 @@ static uint32_t nftnl_rule_validate[NFTNL_RULE_MAX + 1] = { - [NFTNL_RULE_ID] = sizeof(uint32_t), - }; - --int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, -+int __EXPORTED nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - const void *data, uint32_t data_len) - { - nftnl_assert_attr_exists(attr, NFTNL_RULE_MAX); -@@ -183,33 +179,28 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr, - r->flags |= (1 << attr); - return 0; - } --EXPORT_SYMBOL(nftnl_rule_set_data); - --int nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data) -+int __EXPORTED nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data) - { - return nftnl_rule_set_data(r, attr, data, nftnl_rule_validate[attr]); - } --EXPORT_SYMBOL(nftnl_rule_set); - --void nftnl_rule_set_u32(struct nftnl_rule *r, uint16_t attr, uint32_t val) -+void __EXPORTED nftnl_rule_set_u32(struct nftnl_rule *r, uint16_t attr, uint32_t val) - { - nftnl_rule_set_data(r, attr, &val, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_rule_set_u32); - --void nftnl_rule_set_u64(struct nftnl_rule *r, uint16_t attr, uint64_t val) -+void __EXPORTED nftnl_rule_set_u64(struct nftnl_rule *r, uint16_t attr, uint64_t val) - { - nftnl_rule_set_data(r, attr, &val, sizeof(uint64_t)); - } --EXPORT_SYMBOL(nftnl_rule_set_u64); - --int nftnl_rule_set_str(struct nftnl_rule *r, uint16_t attr, const char *str) -+int __EXPORTED nftnl_rule_set_str(struct nftnl_rule *r, uint16_t attr, const char *str) - { - return nftnl_rule_set_data(r, attr, str, strlen(str) + 1); - } --EXPORT_SYMBOL(nftnl_rule_set_str); - --const void *nftnl_rule_get_data(const struct nftnl_rule *r, uint16_t attr, -+const void __EXPORTED *nftnl_rule_get_data(const struct nftnl_rule *r, uint16_t attr, - uint32_t *data_len) - { - if (!(r->flags & (1 << attr))) -@@ -246,22 +237,19 @@ const void *nftnl_rule_get_data(const struct nftnl_rule *r, uint16_t attr, - } - return NULL; - } --EXPORT_SYMBOL(nftnl_rule_get_data); - --const void *nftnl_rule_get(const struct nftnl_rule *r, uint16_t attr) -+const void __EXPORTED *nftnl_rule_get(const struct nftnl_rule *r, uint16_t attr) - { - uint32_t data_len; - return nftnl_rule_get_data(r, attr, &data_len); - } --EXPORT_SYMBOL(nftnl_rule_get); - --const char *nftnl_rule_get_str(const struct nftnl_rule *r, uint16_t attr) -+const char __EXPORTED *nftnl_rule_get_str(const struct nftnl_rule *r, uint16_t attr) - { - return nftnl_rule_get(r, attr); - } --EXPORT_SYMBOL(nftnl_rule_get_str); - --uint32_t nftnl_rule_get_u32(const struct nftnl_rule *r, uint16_t attr) -+uint32_t __EXPORTED nftnl_rule_get_u32(const struct nftnl_rule *r, uint16_t attr) - { - uint32_t data_len; - const uint32_t *val = nftnl_rule_get_data(r, attr, &data_len); -@@ -270,9 +258,8 @@ uint32_t nftnl_rule_get_u32(const struct nftnl_rule *r, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_rule_get_u32); - --uint64_t nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr) -+uint64_t __EXPORTED nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr) - { - uint32_t data_len; - const uint64_t *val = nftnl_rule_get_data(r, attr, &data_len); -@@ -281,9 +268,8 @@ uint64_t nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_rule_get_u64); - --uint8_t nftnl_rule_get_u8(const struct nftnl_rule *r, uint16_t attr) -+uint8_t __EXPORTED nftnl_rule_get_u8(const struct nftnl_rule *r, uint16_t attr) - { - uint32_t data_len; - const uint8_t *val = nftnl_rule_get_data(r, attr, &data_len); -@@ -292,9 +278,8 @@ uint8_t nftnl_rule_get_u8(const struct nftnl_rule *r, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_rule_get_u8); - --void nftnl_rule_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_rule *r) -+void __EXPORTED nftnl_rule_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_rule *r) - { - struct nftnl_expr *expr; - struct nlattr *nest, *nest2; -@@ -335,13 +320,11 @@ void nftnl_rule_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_rule *r) - if (r->flags & (1 << NFTNL_RULE_ID)) - mnl_attr_put_u32(nlh, NFTA_RULE_ID, htonl(r->id)); - } --EXPORT_SYMBOL(nftnl_rule_nlmsg_build_payload); - --void nftnl_rule_add_expr(struct nftnl_rule *r, struct nftnl_expr *expr) -+void __EXPORTED nftnl_rule_add_expr(struct nftnl_rule *r, struct nftnl_expr *expr) - { - list_add_tail(&expr->head, &r->expr_list); - } --EXPORT_SYMBOL(nftnl_rule_add_expr); - - static int nftnl_rule_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -441,7 +424,7 @@ static int nftnl_rule_parse_compat(struct nlattr *nest, struct nftnl_rule *r) - return 0; - } - --int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) -+int __EXPORTED nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - { - struct nlattr *tb[NFTA_RULE_MAX+1] = {}; - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); -@@ -510,7 +493,6 @@ int nftnl_rule_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_rule *r) - - return 0; - } --EXPORT_SYMBOL(nftnl_rule_nlmsg_parse); - - #ifdef JSON_PARSING - int nftnl_jansson_parse_rule(struct nftnl_rule *r, json_t *tree, -@@ -658,19 +640,17 @@ static int nftnl_rule_do_parse(struct nftnl_rule *r, enum nftnl_parse_type type, - - return ret; - } --int nftnl_rule_parse(struct nftnl_rule *r, enum nftnl_parse_type type, -+int __EXPORTED nftnl_rule_parse(struct nftnl_rule *r, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - return nftnl_rule_do_parse(r, type, data, err, NFTNL_PARSE_BUFFER); - } --EXPORT_SYMBOL(nftnl_rule_parse); - --int nftnl_rule_parse_file(struct nftnl_rule *r, enum nftnl_parse_type type, -+int __EXPORTED nftnl_rule_parse_file(struct nftnl_rule *r, enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) - { - return nftnl_rule_do_parse(r, type, fp, err, NFTNL_PARSE_FILE); - } --EXPORT_SYMBOL(nftnl_rule_parse_file); - - static int nftnl_rule_export(char *buf, size_t size, - const struct nftnl_rule *r, -@@ -819,13 +799,12 @@ static int nftnl_rule_cmd_snprintf(char *buf, size_t size, - return offset; - } - --int nftnl_rule_snprintf(char *buf, size_t size, const struct nftnl_rule *r, -+int __EXPORTED nftnl_rule_snprintf(char *buf, size_t size, const struct nftnl_rule *r, - uint32_t type, uint32_t flags) - { - return nftnl_rule_cmd_snprintf(buf, size, r, nftnl_flag2cmd(flags), type, - flags); - } --EXPORT_SYMBOL(nftnl_rule_snprintf); - - static int nftnl_rule_do_snprintf(char *buf, size_t size, const void *r, - uint32_t cmd, uint32_t type, uint32_t flags) -@@ -833,15 +812,14 @@ static int nftnl_rule_do_snprintf(char *buf, size_t size, const void *r, - return nftnl_rule_snprintf(buf, size, r, type, flags); - } - --int nftnl_rule_fprintf(FILE *fp, const struct nftnl_rule *r, uint32_t type, -+int __EXPORTED nftnl_rule_fprintf(FILE *fp, const struct nftnl_rule *r, uint32_t type, - uint32_t flags) - { - return nftnl_fprintf(fp, r, NFTNL_CMD_UNSPEC, type, flags, - nftnl_rule_do_snprintf); - } --EXPORT_SYMBOL(nftnl_rule_fprintf); - --int nftnl_expr_foreach(struct nftnl_rule *r, -+int __EXPORTED nftnl_expr_foreach(struct nftnl_rule *r, - int (*cb)(struct nftnl_expr *e, void *data), - void *data) - { -@@ -855,7 +833,6 @@ int nftnl_expr_foreach(struct nftnl_rule *r, - } - return 0; - } --EXPORT_SYMBOL(nftnl_expr_foreach); - - struct nftnl_expr_iter { - const struct nftnl_rule *r; -@@ -873,7 +850,7 @@ static void nftnl_expr_iter_init(const struct nftnl_rule *r, - head); - } - --struct nftnl_expr_iter *nftnl_expr_iter_create(const struct nftnl_rule *r) -+struct nftnl_expr_iter __EXPORTED *nftnl_expr_iter_create(const struct nftnl_rule *r) - { - struct nftnl_expr_iter *iter; - -@@ -885,9 +862,8 @@ struct nftnl_expr_iter *nftnl_expr_iter_create(const struct nftnl_rule *r) - - return iter; - } --EXPORT_SYMBOL(nftnl_expr_iter_create); - --struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) -+struct nftnl_expr __EXPORTED *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) - { - struct nftnl_expr *expr = iter->cur; - -@@ -901,15 +877,13 @@ struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) - - return expr; - } --EXPORT_SYMBOL(nftnl_expr_iter_next); - --void nftnl_expr_iter_destroy(struct nftnl_expr_iter *iter) -+void __EXPORTED nftnl_expr_iter_destroy(struct nftnl_expr_iter *iter) - { - xfree(iter); - } --EXPORT_SYMBOL(nftnl_expr_iter_destroy); - --bool nftnl_rule_cmp(const struct nftnl_rule *r1, const struct nftnl_rule *r2) -+bool __EXPORTED nftnl_rule_cmp(const struct nftnl_rule *r1, const struct nftnl_rule *r2) - { - struct nftnl_expr_iter it1, it2; - struct nftnl_expr *e1, *e2; -@@ -938,13 +912,12 @@ bool nftnl_rule_cmp(const struct nftnl_rule *r1, const struct nftnl_rule *r2) - - return eq; - } --EXPORT_SYMBOL(nftnl_rule_cmp); - - struct nftnl_rule_list { - struct list_head list; - }; - --struct nftnl_rule_list *nftnl_rule_list_alloc(void) -+struct nftnl_rule_list __EXPORTED *nftnl_rule_list_alloc(void) - { - struct nftnl_rule_list *list; - -@@ -956,9 +929,8 @@ struct nftnl_rule_list *nftnl_rule_list_alloc(void) - - return list; - } --EXPORT_SYMBOL(nftnl_rule_list_alloc); - --void nftnl_rule_list_free(struct nftnl_rule_list *list) -+void __EXPORTED nftnl_rule_list_free(struct nftnl_rule_list *list) - { - struct nftnl_rule *r, *tmp; - -@@ -968,33 +940,28 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list) - } - xfree(list); - } --EXPORT_SYMBOL(nftnl_rule_list_free); - --int nftnl_rule_list_is_empty(const struct nftnl_rule_list *list) -+int __EXPORTED nftnl_rule_list_is_empty(const struct nftnl_rule_list *list) - { - return list_empty(&list->list); - } --EXPORT_SYMBOL(nftnl_rule_list_is_empty); - --void nftnl_rule_list_add(struct nftnl_rule *r, struct nftnl_rule_list *list) -+void __EXPORTED nftnl_rule_list_add(struct nftnl_rule *r, struct nftnl_rule_list *list) - { - list_add(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_rule_list_add); - --void nftnl_rule_list_add_tail(struct nftnl_rule *r, struct nftnl_rule_list *list) -+void __EXPORTED nftnl_rule_list_add_tail(struct nftnl_rule *r, struct nftnl_rule_list *list) - { - list_add_tail(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_rule_list_add_tail); - --void nftnl_rule_list_del(struct nftnl_rule *r) -+void __EXPORTED nftnl_rule_list_del(struct nftnl_rule *r) - { - list_del(&r->head); - } --EXPORT_SYMBOL(nftnl_rule_list_del); - --int nftnl_rule_list_foreach(struct nftnl_rule_list *rule_list, -+int __EXPORTED nftnl_rule_list_foreach(struct nftnl_rule_list *rule_list, - int (*cb)(struct nftnl_rule *r, void *data), - void *data) - { -@@ -1008,14 +975,13 @@ int nftnl_rule_list_foreach(struct nftnl_rule_list *rule_list, - } - return 0; - } --EXPORT_SYMBOL(nftnl_rule_list_foreach); - - struct nftnl_rule_list_iter { - const struct nftnl_rule_list *list; - struct nftnl_rule *cur; - }; - --struct nftnl_rule_list_iter * -+struct nftnl_rule_list_iter __EXPORTED * - nftnl_rule_list_iter_create(const struct nftnl_rule_list *l) - { - struct nftnl_rule_list_iter *iter; -@@ -1032,15 +998,13 @@ nftnl_rule_list_iter_create(const struct nftnl_rule_list *l) - - return iter; - } --EXPORT_SYMBOL(nftnl_rule_list_iter_create); - --struct nftnl_rule *nftnl_rule_list_iter_cur(struct nftnl_rule_list_iter *iter) -+struct nftnl_rule __EXPORTED *nftnl_rule_list_iter_cur(struct nftnl_rule_list_iter *iter) - { - return iter->cur; - } --EXPORT_SYMBOL(nftnl_rule_list_iter_cur); - --struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) -+struct nftnl_rule __EXPORTED *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) - { - struct nftnl_rule *r = iter->cur; - -@@ -1054,10 +1018,8 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) - - return r; - } --EXPORT_SYMBOL(nftnl_rule_list_iter_next); - --void nftnl_rule_list_iter_destroy(const struct nftnl_rule_list_iter *iter) -+void __EXPORTED nftnl_rule_list_iter_destroy(const struct nftnl_rule_list_iter *iter) - { - xfree(iter); - } --EXPORT_SYMBOL(nftnl_rule_list_iter_destroy); -diff --git a/src/ruleset.c b/src/ruleset.c -index 6ef2956..10d48f6 100644 ---- a/src/ruleset.c -+++ b/src/ruleset.c -@@ -55,13 +55,12 @@ struct nftnl_parse_ctx { - uint16_t flags; - }; - --struct nftnl_ruleset *nftnl_ruleset_alloc(void) -+struct nftnl_ruleset __EXPORTED *nftnl_ruleset_alloc(void) - { - return calloc(1, sizeof(struct nftnl_ruleset)); - } --EXPORT_SYMBOL(nftnl_ruleset_alloc); - --void nftnl_ruleset_free(const struct nftnl_ruleset *r) -+void __EXPORTED nftnl_ruleset_free(const struct nftnl_ruleset *r) - { - if (r->flags & (1 << NFTNL_RULESET_TABLELIST)) - nftnl_table_list_free(r->table_list); -@@ -73,15 +72,13 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r) - nftnl_rule_list_free(r->rule_list); - xfree(r); - } --EXPORT_SYMBOL(nftnl_ruleset_free); - --bool nftnl_ruleset_is_set(const struct nftnl_ruleset *r, uint16_t attr) -+bool __EXPORTED nftnl_ruleset_is_set(const struct nftnl_ruleset *r, uint16_t attr) - { - return r->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_ruleset_is_set); - --void nftnl_ruleset_unset(struct nftnl_ruleset *r, uint16_t attr) -+void __EXPORTED nftnl_ruleset_unset(struct nftnl_ruleset *r, uint16_t attr) - { - if (!(r->flags & (1 << attr))) - return; -@@ -102,9 +99,8 @@ void nftnl_ruleset_unset(struct nftnl_ruleset *r, uint16_t attr) - } - r->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_ruleset_unset); - --void nftnl_ruleset_set(struct nftnl_ruleset *r, uint16_t attr, void *data) -+void __EXPORTED nftnl_ruleset_set(struct nftnl_ruleset *r, uint16_t attr, void *data) - { - switch (attr) { - case NFTNL_RULESET_TABLELIST: -@@ -128,9 +124,8 @@ void nftnl_ruleset_set(struct nftnl_ruleset *r, uint16_t attr, void *data) - } - r->flags |= (1 << attr); - } --EXPORT_SYMBOL(nftnl_ruleset_set); - --void *nftnl_ruleset_get(const struct nftnl_ruleset *r, uint16_t attr) -+void __EXPORTED *nftnl_ruleset_get(const struct nftnl_ruleset *r, uint16_t attr) - { - if (!(r->flags & (1 << attr))) - return NULL; -@@ -148,9 +143,8 @@ void *nftnl_ruleset_get(const struct nftnl_ruleset *r, uint16_t attr) - return NULL; - } - } --EXPORT_SYMBOL(nftnl_ruleset_get); - --void nftnl_ruleset_ctx_free(const struct nftnl_parse_ctx *ctx) -+void __EXPORTED nftnl_ruleset_ctx_free(const struct nftnl_parse_ctx *ctx) - { - switch (ctx->type) { - case NFTNL_RULESET_TABLE: -@@ -171,15 +165,13 @@ void nftnl_ruleset_ctx_free(const struct nftnl_parse_ctx *ctx) - break; - } - } --EXPORT_SYMBOL(nftnl_ruleset_ctx_free); - --bool nftnl_ruleset_ctx_is_set(const struct nftnl_parse_ctx *ctx, uint16_t attr) -+bool __EXPORTED nftnl_ruleset_ctx_is_set(const struct nftnl_parse_ctx *ctx, uint16_t attr) - { - return ctx->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_ruleset_ctx_is_set); - --void *nftnl_ruleset_ctx_get(const struct nftnl_parse_ctx *ctx, uint16_t attr) -+void __EXPORTED *nftnl_ruleset_ctx_get(const struct nftnl_parse_ctx *ctx, uint16_t attr) - { - if (!(ctx->flags & (1 << attr))) - return NULL; -@@ -203,14 +195,12 @@ void *nftnl_ruleset_ctx_get(const struct nftnl_parse_ctx *ctx, uint16_t attr) - return NULL; - } - } --EXPORT_SYMBOL(nftnl_ruleset_ctx_get); - --uint32_t nftnl_ruleset_ctx_get_u32(const struct nftnl_parse_ctx *ctx, uint16_t attr) -+uint32_t __EXPORTED nftnl_ruleset_ctx_get_u32(const struct nftnl_parse_ctx *ctx, uint16_t attr) - { - const void *ret = nftnl_ruleset_ctx_get(ctx, attr); - return ret == NULL ? 0 : *((uint32_t *)ret); - } --EXPORT_SYMBOL(nftnl_ruleset_ctx_get_u32); - - #if defined(JSON_PARSING) - static void nftnl_ruleset_ctx_set(struct nftnl_parse_ctx *ctx, uint16_t attr, -@@ -593,22 +583,20 @@ nftnl_ruleset_do_parse(enum nftnl_parse_type type, const void *data, - return ret; - } - --int nftnl_ruleset_parse_file_cb(enum nftnl_parse_type type, FILE *fp, -+int __EXPORTED nftnl_ruleset_parse_file_cb(enum nftnl_parse_type type, FILE *fp, - struct nftnl_parse_err *err, void *data, - int (*cb)(const struct nftnl_parse_ctx *ctx)) - { - return nftnl_ruleset_do_parse(type, fp, err, NFTNL_PARSE_FILE, data, cb); - } --EXPORT_SYMBOL(nftnl_ruleset_parse_file_cb); - --int nftnl_ruleset_parse_buffer_cb(enum nftnl_parse_type type, const char *buffer, -+int __EXPORTED nftnl_ruleset_parse_buffer_cb(enum nftnl_parse_type type, const char *buffer, - struct nftnl_parse_err *err, void *data, - int (*cb)(const struct nftnl_parse_ctx *ctx)) - { - return nftnl_ruleset_do_parse(type, buffer, err, NFTNL_PARSE_BUFFER, data, - cb); - } --EXPORT_SYMBOL(nftnl_ruleset_parse_buffer_cb); - - static int nftnl_ruleset_cb(const struct nftnl_parse_ctx *ctx) - { -@@ -671,19 +659,17 @@ static int nftnl_ruleset_cb(const struct nftnl_parse_ctx *ctx) - return 0; - } - --int nftnl_ruleset_parse(struct nftnl_ruleset *r, enum nftnl_parse_type type, -+int __EXPORTED nftnl_ruleset_parse(struct nftnl_ruleset *r, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - return nftnl_ruleset_parse_buffer_cb(type, data, err, r, nftnl_ruleset_cb); - } --EXPORT_SYMBOL(nftnl_ruleset_parse); - --int nftnl_ruleset_parse_file(struct nftnl_ruleset *rs, enum nftnl_parse_type type, -+int __EXPORTED nftnl_ruleset_parse_file(struct nftnl_ruleset *rs, enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) - { - return nftnl_ruleset_parse_file_cb(type, fp, err, rs, nftnl_ruleset_cb); - } --EXPORT_SYMBOL(nftnl_ruleset_parse_file); - - static const char *nftnl_ruleset_o_opentag(uint32_t type) - { -@@ -928,7 +914,7 @@ static int nftnl_ruleset_cmd_snprintf(char *buf, size_t size, - } - } - --int nftnl_ruleset_snprintf(char *buf, size_t size, const struct nftnl_ruleset *r, -+int __EXPORTED nftnl_ruleset_snprintf(char *buf, size_t size, const struct nftnl_ruleset *r, - uint32_t type, uint32_t flags) - { - switch (type) { -@@ -943,7 +929,6 @@ int nftnl_ruleset_snprintf(char *buf, size_t size, const struct nftnl_ruleset *r - return -1; - } - } --EXPORT_SYMBOL(nftnl_ruleset_snprintf); - - static int nftnl_ruleset_fprintf_tables(FILE *fp, const struct nftnl_ruleset *rs, - uint32_t type, uint32_t flags) -@@ -1157,10 +1142,9 @@ static int nftnl_ruleset_cmd_fprintf(FILE *fp, const struct nftnl_ruleset *rs, - return len; - } - --int nftnl_ruleset_fprintf(FILE *fp, const struct nftnl_ruleset *rs, uint32_t type, -+int __EXPORTED nftnl_ruleset_fprintf(FILE *fp, const struct nftnl_ruleset *rs, uint32_t type, - uint32_t flags) - { - return nftnl_ruleset_cmd_fprintf(fp, rs, nftnl_flag2cmd(flags), type, - flags); - } --EXPORT_SYMBOL(nftnl_ruleset_fprintf); -diff --git a/src/set.c b/src/set.c -index cce5e63..33a6794 100644 ---- a/src/set.c -+++ b/src/set.c -@@ -27,7 +27,7 @@ - #include <libnftnl/set.h> - #include <libnftnl/expr.h> - --struct nftnl_set *nftnl_set_alloc(void) -+struct nftnl_set __EXPORTED *nftnl_set_alloc(void) - { - struct nftnl_set *s; - -@@ -38,9 +38,8 @@ struct nftnl_set *nftnl_set_alloc(void) - INIT_LIST_HEAD(&s->element_list); - return s; - } --EXPORT_SYMBOL(nftnl_set_alloc); - --void nftnl_set_free(const struct nftnl_set *s) -+void __EXPORTED nftnl_set_free(const struct nftnl_set *s) - { - struct nftnl_set_elem *elem, *tmp; - -@@ -55,15 +54,13 @@ void nftnl_set_free(const struct nftnl_set *s) - } - xfree(s); - } --EXPORT_SYMBOL(nftnl_set_free); - --bool nftnl_set_is_set(const struct nftnl_set *s, uint16_t attr) -+bool __EXPORTED nftnl_set_is_set(const struct nftnl_set *s, uint16_t attr) - { - return s->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_set_is_set); - --void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) -+void __EXPORTED nftnl_set_unset(struct nftnl_set *s, uint16_t attr) - { - if (!(s->flags & (1 << attr))) - return; -@@ -97,7 +94,6 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) - - s->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_set_unset); - - static uint32_t nftnl_set_validate[NFTNL_SET_MAX + 1] = { - [NFTNL_SET_FLAGS] = sizeof(uint32_t), -@@ -113,7 +109,7 @@ static uint32_t nftnl_set_validate[NFTNL_SET_MAX + 1] = { - [NFTNL_SET_GC_INTERVAL] = sizeof(uint32_t), - }; - --int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, -+int __EXPORTED nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, - uint32_t data_len) - { - nftnl_assert_attr_exists(attr, NFTNL_SET_MAX); -@@ -186,33 +182,28 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, - s->flags |= (1 << attr); - return 0; - } --EXPORT_SYMBOL(nftnl_set_set_data); - --int nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data) -+int __EXPORTED nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data) - { - return nftnl_set_set_data(s, attr, data, nftnl_set_validate[attr]); - } --EXPORT_SYMBOL(nftnl_set_set); - --void nftnl_set_set_u32(struct nftnl_set *s, uint16_t attr, uint32_t val) -+void __EXPORTED nftnl_set_set_u32(struct nftnl_set *s, uint16_t attr, uint32_t val) - { - nftnl_set_set(s, attr, &val); - } --EXPORT_SYMBOL(nftnl_set_set_u32); - --void nftnl_set_set_u64(struct nftnl_set *s, uint16_t attr, uint64_t val) -+void __EXPORTED nftnl_set_set_u64(struct nftnl_set *s, uint16_t attr, uint64_t val) - { - nftnl_set_set(s, attr, &val); - } --EXPORT_SYMBOL(nftnl_set_set_u64); - --int nftnl_set_set_str(struct nftnl_set *s, uint16_t attr, const char *str) -+int __EXPORTED nftnl_set_set_str(struct nftnl_set *s, uint16_t attr, const char *str) - { - return nftnl_set_set_data(s, attr, str, strlen(str) + 1); - } --EXPORT_SYMBOL(nftnl_set_set_str); - --const void *nftnl_set_get_data(const struct nftnl_set *s, uint16_t attr, -+const void __EXPORTED *nftnl_set_get_data(const struct nftnl_set *s, uint16_t attr, - uint32_t *data_len) - { - if (!(s->flags & (1 << attr))) -@@ -267,22 +258,19 @@ const void *nftnl_set_get_data(const struct nftnl_set *s, uint16_t attr, - } - return NULL; - } --EXPORT_SYMBOL(nftnl_set_get_data); - --const void *nftnl_set_get(const struct nftnl_set *s, uint16_t attr) -+const void __EXPORTED *nftnl_set_get(const struct nftnl_set *s, uint16_t attr) - { - uint32_t data_len; - return nftnl_set_get_data(s, attr, &data_len); - } --EXPORT_SYMBOL(nftnl_set_get); - --const char *nftnl_set_get_str(const struct nftnl_set *s, uint16_t attr) -+const char __EXPORTED *nftnl_set_get_str(const struct nftnl_set *s, uint16_t attr) - { - return nftnl_set_get(s, attr); - } --EXPORT_SYMBOL(nftnl_set_get_str); - --uint32_t nftnl_set_get_u32(const struct nftnl_set *s, uint16_t attr) -+uint32_t __EXPORTED nftnl_set_get_u32(const struct nftnl_set *s, uint16_t attr) - { - uint32_t data_len; - const uint32_t *val = nftnl_set_get_data(s, attr, &data_len); -@@ -291,9 +279,8 @@ uint32_t nftnl_set_get_u32(const struct nftnl_set *s, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_set_get_u32); - --uint64_t nftnl_set_get_u64(const struct nftnl_set *s, uint16_t attr) -+uint64_t __EXPORTED nftnl_set_get_u64(const struct nftnl_set *s, uint16_t attr) - { - uint32_t data_len; - const uint64_t *val = nftnl_set_get_data(s, attr, &data_len); -@@ -302,7 +289,6 @@ uint64_t nftnl_set_get_u64(const struct nftnl_set *s, uint16_t attr) - - return val ? *val : 0; - } --EXPORT_SYMBOL(nftnl_set_get_u64); - - struct nftnl_set *nftnl_set_clone(const struct nftnl_set *set) - { -@@ -351,7 +337,7 @@ nftnl_set_nlmsg_build_desc_payload(struct nlmsghdr *nlh, struct nftnl_set *s) - mnl_attr_nest_end(nlh, nest); - } - --void nftnl_set_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s) -+void __EXPORTED nftnl_set_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s) - { - if (s->flags & (1 << NFTNL_SET_TABLE)) - mnl_attr_put_strz(nlh, NFTA_SET_TABLE, s->table); -@@ -383,7 +369,6 @@ void nftnl_set_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s) - if (s->flags & (1 << NFTNL_SET_USERDATA)) - mnl_attr_put(nlh, NFTA_SET_USERDATA, s->user.len, s->user.data); - } --EXPORT_SYMBOL(nftnl_set_nlmsg_build_payload); - - static int nftnl_set_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -463,7 +448,7 @@ static int nftnl_set_desc_parse(struct nftnl_set *s, - return 0; - } - --int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) -+int __EXPORTED nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - { - struct nlattr *tb[NFTA_SET_MAX+1] = {}; - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); -@@ -546,7 +531,6 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - - return 0; - } --EXPORT_SYMBOL(nftnl_set_nlmsg_parse); - - #ifdef JSON_PARSING - static int nftnl_jansson_parse_set_info(struct nftnl_set *s, json_t *tree, -@@ -718,19 +702,17 @@ static int nftnl_set_do_parse(struct nftnl_set *s, enum nftnl_parse_type type, - - return ret; - } --int nftnl_set_parse(struct nftnl_set *s, enum nftnl_parse_type type, -+int __EXPORTED nftnl_set_parse(struct nftnl_set *s, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - return nftnl_set_do_parse(s, type, data, err, NFTNL_PARSE_BUFFER); - } --EXPORT_SYMBOL(nftnl_set_parse); - --int nftnl_set_parse_file(struct nftnl_set *s, enum nftnl_parse_type type, -+int __EXPORTED nftnl_set_parse_file(struct nftnl_set *s, enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) - { - return nftnl_set_do_parse(s, type, fp, err, NFTNL_PARSE_FILE); - } --EXPORT_SYMBOL(nftnl_set_parse_file); - - static int nftnl_set_snprintf_json(char *buf, size_t size, - const struct nftnl_set *s, -@@ -918,13 +900,12 @@ static int nftnl_set_cmd_snprintf(char *buf, size_t size, - return offset; - } - --int nftnl_set_snprintf(char *buf, size_t size, const struct nftnl_set *s, -+int __EXPORTED nftnl_set_snprintf(char *buf, size_t size, const struct nftnl_set *s, - uint32_t type, uint32_t flags) - { - return nftnl_set_cmd_snprintf(buf, size, s, nftnl_flag2cmd(flags), type, - flags); - } --EXPORT_SYMBOL(nftnl_set_snprintf); - - static int nftnl_set_do_snprintf(char *buf, size_t size, const void *s, - uint32_t cmd, uint32_t type, uint32_t flags) -@@ -932,25 +913,23 @@ static int nftnl_set_do_snprintf(char *buf, size_t size, const void *s, - return nftnl_set_snprintf(buf, size, s, type, flags); - } - --int nftnl_set_fprintf(FILE *fp, const struct nftnl_set *s, uint32_t type, -+int __EXPORTED nftnl_set_fprintf(FILE *fp, const struct nftnl_set *s, uint32_t type, - uint32_t flags) - { - return nftnl_fprintf(fp, s, NFTNL_CMD_UNSPEC, type, flags, - nftnl_set_do_snprintf); - } --EXPORT_SYMBOL(nftnl_set_fprintf); - --void nftnl_set_elem_add(struct nftnl_set *s, struct nftnl_set_elem *elem) -+void __EXPORTED nftnl_set_elem_add(struct nftnl_set *s, struct nftnl_set_elem *elem) - { - list_add_tail(&elem->head, &s->element_list); - } --EXPORT_SYMBOL(nftnl_set_elem_add); - - struct nftnl_set_list { - struct list_head list; - }; - --struct nftnl_set_list *nftnl_set_list_alloc(void) -+struct nftnl_set_list __EXPORTED *nftnl_set_list_alloc(void) - { - struct nftnl_set_list *list; - -@@ -962,9 +941,8 @@ struct nftnl_set_list *nftnl_set_list_alloc(void) - - return list; - } --EXPORT_SYMBOL(nftnl_set_list_alloc); - --void nftnl_set_list_free(struct nftnl_set_list *list) -+void __EXPORTED nftnl_set_list_free(struct nftnl_set_list *list) - { - struct nftnl_set *s, *tmp; - -@@ -974,33 +952,28 @@ void nftnl_set_list_free(struct nftnl_set_list *list) - } - xfree(list); - } --EXPORT_SYMBOL(nftnl_set_list_free); - --int nftnl_set_list_is_empty(const struct nftnl_set_list *list) -+int __EXPORTED nftnl_set_list_is_empty(const struct nftnl_set_list *list) - { - return list_empty(&list->list); - } --EXPORT_SYMBOL(nftnl_set_list_is_empty); - --void nftnl_set_list_add(struct nftnl_set *s, struct nftnl_set_list *list) -+void __EXPORTED nftnl_set_list_add(struct nftnl_set *s, struct nftnl_set_list *list) - { - list_add(&s->head, &list->list); - } --EXPORT_SYMBOL(nftnl_set_list_add); - --void nftnl_set_list_add_tail(struct nftnl_set *s, struct nftnl_set_list *list) -+void __EXPORTED nftnl_set_list_add_tail(struct nftnl_set *s, struct nftnl_set_list *list) - { - list_add_tail(&s->head, &list->list); - } --EXPORT_SYMBOL(nftnl_set_list_add_tail); - --void nftnl_set_list_del(struct nftnl_set *s) -+void __EXPORTED nftnl_set_list_del(struct nftnl_set *s) - { - list_del(&s->head); - } --EXPORT_SYMBOL(nftnl_set_list_del); - --int nftnl_set_list_foreach(struct nftnl_set_list *set_list, -+int __EXPORTED nftnl_set_list_foreach(struct nftnl_set_list *set_list, - int (*cb)(struct nftnl_set *t, void *data), void *data) - { - struct nftnl_set *cur, *tmp; -@@ -1013,14 +986,13 @@ int nftnl_set_list_foreach(struct nftnl_set_list *set_list, - } - return 0; - } --EXPORT_SYMBOL(nftnl_set_list_foreach); - - struct nftnl_set_list_iter { - const struct nftnl_set_list *list; - struct nftnl_set *cur; - }; - --struct nftnl_set_list_iter * -+struct nftnl_set_list_iter __EXPORTED * - nftnl_set_list_iter_create(const struct nftnl_set_list *l) - { - struct nftnl_set_list_iter *iter; -@@ -1037,16 +1009,14 @@ nftnl_set_list_iter_create(const struct nftnl_set_list *l) - - return iter; - } --EXPORT_SYMBOL(nftnl_set_list_iter_create); - --struct nftnl_set * -+struct nftnl_set __EXPORTED * - nftnl_set_list_iter_cur(const struct nftnl_set_list_iter *iter) - { - return iter->cur; - } --EXPORT_SYMBOL(nftnl_set_list_iter_cur); - --struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) -+struct nftnl_set __EXPORTED *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) - { - struct nftnl_set *s = iter->cur; - -@@ -1060,13 +1030,11 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) - - return s; - } --EXPORT_SYMBOL(nftnl_set_list_iter_next); - --void nftnl_set_list_iter_destroy(const struct nftnl_set_list_iter *iter) -+void __EXPORTED nftnl_set_list_iter_destroy(const struct nftnl_set_list_iter *iter) - { - xfree(iter); - } --EXPORT_SYMBOL(nftnl_set_list_iter_destroy); - - static struct nftnl_set *nftnl_set_lookup(const char *this_set_name, - struct nftnl_set_list *set_list) -diff --git a/src/set_elem.c b/src/set_elem.c -index 433b896..bd1e895 100644 ---- a/src/set_elem.c -+++ b/src/set_elem.c -@@ -27,7 +27,7 @@ - #include <libnftnl/rule.h> - #include <libnftnl/expr.h> - --struct nftnl_set_elem *nftnl_set_elem_alloc(void) -+struct nftnl_set_elem __EXPORTED *nftnl_set_elem_alloc(void) - { - struct nftnl_set_elem *s; - -@@ -37,9 +37,8 @@ struct nftnl_set_elem *nftnl_set_elem_alloc(void) - - return s; - } --EXPORT_SYMBOL(nftnl_set_elem_alloc); - --void nftnl_set_elem_free(struct nftnl_set_elem *s) -+void __EXPORTED nftnl_set_elem_free(struct nftnl_set_elem *s) - { - if (s->flags & (1 << NFTNL_SET_ELEM_CHAIN)) - xfree(s->data.chain); -@@ -55,15 +54,13 @@ void nftnl_set_elem_free(struct nftnl_set_elem *s) - - xfree(s); - } --EXPORT_SYMBOL(nftnl_set_elem_free); - --bool nftnl_set_elem_is_set(const struct nftnl_set_elem *s, uint16_t attr) -+bool __EXPORTED nftnl_set_elem_is_set(const struct nftnl_set_elem *s, uint16_t attr) - { - return s->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_set_elem_is_set); - --void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) -+void __EXPORTED nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) - { - if (!(s->flags & (1 << attr))) - return; -@@ -94,9 +91,8 @@ void nftnl_set_elem_unset(struct nftnl_set_elem *s, uint16_t attr) - - s->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_set_elem_unset); - --int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, -+int __EXPORTED nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - const void *data, uint32_t data_len) - { - switch(attr) { -@@ -147,27 +143,23 @@ int nftnl_set_elem_set(struct nftnl_set_elem *s, uint16_t attr, - s->flags |= (1 << attr); - return -1; - } --EXPORT_SYMBOL(nftnl_set_elem_set); - --void nftnl_set_elem_set_u32(struct nftnl_set_elem *s, uint16_t attr, uint32_t val) -+void __EXPORTED nftnl_set_elem_set_u32(struct nftnl_set_elem *s, uint16_t attr, uint32_t val) - { - nftnl_set_elem_set(s, attr, &val, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_set_elem_set_u32); - --void nftnl_set_elem_set_u64(struct nftnl_set_elem *s, uint16_t attr, uint64_t val) -+void __EXPORTED nftnl_set_elem_set_u64(struct nftnl_set_elem *s, uint16_t attr, uint64_t val) - { - nftnl_set_elem_set(s, attr, &val, sizeof(uint64_t)); - } --EXPORT_SYMBOL(nftnl_set_elem_set_u64); - --int nftnl_set_elem_set_str(struct nftnl_set_elem *s, uint16_t attr, const char *str) -+int __EXPORTED nftnl_set_elem_set_str(struct nftnl_set_elem *s, uint16_t attr, const char *str) - { - return nftnl_set_elem_set(s, attr, str, strlen(str) + 1); - } --EXPORT_SYMBOL(nftnl_set_elem_set_str); - --const void *nftnl_set_elem_get(struct nftnl_set_elem *s, uint16_t attr, uint32_t *data_len) -+const void __EXPORTED *nftnl_set_elem_get(struct nftnl_set_elem *s, uint16_t attr, uint32_t *data_len) - { - if (!(s->flags & (1 << attr))) - return NULL; -@@ -205,31 +197,27 @@ const void *nftnl_set_elem_get(struct nftnl_set_elem *s, uint16_t attr, uint32_t - } - return NULL; - } --EXPORT_SYMBOL(nftnl_set_elem_get); - --const char *nftnl_set_elem_get_str(struct nftnl_set_elem *s, uint16_t attr) -+const char __EXPORTED *nftnl_set_elem_get_str(struct nftnl_set_elem *s, uint16_t attr) - { - uint32_t size; - - return nftnl_set_elem_get(s, attr, &size); - } --EXPORT_SYMBOL(nftnl_set_elem_get_str); - --uint32_t nftnl_set_elem_get_u32(struct nftnl_set_elem *s, uint16_t attr) -+uint32_t __EXPORTED nftnl_set_elem_get_u32(struct nftnl_set_elem *s, uint16_t attr) - { - uint32_t size; - uint32_t val = *((uint32_t *)nftnl_set_elem_get(s, attr, &size)); - return val; - } --EXPORT_SYMBOL(nftnl_set_elem_get_u32); - --uint64_t nftnl_set_elem_get_u64(struct nftnl_set_elem *s, uint16_t attr) -+uint64_t __EXPORTED nftnl_set_elem_get_u64(struct nftnl_set_elem *s, uint16_t attr) - { - uint32_t size; - uint64_t val = *((uint64_t *)nftnl_set_elem_get(s, attr, &size)); - return val; - } --EXPORT_SYMBOL(nftnl_set_elem_get_u64); - - struct nftnl_set_elem *nftnl_set_elem_clone(struct nftnl_set_elem *elem) - { -@@ -315,7 +303,7 @@ static struct nlattr *nftnl_set_elem_build(struct nlmsghdr *nlh, - return nest2; - } - --void nftnl_set_elems_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s) -+void __EXPORTED nftnl_set_elems_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set *s) - { - struct nftnl_set_elem *elem; - struct nlattr *nest1; -@@ -332,7 +320,6 @@ void nftnl_set_elems_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set - - mnl_attr_nest_end(nlh, nest1); - } --EXPORT_SYMBOL(nftnl_set_elems_nlmsg_build_payload); - - static int nftnl_set_elem_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -503,7 +490,7 @@ static int nftnl_set_elems_parse(struct nftnl_set *s, const struct nlattr *nest) - return ret; - } - --int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) -+int __EXPORTED nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - { - struct nlattr *tb[NFTA_SET_ELEM_LIST_MAX+1] = {}; - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); -@@ -546,7 +533,6 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) - - return 0; - } --EXPORT_SYMBOL(nftnl_set_elems_nlmsg_parse); - - static int nftnl_set_elem_json_parse(struct nftnl_set_elem *e, const void *json, - struct nftnl_parse_err *err, -@@ -587,19 +573,17 @@ nftnl_set_elem_do_parse(struct nftnl_set_elem *e, enum nftnl_parse_type type, - - return ret; - } --int nftnl_set_elem_parse(struct nftnl_set_elem *e, enum nftnl_parse_type type, -+int __EXPORTED nftnl_set_elem_parse(struct nftnl_set_elem *e, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - return nftnl_set_elem_do_parse(e, type, data, err, NFTNL_PARSE_BUFFER); - } --EXPORT_SYMBOL(nftnl_set_elem_parse); - --int nftnl_set_elem_parse_file(struct nftnl_set_elem *e, enum nftnl_parse_type type, -+int __EXPORTED nftnl_set_elem_parse_file(struct nftnl_set_elem *e, enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) - { - return nftnl_set_elem_do_parse(e, type, fp, err, NFTNL_PARSE_FILE); - } --EXPORT_SYMBOL(nftnl_set_elem_parse_file); - - static int nftnl_set_elem_snprintf_json(char *buf, size_t size, - const struct nftnl_set_elem *e, -@@ -719,14 +703,13 @@ static int nftnl_set_elem_cmd_snprintf(char *buf, size_t size, - return offset; - } - --int nftnl_set_elem_snprintf(char *buf, size_t size, -+int __EXPORTED nftnl_set_elem_snprintf(char *buf, size_t size, - const struct nftnl_set_elem *e, - uint32_t type, uint32_t flags) - { - return nftnl_set_elem_cmd_snprintf(buf, size, e, nftnl_flag2cmd(flags), - type, flags); - } --EXPORT_SYMBOL(nftnl_set_elem_snprintf); - - static int nftnl_set_elem_do_snprintf(char *buf, size_t size, const void *e, - uint32_t cmd, uint32_t type, -@@ -735,15 +718,14 @@ static int nftnl_set_elem_do_snprintf(char *buf, size_t size, const void *e, - return nftnl_set_elem_snprintf(buf, size, e, type, flags); - } - --int nftnl_set_elem_fprintf(FILE *fp, struct nftnl_set_elem *se, uint32_t type, -+int __EXPORTED nftnl_set_elem_fprintf(FILE *fp, struct nftnl_set_elem *se, uint32_t type, - uint32_t flags) - { - return nftnl_fprintf(fp, se, NFTNL_CMD_UNSPEC, type, flags, - nftnl_set_elem_do_snprintf); - } --EXPORT_SYMBOL(nftnl_set_elem_fprintf); - --int nftnl_set_elem_foreach(struct nftnl_set *s, -+int __EXPORTED nftnl_set_elem_foreach(struct nftnl_set *s, - int (*cb)(struct nftnl_set_elem *e, void *data), - void *data) - { -@@ -757,7 +739,6 @@ int nftnl_set_elem_foreach(struct nftnl_set *s, - } - return 0; - } --EXPORT_SYMBOL(nftnl_set_elem_foreach); - - struct nftnl_set_elems_iter { - const struct nftnl_set *set; -@@ -765,7 +746,7 @@ struct nftnl_set_elems_iter { - struct nftnl_set_elem *cur; - }; - --struct nftnl_set_elems_iter * -+struct nftnl_set_elems_iter __EXPORTED * - nftnl_set_elems_iter_create(const struct nftnl_set *s) - { - struct nftnl_set_elems_iter *iter; -@@ -784,16 +765,14 @@ nftnl_set_elems_iter_create(const struct nftnl_set *s) - - return iter; - } --EXPORT_SYMBOL(nftnl_set_elems_iter_create); - --struct nftnl_set_elem * -+struct nftnl_set_elem __EXPORTED * - nftnl_set_elems_iter_cur(const struct nftnl_set_elems_iter *iter) - { - return iter->cur; - } --EXPORT_SYMBOL(nftnl_set_elems_iter_cur); - --struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *iter) -+struct nftnl_set_elem __EXPORTED *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *iter) - { - struct nftnl_set_elem *s = iter->cur; - -@@ -806,13 +785,11 @@ struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *it - - return s; - } --EXPORT_SYMBOL(nftnl_set_elems_iter_next); - --void nftnl_set_elems_iter_destroy(struct nftnl_set_elems_iter *iter) -+void __EXPORTED nftnl_set_elems_iter_destroy(struct nftnl_set_elems_iter *iter) - { - xfree(iter); - } --EXPORT_SYMBOL(nftnl_set_elems_iter_destroy); - - static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh, - const struct nlattr *from, -@@ -831,7 +808,7 @@ static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh, - return false; - } - --int nftnl_set_elems_nlmsg_build_payload_iter(struct nlmsghdr *nlh, -+int __EXPORTED nftnl_set_elems_nlmsg_build_payload_iter(struct nlmsghdr *nlh, - struct nftnl_set_elems_iter *iter) - { - struct nftnl_set_elem *elem; -@@ -861,4 +838,3 @@ int nftnl_set_elems_nlmsg_build_payload_iter(struct nlmsghdr *nlh, - - return ret; - } --EXPORT_SYMBOL(nftnl_set_elems_nlmsg_build_payload_iter); -diff --git a/src/table.c b/src/table.c -index a7d5a8f..0e99f3c 100644 ---- a/src/table.c -+++ b/src/table.c -@@ -36,28 +36,25 @@ struct nftnl_table { - uint32_t flags; - }; - --struct nftnl_table *nftnl_table_alloc(void) -+struct nftnl_table __EXPORTED *nftnl_table_alloc(void) - { - return calloc(1, sizeof(struct nftnl_table)); - } --EXPORT_SYMBOL(nftnl_table_alloc); - --void nftnl_table_free(const struct nftnl_table *t) -+void __EXPORTED nftnl_table_free(const struct nftnl_table *t) - { - if (t->flags & (1 << NFTNL_TABLE_NAME)) - xfree(t->name); - - xfree(t); - } --EXPORT_SYMBOL(nftnl_table_free); - --bool nftnl_table_is_set(const struct nftnl_table *t, uint16_t attr) -+bool __EXPORTED nftnl_table_is_set(const struct nftnl_table *t, uint16_t attr) - { - return t->flags & (1 << attr); - } --EXPORT_SYMBOL(nftnl_table_is_set); - --void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) -+void __EXPORTED nftnl_table_unset(struct nftnl_table *t, uint16_t attr) - { - if (!(t->flags & (1 << attr))) - return; -@@ -74,14 +71,13 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) - } - t->flags &= ~(1 << attr); - } --EXPORT_SYMBOL(nftnl_table_unset); - - static uint32_t nftnl_table_validate[NFTNL_TABLE_MAX + 1] = { - [NFTNL_TABLE_FLAGS] = sizeof(uint32_t), - [NFTNL_TABLE_FAMILY] = sizeof(uint32_t), - }; - --int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, -+int __EXPORTED nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, - const void *data, uint32_t data_len) - { - nftnl_assert_attr_exists(attr, NFTNL_TABLE_MAX); -@@ -109,33 +105,28 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, - t->flags |= (1 << attr); - return 0; - } --EXPORT_SYMBOL(nftnl_table_set_data); - --void nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data) -+void __EXPORTED nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data) - { - nftnl_table_set_data(t, attr, data, nftnl_table_validate[attr]); - } --EXPORT_SYMBOL(nftnl_table_set); - --void nftnl_table_set_u32(struct nftnl_table *t, uint16_t attr, uint32_t val) -+void __EXPORTED nftnl_table_set_u32(struct nftnl_table *t, uint16_t attr, uint32_t val) - { - nftnl_table_set_data(t, attr, &val, sizeof(uint32_t)); - } --EXPORT_SYMBOL(nftnl_table_set_u32); - --void nftnl_table_set_u8(struct nftnl_table *t, uint16_t attr, uint8_t val) -+void __EXPORTED nftnl_table_set_u8(struct nftnl_table *t, uint16_t attr, uint8_t val) - { - nftnl_table_set_data(t, attr, &val, sizeof(uint8_t)); - } --EXPORT_SYMBOL(nftnl_table_set_u8); - --int nftnl_table_set_str(struct nftnl_table *t, uint16_t attr, const char *str) -+int __EXPORTED nftnl_table_set_str(struct nftnl_table *t, uint16_t attr, const char *str) - { - return nftnl_table_set_data(t, attr, str, strlen(str) + 1); - } --EXPORT_SYMBOL(nftnl_table_set_str); - --const void *nftnl_table_get_data(const struct nftnl_table *t, uint16_t attr, -+const void __EXPORTED *nftnl_table_get_data(const struct nftnl_table *t, uint16_t attr, - uint32_t *data_len) - { - if (!(t->flags & (1 << attr))) -@@ -157,43 +148,37 @@ const void *nftnl_table_get_data(const struct nftnl_table *t, uint16_t attr, - } - return NULL; - } --EXPORT_SYMBOL(nftnl_table_get_data); - --const void *nftnl_table_get(const struct nftnl_table *t, uint16_t attr) -+const void __EXPORTED *nftnl_table_get(const struct nftnl_table *t, uint16_t attr) - { - uint32_t data_len; - return nftnl_table_get_data(t, attr, &data_len); - } --EXPORT_SYMBOL(nftnl_table_get); - --uint32_t nftnl_table_get_u32(const struct nftnl_table *t, uint16_t attr) -+uint32_t __EXPORTED nftnl_table_get_u32(const struct nftnl_table *t, uint16_t attr) - { - const void *ret = nftnl_table_get(t, attr); - return ret == NULL ? 0 : *((uint32_t *)ret); - } --EXPORT_SYMBOL(nftnl_table_get_u32); - --uint8_t nftnl_table_get_u8(const struct nftnl_table *t, uint16_t attr) -+uint8_t __EXPORTED nftnl_table_get_u8(const struct nftnl_table *t, uint16_t attr) - { - const void *ret = nftnl_table_get(t, attr); - return ret == NULL ? 0 : *((uint8_t *)ret); - } --EXPORT_SYMBOL(nftnl_table_get_u8); - --const char *nftnl_table_get_str(const struct nftnl_table *t, uint16_t attr) -+const char __EXPORTED *nftnl_table_get_str(const struct nftnl_table *t, uint16_t attr) - { - return nftnl_table_get(t, attr); - } --EXPORT_SYMBOL(nftnl_table_get_str); - --void nftnl_table_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_table *t) -+void __EXPORTED nftnl_table_nlmsg_build_payload(struct nlmsghdr *nlh, const struct nftnl_table *t) - { - if (t->flags & (1 << NFTNL_TABLE_NAME)) - mnl_attr_put_strz(nlh, NFTA_TABLE_NAME, t->name); - if (t->flags & (1 << NFTNL_TABLE_FLAGS)) - mnl_attr_put_u32(nlh, NFTA_TABLE_FLAGS, htonl(t->table_flags)); - } --EXPORT_SYMBOL(nftnl_table_nlmsg_build_payload); - - static int nftnl_table_parse_attr_cb(const struct nlattr *attr, void *data) - { -@@ -219,7 +204,7 @@ static int nftnl_table_parse_attr_cb(const struct nlattr *attr, void *data) - return MNL_CB_OK; - } - --int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) -+int __EXPORTED nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) - { - struct nlattr *tb[NFTA_TABLE_MAX+1] = {}; - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); -@@ -249,7 +234,6 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) - - return 0; - } --EXPORT_SYMBOL(nftnl_table_nlmsg_parse); - - #ifdef JSON_PARSING - int nftnl_jansson_parse_table(struct nftnl_table *t, json_t *tree, -@@ -330,19 +314,17 @@ static int nftnl_table_do_parse(struct nftnl_table *t, enum nftnl_parse_type typ - return ret; - } - --int nftnl_table_parse(struct nftnl_table *t, enum nftnl_parse_type type, -+int __EXPORTED nftnl_table_parse(struct nftnl_table *t, enum nftnl_parse_type type, - const char *data, struct nftnl_parse_err *err) - { - return nftnl_table_do_parse(t, type, data, err, NFTNL_PARSE_BUFFER); - } --EXPORT_SYMBOL(nftnl_table_parse); - --int nftnl_table_parse_file(struct nftnl_table *t, enum nftnl_parse_type type, -+int __EXPORTED nftnl_table_parse_file(struct nftnl_table *t, enum nftnl_parse_type type, - FILE *fp, struct nftnl_parse_err *err) - { - return nftnl_table_do_parse(t, type, fp, err, NFTNL_PARSE_FILE); - } --EXPORT_SYMBOL(nftnl_table_parse_file); - - static int nftnl_table_export(char *buf, size_t size, - const struct nftnl_table *t, int type) -@@ -400,13 +382,12 @@ static int nftnl_table_cmd_snprintf(char *buf, size_t size, - return offset; - } - --int nftnl_table_snprintf(char *buf, size_t size, const struct nftnl_table *t, -+int __EXPORTED nftnl_table_snprintf(char *buf, size_t size, const struct nftnl_table *t, - uint32_t type, uint32_t flags) - { - return nftnl_table_cmd_snprintf(buf, size, t, nftnl_flag2cmd(flags), type, - flags); - } --EXPORT_SYMBOL(nftnl_table_snprintf); - - static int nftnl_table_do_snprintf(char *buf, size_t size, const void *t, - uint32_t cmd, uint32_t type, uint32_t flags) -@@ -414,19 +395,18 @@ static int nftnl_table_do_snprintf(char *buf, size_t size, const void *t, - return nftnl_table_snprintf(buf, size, t, type, flags); - } - --int nftnl_table_fprintf(FILE *fp, const struct nftnl_table *t, uint32_t type, -+int __EXPORTED nftnl_table_fprintf(FILE *fp, const struct nftnl_table *t, uint32_t type, - uint32_t flags) - { - return nftnl_fprintf(fp, t, NFTNL_CMD_UNSPEC, type, flags, - nftnl_table_do_snprintf); - } --EXPORT_SYMBOL(nftnl_table_fprintf); - - struct nftnl_table_list { - struct list_head list; - }; - --struct nftnl_table_list *nftnl_table_list_alloc(void) -+struct nftnl_table_list __EXPORTED *nftnl_table_list_alloc(void) - { - struct nftnl_table_list *list; - -@@ -438,9 +418,8 @@ struct nftnl_table_list *nftnl_table_list_alloc(void) - - return list; - } --EXPORT_SYMBOL(nftnl_table_list_alloc); - --void nftnl_table_list_free(struct nftnl_table_list *list) -+void __EXPORTED nftnl_table_list_free(struct nftnl_table_list *list) - { - struct nftnl_table *r, *tmp; - -@@ -450,33 +429,28 @@ void nftnl_table_list_free(struct nftnl_table_list *list) - } - xfree(list); - } --EXPORT_SYMBOL(nftnl_table_list_free); - --int nftnl_table_list_is_empty(const struct nftnl_table_list *list) -+int __EXPORTED nftnl_table_list_is_empty(const struct nftnl_table_list *list) - { - return list_empty(&list->list); - } --EXPORT_SYMBOL(nftnl_table_list_is_empty); - --void nftnl_table_list_add(struct nftnl_table *r, struct nftnl_table_list *list) -+void __EXPORTED nftnl_table_list_add(struct nftnl_table *r, struct nftnl_table_list *list) - { - list_add(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_table_list_add); - --void nftnl_table_list_add_tail(struct nftnl_table *r, struct nftnl_table_list *list) -+void __EXPORTED nftnl_table_list_add_tail(struct nftnl_table *r, struct nftnl_table_list *list) - { - list_add_tail(&r->head, &list->list); - } --EXPORT_SYMBOL(nftnl_table_list_add_tail); - --void nftnl_table_list_del(struct nftnl_table *t) -+void __EXPORTED nftnl_table_list_del(struct nftnl_table *t) - { - list_del(&t->head); - } --EXPORT_SYMBOL(nftnl_table_list_del); - --int nftnl_table_list_foreach(struct nftnl_table_list *table_list, -+int __EXPORTED nftnl_table_list_foreach(struct nftnl_table_list *table_list, - int (*cb)(struct nftnl_table *t, void *data), - void *data) - { -@@ -490,14 +464,13 @@ int nftnl_table_list_foreach(struct nftnl_table_list *table_list, - } - return 0; - } --EXPORT_SYMBOL(nftnl_table_list_foreach); - - struct nftnl_table_list_iter { - const struct nftnl_table_list *list; - struct nftnl_table *cur; - }; - --struct nftnl_table_list_iter * -+struct nftnl_table_list_iter __EXPORTED * - nftnl_table_list_iter_create(const struct nftnl_table_list *l) - { - struct nftnl_table_list_iter *iter; -@@ -514,9 +487,8 @@ nftnl_table_list_iter_create(const struct nftnl_table_list *l) - - return iter; - } --EXPORT_SYMBOL(nftnl_table_list_iter_create); - --struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *iter) -+struct nftnl_table __EXPORTED *nftnl_table_list_iter_next(struct nftnl_table_list_iter *iter) - { - struct nftnl_table *r = iter->cur; - -@@ -530,10 +502,8 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite - - return r; - } --EXPORT_SYMBOL(nftnl_table_list_iter_next); - --void nftnl_table_list_iter_destroy(const struct nftnl_table_list_iter *iter) -+void __EXPORTED nftnl_table_list_iter_destroy(const struct nftnl_table_list_iter *iter) - { - xfree(iter); - } --EXPORT_SYMBOL(nftnl_table_list_iter_destroy); -diff --git a/src/trace.c b/src/trace.c -index bd05d3c..4739ef9 100644 ---- a/src/trace.c -+++ b/src/trace.c -@@ -52,14 +52,12 @@ struct nftnl_trace { - uint32_t flags; - }; - --EXPORT_SYMBOL(nftnl_trace_alloc); --struct nftnl_trace *nftnl_trace_alloc(void) -+struct nftnl_trace __EXPORTED *nftnl_trace_alloc(void) - { - return calloc(1, sizeof(struct nftnl_trace)); - } - --EXPORT_SYMBOL(nftnl_trace_free); --void nftnl_trace_free(const struct nftnl_trace *t) -+void __EXPORTED nftnl_trace_free(const struct nftnl_trace *t) - { - xfree(t->chain); - xfree(t->table); -@@ -70,8 +68,7 @@ void nftnl_trace_free(const struct nftnl_trace *t) - xfree(t); - } - --EXPORT_SYMBOL(nftnl_trace_is_set); --bool nftnl_trace_is_set(const struct nftnl_trace *t, uint16_t attr) -+bool __EXPORTED nftnl_trace_is_set(const struct nftnl_trace *t, uint16_t attr) - { - return t->flags & (1 << attr); - } -@@ -130,8 +127,7 @@ static int nftnl_trace_parse_attr_cb(const struct nlattr *attr, void *data) - return MNL_CB_OK; - } - --EXPORT_SYMBOL(nftnl_trace_get_data); --const void *nftnl_trace_get_data(const struct nftnl_trace *trace, -+const void __EXPORTED *nftnl_trace_get_data(const struct nftnl_trace *trace, - uint16_t type, uint32_t *data_len) - { - enum nftnl_trace_attr attr = type; -@@ -201,8 +197,7 @@ const void *nftnl_trace_get_data(const struct nftnl_trace *trace, - return NULL; - } - --EXPORT_SYMBOL(nftnl_trace_get_str); --const char *nftnl_trace_get_str(const struct nftnl_trace *trace, uint16_t type) -+const char __EXPORTED *nftnl_trace_get_str(const struct nftnl_trace *trace, uint16_t type) - { - if (!nftnl_trace_is_set(trace, type)) - return NULL; -@@ -216,8 +211,7 @@ const char *nftnl_trace_get_str(const struct nftnl_trace *trace, uint16_t type) - return NULL; - } - --EXPORT_SYMBOL(nftnl_trace_get_u16); --uint16_t nftnl_trace_get_u16(const struct nftnl_trace *trace, uint16_t type) -+uint16_t __EXPORTED nftnl_trace_get_u16(const struct nftnl_trace *trace, uint16_t type) - { - const uint16_t *d; - uint32_t dlen; -@@ -229,8 +223,7 @@ uint16_t nftnl_trace_get_u16(const struct nftnl_trace *trace, uint16_t type) - return 0; - } - --EXPORT_SYMBOL(nftnl_trace_get_u32); --uint32_t nftnl_trace_get_u32(const struct nftnl_trace *trace, uint16_t type) -+uint32_t __EXPORTED nftnl_trace_get_u32(const struct nftnl_trace *trace, uint16_t type) - { - const uint32_t *d; - uint32_t dlen; -@@ -242,8 +235,7 @@ uint32_t nftnl_trace_get_u32(const struct nftnl_trace *trace, uint16_t type) - return 0; - } - --EXPORT_SYMBOL(nftnl_trace_get_u64); --uint64_t nftnl_trace_get_u64(const struct nftnl_trace *trace, uint16_t type) -+uint64_t __EXPORTED nftnl_trace_get_u64(const struct nftnl_trace *trace, uint16_t type) - { - const uint64_t *d; - uint32_t dlen; -@@ -323,9 +315,8 @@ static int nftnl_trace_parse_verdict(const struct nlattr *attr, - } - return 0; - } --EXPORT_SYMBOL(nftnl_trace_nlmsg_parse); - --int nftnl_trace_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_trace *t) -+int __EXPORTED nftnl_trace_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_trace *t) - { - struct nfgenmsg *nfg = mnl_nlmsg_get_payload(nlh); - struct nlattr *tb[NFTA_TRACE_MAX+1] = {}; -diff --git a/src/udata.c b/src/udata.c -index d679dd0..7e2de0f 100644 ---- a/src/udata.c -+++ b/src/udata.c -@@ -16,7 +16,7 @@ - #include <stdint.h> - #include <string.h> - --struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size) -+struct nftnl_udata_buf __EXPORTED *nftnl_udata_buf_alloc(uint32_t data_size) - { - struct nftnl_udata_buf *buf; - -@@ -28,47 +28,40 @@ struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size) - - return buf; - } --EXPORT_SYMBOL(nftnl_udata_buf_alloc); - --void nftnl_udata_buf_free(const struct nftnl_udata_buf *buf) -+void __EXPORTED nftnl_udata_buf_free(const struct nftnl_udata_buf *buf) - { - xfree(buf); - } --EXPORT_SYMBOL(nftnl_udata_buf_free); - --uint32_t nftnl_udata_buf_len(const struct nftnl_udata_buf *buf) -+uint32_t __EXPORTED nftnl_udata_buf_len(const struct nftnl_udata_buf *buf) - { - return (uint32_t)(buf->end - buf->data); - } --EXPORT_SYMBOL(nftnl_udata_buf_len); - --void *nftnl_udata_buf_data(const struct nftnl_udata_buf *buf) -+void __EXPORTED *nftnl_udata_buf_data(const struct nftnl_udata_buf *buf) - { - return (void *)buf->data; - } --EXPORT_SYMBOL(nftnl_udata_buf_data); - --void nftnl_udata_buf_put(struct nftnl_udata_buf *buf, const void *data, -+void __EXPORTED nftnl_udata_buf_put(struct nftnl_udata_buf *buf, const void *data, - uint32_t len) - { - memcpy(buf->data, data, len <= buf->size ? len : buf->size); - buf->end = buf->data + len; - } --EXPORT_SYMBOL(nftnl_udata_buf_put); - --struct nftnl_udata *nftnl_udata_start(const struct nftnl_udata_buf *buf) -+struct nftnl_udata __EXPORTED *nftnl_udata_start(const struct nftnl_udata_buf *buf) - { - return (struct nftnl_udata *)buf->data; - } --EXPORT_SYMBOL(nftnl_udata_start); - --struct nftnl_udata *nftnl_udata_end(const struct nftnl_udata_buf *buf) -+struct nftnl_udata __EXPORTED *nftnl_udata_end(const struct nftnl_udata_buf *buf) - { - return (struct nftnl_udata *)buf->end; - } --EXPORT_SYMBOL(nftnl_udata_end); - --bool nftnl_udata_put(struct nftnl_udata_buf *buf, uint8_t type, uint32_t len, -+bool __EXPORTED nftnl_udata_put(struct nftnl_udata_buf *buf, uint8_t type, uint32_t len, - const void *value) - { - struct nftnl_udata *attr; -@@ -85,55 +78,47 @@ bool nftnl_udata_put(struct nftnl_udata_buf *buf, uint8_t type, uint32_t len, - - return true; - } --EXPORT_SYMBOL(nftnl_udata_put); - --bool nftnl_udata_put_strz(struct nftnl_udata_buf *buf, uint8_t type, -+bool __EXPORTED nftnl_udata_put_strz(struct nftnl_udata_buf *buf, uint8_t type, - const char *strz) - { - return nftnl_udata_put(buf, type, strlen(strz) + 1, strz); - } --EXPORT_SYMBOL(nftnl_udata_put_strz); - --bool nftnl_udata_put_u32(struct nftnl_udata_buf *buf, uint8_t type, -+bool __EXPORTED nftnl_udata_put_u32(struct nftnl_udata_buf *buf, uint8_t type, - uint32_t data) - { - return nftnl_udata_put(buf, type, sizeof(data), &data); - } --EXPORT_SYMBOL(nftnl_udata_put_u32); - --uint8_t nftnl_udata_type(const struct nftnl_udata *attr) -+uint8_t __EXPORTED nftnl_udata_type(const struct nftnl_udata *attr) - { - return attr->type; - } --EXPORT_SYMBOL(nftnl_udata_type); - --uint8_t nftnl_udata_len(const struct nftnl_udata *attr) -+uint8_t __EXPORTED nftnl_udata_len(const struct nftnl_udata *attr) - { - return attr->len; - } --EXPORT_SYMBOL(nftnl_udata_len); - --void *nftnl_udata_get(const struct nftnl_udata *attr) -+void __EXPORTED *nftnl_udata_get(const struct nftnl_udata *attr) - { - return (void *)attr->value; - } --EXPORT_SYMBOL(nftnl_udata_get); - --uint32_t nftnl_udata_get_u32(const struct nftnl_udata *attr) -+uint32_t __EXPORTED nftnl_udata_get_u32(const struct nftnl_udata *attr) - { - uint32_t *data = (uint32_t *)attr->value; - - return *data; - } --EXPORT_SYMBOL(nftnl_udata_get_u32); - --struct nftnl_udata *nftnl_udata_next(const struct nftnl_udata *attr) -+struct nftnl_udata __EXPORTED *nftnl_udata_next(const struct nftnl_udata *attr) - { - return (struct nftnl_udata *)&attr->value[attr->len]; - } --EXPORT_SYMBOL(nftnl_udata_next); - --int nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb, -+int __EXPORTED nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb, - void *cb_data) - { - int ret = 0; -@@ -147,4 +132,3 @@ int nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb, - - return ret; - } --EXPORT_SYMBOL(nftnl_udata_parse); --- -2.11.0 (Apple Git-81) - diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch b/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch new file mode 100644 index 0000000000..995fd59a53 --- /dev/null +++ b/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch @@ -0,0 +1,289 @@ +From 21eb59fbd071ebffb8495232766824944fb521a0 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan <alex.kiernan@gmail.com> +Date: Wed, 7 Nov 2018 21:19:53 +0000 +Subject: [PATCH] Move exports before symbol definition + +Based on 7966020 ("src: Fix exporting symbols with clang"), when +EXPORT_SYMBOL is located after function definition, clang won't properly +export the function, resulting in a library with no symbols when built with +clang. + +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + src/flowtable.c | 54 +++++++++++++++++++++++++++--------------------------- + 1 file changed, 27 insertions(+), 27 deletions(-) + +diff --git a/src/flowtable.c b/src/flowtable.c +index c1ddae4..d7434e3 100644 +--- a/src/flowtable.c ++++ b/src/flowtable.c +@@ -34,12 +34,13 @@ struct nftnl_flowtable { + uint32_t flags; + }; + ++EXPORT_SYMBOL(nftnl_flowtable_alloc); + struct nftnl_flowtable *nftnl_flowtable_alloc(void) + { + return calloc(1, sizeof(struct nftnl_flowtable)); + } +-EXPORT_SYMBOL(nftnl_flowtable_alloc); + ++EXPORT_SYMBOL(nftnl_flowtable_free); + void nftnl_flowtable_free(const struct nftnl_flowtable *c) + { + int i; +@@ -56,14 +57,14 @@ void nftnl_flowtable_free(const struct nftnl_flowtable *c) + } + xfree(c); + } +-EXPORT_SYMBOL(nftnl_flowtable_free); + ++EXPORT_SYMBOL(nftnl_flowtable_is_set); + bool nftnl_flowtable_is_set(const struct nftnl_flowtable *c, uint16_t attr) + { + return c->flags & (1 << attr); + } +-EXPORT_SYMBOL(nftnl_flowtable_is_set); + ++EXPORT_SYMBOL(nftnl_flowtable_unset); + void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) + { + int i; +@@ -96,7 +97,6 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) + + c->flags &= ~(1 << attr); + } +-EXPORT_SYMBOL(nftnl_flowtable_unset); + + static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = { + [NFTNL_FLOWTABLE_HOOKNUM] = sizeof(uint32_t), +@@ -105,6 +105,7 @@ static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = { + [NFTNL_FLOWTABLE_FLAGS] = sizeof(uint32_t), + }; + ++EXPORT_SYMBOL(nftnl_flowtable_set_data); + int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + const void *data, uint32_t data_len) + { +@@ -170,32 +171,32 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + c->flags |= (1 << attr); + return 0; + } +-EXPORT_SYMBOL(nftnl_flowtable_set_data); + ++EXPORT_SYMBOL(nftnl_flowtable_set); + void nftnl_flowtable_set(struct nftnl_flowtable *c, uint16_t attr, const void *data) + { + nftnl_flowtable_set_data(c, attr, data, nftnl_flowtable_validate[attr]); + } +-EXPORT_SYMBOL(nftnl_flowtable_set); + ++EXPORT_SYMBOL(nftnl_flowtable_set_u32); + void nftnl_flowtable_set_u32(struct nftnl_flowtable *c, uint16_t attr, uint32_t data) + { + nftnl_flowtable_set_data(c, attr, &data, sizeof(uint32_t)); + } +-EXPORT_SYMBOL(nftnl_flowtable_set_u32); + ++EXPORT_SYMBOL(nftnl_flowtable_set_s32); + void nftnl_flowtable_set_s32(struct nftnl_flowtable *c, uint16_t attr, int32_t data) + { + nftnl_flowtable_set_data(c, attr, &data, sizeof(int32_t)); + } +-EXPORT_SYMBOL(nftnl_flowtable_set_s32); + ++EXPORT_SYMBOL(nftnl_flowtable_set_str); + int nftnl_flowtable_set_str(struct nftnl_flowtable *c, uint16_t attr, const char *str) + { + return nftnl_flowtable_set_data(c, attr, str, strlen(str) + 1); + } +-EXPORT_SYMBOL(nftnl_flowtable_set_str); + ++EXPORT_SYMBOL(nftnl_flowtable_get_data); + const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c, + uint16_t attr, uint32_t *data_len) + { +@@ -229,21 +230,21 @@ const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c, + } + return NULL; + } +-EXPORT_SYMBOL(nftnl_flowtable_get_data); + ++EXPORT_SYMBOL(nftnl_flowtable_get); + const void *nftnl_flowtable_get(const struct nftnl_flowtable *c, uint16_t attr) + { + uint32_t data_len; + return nftnl_flowtable_get_data(c, attr, &data_len); + } +-EXPORT_SYMBOL(nftnl_flowtable_get); + ++EXPORT_SYMBOL(nftnl_flowtable_get_str); + const char *nftnl_flowtable_get_str(const struct nftnl_flowtable *c, uint16_t attr) + { + return nftnl_flowtable_get(c, attr); + } +-EXPORT_SYMBOL(nftnl_flowtable_get_str); + ++EXPORT_SYMBOL(nftnl_flowtable_get_u32); + uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr) + { + uint32_t data_len; +@@ -253,8 +254,8 @@ uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr) + + return val ? *val : 0; + } +-EXPORT_SYMBOL(nftnl_flowtable_get_u32); + ++EXPORT_SYMBOL(nftnl_flowtable_get_s32); + int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr) + { + uint32_t data_len; +@@ -264,8 +265,8 @@ int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr) + + return val ? *val : 0; + } +-EXPORT_SYMBOL(nftnl_flowtable_get_s32); + ++EXPORT_SYMBOL(nftnl_flowtable_nlmsg_build_payload); + void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh, + const struct nftnl_flowtable *c) + { +@@ -301,7 +302,6 @@ void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh, + if (c->flags & (1 << NFTNL_FLOWTABLE_SIZE)) + mnl_attr_put_u32(nlh, NFTA_FLOWTABLE_SIZE, htonl(c->size)); + } +-EXPORT_SYMBOL(nftnl_flowtable_nlmsg_build_payload); + + static int nftnl_flowtable_parse_attr_cb(const struct nlattr *attr, void *data) + { +@@ -412,6 +412,7 @@ static int nftnl_flowtable_parse_hook(struct nlattr *attr, struct nftnl_flowtabl + return 0; + } + ++EXPORT_SYMBOL(nftnl_flowtable_nlmsg_parse); + int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtable *c) + { + struct nlattr *tb[NFTA_FLOWTABLE_MAX + 1] = {}; +@@ -460,7 +461,6 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab + + return ret; + } +-EXPORT_SYMBOL(nftnl_flowtable_nlmsg_parse); + + static const char *nftnl_hooknum2str(int family, int hooknum) + { +@@ -612,20 +612,20 @@ static int nftnl_flowtable_do_parse(struct nftnl_flowtable *c, + return ret; + } + ++EXPORT_SYMBOL(nftnl_flowtable_parse); + int nftnl_flowtable_parse(struct nftnl_flowtable *c, enum nftnl_parse_type type, + const char *data, struct nftnl_parse_err *err) + { + return nftnl_flowtable_do_parse(c, type, data, err, NFTNL_PARSE_BUFFER); + } +-EXPORT_SYMBOL(nftnl_flowtable_parse); + ++EXPORT_SYMBOL(nftnl_flowtable_parse_file); + int nftnl_flowtable_parse_file(struct nftnl_flowtable *c, + enum nftnl_parse_type type, + FILE *fp, struct nftnl_parse_err *err) + { + return nftnl_flowtable_do_parse(c, type, fp, err, NFTNL_PARSE_FILE); + } +-EXPORT_SYMBOL(nftnl_flowtable_parse_file); + + static int nftnl_flowtable_export(char *buf, size_t size, + const struct nftnl_flowtable *c, int type) +@@ -720,6 +720,7 @@ static int nftnl_flowtable_cmd_snprintf(char *buf, size_t size, + return offset; + } + ++EXPORT_SYMBOL(nftnl_flowtable_snprintf); + int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtable *c, + uint32_t type, uint32_t flags) + { +@@ -729,7 +730,6 @@ int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtabl + return nftnl_flowtable_cmd_snprintf(buf, size, c, nftnl_flag2cmd(flags), + type, flags); + } +-EXPORT_SYMBOL(nftnl_flowtable_snprintf); + + static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c, + uint32_t cmd, uint32_t type, uint32_t flags) +@@ -737,18 +737,19 @@ static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c, + return nftnl_flowtable_snprintf(buf, size, c, type, flags); + } + ++EXPORT_SYMBOL(nftnl_flowtable_fprintf); + int nftnl_flowtable_fprintf(FILE *fp, const struct nftnl_flowtable *c, + uint32_t type, uint32_t flags) + { + return nftnl_fprintf(fp, c, NFTNL_CMD_UNSPEC, type, flags, + nftnl_flowtable_do_snprintf); + } +-EXPORT_SYMBOL(nftnl_flowtable_fprintf); + + struct nftnl_flowtable_list { + struct list_head list; + }; + ++EXPORT_SYMBOL(nftnl_flowtable_list_alloc); + struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void) + { + struct nftnl_flowtable_list *list; +@@ -761,8 +762,8 @@ struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void) + + return list; + } +-EXPORT_SYMBOL(nftnl_flowtable_list_alloc); + ++EXPORT_SYMBOL(nftnl_flowtable_list_free); + void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list) + { + struct nftnl_flowtable *s, *tmp; +@@ -773,34 +774,34 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list) + } + xfree(list); + } +-EXPORT_SYMBOL(nftnl_flowtable_list_free); + ++EXPORT_SYMBOL(nftnl_flowtable_list_is_empty); + int nftnl_flowtable_list_is_empty(const struct nftnl_flowtable_list *list) + { + return list_empty(&list->list); + } +-EXPORT_SYMBOL(nftnl_flowtable_list_is_empty); + ++EXPORT_SYMBOL(nftnl_flowtable_list_add); + void nftnl_flowtable_list_add(struct nftnl_flowtable *s, + struct nftnl_flowtable_list *list) + { + list_add(&s->head, &list->list); + } +-EXPORT_SYMBOL(nftnl_flowtable_list_add); + ++EXPORT_SYMBOL(nftnl_flowtable_list_add_tail); + void nftnl_flowtable_list_add_tail(struct nftnl_flowtable *s, + struct nftnl_flowtable_list *list) + { + list_add_tail(&s->head, &list->list); + } +-EXPORT_SYMBOL(nftnl_flowtable_list_add_tail); + ++EXPORT_SYMBOL(nftnl_flowtable_list_del); + void nftnl_flowtable_list_del(struct nftnl_flowtable *s) + { + list_del(&s->head); + } +-EXPORT_SYMBOL(nftnl_flowtable_list_del); + ++EXPORT_SYMBOL(nftnl_flowtable_list_foreach); + int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list, + int (*cb)(struct nftnl_flowtable *t, void *data), void *data) + { +@@ -814,4 +815,3 @@ int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list, + } + return 0; + } +-EXPORT_SYMBOL(nftnl_flowtable_list_foreach); diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch b/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch index 06e68177ce..e7e8f6fe91 100644 --- a/meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch +++ b/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch @@ -1,51 +1,55 @@ -From f840cc0da571d98beb17855c177e9986bd096b72 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Apr 2017 11:46:09 -0700 +From 5ea9fa9d345005f2f53b1b598edb85f5f24ca9da Mon Sep 17 00:00:00 2001 +From: Alex Kiernan <alex.kiernan@gmail.com> +Date: Wed, 7 Nov 2018 19:41:54 +0000 Subject: [PATCH] avoid naming local function as one of printf family Fixes build issues with clang error: no member named '__builtin___snprintf_chk' in 'struct expr_ops' Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> --- - include/expr_ops.h | 2 +- - include/obj.h | 2 +- - src/buffer.c | 2 +- - src/expr.c | 4 ++-- - src/expr/bitwise.c | 2 +- - src/expr/byteorder.c | 2 +- - src/expr/cmp.c | 2 +- - src/expr/counter.c | 2 +- - src/expr/ct.c | 2 +- - src/expr/dup.c | 2 +- - src/expr/dynset.c | 2 +- - src/expr/exthdr.c | 2 +- - src/expr/fib.c | 2 +- - src/expr/fwd.c | 2 +- - src/expr/hash.c | 2 +- - src/expr/immediate.c | 2 +- - src/expr/limit.c | 2 +- - src/expr/log.c | 2 +- - src/expr/lookup.c | 2 +- - src/expr/masq.c | 2 +- - src/expr/match.c | 2 +- - src/expr/meta.c | 2 +- - src/expr/nat.c | 2 +- - src/expr/numgen.c | 2 +- - src/expr/objref.c | 2 +- - src/expr/payload.c | 2 +- - src/expr/queue.c | 2 +- - src/expr/quota.c | 2 +- - src/expr/range.c | 2 +- - src/expr/redir.c | 2 +- - src/expr/reject.c | 2 +- - src/expr/rt.c | 2 +- - src/expr/target.c | 2 +- - src/obj/counter.c | 2 +- - src/obj/ct_helper.c | 2 +- - src/obj/quota.c | 2 +- - src/object.c | 4 ++-- - 37 files changed, 39 insertions(+), 39 deletions(-) + include/expr_ops.h | 2 +- + include/obj.h | 2 +- + src/expr.c | 4 ++-- + src/expr/bitwise.c | 2 +- + src/expr/byteorder.c | 2 +- + src/expr/cmp.c | 2 +- + src/expr/connlimit.c | 2 +- + src/expr/counter.c | 2 +- + src/expr/ct.c | 2 +- + src/expr/dup.c | 2 +- + src/expr/dynset.c | 2 +- + src/expr/exthdr.c | 2 +- + src/expr/fib.c | 2 +- + src/expr/flow_offload.c | 2 +- + src/expr/fwd.c | 2 +- + src/expr/hash.c | 2 +- + src/expr/immediate.c | 2 +- + src/expr/limit.c | 2 +- + src/expr/log.c | 2 +- + src/expr/lookup.c | 2 +- + src/expr/masq.c | 2 +- + src/expr/match.c | 2 +- + src/expr/meta.c | 2 +- + src/expr/nat.c | 2 +- + src/expr/numgen.c | 2 +- + src/expr/objref.c | 2 +- + src/expr/payload.c | 2 +- + src/expr/queue.c | 2 +- + src/expr/quota.c | 2 +- + src/expr/range.c | 2 +- + src/expr/redir.c | 2 +- + src/expr/reject.c | 2 +- + src/expr/rt.c | 2 +- + src/expr/socket.c | 2 +- + src/expr/target.c | 2 +- + src/obj/counter.c | 2 +- + src/obj/ct_helper.c | 2 +- + src/obj/limit.c | 2 +- + src/obj/quota.c | 2 +- + src/object.c | 4 ++-- + 40 files changed, 42 insertions(+), 42 deletions(-) diff --git a/include/expr_ops.h b/include/expr_ops.h index e639390..c4fe050 100644 @@ -61,10 +65,10 @@ index e639390..c4fe050 100644 struct nftnl_parse_err *err); }; diff --git a/include/obj.h b/include/obj.h -index d90919f..772caff 100644 +index 4a728c8..4c20bd1 100644 --- a/include/obj.h +++ b/include/obj.h -@@ -47,7 +47,7 @@ struct obj_ops { +@@ -55,7 +55,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); @@ -73,38 +77,25 @@ index d90919f..772caff 100644 int (*json_parse)(struct nftnl_obj *e, json_t *data, struct nftnl_parse_err *err); }; -diff --git a/src/buffer.c b/src/buffer.c -index f9d5a83..db656e2 100644 ---- a/src/buffer.c -+++ b/src/buffer.c -@@ -206,7 +206,7 @@ int nftnl_buf_expr(struct nftnl_buf *b, int type, uint32_t flags, - case NFTNL_OUTPUT_JSON: - nftnl_buf_put(b, "{"); - nftnl_buf_str(b, type, expr->ops->name, TYPE); -- ret = expr->ops->snprintf(b->buf + b->off, b->len, type, flags, -+ ret = expr->ops->snprintf_(b->buf + b->off, b->len, type, flags, - expr); - if (ret > 0) - nftnl_buf_update(b, ret); diff --git a/src/expr.c b/src/expr.c -index c7eb2b4..24f8f8c 100644 +index 62565e0..2489c30 100644 --- a/src/expr.c +++ b/src/expr.c -@@ -265,10 +265,10 @@ int __EXPORTED nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_ex - int ret; - unsigned int offset = 0, len = size; +@@ -285,10 +285,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr, + if (size) + buf[0] = '\0'; - if (!expr->ops->snprintf) + if (!expr->ops->snprintf_) return 0; -- ret = expr->ops->snprintf(buf+offset, len, type, flags, expr); -+ ret = expr->ops->snprintf_(buf+offset, len, type, flags, expr); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); +- ret = expr->ops->snprintf(buf + offset, remain, type, flags, expr); ++ ret = expr->ops->snprintf_(buf + offset, remain, type, flags, expr); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c -index 0febc9d..9b48e79 100644 +index a89734b..f8360b1 100644 --- a/src/expr/bitwise.c +++ b/src/expr/bitwise.c @@ -299,6 +299,6 @@ struct expr_ops expr_ops_bitwise = { @@ -116,7 +107,7 @@ index 0febc9d..9b48e79 100644 .json_parse = nftnl_expr_bitwise_json_parse, }; diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c -index 3805307..079582f 100644 +index 47c04cf..61f733f 100644 --- a/src/expr/byteorder.c +++ b/src/expr/byteorder.c @@ -314,6 +314,6 @@ struct expr_ops expr_ops_byteorder = { @@ -128,7 +119,7 @@ index 3805307..079582f 100644 .json_parse = nftnl_expr_byteorder_json_parse, }; diff --git a/src/expr/cmp.c b/src/expr/cmp.c -index 353e907..99b497c 100644 +index b26d0eb..522c7be 100644 --- a/src/expr/cmp.c +++ b/src/expr/cmp.c @@ -284,6 +284,6 @@ struct expr_ops expr_ops_cmp = { @@ -139,6 +130,18 @@ index 353e907..99b497c 100644 + .snprintf_ = nftnl_expr_cmp_snprintf, .json_parse = nftnl_expr_cmp_json_parse, }; +diff --git a/src/expr/connlimit.c b/src/expr/connlimit.c +index 60965b5..4e41866 100644 +--- a/src/expr/connlimit.c ++++ b/src/expr/connlimit.c +@@ -202,6 +202,6 @@ struct expr_ops expr_ops_connlimit = { + .get = nftnl_expr_connlimit_get, + .parse = nftnl_expr_connlimit_parse, + .build = nftnl_expr_connlimit_build, +- .snprintf = nftnl_expr_connlimit_snprintf, ++ .snprintf_ = nftnl_expr_connlimit_snprintf, + .json_parse = nftnl_expr_connlimit_json_parse, + }; diff --git a/src/expr/counter.c b/src/expr/counter.c index 21901e8..9fd7655 100644 --- a/src/expr/counter.c @@ -152,10 +155,10 @@ index 21901e8..9fd7655 100644 .json_parse = nftnl_expr_counter_json_parse, }; diff --git a/src/expr/ct.c b/src/expr/ct.c -index cdd08e9..6ce5478 100644 +index 39e9be6..b363f7c 100644 --- a/src/expr/ct.c +++ b/src/expr/ct.c -@@ -356,6 +356,6 @@ struct expr_ops expr_ops_ct = { +@@ -357,6 +357,6 @@ struct expr_ops expr_ops_ct = { .get = nftnl_expr_ct_get, .parse = nftnl_expr_ct_parse, .build = nftnl_expr_ct_build, @@ -164,7 +167,7 @@ index cdd08e9..6ce5478 100644 .json_parse = nftnl_expr_ct_json_parse, }; diff --git a/src/expr/dup.c b/src/expr/dup.c -index 9aa332b..2f491d8 100644 +index ed8e620..8d603e3 100644 --- a/src/expr/dup.c +++ b/src/expr/dup.c @@ -206,6 +206,6 @@ struct expr_ops expr_ops_dup = { @@ -176,7 +179,7 @@ index 9aa332b..2f491d8 100644 .json_parse = nftnl_expr_dup_json_parse, }; diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index f7b99ea..758f07c 100644 +index 160d0e1..a43f4da 100644 --- a/src/expr/dynset.c +++ b/src/expr/dynset.c @@ -368,6 +368,6 @@ struct expr_ops expr_ops_dynset = { @@ -188,10 +191,10 @@ index f7b99ea..758f07c 100644 .json_parse = nftnl_expr_dynset_json_parse, }; diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c -index d4f1665..a834782 100644 +index 75cafbc..89ea7f5 100644 --- a/src/expr/exthdr.c +++ b/src/expr/exthdr.c -@@ -356,6 +356,6 @@ struct expr_ops expr_ops_exthdr = { +@@ -385,6 +385,6 @@ struct expr_ops expr_ops_exthdr = { .get = nftnl_expr_exthdr_get, .parse = nftnl_expr_exthdr_parse, .build = nftnl_expr_exthdr_build, @@ -200,10 +203,10 @@ index d4f1665..a834782 100644 .json_parse = nftnl_expr_exthdr_json_parse, }; diff --git a/src/expr/fib.c b/src/expr/fib.c -index f3be081..3c353b2 100644 +index b922b26..ece4645 100644 --- a/src/expr/fib.c +++ b/src/expr/fib.c -@@ -272,6 +272,6 @@ struct expr_ops expr_ops_fib = { +@@ -274,6 +274,6 @@ struct expr_ops expr_ops_fib = { .get = nftnl_expr_fib_get, .parse = nftnl_expr_fib_parse, .build = nftnl_expr_fib_build, @@ -211,11 +214,23 @@ index f3be081..3c353b2 100644 + .snprintf_ = nftnl_expr_fib_snprintf, .json_parse = nftnl_expr_fib_json_parse, }; +diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c +index a2001c9..9cdbc21 100644 +--- a/src/expr/flow_offload.c ++++ b/src/expr/flow_offload.c +@@ -179,6 +179,6 @@ struct expr_ops expr_ops_flow = { + .get = nftnl_expr_flow_get, + .parse = nftnl_expr_flow_parse, + .build = nftnl_expr_flow_build, +- .snprintf = nftnl_expr_flow_snprintf, ++ .snprintf_ = nftnl_expr_flow_snprintf, + .json_parse = nftnl_expr_flow_json_parse, + }; diff --git a/src/expr/fwd.c b/src/expr/fwd.c -index c30d494..f6e41f1 100644 +index 9021606..7178f43 100644 --- a/src/expr/fwd.c +++ b/src/expr/fwd.c -@@ -180,6 +180,6 @@ struct expr_ops expr_ops_fwd = { +@@ -233,6 +233,6 @@ struct expr_ops expr_ops_fwd = { .get = nftnl_expr_fwd_get, .parse = nftnl_expr_fwd_parse, .build = nftnl_expr_fwd_build, @@ -224,10 +239,10 @@ index c30d494..f6e41f1 100644 .json_parse = nftnl_expr_fwd_json_parse, }; diff --git a/src/expr/hash.c b/src/expr/hash.c -index d870510..5acb66a 100644 +index 415537e..186c5b0 100644 --- a/src/expr/hash.c +++ b/src/expr/hash.c -@@ -332,6 +332,6 @@ struct expr_ops expr_ops_hash = { +@@ -383,6 +383,6 @@ struct expr_ops expr_ops_hash = { .get = nftnl_expr_hash_get, .parse = nftnl_expr_hash_parse, .build = nftnl_expr_hash_build, @@ -236,7 +251,7 @@ index d870510..5acb66a 100644 .json_parse = nftnl_expr_hash_json_parse, }; diff --git a/src/expr/immediate.c b/src/expr/immediate.c -index 0b188cc..94bd6da 100644 +index b0570bd..91ccbdc 100644 --- a/src/expr/immediate.c +++ b/src/expr/immediate.c @@ -316,6 +316,6 @@ struct expr_ops expr_ops_immediate = { @@ -260,10 +275,10 @@ index 856ab18..e71fc2f 100644 .json_parse = nftnl_expr_limit_json_parse, }; diff --git a/src/expr/log.c b/src/expr/log.c -index b642255..71dd83a 100644 +index 86d9651..5769c1c 100644 --- a/src/expr/log.c +++ b/src/expr/log.c -@@ -352,6 +352,6 @@ struct expr_ops expr_ops_log = { +@@ -353,6 +353,6 @@ struct expr_ops expr_ops_log = { .get = nftnl_expr_log_get, .parse = nftnl_expr_log_parse, .build = nftnl_expr_log_build, @@ -272,10 +287,10 @@ index b642255..71dd83a 100644 .json_parse = nftnl_expr_log_json_parse, }; diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index 861815f..6049913 100644 +index 5fcb81f..b2f0dd6 100644 --- a/src/expr/lookup.c +++ b/src/expr/lookup.c -@@ -293,6 +293,6 @@ struct expr_ops expr_ops_lookup = { +@@ -292,6 +292,6 @@ struct expr_ops expr_ops_lookup = { .get = nftnl_expr_lookup_get, .parse = nftnl_expr_lookup_parse, .build = nftnl_expr_lookup_build, @@ -308,10 +323,10 @@ index dd09e1e..f0d8868 100644 .json_parse = nftnl_expr_match_json_parse, }; diff --git a/src/expr/meta.c b/src/expr/meta.c -index 2c75841..907a677 100644 +index de82105..91f1ebb 100644 --- a/src/expr/meta.c +++ b/src/expr/meta.c -@@ -290,6 +290,6 @@ struct expr_ops expr_ops_meta = { +@@ -291,6 +291,6 @@ struct expr_ops expr_ops_meta = { .get = nftnl_expr_meta_get, .parse = nftnl_expr_meta_parse, .build = nftnl_expr_meta_build, @@ -320,10 +335,10 @@ index 2c75841..907a677 100644 .json_parse = nftnl_expr_meta_json_parse, }; diff --git a/src/expr/nat.c b/src/expr/nat.c -index 29bc3a2..d476283 100644 +index 9271303..427c282 100644 --- a/src/expr/nat.c +++ b/src/expr/nat.c -@@ -383,6 +383,6 @@ struct expr_ops expr_ops_nat = { +@@ -384,6 +384,6 @@ struct expr_ops expr_ops_nat = { .get = nftnl_expr_nat_get, .parse = nftnl_expr_nat_parse, .build = nftnl_expr_nat_build, @@ -332,10 +347,10 @@ index 29bc3a2..d476283 100644 .json_parse = nftnl_expr_nat_json_parse, }; diff --git a/src/expr/numgen.c b/src/expr/numgen.c -index a15f03a..28ef741 100644 +index 5336fde..8e0479a 100644 --- a/src/expr/numgen.c +++ b/src/expr/numgen.c -@@ -264,6 +264,6 @@ struct expr_ops expr_ops_ng = { +@@ -313,6 +313,6 @@ struct expr_ops expr_ops_ng = { .get = nftnl_expr_ng_get, .parse = nftnl_expr_ng_parse, .build = nftnl_expr_ng_build, @@ -344,7 +359,7 @@ index a15f03a..28ef741 100644 .json_parse = nftnl_expr_ng_json_parse, }; diff --git a/src/expr/objref.c b/src/expr/objref.c -index 4cfa3cb..c394290 100644 +index 64ee863..4504488 100644 --- a/src/expr/objref.c +++ b/src/expr/objref.c @@ -278,6 +278,6 @@ struct expr_ops expr_ops_objref = { @@ -368,10 +383,10 @@ index 91e1587..894ac08 100644 .json_parse = nftnl_expr_payload_json_parse, }; diff --git a/src/expr/queue.c b/src/expr/queue.c -index 8a9deda..389af83 100644 +index a392a27..ee26c10 100644 --- a/src/expr/queue.c +++ b/src/expr/queue.c -@@ -276,6 +276,6 @@ struct expr_ops expr_ops_queue = { +@@ -275,6 +275,6 @@ struct expr_ops expr_ops_queue = { .get = nftnl_expr_queue_get, .parse = nftnl_expr_queue_parse, .build = nftnl_expr_queue_build, @@ -392,7 +407,7 @@ index 667e6e1..ff5d182 100644 .json_parse = nftnl_expr_quota_json_parse, }; diff --git a/src/expr/range.c b/src/expr/range.c -index 8c8ce12..34d422b 100644 +index b2789ff..8910f8a 100644 --- a/src/expr/range.c +++ b/src/expr/range.c @@ -283,6 +283,6 @@ struct expr_ops expr_ops_range = { @@ -404,7 +419,7 @@ index 8c8ce12..34d422b 100644 .json_parse = nftnl_expr_range_json_parse, }; diff --git a/src/expr/redir.c b/src/expr/redir.c -index 43538d5..8a21f93 100644 +index b2aa345..41b77ab 100644 --- a/src/expr/redir.c +++ b/src/expr/redir.c @@ -242,6 +242,6 @@ struct expr_ops expr_ops_redir = { @@ -428,10 +443,10 @@ index 11d8b20..b10e729 100644 .json_parse = nftnl_expr_reject_json_parse, }; diff --git a/src/expr/rt.c b/src/expr/rt.c -index 5088e66..9f44b29 100644 +index c3c92c7..688a042 100644 --- a/src/expr/rt.c +++ b/src/expr/rt.c -@@ -238,6 +238,6 @@ struct expr_ops expr_ops_rt = { +@@ -235,6 +235,6 @@ struct expr_ops expr_ops_rt = { .get = nftnl_expr_rt_get, .parse = nftnl_expr_rt_parse, .build = nftnl_expr_rt_build, @@ -439,6 +454,17 @@ index 5088e66..9f44b29 100644 + .snprintf_ = nftnl_expr_rt_snprintf, .json_parse = nftnl_expr_rt_json_parse, }; +diff --git a/src/expr/socket.c b/src/expr/socket.c +index db160a1..4c50011 100644 +--- a/src/expr/socket.c ++++ b/src/expr/socket.c +@@ -204,5 +204,5 @@ struct expr_ops expr_ops_socket = { + .get = nftnl_expr_socket_get, + .parse = nftnl_expr_socket_parse, + .build = nftnl_expr_socket_build, +- .snprintf = nftnl_expr_socket_snprintf, ++ .snprintf_ = nftnl_expr_socket_snprintf, + }; diff --git a/src/expr/target.c b/src/expr/target.c index ed4bf7d..2ef4078 100644 --- a/src/expr/target.c @@ -452,10 +478,10 @@ index ed4bf7d..2ef4078 100644 .json_parse = nftnl_expr_target_json_parse, }; diff --git a/src/obj/counter.c b/src/obj/counter.c -index beadc93..8c4cc25 100644 +index 332bb2b..edeb7be 100644 --- a/src/obj/counter.c +++ b/src/obj/counter.c -@@ -179,6 +179,6 @@ struct obj_ops obj_ops_counter = { +@@ -182,6 +182,6 @@ struct obj_ops obj_ops_counter = { .get = nftnl_obj_counter_get, .parse = nftnl_obj_counter_parse, .build = nftnl_obj_counter_build, @@ -464,10 +490,10 @@ index beadc93..8c4cc25 100644 .json_parse = nftnl_obj_counter_json_parse, }; diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c -index d6d3111..4c7c88b 100644 +index 62569fe..69757ff 100644 --- a/src/obj/ct_helper.c +++ b/src/obj/ct_helper.c -@@ -205,6 +205,6 @@ struct obj_ops obj_ops_ct_helper = { +@@ -208,6 +208,6 @@ 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, @@ -475,11 +501,23 @@ index d6d3111..4c7c88b 100644 + .snprintf_ = nftnl_obj_ct_helper_snprintf, .json_parse = nftnl_obj_quota_json_parse, }; +diff --git a/src/obj/limit.c b/src/obj/limit.c +index 7f8bcf7..25018b6 100644 +--- a/src/obj/limit.c ++++ b/src/obj/limit.c +@@ -236,6 +236,6 @@ struct obj_ops obj_ops_limit = { + .get = nftnl_obj_limit_get, + .parse = nftnl_obj_limit_parse, + .build = nftnl_obj_limit_build, +- .snprintf = nftnl_obj_limit_snprintf, ++ .snprintf_ = nftnl_obj_limit_snprintf, + .json_parse = nftnl_obj_limit_json_parse, + }; diff --git a/src/obj/quota.c b/src/obj/quota.c -index d5757b2..e959ff8 100644 +index 6d36784..ecaa8b1 100644 --- a/src/obj/quota.c +++ b/src/obj/quota.c -@@ -200,6 +200,6 @@ struct obj_ops obj_ops_quota = { +@@ -203,6 +203,6 @@ struct obj_ops obj_ops_quota = { .get = nftnl_obj_quota_get, .parse = nftnl_obj_quota_parse, .build = nftnl_obj_quota_build, @@ -488,11 +526,11 @@ index d5757b2..e959ff8 100644 .json_parse = nftnl_obj_quota_json_parse, }; diff --git a/src/object.c b/src/object.c -index d409c6d..b938c97 100644 +index d8278f3..9654b7b 100644 --- a/src/object.c +++ b/src/object.c -@@ -389,7 +389,7 @@ static int nftnl_obj_export(char *buf, size_t size, - nftnl_buf_u32(&b, type, obj->use, USE); +@@ -429,7 +429,7 @@ static int nftnl_obj_export(char *buf, size_t size, + nftnl_buf_u64(&b, type, obj->handle, HANDLE); if (obj->ops) - ret = obj->ops->snprintf(buf + b.len, size - b.len, type, @@ -500,15 +538,12 @@ index d409c6d..b938c97 100644 flags, obj); b.len += ret; -@@ -410,7 +410,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size, - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); +@@ -450,7 +450,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size, + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (obj->ops) { -- ret = obj->ops->snprintf(buf + offset, offset, type, flags, obj); -+ ret = obj->ops->snprintf_(buf + offset, offset, type, flags, obj); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); +- ret = obj->ops->snprintf(buf + offset, offset, type, flags, ++ ret = obj->ops->snprintf_(buf + offset, offset, type, flags, + obj); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf + offset, offset, "]"); --- -2.12.2 - diff --git a/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.7.bb b/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb index ca01c0a611..77959a7309 100644 --- a/meta-networking/recipes-filter/libnftnl/libnftnl_1.0.7.bb +++ b/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb @@ -4,13 +4,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26" SECTION = "libs" DEPENDS = "libmnl" PV .= "+git${SRCPV}" -SRCREV = "4b89c0cb0883f638ff1abbc2ff47c43cdc26aac5" +SRCREV = "d379dfcb6c94dcb93a8f16896572d6e162138e0f" SRC_URI = "git://git.netfilter.org/libnftnl \ - file://0001-Declare-the-define-visivility-attribute-together.patch \ - file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \ + file://0001-Move-exports-before-symbol-definition.patch \ + file://0002-avoid-naming-local-function-as-one-of-printf-family.patch \ " -SRC_URI[md5sum] = "82183867168eb6644926c48b991b8aac" -SRC_URI[sha256sum] = "9bb66ecbc64b8508249402f0093829f44177770ad99f6042b86b3a467d963982" S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb b/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb index 8177ebcc2a..3245455271 100644 --- a/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb +++ b/meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb @@ -3,6 +3,8 @@ HOMEPAGE = "http://netfilter.org/projects/nfacct/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +UPSTREAM_CHECK_URI = "ftp://ftp.netfilter.org/pub/nfacct/" + SRC_URI = "ftp://ftp.netfilter.org/pub/${BPN}/${BP}.tar.bz2" SRC_URI[md5sum] = "94faafdaaed85ca9220c5692be8a408e" diff --git a/meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch b/meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch deleted file mode 100644 index 86a3d53dfd..0000000000 --- a/meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch +++ /dev/null @@ -1,323 +0,0 @@ -From 0011985554e269e1cc8f8e5b41eb9dcd795ebe8c Mon Sep 17 00:00:00 2001 -From: Arturo Borrero Gonzalez <arturo@debian.org> -Date: Wed, 25 Jan 2017 12:51:08 +0100 -Subject: [PATCH] payload: explicit network ctx assignment for icmp/icmp6 in - special families - -In the inet, bridge and netdev families, we can add rules like these: - -% nft add rule inet t c ip protocol icmp icmp type echo-request -% nft add rule inet t c ip6 nexthdr icmpv6 icmpv6 type echo-request - -However, when we print the ruleset: - -% nft list ruleset -table inet t { - chain c { - icmpv6 type echo-request - icmp type echo-request - } -} - -These rules we obtain can't be added again: - -% nft add rule inet t c icmp type echo-request -<cmdline>:1:19-27: Error: conflicting protocols specified: inet-service vs. icmp -add rule inet t c icmp type echo-request - ^^^^^^^^^ - -% nft add rule inet t c icmpv6 type echo-request -<cmdline>:1:19-29: Error: conflicting protocols specified: inet-service vs. icmpv6 -add rule inet t c icmpv6 type echo-request - ^^^^^^^^^^^ - -Since I wouldn't expect an IP packet carrying ICMPv6, or IPv6 packet -carrying ICMP, if the link layer is inet, the network layer protocol context -can be safely update to 'ip' or 'ip6'. - -Moreover, nft currently generates a 'meta nfproto ipvX' depedency when -using icmp or icmp6 in the inet family, and similar in netdev and bridge -families. - -While at it, a bit of code factorization is introduced. - -Fixes: https://bugzilla.netfilter.org/show_bug.cgi?id=1073 -Signed-off-by: Arturo Borrero Gonzalez <arturo@debian.org> -Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> ---- -Upstream-Status: Backport -Signed-off-by: André Draszik <adraszik@tycoint.com> - src/payload.c | 70 ++++++++++++++++--------------------- - tests/py/any/icmpX.t.netdev | 8 +++++ - tests/py/any/icmpX.t.netdev.payload | 36 +++++++++++++++++++ - tests/py/bridge/icmpX.t | 8 +++++ - tests/py/bridge/icmpX.t.payload | 36 +++++++++++++++++++ - tests/py/inet/icmpX.t | 8 +++++ - tests/py/inet/icmpX.t.payload | 36 +++++++++++++++++++ - 7 files changed, 162 insertions(+), 40 deletions(-) - create mode 100644 tests/py/any/icmpX.t.netdev - create mode 100644 tests/py/any/icmpX.t.netdev.payload - create mode 100644 tests/py/bridge/icmpX.t - create mode 100644 tests/py/bridge/icmpX.t.payload - create mode 100644 tests/py/inet/icmpX.t - create mode 100644 tests/py/inet/icmpX.t.payload - -diff --git a/src/payload.c b/src/payload.c -index af533b2..74f8254 100644 ---- a/src/payload.c -+++ b/src/payload.c -@@ -223,6 +223,34 @@ static int payload_add_dependency(struct eval_ctx *ctx, - return 0; - } - -+static const struct proto_desc * -+payload_gen_special_dependency(struct eval_ctx *ctx, const struct expr *expr) -+{ -+ switch (expr->payload.base) { -+ case PROTO_BASE_LL_HDR: -+ switch (ctx->pctx.family) { -+ case NFPROTO_INET: -+ return &proto_inet; -+ case NFPROTO_BRIDGE: -+ return &proto_eth; -+ case NFPROTO_NETDEV: -+ return &proto_netdev; -+ default: -+ break; -+ } -+ break; -+ case PROTO_BASE_TRANSPORT_HDR: -+ if (expr->payload.desc == &proto_icmp) -+ return &proto_ip; -+ if (expr->payload.desc == &proto_icmp6) -+ return &proto_ip6; -+ return &proto_inet_service; -+ default: -+ break; -+ } -+ return NULL; -+} -+ - /** - * payload_gen_dependency - generate match expression on payload dependency - * -@@ -276,46 +304,8 @@ int payload_gen_dependency(struct eval_ctx *ctx, const struct expr *expr, - - desc = ctx->pctx.protocol[expr->payload.base - 1].desc; - /* Special case for mixed IPv4/IPv6 and bridge tables */ -- if (desc == NULL) { -- switch (ctx->pctx.family) { -- case NFPROTO_INET: -- switch (expr->payload.base) { -- case PROTO_BASE_LL_HDR: -- desc = &proto_inet; -- break; -- case PROTO_BASE_TRANSPORT_HDR: -- desc = &proto_inet_service; -- break; -- default: -- break; -- } -- break; -- case NFPROTO_BRIDGE: -- switch (expr->payload.base) { -- case PROTO_BASE_LL_HDR: -- desc = &proto_eth; -- break; -- case PROTO_BASE_TRANSPORT_HDR: -- desc = &proto_inet_service; -- break; -- default: -- break; -- } -- break; -- case NFPROTO_NETDEV: -- switch (expr->payload.base) { -- case PROTO_BASE_LL_HDR: -- desc = &proto_netdev; -- break; -- case PROTO_BASE_TRANSPORT_HDR: -- desc = &proto_inet_service; -- break; -- default: -- break; -- } -- break; -- } -- } -+ if (desc == NULL) -+ desc = payload_gen_special_dependency(ctx, expr); - - if (desc == NULL) - return expr_error(ctx->msgs, expr, -diff --git a/tests/py/any/icmpX.t.netdev b/tests/py/any/icmpX.t.netdev -new file mode 100644 -index 0000000..a327ce6 ---- /dev/null -+++ b/tests/py/any/icmpX.t.netdev -@@ -0,0 +1,8 @@ -+:ingress;type filter hook ingress device lo priority 0 -+ -+*netdev;test-netdev;ingress -+ -+ip protocol icmp icmp type echo-request;ok;icmp type echo-request -+icmp type echo-request;ok -+ip6 nexthdr icmpv6 icmpv6 type echo-request;ok;icmpv6 type echo-request -+icmpv6 type echo-request;ok -diff --git a/tests/py/any/icmpX.t.netdev.payload b/tests/py/any/icmpX.t.netdev.payload -new file mode 100644 -index 0000000..8b8107c ---- /dev/null -+++ b/tests/py/any/icmpX.t.netdev.payload -@@ -0,0 +1,36 @@ -+# ip protocol icmp icmp type echo-request -+netdev test-netdev ingress -+ [ meta load protocol => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ [ payload load 1b @ network header + 9 => reg 1 ] -+ [ cmp eq reg 1 0x00000001 ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ -+# icmp type echo-request -+netdev test-netdev ingress -+ [ meta load protocol => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ [ payload load 1b @ network header + 9 => reg 1 ] -+ [ cmp eq reg 1 0x00000001 ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ -+# ip6 nexthdr icmpv6 icmpv6 type echo-request -+netdev test-netdev ingress -+ [ meta load protocol => reg 1 ] -+ [ cmp eq reg 1 0x0000dd86 ] -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000080 ] -+ -+# icmpv6 type echo-request -+netdev test-netdev ingress -+ [ meta load protocol => reg 1 ] -+ [ cmp eq reg 1 0x0000dd86 ] -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000080 ] -+ -diff --git a/tests/py/bridge/icmpX.t b/tests/py/bridge/icmpX.t -new file mode 100644 -index 0000000..8c0a597 ---- /dev/null -+++ b/tests/py/bridge/icmpX.t -@@ -0,0 +1,8 @@ -+:input;type filter hook input priority 0 -+ -+*bridge;test-bridge;input -+ -+ip protocol icmp icmp type echo-request;ok;icmp type echo-request -+icmp type echo-request;ok -+ip6 nexthdr icmpv6 icmpv6 type echo-request;ok;icmpv6 type echo-request -+icmpv6 type echo-request;ok -diff --git a/tests/py/bridge/icmpX.t.payload b/tests/py/bridge/icmpX.t.payload -new file mode 100644 -index 0000000..19efdd8 ---- /dev/null -+++ b/tests/py/bridge/icmpX.t.payload -@@ -0,0 +1,36 @@ -+# ip protocol icmp icmp type echo-request -+bridge test-bridge input -+ [ payload load 2b @ link header + 12 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ [ payload load 1b @ network header + 9 => reg 1 ] -+ [ cmp eq reg 1 0x00000001 ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ -+# icmp type echo-request -+bridge test-bridge input -+ [ payload load 2b @ link header + 12 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ [ payload load 1b @ network header + 9 => reg 1 ] -+ [ cmp eq reg 1 0x00000001 ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ -+# ip6 nexthdr icmpv6 icmpv6 type echo-request -+bridge test-bridge input -+ [ payload load 2b @ link header + 12 => reg 1 ] -+ [ cmp eq reg 1 0x0000dd86 ] -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000080 ] -+ -+# icmpv6 type echo-request -+bridge test-bridge input -+ [ payload load 2b @ link header + 12 => reg 1 ] -+ [ cmp eq reg 1 0x0000dd86 ] -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000080 ] -+ -diff --git a/tests/py/inet/icmpX.t b/tests/py/inet/icmpX.t -new file mode 100644 -index 0000000..1b467a1 ---- /dev/null -+++ b/tests/py/inet/icmpX.t -@@ -0,0 +1,8 @@ -+:input;type filter hook input priority 0 -+ -+*inet;test-inet;input -+ -+ip protocol icmp icmp type echo-request;ok;icmp type echo-request -+icmp type echo-request;ok -+ip6 nexthdr icmpv6 icmpv6 type echo-request;ok;icmpv6 type echo-request -+icmpv6 type echo-request;ok -diff --git a/tests/py/inet/icmpX.t.payload b/tests/py/inet/icmpX.t.payload -new file mode 100644 -index 0000000..81ca774 ---- /dev/null -+++ b/tests/py/inet/icmpX.t.payload -@@ -0,0 +1,36 @@ -+# ip protocol icmp icmp type echo-request -+inet test-inet input -+ [ meta load nfproto => reg 1 ] -+ [ cmp eq reg 1 0x00000002 ] -+ [ payload load 1b @ network header + 9 => reg 1 ] -+ [ cmp eq reg 1 0x00000001 ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ -+# icmp type echo-request -+inet test-inet input -+ [ meta load nfproto => reg 1 ] -+ [ cmp eq reg 1 0x00000002 ] -+ [ payload load 1b @ network header + 9 => reg 1 ] -+ [ cmp eq reg 1 0x00000001 ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000008 ] -+ -+# ip6 nexthdr icmpv6 icmpv6 type echo-request -+inet test-inet input -+ [ meta load nfproto => reg 1 ] -+ [ cmp eq reg 1 0x0000000a ] -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000080 ] -+ -+# icmpv6 type echo-request -+inet test-inet input -+ [ meta load nfproto => reg 1 ] -+ [ cmp eq reg 1 0x0000000a ] -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000080 ] -+ --- -2.11.0 - diff --git a/meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch b/meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch deleted file mode 100644 index 4d9e9d11a4..0000000000 --- a/meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 9ade8fb75f8963375b45b3f2973b8bb7aa66ad76 Mon Sep 17 00:00:00 2001 -From: Phil Sutter <phil@nwl.cc> -Date: Thu, 16 Mar 2017 13:43:20 +0100 -Subject: [PATCH] proto: Add some exotic ICMPv6 types - -This adds support for matching on inverse ND messages as defined by -RFC3122 (not implemented in Linux) and MLDv2 as defined by RFC3810. - -Note that ICMPV6_MLD2_REPORT macro is defined in linux/icmpv6.h but -including that header leads to conflicts with symbols defined in -netinet/icmp6.h. - -In addition to the above, "mld-listener-done" is introduced as an alias -for "mld-listener-reduction". - -Signed-off-by: Phil Sutter <phil@nwl.cc> -Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> ---- -Upstream-Status: Backport -Signed-off-by: André Draszik <adraszik@tycoint.com> - src/proto.c | 8 ++++++++ - tests/py/ip6/icmpv6.t | 8 ++++++-- - tests/py/ip6/icmpv6.t.payload.ip6 | 34 +++++++++++++++++++++++++++++++++- - 3 files changed, 47 insertions(+), 3 deletions(-) - -diff --git a/src/proto.c b/src/proto.c -index fb96530..79e9dbf 100644 ---- a/src/proto.c -+++ b/src/proto.c -@@ -632,6 +632,10 @@ const struct proto_desc proto_ip = { - - #include <netinet/icmp6.h> - -+#define IND_NEIGHBOR_SOLICIT 141 -+#define IND_NEIGHBOR_ADVERT 142 -+#define ICMPV6_MLD2_REPORT 143 -+ - static const struct symbol_table icmp6_type_tbl = { - .base = BASE_DECIMAL, - .symbols = { -@@ -643,6 +647,7 @@ static const struct symbol_table icmp6_type_tbl = { - SYMBOL("echo-reply", ICMP6_ECHO_REPLY), - SYMBOL("mld-listener-query", MLD_LISTENER_QUERY), - SYMBOL("mld-listener-report", MLD_LISTENER_REPORT), -+ SYMBOL("mld-listener-done", MLD_LISTENER_REDUCTION), - SYMBOL("mld-listener-reduction", MLD_LISTENER_REDUCTION), - SYMBOL("nd-router-solicit", ND_ROUTER_SOLICIT), - SYMBOL("nd-router-advert", ND_ROUTER_ADVERT), -@@ -650,6 +655,9 @@ static const struct symbol_table icmp6_type_tbl = { - SYMBOL("nd-neighbor-advert", ND_NEIGHBOR_ADVERT), - SYMBOL("nd-redirect", ND_REDIRECT), - SYMBOL("router-renumbering", ICMP6_ROUTER_RENUMBERING), -+ SYMBOL("ind-neighbor-solicit", IND_NEIGHBOR_SOLICIT), -+ SYMBOL("ind-neighbor-advert", IND_NEIGHBOR_ADVERT), -+ SYMBOL("mld2-listener-report", ICMPV6_MLD2_REPORT), - SYMBOL_LIST_END - }, - }; -diff --git a/tests/py/ip6/icmpv6.t b/tests/py/ip6/icmpv6.t -index afbd451..a898fe3 100644 ---- a/tests/py/ip6/icmpv6.t -+++ b/tests/py/ip6/icmpv6.t -@@ -11,7 +11,8 @@ icmpv6 type echo-request accept;ok - icmpv6 type echo-reply accept;ok - icmpv6 type mld-listener-query accept;ok - icmpv6 type mld-listener-report accept;ok --icmpv6 type mld-listener-reduction accept;ok -+icmpv6 type mld-listener-done accept;ok -+icmpv6 type mld-listener-reduction accept;ok;icmpv6 type mld-listener-done accept - icmpv6 type nd-router-solicit accept;ok - icmpv6 type nd-router-advert accept;ok - icmpv6 type nd-neighbor-solicit accept;ok -@@ -19,8 +20,11 @@ icmpv6 type nd-neighbor-advert accept;ok - icmpv6 type nd-redirect accept;ok - icmpv6 type parameter-problem accept;ok - icmpv6 type router-renumbering accept;ok -+icmpv6 type ind-neighbor-solicit accept;ok -+icmpv6 type ind-neighbor-advert accept;ok -+icmpv6 type mld2-listener-report accept;ok - icmpv6 type {destination-unreachable, time-exceeded, nd-router-solicit} accept;ok --icmpv6 type {router-renumbering, mld-listener-reduction, time-exceeded, nd-router-solicit} accept;ok -+icmpv6 type {router-renumbering, mld-listener-done, time-exceeded, nd-router-solicit} accept;ok - icmpv6 type {mld-listener-query, time-exceeded, nd-router-advert} accept;ok - icmpv6 type != {mld-listener-query, time-exceeded, nd-router-advert} accept;ok - -diff --git a/tests/py/ip6/icmpv6.t.payload.ip6 b/tests/py/ip6/icmpv6.t.payload.ip6 -index 9fe2496..30f58ca 100644 ---- a/tests/py/ip6/icmpv6.t.payload.ip6 -+++ b/tests/py/ip6/icmpv6.t.payload.ip6 -@@ -54,6 +54,14 @@ ip6 test-ip6 input - [ cmp eq reg 1 0x00000083 ] - [ immediate reg 0 accept ] - -+# icmpv6 type mld-listener-done accept -+ip6 test-ip6 input -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000084 ] -+ [ immediate reg 0 accept ] -+ - # icmpv6 type mld-listener-reduction accept - ip6 test-ip6 input - [ payload load 1b @ network header + 6 => reg 1 ] -@@ -118,6 +126,30 @@ ip6 test-ip6 input - [ cmp eq reg 1 0x0000008a ] - [ immediate reg 0 accept ] - -+# icmpv6 type ind-neighbor-solicit accept -+ip6 test-ip6 input -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x0000008d ] -+ [ immediate reg 0 accept ] -+ -+# icmpv6 type ind-neighbor-advert accept -+ip6 test-ip6 input -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x0000008e ] -+ [ immediate reg 0 accept ] -+ -+# icmpv6 type mld2-listener-report accept -+ip6 test-ip6 input -+ [ payload load 1b @ network header + 6 => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x0000008f ] -+ [ immediate reg 0 accept ] -+ - # icmpv6 type {destination-unreachable, time-exceeded, nd-router-solicit} accept - __set%d test-ip6 3 - __set%d test-ip6 0 -@@ -129,7 +161,7 @@ ip6 test-ip6 input - [ lookup reg 1 set __set%d ] - [ immediate reg 0 accept ] - --# icmpv6 type {router-renumbering, mld-listener-reduction, time-exceeded, nd-router-solicit} accept -+# icmpv6 type {router-renumbering, mld-listener-done, time-exceeded, nd-router-solicit} accept - __set%d test-ip6 3 - __set%d test-ip6 0 - element 0000008a : 0 [end] element 00000084 : 0 [end] element 00000003 : 0 [end] element 00000085 : 0 [end] --- -2.11.0 - diff --git a/meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch b/meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch deleted file mode 100644 index 50cac300e8..0000000000 --- a/meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8d8cfe5ad6ca460a5262fb15fdbef3601058c784 Mon Sep 17 00:00:00 2001 -From: Florian Westphal <fw@strlen.de> -Date: Thu, 18 May 2017 13:30:54 +0200 -Subject: [PATCH 1/4] payload: split ll proto dependency into helper - -will be re-used in folloup patch for icmp/icmpv6 depenency -handling. - -Signed-off-by: Florian Westphal <fw@strlen.de> ---- -Upstream-Status: Backport -Signed-off-by: André Draszik <adraszik@tycoint.com> - src/payload.c | 29 ++++++++++++++++++----------- - 1 file changed, 18 insertions(+), 11 deletions(-) - -diff --git a/src/payload.c b/src/payload.c -index 55128fe..31e5a02 100644 ---- a/src/payload.c -+++ b/src/payload.c -@@ -224,21 +224,28 @@ static int payload_add_dependency(struct eval_ctx *ctx, - } - - static const struct proto_desc * -+payload_get_get_ll_hdr(const struct eval_ctx *ctx) -+{ -+ switch (ctx->pctx.family) { -+ case NFPROTO_INET: -+ return &proto_inet; -+ case NFPROTO_BRIDGE: -+ return &proto_eth; -+ case NFPROTO_NETDEV: -+ return &proto_netdev; -+ default: -+ break; -+ } -+ -+ return NULL; -+} -+ -+static const struct proto_desc * - payload_gen_special_dependency(struct eval_ctx *ctx, const struct expr *expr) - { - switch (expr->payload.base) { - case PROTO_BASE_LL_HDR: -- switch (ctx->pctx.family) { -- case NFPROTO_INET: -- return &proto_inet; -- case NFPROTO_BRIDGE: -- return &proto_eth; -- case NFPROTO_NETDEV: -- return &proto_netdev; -- default: -- break; -- } -- break; -+ return payload_get_get_ll_hdr(ctx); - case PROTO_BASE_TRANSPORT_HDR: - if (expr->payload.desc == &proto_icmp) - return &proto_ip; --- -2.11.0 - diff --git a/meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch b/meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch deleted file mode 100644 index 180edb3504..0000000000 --- a/meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 9a1f2bbf3cd2417e0c10d18578e224abe2071d68 Mon Sep 17 00:00:00 2001 -From: Florian Westphal <fw@strlen.de> -Date: Tue, 21 Mar 2017 19:47:22 +0100 -Subject: [PATCH 2/4] src: allow update of net base w. meta l4proto icmpv6 - -nft add rule ip6 f i meta l4proto ipv6-icmp icmpv6 type nd-router-advert -<cmdline>:1:50-60: Error: conflicting protocols specified: unknown vs. icmpv6 - -add icmpv6 to nexthdr list so base gets updated correctly. - -Reported-by: Thomas Woerner <twoerner@redhat.com> -Signed-off-by: Florian Westphal <fw@strlen.de> ---- -Upstream-Status: Backport -Signed-off-by: André Draszik <adraszik@tycoint.com> - src/proto.c | 1 + - tests/py/any/meta.t | 1 + - tests/py/any/meta.t.payload | 7 +++++++ - 3 files changed, 9 insertions(+) - -diff --git a/src/proto.c b/src/proto.c -index 79e9dbf..fcdfbe7 100644 ---- a/src/proto.c -+++ b/src/proto.c -@@ -779,6 +779,7 @@ const struct proto_desc proto_inet_service = { - PROTO_LINK(IPPROTO_TCP, &proto_tcp), - PROTO_LINK(IPPROTO_DCCP, &proto_dccp), - PROTO_LINK(IPPROTO_SCTP, &proto_sctp), -+ PROTO_LINK(IPPROTO_ICMPV6, &proto_icmp6), - }, - .templates = { - [0] = PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8), -diff --git a/tests/py/any/meta.t b/tests/py/any/meta.t -index c3ac0a4..2ff942f 100644 ---- a/tests/py/any/meta.t -+++ b/tests/py/any/meta.t -@@ -38,6 +38,7 @@ meta l4proto { 33, 55, 67, 88};ok;meta l4proto { 33, 55, 67, 88} - meta l4proto != { 33, 55, 67, 88};ok - meta l4proto { 33-55};ok - meta l4proto != { 33-55};ok -+meta l4proto ipv6-icmp icmpv6 type nd-router-advert;ok;icmpv6 type nd-router-advert - - meta priority root;ok - meta priority none;ok -diff --git a/tests/py/any/meta.t.payload b/tests/py/any/meta.t.payload -index e432656..871f1ad 100644 ---- a/tests/py/any/meta.t.payload -+++ b/tests/py/any/meta.t.payload -@@ -187,6 +187,13 @@ ip test-ip4 input - [ byteorder reg 1 = hton(reg 1, 2, 1) ] - [ lookup reg 1 set __set%d 0x1 ] - -+# meta l4proto ipv6-icmp icmpv6 type nd-router-advert -+ip test-ip4 input -+ [ meta load l4proto => reg 1 ] -+ [ cmp eq reg 1 0x0000003a ] -+ [ payload load 1b @ transport header + 0 => reg 1 ] -+ [ cmp eq reg 1 0x00000086 ] -+ - # meta mark 0x4 - ip test-ip4 input - [ meta load mark => reg 1 ] --- -2.11.0 - diff --git a/meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch b/meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch deleted file mode 100644 index f600ae05c0..0000000000 --- a/meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 2366ed9ffcb4f5f5341f10f0a1d1a4688d37ad87 Mon Sep 17 00:00:00 2001 -From: Florian Westphal <fw@strlen.de> -Date: Wed, 22 Mar 2017 15:08:48 +0100 -Subject: [PATCH 3/4] src: ipv6: switch implicit dependencies to meta l4proto - -when using rule like - -ip6 filter input tcp dport 22 -nft generates: - [ payload load 1b @ network header + 6 => reg 1 ] - [ cmp eq reg 1 0x00000006 ] - [ payload load 2b @ transport header + 2 => reg 1 ] - [ cmp eq reg 1 0x00001600 ] - -which is: ip6 filter input ip6 nexthdr tcp dport 22 -IOW, such a rule won't match if e.g. a fragment header is in place. - -This changes ip6_proto to use 'meta l4proto' which is the protocol header -found by exthdr walk. - -A side effect is that for bridge we get a shorter dependency chain as it -no longer needs to prepend 'ether proto ipv6' for old 'ip6 nexthdr' dep. - -Only problem: - -ip6 nexthdr tcp tcp dport 22 -will now inject a (useless) meta l4 dependency as ip6 nexthdr is no -longer flagged as EXPR_F_PROTOCOL, to avoid this add a small helper -that skips the unneded meta dependency in that case. - -Signed-off-by: Florian Westphal <fw@strlen.de> ---- -Upstream-Status: Backport -Signed-off-by: André Draszik <adraszik@tycoint.com> - src/payload.c | 19 ++++++++++++++++++- - src/proto.c | 2 +- - 2 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/src/payload.c b/src/payload.c -index 31e5a02..38db15e 100644 ---- a/src/payload.c -+++ b/src/payload.c -@@ -117,6 +117,23 @@ static const struct expr_ops payload_expr_ops = { - .pctx_update = payload_expr_pctx_update, - }; - -+/* -+ * ipv6 is special case, we normally use 'meta l4proto' to fetch the last -+ * l4 header of the ipv6 extension header chain so we will also match -+ * tcp after a fragmentation header, for instance. -+ * -+ * If user specifically asks for nexthdr x, treat is as a full -+ * dependency rather than injecting another (useless) meta l4 one. -+ */ -+static bool proto_key_is_protocol(const struct proto_desc *desc, unsigned int type) -+{ -+ if (type == desc->protocol_key || -+ (desc == &proto_ip6 && type == IP6HDR_NEXTHDR)) -+ return true; -+ -+ return false; -+} -+ - struct expr *payload_expr_alloc(const struct location *loc, - const struct proto_desc *desc, - unsigned int type) -@@ -129,7 +146,7 @@ struct expr *payload_expr_alloc(const struct location *loc, - if (desc != NULL) { - tmpl = &desc->templates[type]; - base = desc->base; -- if (type == desc->protocol_key) -+ if (proto_key_is_protocol(desc, type)) - flags = EXPR_F_PROTOCOL; - } else { - tmpl = &proto_unknown_template; -diff --git a/src/proto.c b/src/proto.c -index fcdfbe7..3b20a5f 100644 ---- a/src/proto.c -+++ b/src/proto.c -@@ -707,7 +707,6 @@ const struct proto_desc proto_icmp6 = { - const struct proto_desc proto_ip6 = { - .name = "ip6", - .base = PROTO_BASE_NETWORK_HDR, -- .protocol_key = IP6HDR_NEXTHDR, - .protocols = { - PROTO_LINK(IPPROTO_ESP, &proto_esp), - PROTO_LINK(IPPROTO_AH, &proto_ah), -@@ -720,6 +719,7 @@ const struct proto_desc proto_ip6 = { - PROTO_LINK(IPPROTO_ICMPV6, &proto_icmp6), - }, - .templates = { -+ [0] = PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8), - [IP6HDR_VERSION] = HDR_BITFIELD("version", &integer_type, 0, 4), - [IP6HDR_DSCP] = HDR_BITFIELD("dscp", &dscp_type, 4, 6), - [IP6HDR_ECN] = HDR_BITFIELD("ecn", &ecn_type, 10, 2), --- -2.11.0 - diff --git a/meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch b/meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch deleted file mode 100644 index 00076d7cef..0000000000 --- a/meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch +++ /dev/null @@ -1,84 +0,0 @@ -From f21a7a4849b50c30341ec571813bd7fe37040ad3 Mon Sep 17 00:00:00 2001 -From: Florian Westphal <fw@strlen.de> -Date: Thu, 18 May 2017 13:30:54 +0200 -Subject: [PATCH 4/4] payload: enforce ip/ip6 protocol depending on icmp or - icmpv6 - -After some discussion with Pablo we agreed to treat icmp/icmpv6 specially. - -in the case of a rule like 'tcp dport 22' the inet, bridge and netdev -families only care about the lower layer protocol. - -In the icmpv6 case however we'd like to also enforce an ipv6 protocol check -(and ipv4 check in icmp case). - -This extends payload_gen_special_dependency() to consider this. -With this patch: - -add rule $pf filter input meta l4proto icmpv6 -add rule $pf filter input meta l4proto icmpv6 icmpv6 type echo-request -add rule $pf filter input icmpv6 type echo-request - -will work in all tables and all families. -For inet/bridge/netdev, an ipv6 protocol dependency is added; this will -not match ipv4 packets with ip->protocol == icmpv6, EXCEPT in the case -of the ip family. - -Its still possible to match icmpv6-in-ipv4 in inet/bridge/netdev with an -explicit dependency: - -add rule inet f i ip protocol ipv6-icmp meta l4proto ipv6-icmp icmpv6 type ... - -Implicit dependencies won't get removed at the moment, so - bridge ... icmp type echo-request -will be shown as - ether type ip meta l4proto 1 icmp type echo-request - -Signed-off-by: Florian Westphal <fw@strlen.de> ---- -Upstream-Status: Backport -Signed-off-by: André Draszik <adraszik@tycoint.com> - src/payload.c | 27 +++++++++++++++++++++++---- - 1 file changed, 23 insertions(+), 4 deletions(-) - -diff --git a/src/payload.c b/src/payload.c -index 38db15e..8796ee5 100644 ---- a/src/payload.c -+++ b/src/payload.c -@@ -264,10 +264,29 @@ payload_gen_special_dependency(struct eval_ctx *ctx, const struct expr *expr) - case PROTO_BASE_LL_HDR: - return payload_get_get_ll_hdr(ctx); - case PROTO_BASE_TRANSPORT_HDR: -- if (expr->payload.desc == &proto_icmp) -- return &proto_ip; -- if (expr->payload.desc == &proto_icmp6) -- return &proto_ip6; -+ if (expr->payload.desc == &proto_icmp || -+ expr->payload.desc == &proto_icmp6) { -+ const struct proto_desc *desc, *desc_upper; -+ struct stmt *nstmt; -+ -+ desc = ctx->pctx.protocol[PROTO_BASE_LL_HDR].desc; -+ if (!desc) { -+ desc = payload_get_get_ll_hdr(ctx); -+ if (!desc) -+ break; -+ } -+ -+ desc_upper = &proto_ip6; -+ if (expr->payload.desc == &proto_icmp) -+ desc_upper = &proto_ip; -+ -+ if (payload_add_dependency(ctx, desc, desc_upper, -+ expr, &nstmt) < 0) -+ return NULL; -+ -+ list_add_tail(&nstmt->list, &ctx->stmt->list); -+ return desc_upper; -+ } - return &proto_inet_service; - default: - break; --- -2.11.0 - diff --git a/meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch b/meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch deleted file mode 100644 index 5b72437d27..0000000000 --- a/meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 0825c57d571bb7121e7048e198b9b023f7e7f358 Mon Sep 17 00:00:00 2001 -From: Florian Westphal <fw@strlen.de> -Date: Sun, 7 May 2017 03:53:30 +0200 -Subject: [PATCH] src: ip: switch implicit dependencies to meta l4proto too - -after ip6 nexthdr also switch ip to meta l4proto instead of ip protocol. - -While its needed for ipv6 (due to extension headers) this isn't needed -for ip but it has the advantage that - -tcp dport 22 - -produces same expressions for ip/ip6/inet families. - -Signed-off-by: Florian Westphal <fw@strlen.de> ---- -Upstream-Status: Backport -Signed-off-by: André Draszik <adraszik@tycoint.com> - src/payload.c | 17 +++++++++++------ - src/proto.c | 3 ++- - 2 files changed, 13 insertions(+), 7 deletions(-) - -diff --git a/src/payload.c b/src/payload.c -index 8796ee5..11b6df3 100644 ---- a/src/payload.c -+++ b/src/payload.c -@@ -118,17 +118,22 @@ static const struct expr_ops payload_expr_ops = { - }; - - /* -- * ipv6 is special case, we normally use 'meta l4proto' to fetch the last -- * l4 header of the ipv6 extension header chain so we will also match -+ * We normally use 'meta l4proto' to fetch the last l4 header of the -+ * ipv6 extension header chain so we will also match - * tcp after a fragmentation header, for instance. -+ * For consistency we also use meta l4proto for ipv4. - * -- * If user specifically asks for nexthdr x, treat is as a full -- * dependency rather than injecting another (useless) meta l4 one. -+ * If user specifically asks for nexthdr x, don't add another (useless) -+ * meta dependency. - */ - static bool proto_key_is_protocol(const struct proto_desc *desc, unsigned int type) - { -- if (type == desc->protocol_key || -- (desc == &proto_ip6 && type == IP6HDR_NEXTHDR)) -+ if (type == desc->protocol_key) -+ return true; -+ -+ if (desc == &proto_ip6 && type == IP6HDR_NEXTHDR) -+ return true; -+ if (desc == &proto_ip && type == IPHDR_PROTOCOL) - return true; - - return false; -diff --git a/src/proto.c b/src/proto.c -index 3b20a5f..2afedf7 100644 ---- a/src/proto.c -+++ b/src/proto.c -@@ -587,7 +587,6 @@ const struct proto_desc proto_ip = { - .name = "ip", - .base = PROTO_BASE_NETWORK_HDR, - .checksum_key = IPHDR_CHECKSUM, -- .protocol_key = IPHDR_PROTOCOL, - .protocols = { - PROTO_LINK(IPPROTO_ICMP, &proto_icmp), - PROTO_LINK(IPPROTO_ESP, &proto_esp), -@@ -600,6 +599,7 @@ const struct proto_desc proto_ip = { - PROTO_LINK(IPPROTO_SCTP, &proto_sctp), - }, - .templates = { -+ [0] = PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8), - [IPHDR_VERSION] = HDR_BITFIELD("version", &integer_type, 0, 4), - [IPHDR_HDRLENGTH] = HDR_BITFIELD("hdrlength", &integer_type, 4, 4), - [IPHDR_DSCP] = HDR_BITFIELD("dscp", &dscp_type, 8, 6), -@@ -779,6 +779,7 @@ const struct proto_desc proto_inet_service = { - PROTO_LINK(IPPROTO_TCP, &proto_tcp), - PROTO_LINK(IPPROTO_DCCP, &proto_dccp), - PROTO_LINK(IPPROTO_SCTP, &proto_sctp), -+ PROTO_LINK(IPPROTO_ICMP, &proto_icmp), - PROTO_LINK(IPPROTO_ICMPV6, &proto_icmp6), - }, - .templates = { --- -2.11.0 - diff --git a/meta-networking/recipes-filter/nftables/files/fix-to-generate-ntf.8.patch b/meta-networking/recipes-filter/nftables/files/fix-to-generate-ntf.8.patch deleted file mode 100644 index 8dce90a754..0000000000 --- a/meta-networking/recipes-filter/nftables/files/fix-to-generate-ntf.8.patch +++ /dev/null @@ -1,26 +0,0 @@ -[PATCH] disable to make ntf.8 man - -Upstream-Status: Pending - -$DB2MAN do not support the xinclude parameter whether it is -docbook2x-man or other, so disable to make ntf.8 man - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - doc/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/doc/Makefile.am b/doc/Makefile.am -index a92de7f..537c36b 100644 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -1,5 +1,5 @@ - if BUILD_MAN --man_MANS = nft.8 -+#man_MANS = nft.8 - endif - - if BUILD_PDF --- -1.9.1 - diff --git a/meta-networking/recipes-filter/nftables/nftables_0.7.bb b/meta-networking/recipes-filter/nftables/nftables_0.7.bb deleted file mode 100644 index 287c350b9c..0000000000 --- a/meta-networking/recipes-filter/nftables/nftables_0.7.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Netfilter Tables userspace utillites" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" -SECTION = "net" - -DEPENDS = "libmnl libnftnl readline gmp bison-native" -RRECOMMENDS_${PN} += "kernel-module-nf-tables \ - " - -SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \ - file://fix-to-generate-ntf.8.patch \ - \ - file://0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch \ - file://0002-proto-Add-some-exotic-ICMPv6-types.patch \ - \ - file://0003-payload-split-ll-proto-dependency-into-helper.patch \ - file://0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch \ - file://0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch \ - file://0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch \ - file://0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch \ - " -SRC_URI[md5sum] = "4c005e76a15a029afaba71d7db21d065" -SRC_URI[sha256sum] = "fe639239d801ce5890397f6f4391c58a934bfc27d8b7d5ef922692de5ec4ed43" - -ASNEEDED = "" - -inherit autotools pkgconfig diff --git a/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb b/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb new file mode 100644 index 0000000000..3ff9583fcc --- /dev/null +++ b/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Netfilter Tables userspace utillites" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79" + +DEPENDS = "libmnl libnftnl readline gmp bison-native" + +UPSTREAM_CHECK_URI = "https://www.netfilter.org/projects/nftables/files/" + +SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \ + " +SRC_URI[md5sum] = "d4dcb61df80aa544b2e142e91d937635" +SRC_URI[sha256sum] = "ad8181b5fcb9ca572f444bed54018749588522ee97e4c21922648bb78d7e7e91" + +inherit autotools manpages pkgconfig + +PACKAGECONFIG ?= "" +PACKAGECONFIG[man] = "--enable--man-doc, --disable-man-doc" + +ASNEEDED = "" + +RRECOMMENDS_${PN} += "kernel-module-nf-tables" diff --git a/meta-networking/recipes-irc/znc/znc_git.bb b/meta-networking/recipes-irc/znc/znc_1.7.3.bb index 8c6979c2e2..b7d46af6f6 100644 --- a/meta-networking/recipes-irc/znc/znc_git.bb +++ b/meta-networking/recipes-irc/znc/znc_1.7.3.bb @@ -5,12 +5,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "openssl zlib icu" -PV = "1.7.1" - SRC_URI = "git://github.com/znc/znc.git;name=znc \ git://github.com/jimloco/Csocket.git;destsuffix=git/third_party/Csocket;name=Csocket \ " -SRCREV_znc = "c426898b3a1b899dfe8a8b2a3eeb4b18d8be1bf2" +SRCREV_znc = "be1b6bcd4cafbc57ebc298d89a5402ae7df55a8a" SRCREV_Csocket = "e8d9e0bb248c521c2c7fa01e1c6a116d929c41b4" # This constructs a composite revision based on multiple SRCREV's. @@ -30,5 +28,5 @@ do_configure_prepend() { } do_install_append() { - sed -i 's/-fdebug-prefix-map[^ ]*//g; s#${STAGING_DIR_TARGET}##g' ${D}${libdir}/pkgconfig/*.pc + sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc } diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190406.bb index 2c69c58f8b..badc97a973 100644 --- a/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb +++ b/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190406.bb @@ -25,7 +25,7 @@ MODULE_NAME = "wireguard" PKG_${PN} = "kernel-module-${MODULE_NAME}" module_do_install() { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} + install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} install -m 0644 ${MODULE_NAME}.ko \ - ${D}/lib/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko + ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko } diff --git a/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190406.bb index c4ddbcb0e9..c4ddbcb0e9 100644 --- a/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb +++ b/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190406.bb diff --git a/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-networking/recipes-kernel/wireguard/wireguard.inc index 6bd581a686..5cf745e9a4 100644 --- a/meta-networking/recipes-kernel/wireguard/wireguard.inc +++ b/meta-networking/recipes-kernel/wireguard/wireguard.inc @@ -11,7 +11,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz" -SRC_URI[md5sum] = "39bb99fe11356423fb1ab45ae2d938bb" -SRC_URI[sha256sum] = "2b97697e9b271ba8836a04120a287b824648124f21d5309170ec51c1f86ac5ed" +SRC_URI[md5sum] = "c11254fe48695e61c145a7e82756ecba" +SRC_URI[sha256sum] = "2f06f3adf70b95e74a7736a22dcf6e9ef623b311a15b7d55b5474e57c3d0415b" S = "${WORKDIR}/WireGuard-${PV}/src/" diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch new file mode 100644 index 0000000000..285667b869 --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch @@ -0,0 +1,35 @@ +From a7831a16c3e0e1463d5eb08a58af152cb75ca976 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Mon, 15 Apr 2019 06:05:58 +0000 +Subject: [PATCH] Fix CVE-2019-7282 and CVE-2019-7283 + +Description: Fix CVE-2018-20685 and CVE-2019-6111 +Bug-Debian: https://bugs.debian.org/920486 +Origin: https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2#diff-9f340c228413d5a9a9206ea2ed2bc624R1114 + +Upstream-Status: Backport [Debian] +[https://sources.debian.org/src/netkit-rsh/0.17-20/debian/patches/fix-CVE-2018-20685-and-CVE-2019-6111.patch] + +CVE: CVE-2019-7282 CVE-2019-7283 + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + rcp/rcp.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/rcp/rcp.c b/rcp/rcp.c +index ca61c18..77d8ff8 100644 +--- a/rcp/rcp.c ++++ b/rcp/rcp.c +@@ -740,6 +740,11 @@ sink(int argc, char *argv[]) + size = size * 10 + (*cp++ - '0'); + if (*cp++ != ' ') + SCREWUP("size not delimited"); ++ if (*cp == '\0' || strchr(cp, '/') != NULL || ++ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { ++ error("error: unexpected filename: %s", cp); ++ exit(1); ++ } + if (targisdir) { + static char *namebuf; + static int cursize; diff --git a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb index 03dd96338a..6f203c5a84 100644 --- a/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb @@ -16,6 +16,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name= file://netkit-rsh-0.17-rexec-ipv6.patch \ file://fix-host-variable.patch \ file://fixup_wait3_api_change.patch \ + file://CVE-2019-7282-and-CVE-2019-7283.patch \ " SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096" @@ -39,6 +40,8 @@ PACKAGECONFIG ??= "" PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam" +COMPATIBLE_HOST_libc-musl = 'null' + do_configure () { ./configure --prefix=${prefix} --exec-prefix=${exec_prefix} echo "INSTALLROOT=${D}" > MCONFIG diff --git a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb index 2fadf0334e..db4b1c98cc 100644 --- a/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb +++ b/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb @@ -5,7 +5,7 @@ DEPENDS = "ncurses" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef" -SRC_URI = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${BP}.tar.gz \ +SRC_URI = "http://ftp.linux.org.uk/pub/linux/Networking/netkit/${BP}.tar.gz \ file://To-aviod-buffer-overflow-in-telnet.patch \ file://Warning-fix-in-the-step-of-install.patch \ file://telnet-xinetd \ @@ -55,6 +55,7 @@ inherit update-alternatives ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_${PN} = "telnet" ALTERNATIVE_LINK_NAME[telnet] = "${bindir}/telnet" +ALTERNATIVE_TARGET[telnet] = "${bindir}/telnet.${PN}" SRC_URI[md5sum] = "d6beabaaf53fe6e382c42ce3faa05a36" SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2bb88e00" diff --git a/meta-networking/recipes-protocols/babeld/babeld_1.8.4.bb b/meta-networking/recipes-protocols/babeld/babeld_1.8.4.bb new file mode 100644 index 0000000000..550e126f7e --- /dev/null +++ b/meta-networking/recipes-protocols/babeld/babeld_1.8.4.bb @@ -0,0 +1,27 @@ +SUMMARY = "Babel is a loop-avoiding distance-vector routing protocol" +DESCRIPTION = "\ +Babel is a loop-avoiding distance-vector routing protocol for IPv6 and \ +IPv4 with fast convergence properties. It is based on the ideas in DSDV, AODV \ +and Cisco's EIGRP, but is designed to work well not only in wired networks \ +but also in wireless mesh networks, and has been extended with support \ +for overlay networks. Babel is in the process of becoming an IETF Standard. \ +" +HOMEPAGE = "https://www.irif.fr/~jch/software/babel/" +SECTION = "net" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754" + +SRC_URI = "git://github.com/jech/babeld.git;protocol=git" +SRCREV = "8627b6fcd4992f2e7992ecec97a4a4aa2d7ff099" + +S = "${WORKDIR}/git" + +do_compile () { + oe_runmake babeld +} + +do_install () { + oe_runmake install.minimal PREFIX=${D} +} + diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch new file mode 100644 index 0000000000..7e686ce7fe --- /dev/null +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch @@ -0,0 +1,62 @@ +From e38c508ef401593b1d4fe42b62e42a49cfec82af 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 43caddf..c09deb0 100644 +--- a/snmplib/scapi.c ++++ b/snmplib/scapi.c +@@ -1253,7 +1253,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)); + +@@ -1263,6 +1262,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.7.4 + diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch deleted file mode 100644 index 2d540967e5..0000000000 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch +++ /dev/null @@ -1,42 +0,0 @@ -From f592398b1c659f84168f5c84f63af3b71454b8f5 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Fri, 28 Sep 2018 22:59:23 +0800 -Subject: [PATCH] remove configure options from versioninfo - -Configure options contains host build paths which breaks -binary reproducibility. - -It is no harm to remove it from version info. - -Upstream-Status: Inappropriate [cross compile specific] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - agent/mibgroup/ucd-snmp/versioninfo.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/agent/mibgroup/ucd-snmp/versioninfo.c b/agent/mibgroup/ucd-snmp/versioninfo.c -index a5151c1..1160382 100644 ---- a/agent/mibgroup/ucd-snmp/versioninfo.c -+++ b/agent/mibgroup/ucd-snmp/versioninfo.c -@@ -92,7 +92,7 @@ var_extensible_version(struct variable *vp, - static char errmsg[300]; - char *cptr; - time_t curtime; --#ifdef NETSNMP_CONFIGURE_OPTIONS -+#if 0 - static char config_opts[] = NETSNMP_CONFIGURE_OPTIONS; - #endif - -@@ -126,7 +126,7 @@ var_extensible_version(struct variable *vp, - *var_len = strlen(errmsg); - return ((u_char *) errmsg); - case VERCONFIG: --#ifdef NETSNMP_CONFIGURE_OPTIONS -+#if 0 - *var_len = strlen(config_opts); - if (*var_len > 1024) - *var_len = 1024; /* mib imposed restriction */ --- -2.7.4 - diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch new file mode 100644 index 0000000000..b0dbf5ad36 --- /dev/null +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch @@ -0,0 +1,15 @@ +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-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch new file mode 100644 index 0000000000..4316c7a713 --- /dev/null +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch @@ -0,0 +1,19 @@ +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 @@ + [Path to the lpstat command]) + AC_DEFINE(HAVE_LPSTAT, 1, [Set if the lpstat command is available]) + fi +-if test -r /etc/printcap; then ++AC_CHECK_FILE([/etc/printcap], + AC_DEFINE(HAVE_PRINTCAP, 1, [Set if /etc/printcap exists]) +-fi ++) + + + # Check ps args diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest b/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest index 2334217bc0..76514c202e 100755 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest @@ -1,4 +1,5 @@ #!/bin/sh -cd testing +workdir=$(dirname `realpath $0`) +cd ${workdir}/testing ./RUNTESTS diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb index d47f9e4a3d..673142b4ac 100644 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb @@ -1,9 +1,9 @@ SUMMARY = "Various tools relating to the Simple Network Management Protocol" HOMEPAGE = "http://www.net-snmp.org/" SECTION = "net" -LICENSE = "BSD" +LICENSE = "BSD & MIT" -LIC_FILES_CHKSUM = "file://README;beginline=3;endline=8;md5=7f7f00ba639ac8e8deb5a622ea24634e" +LIC_FILES_CHKSUM = "file://COPYING;md5=9d100a395a38584f2ec18a8275261687" DEPENDS = "openssl libnl pciutils" @@ -24,7 +24,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \ file://0004-configure-fix-incorrect-variable.patch \ file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \ file://net-snmp-fix-for-disable-des.patch \ - file://0001-remove-configure-options-from-versioninfo.patch \ + file://reproducibility-have-printcap.patch \ + file://reproducibility-accept-configure-options-from-env.patch \ + file://0001-net-snmp-fix-compile-error-disable-des.patch \ " SRC_URI[md5sum] = "6aae5948df7efde626613d6a4b3cd9d4" SRC_URI[sha256sum] = "c6291385b8ed84f05890fe4197005daf7e7ee7b082c2e390fa114a9477a56042" @@ -32,7 +34,7 @@ SRC_URI[sha256sum] = "c6291385b8ed84f05890fe4197005daf7e7ee7b082c2e390fa114a9477 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/" UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/" -inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative +inherit autotools-brokensep update-rc.d siteinfo systemd pkgconfig perlnative ptest EXTRA_OEMAKE = "INSTALL_PREFIX=${D} OTHERLDFLAGS='${LDFLAGS}' HOST_CPPFLAGS='${BUILD_CPPFLAGS}'" @@ -41,15 +43,15 @@ CCACHE = "" TARGET_CC_ARCH += "${LDFLAGS}" -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} des" PACKAGECONFIG[elfutils] = "--with-elf, --without-elf, elfutils" PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no,\ perl, perl perl-lib" +PACKAGECONFIG[des] = "--enable-des,--disable-des" EXTRA_OECONF = "--enable-shared \ --disable-manuals \ @@ -68,12 +70,17 @@ CACHED_CONFIGUREVARS = " \ ac_cv_header_valgrind_memcheck_h=no \ ac_cv_ETC_MNTTAB=/etc/mtab \ lt_cv_shlibpath_overrides_runpath=yes \ + ac_cv_path_UNAMEPROG=${base_bindir}/uname \ + ac_cv_file__etc_printcap=no \ + NETSNMP_CONFIGURE_OPTIONS= \ " export PERLPROG="${bindir}/env perl" PERLPROG_append = "${@bb.utils.contains('PACKAGECONFIG', 'perl', ' -I${WORKDIR}', '', d)}" HAS_PERL = "${@bb.utils.contains('PACKAGECONFIG', 'perl', '1', '0', d)}" +PTEST_BUILD_HOST_FILES += "net-snmp-config gen-variables" + do_configure_prepend() { sed -i -e "s|I/usr/include|I${STAGING_INCDIR}|g" \ "${S}"/configure \ @@ -114,11 +121,13 @@ do_install_append() { install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system 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@\([^ ]*-fdebug-prefix-map=[^ ]*\)\1*@@g" \ - -e "s@\([^ ]*--sysroot=[^ ]*\)\1*@@g" \ - -e "s@\([^ ]*--with-libtool-sysroot=[^ ]*\)\1*@@g" \ - -e "s@\([^ ]*--with-install-prefix=[^ ]*\)\1*@@g" \ + sed -e 's@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g' \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*--sysroot=[^ "]*@@g' \ + -e 's@[^ ]*--with-libtool-sysroot=[^ "]*@@g' \ + -e 's@[^ ]*--with-install-prefix=[^ "]*@@g' \ + -e 's@[^ ]*PKG_CONFIG_PATH=[^ "]*@@g' \ + -e 's@[^ ]*PKG_CONFIG_LIBDIR=[^ "]*@@g' \ -i ${D}${bindir}/net-snmp-config if [ "${HAS_PERL}" = "1" ]; then @@ -169,12 +178,6 @@ net_snmp_sysroot_preprocess () { fi } -PACKAGE_PREPROCESS_FUNCS += "net_snmp_package_preprocess" -net_snmp_package_preprocess () { - sed -e 's@${RECIPE_SYSROOT}@@g' \ - -i ${PKGD}${bindir}/net-snmp-config -} - PACKAGES += "${PN}-libs ${PN}-mibs ${PN}-server ${PN}-client \ ${PN}-server-snmpd ${PN}-server-snmptrapd \ ${PN}-lib-netsnmp ${PN}-lib-agent ${PN}-lib-helpers \ diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch b/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch deleted file mode 100644 index 804bf12349..0000000000 --- a/meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f6c4d2468ae0dadd2f35680d61b98b2a59077328 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 7 Jul 2017 10:31:03 -0700 -Subject: [PATCH] include missing sys/types.h - -Fixes errors seen on musl -pqueue.h:21:3: error: unknown type name 'u_int32_t' - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - pqueue.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pqueue.h b/pqueue.h -index c37ba7b..ae4cc6a 100644 ---- a/pqueue.h -+++ b/pqueue.h -@@ -3,6 +3,7 @@ - - #include <time.h> - #include <sys/time.h> -+#include <sys/types.h> - - /* wait this many seconds for missing packets before forgetting about them */ - #define DEFAULT_PACKET_TIMEOUT 0.3 --- -2.13.2 - diff --git a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb index 10c9170fb1..3221581466 100644 --- a/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb +++ b/meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb @@ -11,11 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "${SOURCEFORGE_MIRROR}/sourceforge/pptpclient/pptp-${PV}.tar.gz \ file://options.pptp \ - file://0001-include-missing-sys-types.h.patch \ " -SRC_URI[md5sum] = "b2117b377f65294a9786f80f0235d308" -SRC_URI[sha256sum] = "0b1e8cbfc578d3f5ab12ee87c5c2c60419abfe9cc445690a8a19c320b11c9201" +SRC_URI[md5sum] = "8d25341352fdae5ad5b36b9f18254908" +SRC_URI[sha256sum] = "82492db8e487ce73b182ee7f444251d20c44f5c26d6e96c553ec7093aefb5af4" S = "${WORKDIR}/pptp-${PV}" diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc index d037c7cfc6..43942bcae9 100644 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc @@ -8,8 +8,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "git://github.com/xelerance/xl2tpd.git \ -" +SRC_URI = "git://github.com/xelerance/xl2tpd.git" S = "${WORKDIR}/git" @@ -38,4 +37,3 @@ CONFFILES_${PN} += "${sysconfdir}/xl2tpd.conf ${sysconfdir}/default/xl2tpd" INITSCRIPT_PACKAGES = "${PN}" INITSCRIPT_NAME_${PN} = "xl2tpd" - diff --git a/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb index 88ae5d6f8b..f03b537d9d 100644 --- a/meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb +++ b/meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb @@ -2,7 +2,4 @@ require xl2tpd.inc # This is v1.3.6 plus some commits. There is no tag for this commit. # -PV = "1.3.9+git${SRCPV}" - -SRCREV = "f114c10ac532051badeca0132b144a2f1596f047" - +SRCREV = "ba619c79c4790c78c033df0abde4a9a5de744a08" diff --git a/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb b/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb index 09083d3684..d437529dc4 100644 --- a/meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb +++ b/meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb @@ -5,13 +5,13 @@ SECTION = "libs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006" -PV = "1.14.0+gitr${SRCPV}" +PV = "1.15.0+gitr${SRCPV}" SRC_URI = "\ git://github.com/c-ares/c-ares.git \ file://cmake-install-libcares.pc.patch \ " -SRCREV = "17dc1b3102e0dfc3e7e31369989013154ee17893" +SRCREV = "e982924acee7f7313b4baa4ee5ec000c5e373c30" UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)" @@ -23,4 +23,4 @@ PACKAGES =+ "${PN}-utils" FILES_${PN}-utils = "${bindir}" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch b/meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch new file mode 100644 index 0000000000..17b6353527 --- /dev/null +++ b/meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch @@ -0,0 +1,29 @@ +From 11ec10cdb5ab4b94c5999e018a9c854419997761 Mon Sep 17 00:00:00 2001 +From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> +Date: Wed, 10 Apr 2019 03:18:17 +0200 +Subject: [PATCH] Fix compilation with musl + +Fixes: +../hash_intmd5.c:58: undefined reference to `MIN' + +Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> +--- + hash_intmd5.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/hash_intmd5.c b/hash_intmd5.c +index 49da1cf..47efe4c 100644 +--- a/hash_intmd5.c ++++ b/hash_intmd5.c +@@ -33,6 +33,8 @@ + + #include "md5.c" + ++#include <sys/param.h> ++ + static MD5_CTX ctx; + + int +-- +2.17.1 + diff --git a/meta-networking/recipes-support/chrony/chrony_3.3.bb b/meta-networking/recipes-support/chrony/chrony_3.4.bb index 2586370fa7..f6898c0b77 100644 --- a/meta-networking/recipes-support/chrony/chrony_3.3.bb +++ b/meta-networking/recipes-support/chrony/chrony_3.4.bb @@ -35,8 +35,13 @@ SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \ file://chronyd \ file://arm_eabi.patch \ " -SRC_URI[md5sum] = "81ab62cf5d60b4b3fa8cd2c1b267ffd9" -SRC_URI[sha256sum] = "0d1fb2d5875032f2d5a86f3770374c87ee4c941916f64171e81f7684f2a73128" + +SRC_URI_append_libc-musl = " \ + file://0001-Fix-compilation-with-musl.patch \ +" + +SRC_URI[md5sum] = "7170e750469c198fc6784047d6f71144" +SRC_URI[sha256sum] = "af77e47c2610a7e55c8af5b89a8aeff52d9a867dd5983d848b52d374bc0e6b9f" DEPENDS = "pps-tools" diff --git a/meta-networking/recipes-support/cifs/cifs-utils_git.bb b/meta-networking/recipes-support/cifs/cifs-utils_6.9.bb index 198e3ef987..51dcb23d11 100644 --- a/meta-networking/recipes-support/cifs/cifs-utils_git.bb +++ b/meta-networking/recipes-support/cifs/cifs-utils_6.9.bb @@ -4,12 +4,10 @@ SECTION = "otherosfs" LICENSE = "GPLv3 & LGPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -PV = "6.7" +PV = "6.9" -SRCREV = "8101a07871f185c7044fa2ca221b282ab4607c8b" -SRC_URI = "git://git.samba.org/cifs-utils.git \ - file://0001-mount.cifs-Remove-data_blob.h-include.patch \ - " +SRCREV = "9a8c21ad9e4510a83a3a41f7a04f763a4fe9ec09" +SRC_URI = "git://git.samba.org/cifs-utils.git" S = "${WORKDIR}/git" DEPENDS += "libtalloc" diff --git a/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch b/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch deleted file mode 100644 index 07f2a57264..0000000000 --- a/meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch +++ /dev/null @@ -1,32 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com> - -From 272d523a57a4e8791d625a479128613be5e401f5 Mon Sep 17 00:00:00 2001 -From: Thomas Witt <pyromaniac@exherbo.org> -Date: Wed, 15 Mar 2017 20:20:44 +0000 -Subject: [PATCH] mount.cifs: Remove data_blob.h include - -data_blob.h includes talloc.h from libtalloc, but that is only marked as -a dependency for cifs.upcall. No symbols from that header are used by -cifs.mount, so remove it to avoid the libtalloc dependency - -Signed-off-by: Thomas Witt <pyromaniac@exherbo.org> ---- - mount.cifs.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/mount.cifs.c b/mount.cifs.c -index 13b71ef..2612feb 100644 ---- a/mount.cifs.c -+++ b/mount.cifs.c -@@ -61,7 +61,6 @@ - #include "mount.h" - #include "util.h" - #include "resolve_host.h" --#include "data_blob.h" - - #ifndef MS_MOVE - #define MS_MOVE 8192 --- -1.9.4 - diff --git a/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb index 31875ea50f..4ecaabd7ed 100644 --- a/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb +++ b/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb @@ -4,18 +4,13 @@ SECTION = "doc" LICENSE = "DMTF" -SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-Doc.zip \ +SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-Doc.zip;subdir=${BP} \ file://LICENSE \ " SRC_URI[md5sum] = "3d01940bc1085c6c42184c25fb61f739" SRC_URI[sha256sum] = "3174cf0f8657b19d80dc59e184778d8e553da424728cb2966fe9d5428dd84267" LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4" -do_unpack() { - unzip -q ${DL_DIR}/cim_schema_${PV}Final-Doc.zip -d ${S} - cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/ -} - do_install() { install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}-docs cp -R --no-dereference --preserve=mode,links -v ${S}/* ${D}${datadir}/doc/cim-schema-${PV}-docs diff --git a/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb index a14de46db6..67d1db222c 100644 --- a/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb +++ b/meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb @@ -4,18 +4,13 @@ LICENSE = "DMTF" RCONFLICTS_${PN} = "cim-schema-exper" -SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-MOFs.zip \ +SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-MOFs.zip;subdir=${BP} \ file://LICENSE \ " SRC_URI[md5sum] = "a9bdf17c7374e3b5b7adeaac4842c4ad" SRC_URI[sha256sum] = "dbfa3064ea427acd71a4bebbc172ca2dc44b0b09a6d83b0945b9ffa988a9058a" LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4" -do_unpack() { - unzip -q ${DL_DIR}/cim_schema_${PV}Final-MOFs.zip -d ${S} - cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/ -} - do_install() { install -d -m 0755 ${D}${datadir}/mof/cimv${PV}/ install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV} diff --git a/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb b/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb index 340f57dc7e..799cf8611c 100644 --- a/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb +++ b/meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb @@ -2,7 +2,7 @@ SUMMARY = "C++ library for client-side URL transfers" HOMEPAGE = "http://www.curlpp.org/" SECTION = "libdevel" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=fd0c9adf285a69aa3b4faf34384e1029" DEPENDS = "curl" DEPENDS_class-native = "curl-native" @@ -15,19 +15,4 @@ S = "${WORKDIR}/git" inherit cmake pkgconfig binconfig -do_install_append () { - sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${libdir}/pkgconfig/curlpp.pc -} - -PACKAGES =+ "libcurlpp libcurlpp-dev libcurlpp-staticdev" - -FILES_lib${BPN} = "${libdir}/lib*.so.*" - -FILES_lib${BPN}-dev = "${includedir} \ - ${libdir}/pkgconfig \ - ${bindir}/*-config \ -" - -FILES_lib${BPN}-staticdev = "${libdir}/lib*.a" - BBCLASSEXTEND = "native nativesdk" diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc index 4f4bbf144a..33678e2345 100644 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc @@ -12,6 +12,7 @@ SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getV file://dnsmasq.conf \ file://dnsmasq-resolvconf.service \ file://dnsmasq-noresolvconf.service \ + file://dnsmasq-resolved.conf \ " inherit pkgconfig update-rc.d systemd @@ -58,6 +59,8 @@ do_install () { else install -m 0644 ${WORKDIR}/dnsmasq-noresolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service fi + install -d ${D}${sysconfdir}/systemd/resolved.conf.d/ + install -m 0644 ${WORKDIR}/dnsmasq-resolved.conf ${D}${sysconfdir}/systemd/resolved.conf.d/ install -m 0755 ${S}/contrib/lease-tools/dhcp_release ${D}${bindir} diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb deleted file mode 100644 index a66b9a9ad4..0000000000 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb +++ /dev/null @@ -1,8 +0,0 @@ -require dnsmasq.inc - -SRC_URI[dnsmasq-2.79.md5sum] = "5d7120a46d0c16a334f46757d7e2ba55" -SRC_URI[dnsmasq-2.79.sha256sum] = "77512dd6f31ffd96718e8dcbbf54f02c083f051d4cca709bd32540aea269f789" -SRC_URI += "\ - file://lua.patch \ -" - diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb new file mode 100644 index 0000000000..fdbdefbadc --- /dev/null +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb @@ -0,0 +1,8 @@ +require dnsmasq.inc + +SRC_URI[dnsmasq-2.80.md5sum] = "1f071fd11454e1cffea73bdadcf70b21" +SRC_URI[dnsmasq-2.80.sha256sum] = "9e4a58f816ce0033ce383c549b7d4058ad9b823968d352d2b76614f83ea39adc" +SRC_URI += "\ + file://lua.patch \ +" + diff --git a/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf b/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf new file mode 100644 index 0000000000..33f4649637 --- /dev/null +++ b/meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf @@ -0,0 +1,3 @@ +# Avoid conflicts between dnsmasq and systemd-resolved about port 53 +[Resolve] +DNSStubListener=no diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb b/meta-networking/recipes-support/dovecot/dovecot_2.2.36.3.bb index 882d5d5543..be633e03bf 100644 --- a/meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb +++ b/meta-networking/recipes-support/dovecot/dovecot_2.2.36.3.bb @@ -12,8 +12,8 @@ SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \ file://0001-doveadm-Fix-parallel-build.patch \ " -SRC_URI[md5sum] = "d61d1e923a22f9062cc9f47696882666" -SRC_URI[sha256sum] = "e9483d68a7698d701bc06124fcf6e1b1f16380c2986c7ec0cf4e1475b9d0c218" +SRC_URI[md5sum] = "80c1c271b1c4cbe26a793f4e3b09eb8e" +SRC_URI[sha256sum] = "992521305fa1d61f4726aac2619ccc65094a3cc2e5c80644455199764305863e" DEPENDS = "openssl xz zlib bzip2 libcap icu libtirpc" CFLAGS += "-I${STAGING_INCDIR}/tirpc" diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch deleted file mode 100644 index c0f3adf240..0000000000 --- a/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch +++ /dev/null @@ -1,43 +0,0 @@ -Subject: drbd-tools: only rmmod if DRBD is a module - -Account for the case if the DRBD drive is built into -the kernel. Otherwise, errors, like the following, -will occur: - -root@localhost:~# /etc/init.d/drbd stop - Stopping all DRBD resources: ERROR: Module drbd - does not exist in /proc/modules - -Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/2] - -Signed-off-by: Aws Ismail <aws.ismail@windriver.com> -Signed-off-by: Jason Wessel <jason.wessel@windriver.com> - -[ refresh to 8.4.4: squash Aws' and Jason's patches ] -Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com> - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> -Signed-off-by: Changqing Li <changqing.li@windriver.com> - ---- - scripts/drbd | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/scripts/drbd b/scripts/drbd -index 20bf628..de589dc 100755 ---- a/scripts/drbd -+++ b/scripts/drbd -@@ -241,7 +241,9 @@ case "$1" in - if [ -d /sys/module/drbd/holders ]; then - (cd /sys/module/drbd/holders; for tr in *; do [ -d ${tr} ] && ${RMMOD} ${tr}; done) - fi -- $RMMOD drbd && break -+ if [ ! -z "$(cat /proc/modules | grep -w drbd)" ]; then -+ $RMMOD drbd && break -+ fi - fi - done - run_hook stop --- -1.9.1 - diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.5.0.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.8.0.bb index bd1e8576f3..70e04b943c 100644 --- a/meta-networking/recipes-support/drbd/drbd-utils_9.5.0.bb +++ b/meta-networking/recipes-support/drbd/drbd-utils_9.8.0.bb @@ -10,11 +10,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils \ git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \ - file://0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch \ " -# v9.5.0 -SRCREV_drbd-utils = "ee126652638328b55dc6bff47d07d6161ab768db" -SRCREV_drbd-headers = "b47cc11bcabe1a65c40ad23f71dcaf2da6419630" +# v9.8.0 +SRCREV_drbd-utils = "c30216b49330216bf8a567b7727da6e24f099f08" +SRCREV_drbd-headers = "2357a11fb49bcbadf6b490e6d4cfe982a3d24813" S = "${WORKDIR}/git" @@ -48,8 +47,9 @@ do_configure_prepend() { } do_install_append() { - # don't install empty /var/lock to avoid conflict with base-files + # don't install empty /var/lock and /var/run to avoid conflict with base-files rm -rf ${D}${localstatedir}/lock + rm -rf ${D}${localstatedir}/run } RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" diff --git a/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch b/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch new file mode 100644 index 0000000000..fbf94d5136 --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch @@ -0,0 +1,79 @@ +Upstream-Status: Backport [https://github.com/LINBIT/drbd-9.0/commit/46e8e3f] + +Backport patch to fix compile errors: + +| LD [M] /home/kkang/buildarea/Yocto/build/tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd.o +| x86_64-poky-linux-ld.bfd: cannot find .../tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd_bitmap.o: No such file or directory + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +From 46e8e3fc31b651fb56ea38134dcf14382fc43000 Mon Sep 17 00:00:00 2001 +From: Lars Ellenberg <lars.ellenberg@linbit.com> +Date: Wed, 3 Apr 2019 10:57:46 +0200 +Subject: [PATCH] drbd: kbuild fix: use M=; don't forget addprefix $(obj) + +Kernel build started to warn about using SUBDIRS instead of M, +and we don't support "very old" kernels anymore anyways. + +Our list of dependencies for drbd_buildtag.c needs to depend on the +actual files $(obj)/*.o resulting from the build, +not on just the list of *.o names. + +This apparently also fixes a build failure in opensuse build service for +tumbleweed when using make-4.2.1-7.5 against kernel 5.0.5-something. +--- + drbd/Kbuild | 11 +++++------ + drbd/Makefile | 4 +--- + 2 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/drbd/Kbuild b/drbd/Kbuild +index 285f7a81..99228029 100644 +--- a/drbd/Kbuild ++++ b/drbd/Kbuild +@@ -1,4 +1,5 @@ +-obj-m := drbd.o drbd_transport_tcp.o ++obj-m += drbd.o drbd_transport_tcp.o ++# obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o drbd_transport_tcp.o + + clean-files := compat.h $(wildcard .config.$(KERNELVERSION).timestamp) + +@@ -56,10 +57,8 @@ ifndef DISABLE_KREF_DEBUGGING_HERE + drbd-y += kref_debug.o drbd_kref_debug.o + endif + +-$(patsubst %,$(obj)/%,$(drbd-y)): $(obj)/compat.h +-$(patsubst %,$(obj)/%,drbd_transport_tcp.o): $(obj)/compat.h +- +-obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o ++$(addprefix $(obj)/,$(drbd-y)): $(obj)/compat.h ++$(obj)/drbd_transport_tcp.o: $(obj)/compat.h + + # ====================================================================== + +@@ -124,7 +123,7 @@ endif + # and not in e.g. dash. I'm too lazy to fix it to be compatible. + SHELL=/bin/bash + +-$(obj)/drbd_buildtag.c: $(filter-out drbd_buildtag.o,$(drbd-y)) ++$(obj)/drbd_buildtag.c: $(addprefix $(obj)/,$(filter-out drbd_buildtag.o,$(drbd-y))) + @$(kecho) ' GEN $@ $(echo-why)' + @set -e; exec > $@.new; \ + echo -e "/* automatically generated. DO NOT EDIT. */"; \ +diff --git a/drbd/Makefile b/drbd/Makefile +index 5f768fc6..f9e8792a 100644 +--- a/drbd/Makefile ++++ b/drbd/Makefile +@@ -102,9 +102,7 @@ else + + kbuild: + @rm -f .drbd_kernelrelease* +- # previous to 2.6.6 (suse: 2.6.5-dunno), this should be: +- $(MAKE) -C $(KDIR) $(if $(O),O=$(O),) SUBDIRS=$(DRBDSRC) $(ARCH_UM) modules +-# $(MAKE) -C $(KDIR) M=$(DRBDSRC) $(ARCH_UM) modules ++ $(MAKE) -C $(KDIR) $(if $(O),O=$(O),) M=$(DRBDSRC) $(ARCH_UM) modules + -mv .drbd_kernelrelease.new .drbd_kernelrelease + @echo -n "Memorizing module configuration ... " + @config=$$( (for x in $(KDIR)/.config $(O)/.config ; do \ +-- +2.20.0 + diff --git a/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb b/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb index fa4d10b4c1..1eada269cb 100644 --- a/meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb +++ b/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb @@ -9,10 +9,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" DEPENDS = "virtual/kernel" SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \ - file://check_existence_of_modules_before_installing.patch" + file://check_existence_of_modules_before_installing.patch \ + file://0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch \ + " + +SRC_URI[md5sum] = "ae8d5030760b2820a4b3e250447890a0" +SRC_URI[sha256sum] = "86dd6cc0fdc8123056a3bb67a634cd7ba62a7b05b23caab9995cce7730891da8" -SRC_URI[md5sum] = "c1dd58043f46e9926b579aa65d4ea980" -SRC_URI[sha256sum] = "87f72d46db9bad926415b3ab9f5f1397de8c581d2e2ec1addbdd5ce2604e6123" inherit module EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'" @@ -20,5 +23,3 @@ EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'" do_install () { oe_runmake install DESTDIR="${D}" } - -PNBLACKLIST[drbd] = "implicit declaration of function 'setup_timer'; 4.15 head file issue?" diff --git a/meta-networking/recipes-support/fping/fping_3.5.bb b/meta-networking/recipes-support/fping/fping_4.2.bb index 82e3bf0730..594f5b9cff 100644 --- a/meta-networking/recipes-support/fping/fping_3.5.bb +++ b/meta-networking/recipes-support/fping/fping_4.2.bb @@ -9,11 +9,11 @@ in a round-robin fashion." HOMEPAGE = "http://www.fping.org/" SECTION = "net" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=09d77789fe32be35acde9637a5ee39b1" +LIC_FILES_CHKSUM = "file://COPYING;md5=c6170fbadddfcd74f011515291d96901" SRC_URI = "http://www.fping.org/dist/fping-${PV}.tar.gz" -SRC_URI[md5sum] = "2e17cb655aa4eb59b5a4a38a89e746ed" -SRC_URI[sha256sum] = "09b8960e235341bae6000085d38106357eae656a79e0119bd27e816c9003656a" +SRC_URI[md5sum] = "218e71764177a8ce25564a7810f8e729" +SRC_URI[sha256sum] = "7d339674b6a95aae1d8ad487ff5056fd95b474c3650938268f6a905c3771b64a" S = "${WORKDIR}/fping-${PV}" diff --git a/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb b/meta-networking/recipes-support/fwknop/fwknop_2.6.10.bb index 0fd5f6fed5..3eca3ab627 100644 --- a/meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb +++ b/meta-networking/recipes-support/fwknop/fwknop_2.6.10.bb @@ -7,9 +7,8 @@ inherit autotools-brokensep SRC_URI = "http://www.cipherdyne.org/${BPN}/download/${BPN}-${PV}.tar.bz2 \ " - -SRC_URI[md5sum] = "e2c49e9674888a028bd443a55c3aaa22" -SRC_URI[sha256sum] = "5bf47fe1fd30e862d29464f762c0b8bf89b5e298665c37624d6707826da956d4" +SRC_URI[md5sum] = "47a9c7c214c40dceb5dc2aa8832e4f32" +SRC_URI[sha256sum] = "f6c09bec97ed8e474a98ae14f9f53e1bcdda33393f20667b6af3fb6bb894ca77" DEPENDS = "libpcap gpgme" diff --git a/meta-networking/recipes-support/geoip/geoip_1.6.12.bb b/meta-networking/recipes-support/geoip/geoip_1.6.12.bb index 4e717e4b95..4271c2e155 100644 --- a/meta-networking/recipes-support/geoip/geoip_1.6.12.bb +++ b/meta-networking/recipes-support/geoip/geoip_1.6.12.bb @@ -8,26 +8,28 @@ using reverse DNS lookups." HOMEPAGE = "http://dev.maxmind.com/geoip/" SECTION = "libdevel" +GEOIP_DATABASE_VERSION = "20181205" + SRC_URI = "git://github.com/maxmind/geoip-api-c.git \ - http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz;apply=no;name=GeoIP-dat \ - http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz;apply=no;name=GeoIPv6-dat \ - http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz;apply=no;name=GeoLiteCity-dat \ - http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz;apply=no;name=GeoLiteCityv6-dat \ + http://sources.openembedded.org/GeoIP.dat.${GEOIP_DATABASE_VERSION}.gz;apply=no;name=GeoIP-dat; \ + http://sources.openembedded.org/GeoIPv6.dat.${GEOIP_DATABASE_VERSION}.gz;apply=no;name=GeoIPv6-dat; \ + http://sources.openembedded.org/GeoLiteCity.dat.${GEOIP_DATABASE_VERSION}.gz;apply=no;name=GeoLiteCity-dat; \ + http://sources.openembedded.org/GeoLiteCityv6.dat.${GEOIP_DATABASE_VERSION}.gz;apply=no;name=GeoLiteCityv6-dat; \ file://run-ptest \ " SRCREV = "4b526e7331ca1d692b74a0509ddcc725622ed31a" -SRC_URI[GeoIP-dat.md5sum] = "37c84ead332dda0362a5ac7b049b72d4" -SRC_URI[GeoIP-dat.sha256sum] = "79ff1099e96c2dc1c2539c9a18aaa13a9afd085cae477df60d95f1644d42bc07" +SRC_URI[GeoIP-dat.md5sum] = "d538e57ad9268fdc7955c6cf9a37c4a9" +SRC_URI[GeoIP-dat.sha256sum] = "b9c05eb8bfcf90a6ddfdc6815caf40a8db2710f0ce3dd48fbd6c24d485ae0449" -SRC_URI[GeoIPv6-dat.md5sum] = "e75b84a4044e81d6d4484e33816bc762" -SRC_URI[GeoIPv6-dat.sha256sum] = "a009b0f21968d2868e6dd19d14f3c3b8cd60ae84a4bfc2970df34d771a04811e" +SRC_URI[GeoIPv6-dat.md5sum] = "52d6aa0aac1adbfa5eb7fa4742197c11" +SRC_URI[GeoIPv6.sha256sum] = "416ac92fcc35a21d5efbb32e5c88e609c37aec1aa1af6247d088b8da1af6e9bf" -SRC_URI[GeoLiteCity-dat.md5sum] = "4b6588d0bfe1af22e267ac90aa97f769" -SRC_URI[GeoLiteCity-dat.sha256sum] = "8a6467033a528f68b1a97de24d9d0ce86c8e8e83683820e16e433ddbd3f712f7" +SRC_URI[GeoLiteCity-dat.md5sum] = "d700c137232f8e077ac8db8577f699d9" +SRC_URI[GeoLiteCity-dat.sha256sum] = "90db2e52195e3d1bcdb2c2789209006d09de5c742812dbd9a1b36c12675ec4cd" -SRC_URI[GeoLiteCityv6-dat.md5sum] = "ad0cb42518af7f752499425dca0952bb" -SRC_URI[GeoLiteCityv6-dat.sha256sum] = "eda67f4204ba9fa5204a53cdb629167cca9394c712f5378bc723a8c29c0b440f" +SRC_URI[GeoLiteCityv6-dat.md5sum] = "6734ccdc644fc0ba76eb276dce73d005" +SRC_URI[GeoLiteCityv6-dat.sha256sum] = "c95a9d2643b7f53d7abeed2114388870e13fbbad4653f450a49efa7e4b86aca4" LICENSE = "LGPL-2.1" @@ -44,10 +46,10 @@ EXTRA_OECONF = "--disable-static \ do_install() { make DESTDIR=${D} install install -d ${D}/${datadir}/GeoIP - install ${WORKDIR}/GeoIP.dat ${D}/${datadir}/GeoIP/ - install ${WORKDIR}/GeoIPv6.dat ${D}/${datadir}/GeoIP/ - install ${WORKDIR}/GeoLiteCity.dat ${D}/${datadir}/GeoIP/ - install ${WORKDIR}/GeoLiteCityv6.dat ${D}/${datadir}/GeoIP/ + install ${WORKDIR}/GeoIP.dat.${GEOIP_DATABASE_VERSION} ${D}/${datadir}/GeoIP/GeoIP.dat + install ${WORKDIR}/GeoIPv6.dat.${GEOIP_DATABASE_VERSION} ${D}/${datadir}/GeoIP/GeoIPv6.dat + install ${WORKDIR}/GeoLiteCity.dat.${GEOIP_DATABASE_VERSION} ${D}/${datadir}/GeoIP/GeoLiteCity.dat + install ${WORKDIR}/GeoLiteCityv6.dat.${GEOIP_DATABASE_VERSION} ${D}/${datadir}/GeoIP/GeoLiteCityv6.dat ln -s GeoLiteCity.dat ${D}${datadir}/GeoIP/GeoIPCity.dat } diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch index 5286376ac6..7e033af5ee 100644 --- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch @@ -2,6 +2,8 @@ Upstream-Status: Backport +CVE: CVE-2015-4047 + http://www.openwall.com/lists/oss-security/2015/05/20/1 racoon/gssapi.c in IPsec-Tools 0.8.2 allows remote attackers to cause diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch index bd07965543..fec4804c02 100644 --- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch @@ -1,6 +1,6 @@ Upstream-Status: Backport [https://anonscm.debian.org/cgit/pkg-ipsec-tools/pkg-ipsec-tools.git/plain/debian/patches/CVE-2016-10396.patch?id=62ac12648a4eb7c5ba5dba0f81998d1acf310d8b] -Fix CVE-2016-10396. +CVE: CVE-2016-10396 Signed-off-by: Kai Kang <kai.kang@windriver.com> --- diff --git a/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch b/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch new file mode 100644 index 0000000000..10f2ef84d3 --- /dev/null +++ b/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch @@ -0,0 +1,35 @@ +From 7205761d654636a6c1fad03a3ca40d38e253e192 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Fri, 25 Jan 2019 16:01:07 +0800 +Subject: [PATCH] Makefile: fix problem that waf cannot found + +tdb is subfolder of samba, but it can also build independently. +so both path need to be added into PATH + +Upsteam-Status: Inappropriate [oe specific] + +Fix reject by upstream since upsteam need to support both python2/3, +so drop add append PATH. refer link: +https://gitlab.com/samba-team/samba/merge_requests/209 +https://gitlab.com/samba-team/samba/merge_requests/211 + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 3e70146..64bb393 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,6 @@ + # simple makefile wrapper to run waf + +-WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf ++WAF_BINARY=PATH=buildtools/bin:../../buildtools/bin:$$PATH waf + WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY) + + all: +-- +2.7.4 + diff --git a/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch new file mode 100644 index 0000000000..e20c9a2c24 --- /dev/null +++ b/meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch @@ -0,0 +1,63 @@ +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 libtdb from 1.3.16 to 1.3.17, waf build system +which used by libtdb upgrade from 1.5.19 to 2.0.8 + +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 2.0.8, 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-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch b/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch index 365b92da25..e6e10238f1 100644 --- a/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch +++ b/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch @@ -1,6 +1,6 @@ -From 6de1affddde4003a956523c330ecf24e22e094ac Mon Sep 17 00:00:00 2001 +From 13bbc851d9fd7396f087758e614abba60eeb2aad Mon Sep 17 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> -Date: Thu, 19 Jul 2018 16:20:32 +0800 +Date: Wed, 23 Jan 2019 10:14:05 +0800 Subject: [PATCH] tdb: Add configure options for packages Add configure options for the following packages: @@ -21,16 +21,19 @@ Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Update for libtdb_1.3.16 Signed-off-by: Changqing Li <changqing.li@windriver.com> + +Update for libtdb_1.3.17 +Signed-off-by: Changqing Li <changqing.li@windriver.com> --- - lib/replace/wscript | 89 +++++++++++++++++++++++++++++++++++++++++------------ + lib/replace/wscript | 95 ++++++++++++++++++++++++++++++++++++++++------------- wscript | 6 ++++ - 2 files changed, 75 insertions(+), 20 deletions(-) + 2 files changed, 79 insertions(+), 22 deletions(-) diff --git a/lib/replace/wscript b/lib/replace/wscript -index fd00a42..2df83cd 100644 +index 6cbae93..7aeaf46 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript -@@ -23,6 +23,41 @@ def set_options(opt): +@@ -25,6 +25,41 @@ def options(opt): opt.PRIVATE_EXTENSION_DEFAULT('') opt.RECURSE('buildtools/wafsamba') @@ -72,7 +75,7 @@ index fd00a42..2df83cd 100644 @Utils.run_once def configure(conf): conf.RECURSE('buildtools/wafsamba') -@@ -32,12 +67,25 @@ def configure(conf): +@@ -34,12 +69,25 @@ def configure(conf): conf.DEFINE('HAVE_LIBREPLACE', 1) conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1) @@ -103,21 +106,24 @@ index fd00a42..2df83cd 100644 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/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h') -@@ -108,7 +156,9 @@ def configure(conf): +@@ -110,8 +158,10 @@ 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') -- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') +- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h') +- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h') + if Options.options.enable_valgrind: -+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') ++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h') ++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h') + 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') -@@ -342,20 +392,19 @@ def configure(conf): +@@ -379,21 +429,22 @@ def configure(conf): + conf.CHECK_FUNCS('prctl dirname basename') strlcpy_in_bsd = False - +- - # libbsd on some platforms provides strlcpy and strlcat - if not conf.CHECK_FUNCS('strlcpy strlcat'): - if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', @@ -132,27 +138,30 @@ index fd00a42..2df83cd 100644 - - if not conf.CHECK_FUNCS('closefrom'): - conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') ++ + if Options.options.enable_libbsd: + # libbsd on some platforms provides strlcpy and strlcat + if not conf.CHECK_FUNCS('strlcpy strlcat'): -+ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', -+ checklibc=True) ++ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', ++ checklibc=True): ++ strlcpy_in_bsd = True + if not conf.CHECK_FUNCS('getpeereid'): + conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') + if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): + conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') ++ if not conf.CHECK_FUNCS('setproctitle_init'): ++ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') + + if not conf.CHECK_FUNCS('closefrom'): + conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') -+ conf.CHECK_CODE(''' struct ucred cred; diff --git a/wscript b/wscript -index 6505648..6608481 100644 +index bc5ee26..9ac10b6 100644 --- a/wscript +++ b/wscript -@@ -63,6 +63,12 @@ def set_options(opt): +@@ -69,6 +69,12 @@ def options(opt): action="store_true", dest='disable_tdb_mutex_locking', default=False) diff --git a/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb b/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb index 0579ed6e3b..4c7755cba3 100644 --- a/meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb +++ b/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb @@ -9,15 +9,18 @@ LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \ file://do-not-check-xsltproc-manpages.patch \ file://tdb-Add-configure-options-for-packages.patch \ + file://0001-waf-add-support-of-cross_compile.patch \ + file://0001-Makefile-fix-problem-that-waf-cannot-found.patch \ " -SRC_URI[md5sum] = "7d06d8709188e07df853d9e91db88927" -SRC_URI[sha256sum] = "6a3fc2616567f23993984ada3cea97d953a27669ffd1bfbbe961f26e0cf96cc5" +SRC_URI[md5sum] = "519d373ac72a66b0a2739dbb495de127" +SRC_URI[sha256sum] = "1cb4399394c60a773430ca54848359adcf54fb6f136afdcfcbbe62b5f4245614" PACKAGECONFIG ??= "\ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ " + PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio" @@ -29,6 +32,10 @@ S = "${WORKDIR}/tdb-${PV}" inherit waf-samba +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK="yes" + EXTRA_OECONF += "--disable-rpath \ --bundled-libraries=NONE \ --builtin-libraries=replace \ diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch b/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch new file mode 100644 index 0000000000..a7c7093e09 --- /dev/null +++ b/meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch @@ -0,0 +1,48 @@ +From 29b37e45577c0921846c1709a190f08a3b032666 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 8 Mar 2019 09:08:38 -0800 +Subject: [PATCH] IFNAMSIZ is defined in net/if.h + +Fixes +/mnt/a/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/linux-atm/2.5.2-r0/recipe-sysroot/usr/include/linux/if_arp.h:121:16: error: 'IFNAMSIZ' undeclared here (not in a function) +| char arp_dev[IFNAMSIZ]; +| ^~~~~~~~ +In file included from ../../../linux-atm-2.5.2/src/arpd/itf.c:17: +/mnt/a/yoe/build/tmp/work/qemuriscv64-yoe-linux-musl/linux-atm/2.5.2-r0/recipe-sysroot/usr/include/linux/if_arp.h:121:16: error: 'IFNAMSIZ' undeclared here (not in a function) +| char arp_dev[IFNAMSIZ]; +| ^~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/arpd/arp.c | 1 + + src/arpd/itf.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/arpd/arp.c b/src/arpd/arp.c +index 92d3787..ff1574c 100644 +--- a/src/arpd/arp.c ++++ b/src/arpd/arp.c +@@ -17,6 +17,7 @@ + #include <netinet/in.h> /* for ntohs, etc. */ + #define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */ + #include <linux/types.h> ++#include <net/if.h> + #include <linux/if_arp.h> + #include <linux/if_ether.h> + #include <atm.h> +diff --git a/src/arpd/itf.c b/src/arpd/itf.c +index 92f0951..d285e3b 100644 +--- a/src/arpd/itf.c ++++ b/src/arpd/itf.c +@@ -14,6 +14,7 @@ + #include <sys/socket.h> + #define _LINUX_NETDEVICE_H /* glibc2 */ + #include <linux/types.h> ++#include <net/if.h> + #include <linux/if_arp.h> + + #include "atmd.h" +-- +2.21.0 + diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch b/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch deleted file mode 100644 index ce061231ca..0000000000 --- a/meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 27fa80dc8045e71c30dd2abea835206d5c8f6c71 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 17 Jun 2017 16:18:56 -0700 -Subject: [PATCH 2/3] sigd: Replace on_exit() API with atexit() - -on_exit is not universally available - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/sigd/atmsigd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/sigd/atmsigd.c b/src/sigd/atmsigd.c -index 52e41c7..b766606 100644 ---- a/src/sigd/atmsigd.c -+++ b/src/sigd/atmsigd.c -@@ -517,7 +517,7 @@ int main(int argc,char **argv) - exit(0); - } - } -- (void) on_exit(trace_on_exit,NULL); -+ atexit(trace_on_exit); - poll_loop(); - close_all(); - for (sig = entities; sig; sig = sig->next) stop_saal(&sig->saal); --- -2.13.1 - diff --git a/meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch b/meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch new file mode 100644 index 0000000000..25211d7c10 --- /dev/null +++ b/meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch @@ -0,0 +1,37 @@ +Description: musl lacks on_exit +Author: Adrian Bunk <bunk@stusta.de> + +Only prints a trace on nonzero exit(), +so can safely be disabled in musl builds. + +Signed-off-by: Adrian Bunk <bunk@stusta.de> +Upstream-Status: Inappropriate [musl specific] + +--- linux-atm-2.5.1.orig/src/sigd/atmsigd.c ++++ linux-atm-2.5.1/src/sigd/atmsigd.c +@@ -283,6 +283,7 @@ static void setup_signals(void) + /* ------------------------------- main ... ------------------------------- */ + + ++#if 0 + static void trace_on_exit(int status,void *dummy) + { + char path[PATH_MAX+1]; +@@ -300,6 +301,7 @@ static void trace_on_exit(int status,voi + dump_trace(file,"Message trace (after error exit)"); + if (file != stderr) (void) fclose(file); + } ++#endif + + + static void manual_override(void) +@@ -517,7 +519,9 @@ int main(int argc,char **argv) + exit(0); + } + } ++#if 0 + (void) on_exit(trace_on_exit,NULL); ++#endif + poll_loop(); + close_all(); + for (sig = entities; sig; sig = sig->next) stop_saal(&sig->saal); diff --git a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb index 9fce4fba63..9ed7ca613b 100644 --- a/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb +++ b/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb @@ -3,19 +3,19 @@ HOMEPAGE = "http://linux-atm.sourceforge.net/" SECTION = "libs" LICENSE = "GPL-2.0 & LGPL-2.0" -DEPENDS = "virtual/kernel flex flex-native" - -PACKAGE_ARCH = "${MACHINE_ARCH}" +DEPENDS = "flex flex-native" SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ file://link-with-ldflags.patch \ file://install-from-buildir.patch \ file://0001-fix-compile-error-with-linux-kernel-v4.8.patch \ file://0001-ttcp-Add-printf-format-string.patch \ - file://0002-sigd-Replace-on_exit-API-with-atexit.patch \ file://0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch \ + file://0001-IFNAMSIZ-is-defined-in-net-if.h.patch \ " +SRC_URI_append_libc-musl = " file://musl-no-on_exit.patch" + SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8" SRC_URI[sha256sum] = "9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a" diff --git a/meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch b/meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch new file mode 100644 index 0000000000..d36087d550 --- /dev/null +++ b/meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch @@ -0,0 +1,31 @@ +From 12d1cc9da14b0cd0265bca3c4289a335ddf2e357 Mon Sep 17 00:00:00 2001 +From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> +Date: Mon, 8 Apr 2019 21:00:20 +0200 +Subject: [PATCH] Fix musl build + +Fixes compilation error on musl: +| ../macchanger-1.7.0/src/netinfo.c:116:26: error: expected ';' before 'epa' +| req.ifr_data = (caddr_t)epa; + +Missing data type is defined in <sys/types.h>. + +Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> +--- + src/netinfo.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/netinfo.c b/src/netinfo.c +index 3525123..1aa3293 100644 +--- a/src/netinfo.c ++++ b/src/netinfo.c +@@ -28,6 +28,7 @@ + #include <string.h> + #include <unistd.h> + #include <sys/ioctl.h> ++#include <sys/types.h> + + #include <linux/ethtool.h> + #include <linux/sockios.h> +-- +2.17.1 + diff --git a/meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb b/meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb deleted file mode 100644 index a90177f19a..0000000000 --- a/meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Tool to view/change network interface MAC addresses" -DESCRIPTION = "A GNU/Linux utility for viewing/manipulating the MAC address of network interfaces." -HOMEPAGE = "http://www.alobbs.com/macchanger" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -SECTION = "net" - -SRC_URI = "${GNU_MIRROR}/macchanger/${BPN}-${PV}.tar.gz" - -SRC_URI[md5sum] = "79b7cdaeca3d8ebafa764c4b0dd03ab7" -SRC_URI[sha256sum] = "d44bfa27cb29c5a718627cb3ef3aa42eb5130426545eb2031120826cd73fa8fe" - -FILES_${PN} = " \ - ${bindir}/${BPN} \ - ${datadir}/${BPN}/wireless.list \ - ${datadir}/${BPN}/OUI.list \ -" - -FILES_${PN}-doc = " \ - ${datadir}/info \ - ${datadir}/man \ -" - -inherit autotools diff --git a/meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb b/meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb new file mode 100644 index 0000000000..6506fd8ef7 --- /dev/null +++ b/meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Tool to view/change network interface MAC addresses" +DESCRIPTION = "A GNU/Linux utility for viewing/manipulating the MAC address of network interfaces." +HOMEPAGE = "https://github.com/alobbs/macchanger" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "net" + +SRC_URI = "https://github.com/alobbs/macchanger/releases/download/${PV}/${BPN}-${PV}.tar.gz \ + file://0001-Fix-musl-build.patch \ +" +SRC_URI[md5sum] = "ca56f16142914337391dac91603eb332" +SRC_URI[sha256sum] = "dae2717c270fd5f62d790dbf80c19793c651b1b26b62c101b82d5fdf25a845bf" + +FILES_${PN} = " \ + ${bindir}/${BPN} \ + ${datadir}/${BPN}/wireless.list \ + ${datadir}/${BPN}/OUI.list \ +" + +FILES_${PN}-doc = " \ + ${datadir}/info \ + ${datadir}/man \ +" + +inherit autotools diff --git a/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb b/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb index 74f5c9f10a..20ad43a4d5 100644 --- a/meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb +++ b/meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb @@ -7,15 +7,15 @@ LIC_FILES_CHKSUM = "file://debian/copyright;md5=f39e60ae4ea9fdb559c833be2e59de99 DEPENDS += "glib-2.0 libbsd" do_patch[depends] = "quilt-native:do_populate_sysroot" -SRC_URI = "${DEBIAN_MIRROR}/main/n/netcat-openbsd/netcat-openbsd_${PV}.orig.tar.gz;name=netcat \ - ${DEBIAN_MIRROR}/main/n/netcat-openbsd/netcat-openbsd_${PV}-2.debian.tar.xz;name=netcat-patch;subdir=${BP} \ +SRC_URI = "http://snapshot.debian.org/archive/debian/20181022T085404Z/pool/main/n/netcat-openbsd/netcat-openbsd_${PV}.orig.tar.gz;name=netcat \ + http://snapshot.debian.org/archive/debian/20181022T085404Z/pool/main/n/netcat-openbsd/netcat-openbsd_${PV}-1.debian.tar.xz;name=netcat-patch;subdir=${BP} \ file://0001-bundle-own-base64-encode-decode-functions.patch \ " -SRC_URI[netcat.md5sum] = "dd32fd1d7903b541ad8709794539b959" -SRC_URI[netcat.sha256sum] = "68ccc448392c05ec51baed0167a72b8c650454f990b895d6e6877d416a38e536" -SRC_URI[netcat-patch.md5sum] = "78058b7af0170654b877b02c37716cdf" -SRC_URI[netcat-patch.sha256sum] = "88088af3f520c7825e59bc133d65e70fc4a30139d451c6faabbd9f240bc78374" +SRC_URI[netcat.md5sum] = "219d5e49c45658e229a3bda63063a986" +SRC_URI[netcat.sha256sum] = "0e283b2a214313c69447cd962c528ac19afb3ddfe606b25de6d179f187cde4c3" +SRC_URI[netcat-patch.md5sum] = "7eba241989dbef6caa78ec4bc8e35151" +SRC_URI[netcat-patch.sha256sum] = "c6736fcbab5254cbbc52278993a951da1126e42800a297c27db297e332e2017e" inherit pkgconfig diff --git a/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb b/meta-networking/recipes-support/nghttp2/nghttp2_1.38.0.bb index 3ccd486be1..42b4379338 100644 --- a/meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb +++ b/meta-networking/recipes-support/nghttp2/nghttp2_1.38.0.bb @@ -4,9 +4,9 @@ SECTION = "libs" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec" -SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.bz2" -SRC_URI[md5sum] = "926f07ad3b50f38f7d8935ced04716cf" -SRC_URI[sha256sum] = "0df4229f4123b5aa96e834ebcfdffe954e93d986f0252fd10123d50c6f010983" +SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz" +SRC_URI[md5sum] = "45b47086ee6da8171e11887c1665f275" +SRC_URI[sha256sum] = "ef75c761858241c6b4372fa6397aa0481a984b84b7b07c4ec7dc2d7b9eee87f8" DEPENDS = "libxml2 openssl zlib jansson cunit c-ares" diff --git a/meta-networking/recipes-support/nis/nis.inc b/meta-networking/recipes-support/nis/nis.inc index 200eaf74d4..a968af174f 100644 --- a/meta-networking/recipes-support/nis/nis.inc +++ b/meta-networking/recipes-support/nis/nis.inc @@ -25,7 +25,7 @@ do_install() { # so force the package to be skipped here (this will cause a # 'nothing provides' error) python () { - os = d.getVar("TARGET_OS", True) + os = d.getVar("TARGET_OS") if os == "linux-uclibc": raise bb.parse.SkipRecipe("NIS functionality requires rpcsvc/yp.h, uClibC does not provide this") } diff --git a/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb b/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb index 9822f455ec..1a64e6c2e1 100644 --- a/meta-networking/recipes-support/nis/ypbind-mt_2.4.bb +++ b/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb @@ -16,7 +16,7 @@ the server which answered as first. \ \ This is the final IPv4-only version of ypbind-mt. \ " -HOMEPAGE = "http://www.linux-nis.org/nis/ypbind-mt/index.html" +HOMEPAGE = "https://github.com/thkukuk/ypbind-mt/" DEPENDS = " \ yp-tools \ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ @@ -28,13 +28,13 @@ RDEPENDS_${PN} += "yp-tools" # and is used in place of it. PROVIDES += "ypbind" -SRC_URI = "http://www.linux-nis.org/download/ypbind-mt/${BP}.tar.bz2 \ +SRC_URI = "https://github.com/thkukuk/ypbind-mt/releases/download/v${PV}/${BPN}-${PV}.tar.xz \ file://ypbind.init \ file://ypbind.service \ file://0001-dns_hosts-Fix-build-with-musl.patch \ " -SRC_URI[md5sum] = "1aeccd0d11c064d5d59c56941bca682b" -SRC_URI[sha256sum] = "a2e1fa8fc992a12b289c229e00e38c20d59070c3bcf08babf40c692515c340e0" +SRC_URI[md5sum] = "7cf89641fdc128d0919207e4b7caaf1d" +SRC_URI[sha256sum] = "0696c0263c4fd48a4ff2ce6c109f05f37aab0f71646d81cb22c7c28591bf80eb" inherit systemd update-rc.d diff --git a/meta-networking/recipes-support/ntp/ntp/reproducibility-fixed-path-to-posix-shell.patch b/meta-networking/recipes-support/ntp/ntp/reproducibility-fixed-path-to-posix-shell.patch new file mode 100644 index 0000000000..571db75f7c --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/reproducibility-fixed-path-to-posix-shell.patch @@ -0,0 +1,15 @@ +--- ntp-4.2.8p12.original/sntp/libopts/m4/libopts.m4 2018-11-12 17:54:57.747220846 +1300 ++++ ntp-4.2.8p12/sntp/libopts/m4/libopts.m4 2018-11-12 18:00:50.626211641 +1300 +@@ -114,12 +114,6 @@ + AC_PROG_SED + [while : + do +- POSIX_SHELL=`which bash` +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=`which dash` +- test -x "$POSIX_SHELL" && break +- POSIX_SHELL=/usr/xpg4/bin/sh +- test -x "$POSIX_SHELL" && break + POSIX_SHELL=`/bin/sh -c ' + exec 2>/dev/null + if ! true ; then exit 1 ; fi diff --git a/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch b/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch new file mode 100644 index 0000000000..58e71c3b8b --- /dev/null +++ b/meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch @@ -0,0 +1,16 @@ +--- ntp-4.2.8p12.original/scripts/build/mkver.in 2018-11-12 14:06:49.333020430 +1300 ++++ ntp-4.2.8p12/scripts/build/mkver.in 2018-11-12 14:15:04.947480167 +1300 +@@ -15,7 +15,12 @@ + *) ConfStr="${ConfStr}-@VER_SUFFIX@" ;; + esac + +-ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`" ++if [ -n "$SOURCE_DATE_EPOCH" ]; then ++ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -d@$SOURCE_DATE_EPOCH 2>/dev/null`" || ++ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date -r $SOURCE_DATE_EPOCH`" ++else ++ ConfStr="$ConfStr `LC_TIME=C TZ=UTC date`" ++fi + + if [ ! -f .version ]; then + echo 0 > .version diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.8p12.bb b/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb index 4254301153..dc18a602ab 100644 --- a/meta-networking/recipes-support/ntp/ntp_4.2.8p12.bb +++ b/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb @@ -6,12 +6,14 @@ or satellite receiver or modem." HOMEPAGE = "http://support.ntp.org" SECTION = "net" LICENSE = "NTP" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e877a1d567a6a58996d2b66e3e387003" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4cee33257467509e498f4cd9a6a4bd53" DEPENDS = "libevent" SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \ file://ntp-4.2.4_p6-nano.patch \ + file://reproducibility-fixed-path-to-posix-shell.patch \ + file://reproducibility-respect-source-date-epoch.patch \ file://ntpd \ file://ntp.conf \ file://ntpdate \ @@ -23,8 +25,8 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g file://ntpd.list \ " -SRC_URI[md5sum] = "1522d66574bae14abb2622746dad2bdc" -SRC_URI[sha256sum] = "709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454" +SRC_URI[md5sum] = "ea040ab9b4ca656b5229b89d6b822f13" +SRC_URI[sha256sum] = "288772cecfcd9a53694ffab108d1825a31ba77f3a8466b0401baeca3bc232a38" inherit autotools update-rc.d useradd systemd pkgconfig @@ -103,7 +105,7 @@ do_install_append() { rmdir --ignore-fail-on-non-empty ${D}${libexecdir} } -PACKAGES += "ntpdate sntp ${PN}-tickadj ${PN}-utils" +PACKAGES += "ntpdate sntp ntpq ${PN}-tickadj ${PN}-utils" # NOTE: you don't need ntpdate, use "ntpd -q -g -x" # ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms @@ -115,6 +117,8 @@ RDEPENDS_${PN} += "libgcc" RPROVIDES_${PN}-utils = "${PN}-bin" RREPLACES_${PN}-utils = "${PN}-bin" RCONFLICTS_${PN}-utils = "${PN}-bin" +# ntpq was split out of ntp-utils +RDEPENDS_${PN}-utils = "ntpq" SYSTEMD_PACKAGES = "${PN} ntpdate sntp" SYSTEMD_SERVICE_${PN} = "ntpd.service" @@ -149,6 +153,7 @@ FILES_sntp = "${sbindir}/sntp \ ${sysconfdir}/default/sntp \ ${systemd_unitdir}/system/sntp.service \ " +FILES_ntpq = "${sbindir}/ntpq" CONFFILES_${PN} = "${sysconfdir}/ntp.conf" CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate" diff --git a/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb b/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb index 9430add487..2fd5631233 100644 --- a/meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb +++ b/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb @@ -1,6 +1,3 @@ -# Copyright (C) 2013 Khem Raj <raj.khem@gmail.com> -# Released under the MIT license (see COPYING.MIT for the terms) - SUMMARY = "network performance measurement tool" DESCRIPTION = "nuttcp is a network performance measurement tool intended for use by network \ and system managers. Its most basic usage is to determine the raw TCP (or UDP) \ @@ -11,11 +8,13 @@ number of bytes." HOMEPAGE = "http://www.nuttcp.net/Welcome%20Page.html" LICENSE = "GPL-2.0" SECTION = "net" -LIC_FILES_CHKSUM = "file://${BP}.c;beginline=4;endline=30;md5=ae7045c3c3616092e07d87f04ba0d960" +LIC_FILES_CHKSUM = "file://${BP}.c;beginline=4;endline=30;md5=496a7c0bb83c07ff528d226bf85e05c5" + +UPSTREAM_CHECK_URI = "https://www.nuttcp.net/nuttcp/beta/" SRC_URI = "http://nuttcp.net/${BPN}/beta/${BP}.c" -SRC_URI[md5sum] = "1ebf4a08bad2a295a8155f02995e8754" -SRC_URI[sha256sum] = "c6e33810ccce67260f8d5d627f60e429d44f532365c58ed5673d035e2a59c4db" +SRC_URI[md5sum] = "d3c92c4d2f261221193c3726c1b9a42f" +SRC_URI[sha256sum] = "8c5595bcd27c2fd66831be74c390df078cfb1870aa427f2511ac2586d236c8a1" S = "${WORKDIR}" diff --git a/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch b/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch deleted file mode 100644 index fbdc4e9113..0000000000 --- a/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch +++ /dev/null @@ -1,38 +0,0 @@ -From e0d86318227a23f00cf0f6639a6685bb9f5771a1 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 12 Dec 2017 09:42:19 -0800 -Subject: [PATCH] util.h: endian.h is available on musl on linux - -just checking for glibc alone is not enough since -it excludes musl, therefore check for platform -being linux as well - -Fixes build issues - -include/libisns/util.h:114:12: fatal error: sys/endian.h: No such file or directory - # include <sys/endian.h> - ^~~~~~~~~~~~~~ - -Upstream-Status: Submitted - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - include/libisns/util.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/libisns/util.h b/include/libisns/util.h -index 9a2bd13..6cc1a1b 100644 ---- a/include/libisns/util.h -+++ b/include/libisns/util.h -@@ -100,7 +100,7 @@ enum { - * There's no htonll yet - */ - #ifndef htonll --# ifdef __GLIBC__ -+# if defined(__GLIBC__) || defined(__linux__) - # include <endian.h> - # include <byteswap.h> - # if __BYTE_ORDER == __BIG_ENDIAN --- -2.15.1 - diff --git a/meta-networking/recipes-support/open-isns/open-isns_0.98.bb b/meta-networking/recipes-support/open-isns/open-isns_0.99.bb index 5e64f893e0..a03b92f5fe 100644 --- a/meta-networking/recipes-support/open-isns/open-isns_0.98.bb +++ b/meta-networking/recipes-support/open-isns/open-isns_0.99.bb @@ -13,11 +13,9 @@ SECTION = "net" DEPENDS = "openssl" -SRC_URI = "git://github.com/open-iscsi/open-isns \ - file://0001-util.h-endian.h-is-available-on-musl-on-linux.patch \ - " +SRC_URI = "git://github.com/open-iscsi/open-isns" -SRCREV = "e84374ce7d1f5fc58a4c0fc751e075b2cc752c34" +SRCREV = "cfdbcff867ee580a71bc9c18c3a38a6057df0150" S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch b/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch new file mode 100644 index 0000000000..3894075906 --- /dev/null +++ b/meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch @@ -0,0 +1,26 @@ +openipmi load swig/python/.libs/_OpenIPMI.so to create .pyc and .pyo files. +It fails when multilib is enable: + +| ImportError: .../lib32-openipmi/2.0.25-r0/OpenIPMI-2.0.25/swig/python/.libs/_OpenIPMI.so: wrong ELF class: ELFCLASS32 + +Don't compile and install .pyc and .pyo files to fix the failure. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +diff --git a/swig/python/openipmigui/Makefile.am b/swig/python/openipmigui/Makefile.am +index 570e7b9..88258bf 100644 +--- a/swig/python/openipmigui/Makefile.am ++++ b/swig/python/openipmigui/Makefile.am +@@ -34,9 +34,9 @@ localcopy: + fi \ + done + +-all-local: localcopy $(PYC_FILES) $(PYO_FILES) ++all-local: localcopy + +-install-exec-local: $(EXTRA_DIST) $(PYC_FILES) $(PYO_FILES) ++install-exec-local: $(EXTRA_DIST) + $(INSTALL) -d $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui + $(INSTALL_DATA) $^ $(DESTDIR)$(PYTHON_INSTALL_DIR)/openipmigui + diff --git a/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb b/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb index a1f26edb45..f0426ce362 100644 --- a/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb +++ b/meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb @@ -29,6 +29,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/openipmi/OpenIPMI-${PV}.tar.gz \ file://ipmi-init-fix-the-arguments.patch \ file://do-not-install-pyc-and-pyo.patch \ file://include_sys_types.patch \ + file://openipmigui-not-compile-pyc-pyo.patch \ file://openipmi-helper \ file://ipmi.service \ " @@ -37,7 +38,7 @@ S = "${WORKDIR}/OpenIPMI-${PV}" SRC_URI[md5sum] = "1461ac4d78fc516646fd0a6e605a8b05" SRC_URI[sha256sum] = "f0f1a0ec732409930b7a31a6daa6cf39b585f52059b62a5f092b7ece21aa75a5" -inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd +inherit autotools-brokensep pkgconfig pythonnative perlnative update-rc.d systemd cpan-base EXTRA_OECONF = "--disable-static \ --with-perl='${STAGING_BINDIR_NATIVE}/perl-native/perl' \ @@ -77,6 +78,7 @@ do_configure () { echo "SAL: STAGING_INCDIR_NATIVE = $STAGING_INCDIR_NATIVE" echo "SAL: libdir = $libdir" sed -i -e "/^PERL_CFLAGS/s:-I/usr/local/include:-I${STAGING_INCDIR_NATIVE}:g" $i + sed -i -e "/^PERL_CFLAGS/s:-I .* :-I ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE :g" $i sed -i -e "/^PERL_INSTALL_DIR/s:^PERL_INSTALL_DIR = .*:PERL_INSTALL_DIR = ${libdir}/perl/vendor_perl/$perl_ver:g" $i done } diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.4.4.bb b/meta-networking/recipes-support/openvpn/openvpn_2.4.7.bb index 4cad998693..2a4eb25281 100644 --- a/meta-networking/recipes-support/openvpn/openvpn_2.4.4.bb +++ b/meta-networking/recipes-support/openvpn/openvpn_2.4.7.bb @@ -1,23 +1,27 @@ SUMMARY = "A full-featured SSL VPN solution via tun device." -HOMEPAGE = "http://openvpn.sourceforge.net" +HOMEPAGE = "https://openvpn.net/" SECTION = "net" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=e9b64491ec98eb6c6493ac5e4118f107" +LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba" DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -inherit autotools systemd +inherit autotools systemd update-rc.d SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ file://openvpn \ file://openvpn@.service \ file://openvpn-volatile.conf" -SRC_URI[md5sum] = "705a79d005558d94fa1e2b74e4413e97" -SRC_URI[sha256sum] = "1ae883d9522c9fa6d189e5e4aaa058a93edd3d0b897e3c2664107c4785099fc3" +SRC_URI[md5sum] = "9d67cabc9b0441062ebd4e12bb7dfedb" +SRC_URI[sha256sum] = "73dce542ed3d6f0553674f49025dfbdff18348eb8a25e6215135d686b165423c" SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service" SYSTEMD_AUTO_ENABLE = "disable" +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "openvpn" +INITSCRIPT_PARAMS_${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." + CFLAGS += "-fno-inline" # I want openvpn to be able to read password from file (hrw) diff --git a/meta-networking/recipes-support/phytool/phytool.bb b/meta-networking/recipes-support/phytool/phytool.bb index 4ed3ed1e40..29499d6d7a 100644 --- a/meta-networking/recipes-support/phytool/phytool.bb +++ b/meta-networking/recipes-support/phytool/phytool.bb @@ -2,8 +2,8 @@ SUMMARY = "PHY interface tool for Linux" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" -PV = "1.0.1+git${SRCPV}" -SRCREV = "3149bfdb4f513e2f0da0a7d0bc5d0873578696f2" +PV = "2+git${SRCPV}" +SRCREV = "8882328c08ba2efb13c049812098f1d0cb8adf0c" SRC_URI = "git://github.com/wkz/phytool.git" S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-support/smcroute/smcroute_2.0.0.bb b/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb index 9b6fc2f38a..0b63f79aca 100644 --- a/meta-networking/recipes-support/smcroute/smcroute_2.0.0.bb +++ b/meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb @@ -3,9 +3,9 @@ DESCRIPTION = "SMCRoute is a daemon and command line tool to manipulate the mult HOMEPAGE = "http://troglobit.github.io/smcroute.html" SECTION = "net" LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRCREV = "d6280e64b27d5a4bd7f37dac36b455f4ae5f9ab3" +SRCREV = "a8e5847e5f7e411be424f9b52a6cdf9d2ed4aeb5" SRC_URI = "git://github.com/troglobit/smcroute.git;branch=master;protocol=git" S = "${WORKDIR}/git" diff --git a/meta-networking/recipes-support/spice/usbredir_git.bb b/meta-networking/recipes-support/spice/usbredir_0.8.0.bb index 3fea7528e5..9ee43be1ea 100644 --- a/meta-networking/recipes-support/spice/usbredir_git.bb +++ b/meta-networking/recipes-support/spice/usbredir_0.8.0.bb @@ -7,8 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ DEPENDS = "libusb1" -SRCREV = "39aa3c69f61bba28856a3eef3fe4ab37a3968e88" -PV = "0.7.1+git${SRCPV}" +SRCREV = "07b98b8e71f620dfdd57e92ddef6b677b259a092" SRC_URI = " \ git://anongit.freedesktop.org/spice/usbredir \ diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.6.3.bb b/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb index 297f0e76fa..5a4e2d36f8 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.6.3.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb @@ -12,8 +12,8 @@ SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \ " -SRC_URI[md5sum] = "a6a28eeb22aa58080a7581771a5b63f9" -SRC_URI[sha256sum] = "c3c7dc8201f40625bba92ffd32eb602a8909210d8b3fac4d214c737ce079bf24" +SRC_URI[md5sum] = "86b7e9321cde075cf382268fd282e0b0" +SRC_URI[sha256sum] = "006f9c9126e2a2f4e7a874b5e1bd2abec1bbbb193c8b3b3a4c6ccd8c2d454bec" UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar" @@ -66,8 +66,8 @@ python split_strongswan_plugins () { dbglibdir = os.path.join(libdir, '.debug') def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename): - dvar = d.getVar('PKGD', True) - oldfiles = d.getVar('CONFFILES_' + pkg, True) + dvar = d.getVar('PKGD') + oldfiles = d.getVar('CONFFILES_' + pkg) newfile = '/' + os.path.relpath(f, dvar) if not oldfiles: @@ -83,7 +83,7 @@ python split_strongswan_plugins () { split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev') if split_packages: - pn = d.getVar('PN', True) + pn = d.getVar('PN') d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages)) d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages)) d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages)) diff --git a/meta-networking/recipes-support/stunnel/stunnel_5.49.bb b/meta-networking/recipes-support/stunnel/stunnel_5.51.bb index eca77cf849..61be9be614 100644 --- a/meta-networking/recipes-support/stunnel/stunnel_5.49.bb +++ b/meta-networking/recipes-support/stunnel/stunnel_5.51.bb @@ -6,7 +6,7 @@ SECTION = "net" # a combined work based on stunnel. Thus, the terms and conditions of the GNU # General Public License cover the whole combination. LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=f6b7fe7379c9c2d7db6c80f7bd41e06d" +LIC_FILES_CHKSUM = "file://COPYING;md5=c7acb24399f540ea323acb0366aecdbe" DEPENDS = "autoconf-archive libnsl2 openssl" @@ -14,8 +14,8 @@ SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \ file://fix-openssl-no-des.patch \ " -SRC_URI[md5sum] = "0b41240e5585ec7d55ca343feed5530f" -SRC_URI[sha256sum] = "3d6641213a82175c19f23fde1c3d1c841738385289eb7ca1554f4a58b96d955e" +SRC_URI[md5sum] = "57040c64f4b95e35a756e53e1c496728" +SRC_URI[sha256sum] = "77437cdd1aef1a621824bb3607e966534642fe90c69f4d2279a9da9fa36c3253" inherit autotools diff --git a/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch b/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch new file mode 100644 index 0000000000..d82c16053e --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch @@ -0,0 +1,30 @@ +From a2bfd28034d9aa48d8ff109c1314e53bc9779752 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy <armccurdy@gmail.com> +Date: Wed, 24 Oct 2018 22:26:08 -0700 +Subject: [PATCH] avoid absolute path when searching for libdlpi + +Let the build environment control library search paths. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index c882909..52aefd6 100644 +--- a/configure.in ++++ b/configure.in +@@ -542,7 +542,7 @@ don't.]) + fi + + # libdlpi is needed for Solaris 11 and later. +-AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib) ++AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi") + + dnl + dnl Check for "pcap_list_datalinks()", "pcap_set_datalink()", +-- +1.9.1 + diff --git a/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch b/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch index 8cefadf284..69d68baac4 100644 --- a/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch +++ b/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch @@ -1,10 +1,8 @@ -From 741d77e42fc4af49804f7ee43b7237e01633cbcd Mon Sep 17 00:00:00 2001 +From dd023c133980fcc0cff5896e85377675e0571894 Mon Sep 17 00:00:00 2001 From: Roy Li <rongqing.li@windriver.com> Date: Tue, 8 Jul 2014 13:20:47 +0800 Subject: [PATCH] unnecessary to check libpcap -Upstream-Status: Pending - since the check of libpcap did not consider the cross-compile, lead to the below error: This autoconf log indicates errors, it looked at host include and/or @@ -13,22 +11,29 @@ below error: In fact, the libpcap has been added into the tcpdump's DEPENDS, not need to check if libpcap existed. -Signed-off-by: Roy Li <rongqing.li@windriver.com> +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Roy Li <rongqing.li@windriver.com> +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> --- - configure.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + configure.in | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/configure.in b/configure.in -index b2305a5..b3b5dbf 100644 +index b2305a5..c882909 100644 --- a/configure.in +++ b/configure.in -@@ -418,7 +418,7 @@ dnl Some platforms may need -lnsl for getrpcbynumber. +@@ -418,7 +418,9 @@ dnl Some platforms may need -lnsl for getrpcbynumber. AC_SEARCH_LIBS(getrpcbynumber, nsl, AC_DEFINE(HAVE_GETRPCBYNUMBER, 1, [define if you have getrpcbynumber()])) -AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS) -+#AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS) ++# Simplified (more cross compile friendly) check for libpcap. All we really ++# need is to sanity check that libpcap is available and add -lpcap to LIBS. ++AC_CHECK_LIB(pcap, pcap_compile, LIBS="$LIBS -lpcap") # # Check for these after AC_LBL_LIBPCAP, so we link with the appropriate +-- +1.9.1 + diff --git a/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb b/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb index d38540e34d..038c1617fc 100644 --- a/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb +++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb @@ -1,13 +1,15 @@ SUMMARY = "A sophisticated network protocol analyzer" HOMEPAGE = "http://www.tcpdump.org/" +SECTION = "net" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867" -SECTION = "net" + DEPENDS = "libpcap" SRC_URI = " \ http://www.tcpdump.org/release/${BP}.tar.gz \ file://unnecessary-to-check-libpcap.patch \ + file://avoid-absolute-path-when-searching-for-libdlpi.patch \ file://add-ptest.patch \ file://run-ptest \ " @@ -15,34 +17,25 @@ SRC_URI = " \ SRC_URI[md5sum] = "9bbc1ee33dab61302411b02dd0515576" SRC_URI[sha256sum] = "798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79" -export LIBS=" -lpcap" - inherit autotools-brokensep ptest -CACHED_CONFIGUREVARS = "ac_cv_linux_vers=${ac_cv_linux_vers=2}" -PACKAGECONFIG ??= "openssl" -PACKAGECONFIG[openssl] = "--with-crypto=yes, --without-openssl --without-crypto, openssl" -PACKAGECONFIG[smi] = "--with-smi, --without-smi,libsmi" -PACKAGECONFIG[libcap-ng] = "--with-cap-ng=yes,--with-cap-ng=no,libcap-ng" +PACKAGECONFIG ?= "openssl" + +PACKAGECONFIG[libcap-ng] = "--with-cap-ng,--without-cap-ng,libcap-ng" +PACKAGECONFIG[openssl] = "--with-crypto,--without-openssl --without-crypto,openssl" +PACKAGECONFIG[smi] = "--with-smi,--without-smi,libsmi" -EXTRA_AUTORECONF += " -I m4" +EXTRA_AUTORECONF += "-I m4" do_configure_prepend() { mkdir -p ${S}/m4 if [ -f aclocal.m4 ]; then mv aclocal.m4 ${S}/m4 fi - # AC_CHECK_LIB(dlpi.. was looking to host /lib - sed -i 's:-L/lib::g' ./configure.in -} -do_configure_append() { - sed -i 's:-L/usr/lib::' ./Makefile - sed -i 's:-Wl,-rpath,${STAGING_LIBDIR}::' ./Makefile - sed -i 's:-I/usr/include::' ./Makefile } do_install_append() { - # tcpdump 4.0.0 installs a copy to /usr/sbin/tcpdump.4.0.0 + # make install installs an unneeded extra copy of the tcpdump binary rm -f ${D}${sbindir}/tcpdump.${PV} } diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.2.bb index 681ef02bb4..a808c2728f 100644 --- a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb +++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.2.bb @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=890b830b22fd632e9ffd996df20338f8" SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz" -SRC_URI[md5sum] = "3e65d5b872e441c6a0038191a3dc7ce9" -SRC_URI[sha256sum] = "043756c532dab93e2be33a517ef46b1341f7239278a1045ae670041dd8a4531d" +SRC_URI[md5sum] = "dfa0d1b3dfd2cd316291a7a20563b649" +SRC_URI[sha256sum] = "4f479bd9196cafde70c58ab072ca4959ecc5278555cf1aa7cf42f7f210daa951" DEPENDS = "libpcap" diff --git a/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb b/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb index 8f17d3fdbe..19bbf03f1d 100644 --- a/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb +++ b/meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb @@ -13,6 +13,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ inherit update-alternatives +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/traceroute/files/traceroute/" + SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \ file://filter-out-the-patches-from-subdirs.patch \ " diff --git a/meta-networking/recipes-support/uftp/uftp_4.9.8.bb b/meta-networking/recipes-support/uftp/uftp_4.9.9.bb index 0bbdd6b1d1..a64d081cfa 100644 --- a/meta-networking/recipes-support/uftp/uftp_4.9.8.bb +++ b/meta-networking/recipes-support/uftp/uftp_4.9.9.bb @@ -1,13 +1,14 @@ DESCRIPTION = "Encrypted UDP based FTP with multicast" HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast" SECTION = "libs/network" - LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504" +UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/" + SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz" -SRC_URI[md5sum] = "f7a5affd3000b5aafbb13df49719b6c0" -SRC_URI[sha256sum] = "e98c6318e497124d777ca71eae752d213207c35de9f782c8bcaaf82ece20e599" +SRC_URI[md5sum] = "154e2c82a33fd4999040f8836e2dca2c" +SRC_URI[sha256sum] = "c04bc75a88fc3d57504269f260be4d0b1bc440508b5a5ca587df6c16b771aa48" DEPENDS = "openssl" diff --git a/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch b/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch deleted file mode 100644 index e65ef9b10c..0000000000 --- a/meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1a6a5d2bcb1adec9ba138c2ebee7bbc994620aff Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 12 Jun 2018 23:23:44 -0700 -Subject: [PATCH] Add libm to link for fmod() API - -fixes -ld: CMakeFiles/tshark.dir/ui/cli/tap-comparestat.c.o: undefined reference to symbol 'fmod@@GLIBC_2.2.5' -| /mnt/a/oe/build/tmp/work/core2-64-bec-linux/wireshark/1_2.6.1-r0/recipe-sysroot/lib/libm.so.6: error adding symbols: DSO missing from command line - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7950e85..acee140 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2494,6 +2494,7 @@ if(BUILD_tshark) - ${LIBEPAN_LIBS} - ${APPLE_CORE_FOUNDATION_LIBRARY} - ${APPLE_SYSTEM_CONFIGURATION_LIBRARY} -+ m - ) - set(tshark_FILES - capture_opts.c --- -2.17.1 - diff --git a/meta-networking/recipes-support/wireshark/wireshark/fix-fatal-no-names-found-git-error.patch b/meta-networking/recipes-support/wireshark/wireshark/fix-fatal-no-names-found-git-error.patch deleted file mode 100644 index 80119e3fde..0000000000 --- a/meta-networking/recipes-support/wireshark/wireshark/fix-fatal-no-names-found-git-error.patch +++ /dev/null @@ -1,23 +0,0 @@ -fixes - -| fatal: No names found, cannot describe anything. -| CMake Error at CMakeLists.txt:3086 (string): -| string begin index: 1 is out of range 0 - 0 - -Use always to circumvent the issue if git tag is not present - -Upstream-status: Pending - -Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> ---- ---- wireshark-2.6.1/CMakeLists.txt 2018-08-08 18:18:05.388318652 -0700 -+++ wireshark-2.6.1/CMakeLists-fix.txt 2018-08-08 18:22:27.829670496 -0700 -@@ -3078,7 +3078,7 @@ - endif() - - execute_process( -- COMMAND git describe --abbrev=8 --match v[1-9]* -+ COMMAND git describe --always --abbrev=8 --match v[1-9]* - OUTPUT_VARIABLE _git_description - OUTPUT_STRIP_TRAILING_WHITESPACE - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} diff --git a/meta-networking/recipes-support/wireshark/wireshark_2.6.2.bb b/meta-networking/recipes-support/wireshark/wireshark_3.0.1.bb index 5be7d4f18f..572dc1a456 100644 --- a/meta-networking/recipes-support/wireshark/wireshark_2.6.2.bb +++ b/meta-networking/recipes-support/wireshark/wireshark_3.0.1.bb @@ -8,27 +8,20 @@ DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bi DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " -SRC_URI = "https://1.as.dl.wireshark.org/src/${BP}.tar.xz \ - file://0001-Add-libm-to-link-for-fmod-API.patch \ - file://fix-fatal-no-names-found-git-error.patch \ - " +SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz" UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" -SRC_URI[md5sum] = "086d235509717190d06554b2ab870209" -SRC_URI[sha256sum] = "49b2895ee3ba17ef9ef0aebfdc4d32a778e0f36ccadde184516557d5f3357094" +SRC_URI[md5sum] = "370a113e1c8ec240c4621cfb5abb0c52" +SRC_URI[sha256sum] = "86864c3d0f6c2311992a98d8ea7dfd429097fe62dae2e5516e1a2f6bef2ac08c" PE = "1" -inherit cmake pkgconfig pythonnative perlnative upstream-version-is-even +inherit cmake pkgconfig python3native perlnative upstream-version-is-even ARM_INSTRUCTION_SET = "arm" -# Options: gtk+, gtk+3 and qt5 -GTK = "gtk+3" - PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" -PACKAGECONFIG_append_class-target = " ${@bb.utils.contains("DISTRO_FEATURES", "x11", " ${GTK}", "", d)}" PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" @@ -37,8 +30,6 @@ PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DE PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" PACKAGECONFIG[libnl] = ",,libnl" PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" -PACKAGECONFIG[gtk+] = "-DENABLE_GTK=ON -DBUILD_wireshark_gtk=ON, -DENABLE_GTK=OFF, gtk+" -PACKAGECONFIG[gtk+3] = "-DENABLE_GTK3=ON -DBUILD_wireshark_gtk=ON, -DENABLE_GTK3=OFF, gtk+3" PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" PACKAGECONFIG[ssl] = ",,openssl" PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" @@ -80,16 +71,11 @@ do_install_append_class-target() { } PACKAGE_BEFORE_PN += "tshark" -PACKAGE_BEFORE_PN += "${PN}-gtk" FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" -FILES_${PN}-gtk = "${bindir}/wireshark-gtk ${datadir}/icons ${datadir}/appdata \ - ${datadir}/applications ${datadir}/wireshark ${datadir}/mime \ - ${mandir}/man1/wireshark.* " FILES_${PN} += "${datadir}*" RDEPENDS_tshark = "wireshark" -RDEPENDS_${PN}-gtk = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "${GTK}", "", d)} wireshark" BBCLASSEXTEND = "native" diff --git a/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb b/meta-networking/recipes-support/wpan-tools/wpan-tools_0.9.bb index b6d2f69235..bab75fee3f 100644 --- a/meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb +++ b/meta-networking/recipes-support/wpan-tools/wpan-tools_0.9.bb @@ -8,10 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4cfd939b1d7e6aba9fcefb7f6e2fd45d" DEPENDS = "libnl" -PV = "0.8+git${SRCPV}" -SRC_URI = "git://github.com/linux-wpan/wpan-tools \ - " -SRCREV = "3f473f5136f89773997cb4fff2d8ed647734e2f5" +SRC_URI = "git://github.com/linux-wpan/wpan-tools" +SRCREV = "a316ca2caa746d60817400e5bf646c2820f09273" S = "${WORKDIR}/git" |