aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking')
-rw-r--r--meta-networking/conf/layer.conf2
-rw-r--r--meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt39
-rw-r--r--meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch31
-rw-r--r--meta-networking/recipes-connectivity/blueman/blueman_git.bb41
-rw-r--r--meta-networking/recipes-connectivity/cannelloni/cannelloni_git.bb17
-rw-r--r--meta-networking/recipes-connectivity/civetweb/civetweb/0001-undefine-macro-before-redefining.patch26
-rw-r--r--meta-networking/recipes-connectivity/civetweb/civetweb_git.bb14
-rw-r--r--meta-networking/recipes-connectivity/crda/crda_3.18.bb12
-rw-r--r--meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb (renamed from meta-networking/recipes-connectivity/dhcpcd/dhcpcd_6.11.5.bb)8
-rw-r--r--meta-networking/recipes-connectivity/dhcpcd/files/0001-remove-INCLUDEDIR-to-prevent-build-issues.patch45
-rw-r--r--meta-networking/recipes-connectivity/dibbler/dibbler/0001-linux-port-Rename-pthread_mutex_t-variable-lock.patch74
-rw-r--r--meta-networking/recipes-connectivity/dibbler/dibbler_git.bb3
-rw-r--r--meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch77
-rw-r--r--meta-networking/recipes-connectivity/firewalld/files/firewalld.init48
-rw-r--r--meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb84
-rw-r--r--meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch44
-rw-r--r--meta-networking/recipes-connectivity/freeradius/files/radiusd.service1
-rw-r--r--meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb5
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/0001-rcp-fix-to-work-with-large-files.patch31
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch83
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch29
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch14
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch26
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch40
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/rexec.xinetd.inetutils20
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/rlogin.xinetd.inetutils23
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/rsh.xinetd.inetutils21
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/telnet.xinetd.inetutils13
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/tftpd.xinetd.inetutils19
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils/version.patch17
-rw-r--r--meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb206
-rw-r--r--meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb (renamed from meta-networking/recipes-connectivity/mbedtls/mbedtls_2.12.0.bb)5
-rw-r--r--meta-networking/recipes-connectivity/miniupnpd/files/0001-Add-OpenEmbedded-cross-compile-case.patch40
-rw-r--r--meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb (renamed from meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.0.20180203.bb)15
-rw-r--r--meta-networking/recipes-connectivity/mosquitto/files/0002-uthash-remove-in-tree-version.patch975
-rw-r--r--meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb (renamed from meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.1.bb)21
-rw-r--r--meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb (renamed from meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.4.bb)2
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.8.10.bb (renamed from meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb)4
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch (renamed from meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch)11
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch40
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Do-not-create-settings-settings-property-documentati.patch (renamed from meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch)46
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-dlopen-failure.patch (renamed from meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch)5
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-Fix-build-with-musl-systemd-specific.patch179
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch53
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-Fix-build-with-musl.patch118
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch72
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch62
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch77
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch47
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager_1.16.0.bb (renamed from meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.10.bb)72
-rw-r--r--meta-networking/recipes-connectivity/openconnect/openconnect_git.bb14
-rw-r--r--meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.1.bb (renamed from meta-networking/recipes-connectivity/python-networkmanager/python-networkmanager_2.0.1.bb)4
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0001-ldb-Refuse-to-build-Samba-against-a-newer-minor-vers.patch86
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch51
-rw-r--r--meta-networking/recipes-connectivity/samba/samba_4.8.11.bb (renamed from meta-networking/recipes-connectivity/samba/samba_4.8.4.bb)33
-rw-r--r--meta-networking/recipes-connectivity/snort/snort_2.9.11.1.bb4
-rw-r--r--meta-networking/recipes-connectivity/umip/umip_1.0.bb3
-rw-r--r--meta-networking/recipes-connectivity/vlan/vlan_1.9.bb2
-rw-r--r--meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2019.03.01.bb (renamed from meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb)4
-rw-r--r--meta-networking/recipes-connectivity/wolfssl/files/0001-fix-no-rule-to-make-cyassl-options.h.patch27
-rw-r--r--meta-networking/recipes-connectivity/wolfssl/wolfssl_3.14.4.bb24
-rw-r--r--meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb21
-rw-r--r--meta-networking/recipes-core/images/meta-networking-image-base.bb7
-rw-r--r--meta-networking/recipes-core/images/meta-networking-image.bb3
-rw-r--r--meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb123
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs/0001-Do-not-hardcode-path-for-pkg.m4.patch19
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs/0002-Replace-__S_IEXEC-with-S_IEXEC.patch36
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs/autofs-5.0.7-do-not-check-for-modprobe.patch89
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs/pkgconfig-libnsl.patch35
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch24
-rw-r--r--meta-networking/recipes-daemons/autofs/autofs_5.1.5.bb (renamed from meta-networking/recipes-daemons/autofs/autofs_5.1.4.bb)10
-rw-r--r--meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample21
-rw-r--r--meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init94
-rw-r--r--meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service12
-rw-r--r--meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.1.bb16
-rw-r--r--meta-networking/recipes-daemons/igmpproxy/igmpproxy_0.2.1.bb15
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch115
-rw-r--r--meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb1
-rw-r--r--meta-networking/recipes-daemons/keepalived/keepalived_2.0.15.bb (renamed from meta-networking/recipes-daemons/keepalived/keepalived_1.4.2.bb)9
-rw-r--r--meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb (renamed from meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher.bb)8
-rw-r--r--meta-networking/recipes-daemons/openhpi/files/openhpi-fix-function-saHpiSensorThresholds.patch35
-rw-r--r--meta-networking/recipes-daemons/openhpi/files/openhpi-fix-testfail-errors.patch33
-rw-r--r--meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb16
-rw-r--r--meta-networking/recipes-daemons/opensaf/opensaf/0001-Fix-string-overflow-in-snprintf.patch12
-rw-r--r--meta-networking/recipes-daemons/opensaf/opensaf_5.19.01.bb (renamed from meta-networking/recipes-daemons/opensaf/opensaf_5.18.04.bb)7
-rw-r--r--meta-networking/recipes-daemons/postfix/files/0001-Check-for-glibc-before-setting-CANT_USE_SEND_RECV_MS.patch26
-rw-r--r--meta-networking/recipes-daemons/postfix/files/0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch58
-rw-r--r--meta-networking/recipes-daemons/postfix/postfix.inc18
-rw-r--r--meta-networking/recipes-daemons/postfix/postfix_3.2.6.bb11
-rw-r--r--meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb11
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd/Fixed-100-CPU-using-issue-by-adding-minimum-POSIX-ti.patch68
-rw-r--r--meta-networking/recipes-daemons/ptpd/ptpd_2.3.1.bb1
-rw-r--r--meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/0001-Remove-hardcoded-usr-local-includes-from-configure.a.patch14
-rw-r--r--meta-networking/recipes-daemons/pure-ftpd/pure-ftpd/nostrip.patch13
-rw-r--r--meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.47.bb (renamed from meta-networking/recipes-daemons/pure-ftpd/pure-ftpd_1.0.42.bb)9
-rw-r--r--meta-networking/recipes-daemons/radvd/radvd.inc7
-rw-r--r--meta-networking/recipes-daemons/radvd/radvd_2.17.bb5
-rw-r--r--meta-networking/recipes-daemons/radvd/radvd_2.18.bb5
-rw-r--r--meta-networking/recipes-daemons/squid/files/0001-Bug-4843-pt1-ext_edirectory_userip_acl-refactoring-f.patch506
-rw-r--r--meta-networking/recipes-daemons/squid/files/0001-splay.cc-fix-bind-is-not-a-member-of-std.patch31
-rw-r--r--meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch20
-rw-r--r--meta-networking/recipes-daemons/squid/files/0002-smblib-fix-buffer-over-read.patch39
-rw-r--r--meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch22
-rw-r--r--meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch12
-rw-r--r--meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch40
-rw-r--r--meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch8
-rw-r--r--meta-networking/recipes-daemons/squid/squid_4.6.bb (renamed from meta-networking/recipes-daemons/squid/squid_3.5.27.bb)28
-rw-r--r--meta-networking/recipes-daemons/vblade/vblade_22.bb2
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch46
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-sysinfo-in-the-seccomp-sandbox.patch43
-rw-r--r--meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb2
-rw-r--r--meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch27
-rw-r--r--meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb2
-rw-r--r--meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb (renamed from meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.1g.bb)9
-rw-r--r--meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.5.bb (renamed from meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.4.bb)4
-rw-r--r--meta-networking/recipes-filter/ebtables/ebtables_2.0.10-4.bb2
-rw-r--r--meta-networking/recipes-filter/libnetfilter/files/0001-Correct-typo-in-the-location-of-internal.h-in-includ.patch26
-rw-r--r--meta-networking/recipes-filter/libnetfilter/files/0001-libnetfilter-queue-Declare-the-define-visivility-attribute-together.patch88
-rw-r--r--meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.7.bb (renamed from meta-networking/recipes-filter/libnetfilter/libnetfilter-conntrack_1.0.6.bb)7
-rw-r--r--meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.3.bb (renamed from meta-networking/recipes-filter/libnetfilter/libnetfilter-queue_1.0.2.bb)4
-rw-r--r--meta-networking/recipes-filter/libnftnl/libnftnl/0001-Declare-the-define-visivility-attribute-together.patch2949
-rw-r--r--meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch289
-rw-r--r--meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch (renamed from meta-networking/recipes-filter/libnftnl/libnftnl/0001-avoid-naming-local-function-as-one-of-printf-family.patch)263
-rw-r--r--meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb (renamed from meta-networking/recipes-filter/libnftnl/libnftnl_1.0.7.bb)8
-rw-r--r--meta-networking/recipes-filter/nfacct/nfacct_1.0.2.bb2
-rw-r--r--meta-networking/recipes-filter/nftables/files/0001-payload-explicit-network-ctx-assignment-for-icmp-icm.patch323
-rw-r--r--meta-networking/recipes-filter/nftables/files/0002-proto-Add-some-exotic-ICMPv6-types.patch147
-rw-r--r--meta-networking/recipes-filter/nftables/files/0003-payload-split-ll-proto-dependency-into-helper.patch62
-rw-r--r--meta-networking/recipes-filter/nftables/files/0004-src-allow-update-of-net-base-w.-meta-l4proto-icmpv6.patch65
-rw-r--r--meta-networking/recipes-filter/nftables/files/0005-src-ipv6-switch-implicit-dependencies-to-meta-l4prot.patch98
-rw-r--r--meta-networking/recipes-filter/nftables/files/0006-payload-enforce-ip-ip6-protocol-depending-on-icmp-or.patch84
-rw-r--r--meta-networking/recipes-filter/nftables/files/0007-src-ip-switch-implicit-dependencies-to-meta-l4proto-.patch86
-rw-r--r--meta-networking/recipes-filter/nftables/files/fix-to-generate-ntf.8.patch26
-rw-r--r--meta-networking/recipes-filter/nftables/nftables_0.7.bb27
-rw-r--r--meta-networking/recipes-filter/nftables/nftables_0.9.0.bb22
-rw-r--r--meta-networking/recipes-irc/znc/znc_1.7.3.bb (renamed from meta-networking/recipes-irc/znc/znc_git.bb)6
-rw-r--r--meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190406.bb (renamed from meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20171221.bb)4
-rw-r--r--meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190406.bb (renamed from meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20171221.bb)0
-rw-r--r--meta-networking/recipes-kernel/wireguard/wireguard.inc4
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch35
-rw-r--r--meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb3
-rw-r--r--meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb3
-rw-r--r--meta-networking/recipes-protocols/babeld/babeld_1.8.4.bb27
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/0001-net-snmp-fix-compile-error-disable-des.patch62
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/0001-remove-configure-options-from-versioninfo.patch42
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-accept-configure-options-from-env.patch15
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/reproducibility-have-printcap.patch19
-rwxr-xr-xmeta-networking/recipes-protocols/net-snmp/net-snmp/run-ptest3
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb37
-rw-r--r--meta-networking/recipes-protocols/pptp-linux/pptp-linux/0001-include-missing-sys-types.h.patch28
-rw-r--r--meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.10.0.bb (renamed from meta-networking/recipes-protocols/pptp-linux/pptp-linux_1.9.0.bb)5
-rw-r--r--meta-networking/recipes-protocols/xl2tpd/xl2tpd.inc4
-rw-r--r--meta-networking/recipes-protocols/xl2tpd/xl2tpd_1.3.14.bb (renamed from meta-networking/recipes-protocols/xl2tpd/xl2tpd_git.bb)5
-rw-r--r--meta-networking/recipes-support/c-ares/c-ares_1.15.0.bb (renamed from meta-networking/recipes-support/c-ares/c-ares_1.14.0.bb)6
-rw-r--r--meta-networking/recipes-support/chrony/chrony/0001-Fix-compilation-with-musl.patch29
-rw-r--r--meta-networking/recipes-support/chrony/chrony_3.4.bb (renamed from meta-networking/recipes-support/chrony/chrony_3.3.bb)9
-rw-r--r--meta-networking/recipes-support/cifs/cifs-utils_6.9.bb (renamed from meta-networking/recipes-support/cifs/cifs-utils_git.bb)8
-rw-r--r--meta-networking/recipes-support/cifs/files/0001-mount.cifs-Remove-data_blob.h-include.patch32
-rw-r--r--meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb7
-rw-r--r--meta-networking/recipes-support/cim-schema/cim-schema-final_2.40.0.bb7
-rw-r--r--meta-networking/recipes-support/curlpp/curlpp_0.8.1.bb17
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq.inc3
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq_2.79.bb8
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb8
-rw-r--r--meta-networking/recipes-support/dnsmasq/files/dnsmasq-resolved.conf3
-rw-r--r--meta-networking/recipes-support/dovecot/dovecot_2.2.36.3.bb (renamed from meta-networking/recipes-support/dovecot/dovecot_2.2.33.bb)4
-rw-r--r--meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-drbd-tools-only-rmmod-if-DRBD-is-a-module.patch43
-rw-r--r--meta-networking/recipes-support/drbd/drbd-utils_9.8.0.bb (renamed from meta-networking/recipes-support/drbd/drbd-utils_9.5.0.bb)10
-rw-r--r--meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch79
-rw-r--r--meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb (renamed from meta-networking/recipes-support/drbd/drbd_9.0.8-1.bb)11
-rw-r--r--meta-networking/recipes-support/fping/fping_4.2.bb (renamed from meta-networking/recipes-support/fping/fping_3.5.bb)6
-rw-r--r--meta-networking/recipes-support/fwknop/fwknop_2.6.10.bb (renamed from meta-networking/recipes-support/fwknop/fwknop_2.6.9.bb)5
-rw-r--r--meta-networking/recipes-support/geoip/geoip_1.6.12.bb34
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2015-4047.patch2
-rw-r--r--meta-networking/recipes-support/ipsec-tools/ipsec-tools/fix-CVE-2016-10396.patch2
-rw-r--r--meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch35
-rw-r--r--meta-networking/recipes-support/libtdb/libtdb/0001-waf-add-support-of-cross_compile.patch63
-rw-r--r--meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch43
-rw-r--r--meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb (renamed from meta-networking/recipes-support/libtdb/libtdb_1.3.16.bb)11
-rw-r--r--meta-networking/recipes-support/linux-atm/linux-atm/0001-IFNAMSIZ-is-defined-in-net-if.h.patch48
-rw-r--r--meta-networking/recipes-support/linux-atm/linux-atm/0002-sigd-Replace-on_exit-API-with-atexit.patch30
-rw-r--r--meta-networking/recipes-support/linux-atm/linux-atm/musl-no-on_exit.patch37
-rw-r--r--meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb8
-rw-r--r--meta-networking/recipes-support/macchanger/macchanger/0001-Fix-musl-build.patch31
-rw-r--r--meta-networking/recipes-support/macchanger/macchanger_1.5.0.bb24
-rw-r--r--meta-networking/recipes-support/macchanger/macchanger_1.7.0.bb25
-rw-r--r--meta-networking/recipes-support/netcat/netcat-openbsd_1.195.bb (renamed from meta-networking/recipes-support/netcat/netcat-openbsd_1.190.bb)12
-rw-r--r--meta-networking/recipes-support/nghttp2/nghttp2_1.38.0.bb (renamed from meta-networking/recipes-support/nghttp2/nghttp2_1.26.0.bb)6
-rw-r--r--meta-networking/recipes-support/nis/nis.inc2
-rw-r--r--meta-networking/recipes-support/nis/ypbind-mt_2.6.bb (renamed from meta-networking/recipes-support/nis/ypbind-mt_2.4.bb)8
-rw-r--r--meta-networking/recipes-support/ntp/ntp/reproducibility-fixed-path-to-posix-shell.patch15
-rw-r--r--meta-networking/recipes-support/ntp/ntp/reproducibility-respect-source-date-epoch.patch16
-rw-r--r--meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb (renamed from meta-networking/recipes-support/ntp/ntp_4.2.8p12.bb)13
-rw-r--r--meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb (renamed from meta-networking/recipes-support/nuttcp/nuttcp_7.2.1.bb)11
-rw-r--r--meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch38
-rw-r--r--meta-networking/recipes-support/open-isns/open-isns_0.99.bb (renamed from meta-networking/recipes-support/open-isns/open-isns_0.98.bb)6
-rw-r--r--meta-networking/recipes-support/openipmi/files/openipmigui-not-compile-pyc-pyo.patch26
-rw-r--r--meta-networking/recipes-support/openipmi/openipmi_2.0.25.bb4
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn_2.4.7.bb (renamed from meta-networking/recipes-support/openvpn/openvpn_2.4.4.bb)14
-rw-r--r--meta-networking/recipes-support/phytool/phytool.bb4
-rw-r--r--meta-networking/recipes-support/smcroute/smcroute_2.4.4.bb (renamed from meta-networking/recipes-support/smcroute/smcroute_2.0.0.bb)4
-rw-r--r--meta-networking/recipes-support/spice/usbredir_0.8.0.bb (renamed from meta-networking/recipes-support/spice/usbredir_git.bb)3
-rw-r--r--meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb (renamed from meta-networking/recipes-support/strongswan/strongswan_5.6.3.bb)10
-rw-r--r--meta-networking/recipes-support/stunnel/stunnel_5.51.bb (renamed from meta-networking/recipes-support/stunnel/stunnel_5.49.bb)6
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch30
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch23
-rw-r--r--meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb27
-rw-r--r--meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.2.bb (renamed from meta-networking/recipes-support/tcpreplay/tcpreplay_4.2.6.bb)4
-rw-r--r--meta-networking/recipes-support/traceroute/traceroute_2.1.0.bb2
-rw-r--r--meta-networking/recipes-support/uftp/uftp_4.9.9.bb (renamed from meta-networking/recipes-support/uftp/uftp_4.9.8.bb)7
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark/0001-Add-libm-to-link-for-fmod-API.patch29
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark/fix-fatal-no-names-found-git-error.patch23
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_3.0.1.bb (renamed from meta-networking/recipes-support/wireshark/wireshark_2.6.2.bb)22
-rw-r--r--meta-networking/recipes-support/wpan-tools/wpan-tools_0.9.bb (renamed from meta-networking/recipes-support/wpan-tools/wpan-tools_git.bb)6
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"