diff --git a/.gitignore b/.gitignore index 176370c..5aa46c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/kronosnet-1.4.tar.gz +SOURCES/kronosnet-1.10.tar.gz diff --git a/.kronosnet.metadata b/.kronosnet.metadata index 7a6ab84..d2530fe 100644 --- a/.kronosnet.metadata +++ b/.kronosnet.metadata @@ -1 +1 @@ -efb1799b42b9b9e56d37613aa3f99dc2d5cc4aeb SOURCES/kronosnet-1.4.tar.gz +b6b3a0b1c9b7f53b8218c545fd663983a0f422b9 SOURCES/kronosnet-1.10.tar.gz diff --git a/SOURCES/bz1640619-dont-close-loopback-link.patch b/SOURCES/bz1640619-dont-close-loopback-link.patch deleted file mode 100644 index 1b38cee..0000000 --- a/SOURCES/bz1640619-dont-close-loopback-link.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/libknet/links.c b/libknet/links.c -index df570de..6185d4d 100644 ---- a/libknet/links.c -+++ b/libknet/links.c -@@ -401,7 +401,7 @@ int knet_link_clear_config(knet_handle_t knet_h, knet_node_id_t host_id, uint8_t - memset(link, 0, sizeof(struct knet_link)); - link->link_id = link_id; - -- if (knet_h->has_loop_link && link_id == knet_h->loop_link) { -+ if (knet_h->has_loop_link && host_id == knet_h->host_id && link_id == knet_h->loop_link) { - knet_h->has_loop_link = 0; - if (host->active_link_entries == 0) { - host->status.reachable = 0; diff --git a/SOURCES/bz1658301-cope-with-eperm-from-sendmsg.patch b/SOURCES/bz1658301-cope-with-eperm-from-sendmsg.patch deleted file mode 100644 index ae4cefa..0000000 --- a/SOURCES/bz1658301-cope-with-eperm-from-sendmsg.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 491abfc62a31c5c0a16e6e7b5c0aadd5f64602fb -Author: Christine Caulfield -Date: Thu Dec 13 09:59:30 2018 +0000 - - UDP: Cope with EPERM returned from sendmsg/sendto - - IPtables can cause -EPERM to be returned from socket sends, so - we need to be able to handle it without going into a spin. - - SCTP seems to be unaffected. - - Signed-off-by: Christine Caulfield - -diff --git a/libknet/transport_udp.c b/libknet/transport_udp.c -index 25e1ae6..3144502 100644 ---- a/libknet/transport_udp.c -+++ b/libknet/transport_udp.c -@@ -401,7 +401,7 @@ int udp_transport_tx_sock_error(knet_handle_t knet_h, int sockfd, int recv_err, - read_errs_from_sock(knet_h, sockfd); - return 0; - } -- if (recv_errno == EINVAL) { -+ if (recv_errno == EINVAL || recv_errno == EPERM) { - return -1; - } - if ((recv_errno == ENOBUFS) || (recv_errno == EAGAIN)) { diff --git a/SPECS/kronosnet.spec b/SPECS/kronosnet.spec index a102c28..56d4d1b 100644 --- a/SPECS/kronosnet.spec +++ b/SPECS/kronosnet.spec @@ -1,7 +1,7 @@ ############################################################################### ############################################################################### ## -## Copyright (C) 2012-2018 Red Hat, Inc. All rights reserved. +## Copyright (C) 2012-2019 Red Hat, Inc. All rights reserved. ## ## This copyrighted material is made available to anyone wishing to use, ## modify, copy, or redistribute it subject to the terms and conditions @@ -19,11 +19,18 @@ %bcond_without lzo2 %bcond_without lzma %bcond_without bzip2 +%bcond_with zstd %bcond_with kronosnetd -%bcond_with libtap -%bcond_with runautogen +%bcond_without libnozzle +%bcond_without runautogen %bcond_with rpmdebuginfo %bcond_with overriderpmdebuginfo +%bcond_without installtests + +# DWZ crashes when making debuginfos. This workaround is from +# https://github.com/docker/docker/issues/22051 +# I got this via https://bugzilla.redhat.com/show_bug.cgi?id=1691946 +%global _dwz_low_mem_die_limit 0 %if %{with overriderpmdebuginfo} %undefine _enable_debug_packages @@ -53,30 +60,35 @@ %if %{with bzip2} %global buildcompressbzip2 1 %endif -%if %{with libtap} -%global buildlibtap 1 +%if %{with zstd} +%global buildcompresszstd 1 +%endif +%if %{with libnozzle} +%global buildlibnozzle 1 %endif %if %{with kronosnetd} -%global buildlibtap 1 +%global buildlibnozzle 1 %global buildkronosnetd 1 %endif %if %{with runautogen} %global buildautogen 1 %endif +%if %{with installtests} +%global installtestsuite 1 +%endif # main (empty) package # http://www.rpm.org/max-rpm/s1-rpm-subpack-spec-file-changes.html Name: kronosnet Summary: Multipoint-to-Multipoint VPN daemon -Version: 1.4 -Release: 3%{?dist} +Version: 1.10 +Release: 1%{?dist} License: GPLv2+ and LGPLv2+ URL: http://www.kronosnet.org Source0: http://www.kronosnet.org/releases/kronosnet-%{version}.tar.gz -Patch0: bz1640619-dont-close-loopback-link.patch -Patch1: bz1658301-cope-with-eperm-from-sendmsg.patch +#Patch0: bz1688880-covscan-fixes.patch # Build dependencies BuildRequires: gcc @@ -107,23 +119,28 @@ BuildRequires: xz-devel %if %{defined buildcompressbzip2} BuildRequires: bzip2-devel %endif +%if %{defined buildcompresszstd} +BuildRequires: libzstd-devel +%endif %if %{defined buildkronosnetd} BuildRequires: systemd BuildRequires: pam-devel %endif +%if %{defined buildlibnozzle} +BuildRequires: libnl3-devel +%endif %if %{defined buildautogen} -BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool +BuildRequires: autoconf %endif %prep %setup -q -n %{name}-%{version} -%patch0 -p1 -b .bz1640619-dont-close-loopback-link.patch -%patch1 -p1 -b .bz1658301-cope-with-eperm-from-sendmsg.patch +#%patch0 -p1 -b .bz1688880-covscan-fixes %build -%if %{with runautogen} +%if %{defined buildautogen} ./autogen.sh %endif @@ -163,16 +180,21 @@ BuildRequires: libtool %else --disable-compress-lzma \ %endif -%if %{defined buildcompressbzip2} - --enable-compress-bzip2 \ +%if %{defined buildcompresszstd} + --enable-compress-zstd \ %else - --disable-compress-bzip2 \ + --disable-compress-zstd \ %endif %if %{defined buildkronosnetd} --enable-kronosnetd \ %endif -%if %{defined buildlibtap} - --enable-libtap \ +%if %{defined buildlibnozzle} + --enable-libnozzle \ +%endif +%if %{defined installtestsuite} + --enable-install-tests \ +%else + --disable-install-tests \ %endif --with-initdefaultdir=%{_sysconfdir}/sysconfig/ \ --with-systemddir=%{_unitdir} @@ -248,38 +270,38 @@ getent group kronosnetadm >/dev/null || groupadd --force kronosnetadm %{_mandir}/man8/* %endif -%if %{defined buildlibtap} -%package -n libtap1 +%if %{defined buildlibnozzle} +%package -n libnozzle1 Summary: Simple userland wrapper around kernel tap devices License: LGPLv2+ -%description -n libtap1 +%description -n libnozzle1 This is an over-engineered commodity library to manage a pool of tap devices and provides the basic pre-up.d/up.d/down.d/post-down.d infrastructure. -%files -n libtap1 +%files -n libnozzle1 %license COPYING.* COPYRIGHT -%{_libdir}/libtap.so.* +%{_libdir}/libnozzle.so.* %ldconfig_scriptlets -n libtap1 -%package -n libtap1-devel +%package -n libnozzle1-devel Summary: Simple userland wrapper around kernel tap devices (developer files) License: LGPLv2+ -Requires: libtap1%{_isa} = %{version}-%{release} +Requires: libnozzle1%{_isa} = %{version}-%{release} Requires: pkgconfig -%description -n libtap1-devel +%description -n libnozzle1-devel This is an over-engineered commodity library to manage a pool of tap devices and provides the basic pre-up.d/up.d/down.d/post-down.d infrastructure. -%files -n libtap1-devel +%files -n libnozzle1-devel %license COPYING.* COPYRIGHT -%{_libdir}/libtap.so -%{_includedir}/libtap.h -%{_libdir}/pkgconfig/libtap.pc +%{_libdir}/libnozzle.so +%{_includedir}/libnozzle.h +%{_libdir}/pkgconfig/libnozzle.pc %endif %package -n libknet1 @@ -419,6 +441,19 @@ bzip2 compression support for libknet1. %{_libdir}/kronosnet/compress_bzip2.so %endif +%if %{defined buildcompresszstd} +%package -n libknet1-compress-zstd-plugin +Summary: Libknet1 zstd support +License: LGPLv2+ +Requires: libknet1%{_isa} = %{version}-%{release} + +%description -n libknet1-compress-zstd-plugin +zstd compression support for libknet1. + +%files -n libknet1-compress-zstd-plugin +%{_libdir}/kronosnet/compress_zstd.so +%endif + %package -n libknet1-crypto-plugins-all Summary: Libknet1 crypto plugins meta package License: LGPLv2+ @@ -452,6 +487,9 @@ Requires: libknet1-compress-lzma-plugin%{_isa} = %{version}-%{release} %if %{defined buildcompressbzip2} Requires: libknet1-compress-bzip2-plugin%{_isa} = %{version}-%{release} %endif +%if %{defined buildcompresszstd} +Requires: libknet1-compress-zstd-plugin%{_isa} = %{version}-%{release} +%endif %description -n libknet1-compress-plugins-all meta package to install all of libknet1 compress plugins @@ -469,12 +507,51 @@ meta package to install all of libknet1 plugins %files -n libknet1-plugins-all +%if %{with installtests} +%package -n kronosnet-tests +Group: System Environment/Libraries +Summary: kronosnet test suite +Requires: libknet1 = %{version}-%{release} +Requires: libnozzle1%{_isa} = %{version}-%{release} + +%description -n kronosnet-tests + this package contains the libknet test suite + +%files -n kronosnet-tests +%defattr(-,root,root,-) +%{_libdir}/kronosnet/tests/* +%endif + %if %{with rpmdebuginfo} # This is left over from upstream. %debug_package %endif %changelog +* Wed Jun 12 2019 Christine Caulfield - 1.10-1 + Rebase to 1.10 for ACL support + Resolves: rhbz#1688880 + +* Tue May 21 2019 Christine Caulfield - 1.9-3 + Fix kronosnet-tests dependancies and add workaround for dwz crash + Resolves: rhbz#1688880 + +* Tue May 14 2019 Christine Caulfield - 1.9-2 + add some covscan fixes + Resolves: rhbz#1688880 + +* Tue May 14 2019 Christine Caulfield - 1.9-1 + Rebase to knet 1.9 + Resolves: rhbz#1688880 + +* Thu Mar 28 2019 Christine Caulfield - 1.4-5 + link: Check address families on a link always match + Resolves: rhbz#1691419 + +* Thu Mar 14 2019 Christine Caulfield - 1.4-4 + Add Gating tests + Resolves: rhbz#1682128 + * Fri Dec 14 2018 Christine Caulfield - 1.4-3 Don't spin if we get EPERM from sendmsg - iptables can cause this Resolves: rhbz#1658301