Compare commits

..

3 Commits

Author SHA1 Message Date
Michal Ruprich
503dfb41a6 New version 7.2 2020-01-08 12:30:43 +01:00
Michal Ruprich
4081692c17 Adding noreplace to the /etc/frr/daemons file 2019-10-07 08:40:44 +02:00
Michal Ruprich
ca85912ffe New way of finding python version during build
Replacing crypto of all routing daemons with openssl
Disabling EIGRP crypto because it is broken
Disabling crypto in FIPS mode
2019-09-13 17:18:53 +02:00
9 changed files with 105 additions and 137 deletions

6
.gitignore vendored
View File

@@ -1,8 +1,2 @@
/frr-7.1.tar.gz /frr-7.1.tar.gz
/frr-7.2.tar.gz /frr-7.2.tar.gz
/frr-7.3.tar.gz
/remove-babeld-ldpd.sh
/frr-7.3.1.tar.gz
/frr-7.4.tar.gz
/frr-7.5.tar.gz
/frr-7.5.1.tar.gz

View File

@@ -1,8 +1,8 @@
diff --git a/Makefile.am b/Makefile.am diff --git a/Makefile.am b/Makefile.am
index 46e2da395..adac3475a 100644 index 5be3264..33abc1d 100644
--- a/Makefile.am --- a/Makefile.am
+++ b/Makefile.am +++ b/Makefile.am
@@ -183,8 +183,6 @@ include ospf6d/subdir.am @@ -130,8 +130,6 @@ include ospf6d/subdir.am
include ospfclient/subdir.am include ospfclient/subdir.am
include isisd/subdir.am include isisd/subdir.am
include nhrpd/subdir.am include nhrpd/subdir.am
@@ -11,7 +11,7 @@ index 46e2da395..adac3475a 100644
include eigrpd/subdir.am include eigrpd/subdir.am
include sharpd/subdir.am include sharpd/subdir.am
include pimd/subdir.am include pimd/subdir.am
@@ -246,7 +244,6 @@ EXTRA_DIST += \ @@ -182,7 +180,6 @@ EXTRA_DIST += \
snapcraft/defaults \ snapcraft/defaults \
snapcraft/helpers \ snapcraft/helpers \
snapcraft/snap \ snapcraft/snap \
@@ -19,7 +19,7 @@ index 46e2da395..adac3475a 100644
bgpd/Makefile \ bgpd/Makefile \
bgpd/rfp-example/librfp/Makefile \ bgpd/rfp-example/librfp/Makefile \
bgpd/rfp-example/rfptest/Makefile \ bgpd/rfp-example/rfptest/Makefile \
@@ -258,7 +255,6 @@ EXTRA_DIST += \ @@ -193,7 +190,6 @@ EXTRA_DIST += \
fpm/Makefile \ fpm/Makefile \
grpc/Makefile \ grpc/Makefile \
isisd/Makefile \ isisd/Makefile \

View File

@@ -1,5 +1,5 @@
diff --git a/tools/frr-reload.py b/tools/frr-reload.py diff --git a/tools/frr-reload.py b/tools/frr-reload.py
index a45c17858..23817824a 100755 index 208fb11..0692adc 100755
--- a/tools/frr-reload.py --- a/tools/frr-reload.py
+++ b/tools/frr-reload.py +++ b/tools/frr-reload.py
@@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@

View File

@@ -1,5 +1,41 @@
diff --git a/lib/subdir.am b/lib/subdir.am
index 0b7af18..0533e24 100644
--- a/lib/subdir.am
+++ b/lib/subdir.am
@@ -41,7 +41,6 @@ lib_libfrr_la_SOURCES = \
lib/linklist.c \
lib/log.c \
lib/log_vty.c \
- lib/md5.c \
lib/memory.c \
lib/memory_vty.c \
lib/mlag.c \
@@ -64,7 +64,6 @@ lib_libfrr_la_SOURCES = \
lib/routemap.c \
lib/sbuf.c \
lib/seqlock.c \
- lib/sha256.c \
lib/sigevent.c \
lib/skiplist.c \
lib/sockopt.c \
@@ -170,7 +170,6 @@ pkginclude_HEADERS += \
lib/linklist.h \
lib/log.h \
lib/log_vty.h \
- lib/md5.h \
lib/memory.h \
lib/memory_vty.h \
lib/module.h \
@@ -191,7 +190,6 @@ pkginclude_HEADERS += \
lib/routemap.h \
lib/sbuf.h \
lib/seqlock.h \
- lib/sha256.h \
lib/sigevent.h \
lib/skiplist.h \
lib/smux.h \
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 5c013d634..938b752de 100644 index 1991666..2e4fe55 100644
--- a/isisd/isis_lsp.c --- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c +++ b/isisd/isis_lsp.c
@@ -35,7 +35,9 @@ @@ -35,7 +35,9 @@
@@ -13,7 +49,7 @@ index 5c013d634..938b752de 100644
#include "srcdest_table.h" #include "srcdest_table.h"
#include "lib_errors.h" #include "lib_errors.h"
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
index 7256fcbbc..43e123b03 100644 index 9c63311..7cf594c 100644
--- a/isisd/isis_pdu.c --- a/isisd/isis_pdu.c
+++ b/isisd/isis_pdu.c +++ b/isisd/isis_pdu.c
@@ -33,7 +33,9 @@ @@ -33,7 +33,9 @@
@@ -27,10 +63,10 @@ index 7256fcbbc..43e123b03 100644
#include "isisd/isis_constants.h" #include "isisd/isis_constants.h"
diff --git a/isisd/isis_te.c b/isisd/isis_te.c diff --git a/isisd/isis_te.c b/isisd/isis_te.c
index 8daa2b36b..fdb2bb92a 100644 index 4ea6c2c..72ff0d2 100644
--- a/isisd/isis_te.c --- a/isisd/isis_te.c
+++ b/isisd/isis_te.c +++ b/isisd/isis_te.c
@@ -39,7 +39,9 @@ @@ -38,7 +38,9 @@
#include "if.h" #include "if.h"
#include "vrf.h" #include "vrf.h"
#include "checksum.h" #include "checksum.h"
@@ -40,39 +76,3 @@ index 8daa2b36b..fdb2bb92a 100644
#include "sockunion.h" #include "sockunion.h"
#include "network.h" #include "network.h"
#include "sbuf.h" #include "sbuf.h"
diff --git a/lib/subdir.am b/lib/subdir.am
index 75f3d91b9..1944adcc2 100644
--- a/lib/subdir.am
+++ b/lib/subdir.am
@@ -53,7 +53,6 @@ lib_libfrr_la_SOURCES = \
lib/log.c \
lib/log_filter.c \
lib/log_vty.c \
- lib/md5.c \
lib/memory.c \
lib/mlag.c \
lib/module.c \
@@ -82,7 +81,6 @@ lib_libfrr_la_SOURCES = \
lib/routemap_northbound.c \
lib/sbuf.c \
lib/seqlock.c \
- lib/sha256.c \
lib/sigevent.c \
lib/skiplist.c \
lib/sockopt.c \
@@ -220,7 +218,6 @@ pkginclude_HEADERS += \
lib/link_state.h \
lib/log.h \
lib/log_vty.h \
- lib/md5.h \
lib/memory.h \
lib/module.h \
lib/monotime.h \
@@ -249,7 +246,6 @@ pkginclude_HEADERS += \
lib/routemap.h \
lib/sbuf.h \
lib/seqlock.h \
- lib/sha256.h \
lib/sigevent.h \
lib/skiplist.h \
lib/smux.h \

View File

@@ -0,0 +1,30 @@
diff --git a/tests/lib/test_typelist.h b/tests/lib/test_typelist.h
index f20bbc52d..9039fa8a4 100644
--- a/tests/lib/test_typelist.h
+++ b/tests/lib/test_typelist.h
@@ -98,12 +98,13 @@ static void ts_hash(const char *text, const char *expect)
unsigned i = 0;
uint8_t hash[32];
char hashtext[65];
- uint32_t count;
+ uint32_t swap_count, count;
- count = htonl(list_count(&head));
+ count = list_count(&head);
+ swap_count = htonl(count);
SHA256_Init(&ctx);
- SHA256_Update(&ctx, &count, sizeof(count));
+ SHA256_Update(&ctx, &swap_count, sizeof(swap_count));
frr_each (list, &head, item) {
struct {
@@ -115,7 +115,7 @@ static void ts_hash(const char *text, const char *expect)
};
SHA256_Update(&ctx, &hashitem, sizeof(hashitem));
i++;
- assert(i < count);
+ assert(i <= count);
}
SHA256_Final(hash, &ctx);

Binary file not shown.

View File

@@ -1 +0,0 @@
d /run/frr 0755 frr frr -

112
frr.spec
View File

@@ -1,29 +1,26 @@
%global frrbaseversion 8.0 %global frrversion 7.2
%global frr_libdir /usr/lib/frr %global frr_libdir /usr/lib/frr
# global checkout 20210714-09-g5f3b23256
%global imsversion .st.87
%global _hardened_build 1 %global _hardened_build 1
%define _legacy_common_support 1
Name: frr Name: frr
Version: %{frrbaseversion}.1 Version: 7.2
Release: 1%{?imsversion}%{?dist} Release: 1%{?checkout}%{?dist}
Summary: Routing daemon Summary: Routing daemon
License: GPLv2+ License: GPLv2+
URL: http://www.frrouting.org URL: http://www.frrouting.org
Source0: https://github.com/FRRouting/frr/releases/download/%{name}-%{frrbaseversion}/%{name}-%{version}%{?checkout:-%{checkout}}.tar.xz Source0: https://github.com/FRRouting/frr/releases/download/%{name}-%{frrversion}/%{name}-%{frrversion}.tar.gz
Source1: %{name}-tmpfiles.conf
BuildRequires: perl-generators BuildRequires: perl-generators
BuildRequires: systemd
BuildRequires: gcc BuildRequires: gcc
BuildRequires: net-snmp-devel BuildRequires: net-snmp-devel
BuildRequires: texinfo libcap-devel autoconf automake libtool patch groff BuildRequires: texinfo libcap-devel texi2html autoconf automake libtool patch groff
BuildRequires: readline readline-devel ncurses ncurses-devel BuildRequires: readline readline-devel ncurses ncurses-devel
BuildRequires: git pam-devel c-ares-devel BuildRequires: git pam-devel c-ares-devel
BuildRequires: json-c-devel bison >= 2.7 flex perl-XML-LibXML BuildRequires: json-c-devel bison >= 2.7 flex perl-XML-LibXML
BuildRequires: python3-devel python3-sphinx python3-pytest BuildRequires: python3-devel python3-sphinx python3-pytest
BuildRequires: systemd systemd-devel BuildRequires: systemd systemd-devel
BuildRequires: libyang2-devel >= 2.0.0 BuildRequires: libyang-devel >= 0.16.74
Requires: net-snmp ncurses Requires: net-snmp ncurses
Requires(post): systemd /sbin/install-info Requires(post): systemd /sbin/install-info
Requires(preun): systemd /sbin/install-info Requires(preun): systemd /sbin/install-info
@@ -36,6 +33,7 @@ Patch0001: 0001-use-python3.patch
Patch0002: 0002-enable-openssl.patch Patch0002: 0002-enable-openssl.patch
Patch0003: 0003-disable-eigrp-crypto.patch Patch0003: 0003-disable-eigrp-crypto.patch
Patch0004: 0004-fips-mode.patch Patch0004: 0004-fips-mode.patch
Patch0005: 0005-test-typelist-power.patch
%description %description
FRRouting is free software that manages TCP/IP based routing protocols. It takes FRRouting is free software that manages TCP/IP based routing protocols. It takes
@@ -47,7 +45,7 @@ FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, NHRP, PBR, EIGRP
FRRouting is a fork of Quagga. FRRouting is a fork of Quagga.
%prep %prep
%autosetup -S git -n %{name}-%{version}%{?checkout:-%{checkout}} %autosetup -S git
%build %build
autoreconf -ivf autoreconf -ivf
@@ -74,7 +72,6 @@ autoreconf -ivf
--disable-babeld \ --disable-babeld \
--with-moduledir=%{_libdir}/frr/modules \ --with-moduledir=%{_libdir}/frr/modules \
--with-crypto=openssl \ --with-crypto=openssl \
--with-vici-socket=/run/strongswan/charon.vici \
--enable-fpm --enable-fpm
%make_build MAKEINFO="makeinfo --no-split" PYTHON=%{__python3} %make_build MAKEINFO="makeinfo --no-split" PYTHON=%{__python3}
@@ -89,22 +86,20 @@ mkdir -p %{buildroot}/etc/{frr,rc.d/init.d,sysconfig,logrotate.d,pam.d,default}
%{buildroot}%{_unitdir} %{buildroot}%{_unitdir}
mkdir -p -m 0755 %{buildroot}%{_libdir}/frr mkdir -p -m 0755 %{buildroot}%{_libdir}/frr
mkdir -p %{buildroot}%{_tmpfilesdir}
%make_install %make_install
# Remove this file, as it is uninstalled and causes errors when building on RH9 # Remove this file, as it is uninstalled and causes errors when building on RH9
rm -rf %{buildroot}/usr/share/info/dir rm -rf %{buildroot}/usr/share/info/dir
install -p -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf install -p -m 644 %{_builddir}/%{name}-%{frrversion}/tools/etc/frr/daemons %{buildroot}/etc/frr/daemons
install -p -m 644 %{_builddir}/%{name}-%{version}/tools/etc/frr/daemons %{buildroot}/etc/frr/daemons install -p -m 644 %{_builddir}/%{name}-%{frrversion}/tools/frr.service %{buildroot}%{_unitdir}/frr.service
install -p -m 644 %{_builddir}/%{name}-%{version}/tools/frr.service %{buildroot}%{_unitdir}/frr.service install -p -m 755 %{_builddir}/%{name}-%{frrversion}/tools/frrinit.sh %{buildroot}%{frr_libdir}/frr
install -p -m 755 %{_builddir}/%{name}-%{version}/tools/frrinit.sh %{buildroot}%{frr_libdir}/frr install -p -m 755 %{_builddir}/%{name}-%{frrversion}/tools/frrcommon.sh %{buildroot}%{frr_libdir}/frrcommon.sh
install -p -m 755 %{_builddir}/%{name}-%{version}/tools/frrcommon.sh %{buildroot}%{frr_libdir}/frrcommon.sh install -p -m 755 %{_builddir}/%{name}-%{frrversion}/tools/watchfrr.sh %{buildroot}%{frr_libdir}/watchfrr.sh
install -p -m 755 %{_builddir}/%{name}-%{version}/tools/watchfrr.sh %{buildroot}%{frr_libdir}/watchfrr.sh
install -p -m 644 %{_builddir}/%{name}-%{version}/redhat/frr.logrotate %{buildroot}/etc/logrotate.d/frr install -p -m 644 %{_builddir}/%{name}-%{frrversion}/redhat/frr.logrotate %{buildroot}/etc/logrotate.d/frr
install -p -m 644 %{_builddir}/%{name}-%{version}/redhat/frr.pam %{buildroot}/etc/pam.d/frr install -p -m 644 %{_builddir}/%{name}-%{frrversion}/redhat/frr.pam %{buildroot}/etc/pam.d/frr
install -d -m 775 %{buildroot}/run/frr install -d -m 775 %{buildroot}/run/frr
rm %{buildroot}%{_libdir}/frr/*.la rm %{buildroot}%{_libdir}/frr/*.la
@@ -135,13 +130,6 @@ if [ ! -e %{_sysconfdir}/frr/frr.conf ]; then
chmod 640 %{_sysconfdir}/frr/frr.conf chmod 640 %{_sysconfdir}/frr/frr.conf
fi fi
#still used by vtysh, this way no error is produced when using vtysh
if [ ! -e %{_sysconfdir}/frr/vtysh.conf ]; then
touch %{_sysconfdir}/frr/vtysh.conf
chmod 640 %{_sysconfdir}/frr/vtysh.conf
chown frr:frrvty %{_sysconfdir}/frr/vtysh.conf
fi
%postun %postun
%systemd_postun_with_restart frr.service %systemd_postun_with_restart frr.service
@@ -156,83 +144,41 @@ if [ $1 -eq 0 ]; then
fi fi
%check %check
#make check PYTHON=%{__python3} make check PYTHON=%{__python3}
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%license COPYING %license COPYING
%doc zebra/zebra.conf.sample
%doc isisd/isisd.conf.sample
%doc ripd/ripd.conf.sample
%doc bgpd/bgpd.conf.sample*
%doc ospfd/ospfd.conf.sample
%doc ospf6d/ospf6d.conf.sample
%doc ripngd/ripngd.conf.sample
%doc pimd/pimd.conf.sample
%doc doc/mpls %doc doc/mpls
%dir %attr(750,frr,frr) %{_sysconfdir}/frr %dir %attr(755,frr,frr) %{_sysconfdir}/frr
%dir %attr(755,frr,frr) /var/log/frr %dir %attr(755,frr,frr) /var/log/frr
%dir %attr(755,frr,frr) /run/frr %dir %attr(755,frr,frr) /run/frr
%{_infodir}/*info* %{_infodir}/*info*
%{_mandir}/man*/* %{_mandir}/man*/*
%dir %{frr_libdir}/
%{frr_libdir}/* %{frr_libdir}/*
%{_bindir}/* %{_bindir}/*
%dir %{_libdir}/frr %dir %{_libdir}/frr
%{_libdir}/frr/*.so.* %{_libdir}/frr/*.so.*
%dir %{_libdir}/frr/modules
%{_libdir}/frr/modules/* %{_libdir}/frr/modules/*
%config(noreplace) %attr(644,root,root) /etc/logrotate.d/frr %config(noreplace) %attr(644,root,root) /etc/logrotate.d/frr
%config(noreplace) %attr(644,frr,frr) /etc/frr/daemons %config(noreplace) /etc/frr/daemons
%config(noreplace) /etc/pam.d/frr %config(noreplace) /etc/pam.d/frr
%{_unitdir}/*.service %{_unitdir}/*.service
%dir /usr/share/yang
/usr/share/yang/*.yang /usr/share/yang/*.yang
%{_tmpfilesdir}/%{name}.conf #%%{_libdir}/frr/frr/libyang_plugins/*
%changelog %changelog
* Fri Apr 23 2021 Michal Ruprich <mruprich@redhat.com> - 7.5.1-2 * Wed Jan 08 2020 Michal Ruprich <mruprich@redhat.com> - 7.2-1
- Fixing permissions on config files in /etc/frr
- Enabling integrated configuration option for frr
* Tue Mar 16 2021 Michal Ruprich <mruprich@redhat.com> - 7.5.1-1
- New version 7.5.1
* Fri Jan 01 2021 Michal Ruprich <mruprich@redhat.com> - 7.5-1
- New version 7.5
* Mon Sep 21 2020 Michal Ruprich <mruprich@redhat.com> - 7.4-1
- New version 7.4
* Thu Aug 27 2020 Josef Řídký <jridky@redhat.com> - 7.3.1-4
- Rebuilt for new net-snmp release
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 18 2020 Michal Ruprich <mruprich@redhat.com.com> - 7.3.1-1
- New version 7.3.1
- Fixes a couple of bugs(#1832259, #1835039, #1830815, #1830808, #1830806, #1830800, #1830798, #1814773)
* Tue May 19 2020 Michal Ruprich <mruprich@redhat.com.com> - 7.3-6
- Removing texi2html, it is not available in Rawhide anymore
* Mon May 18 2020 Michal Ruprich <mruprich@redhat.com.com> - 7.3-5
- Rebuild for new version of libyang
* Tue Apr 21 2020 Björn Esser <besser82@fedoraproject.org> - 7.3-4
- Rebuild (json-c)
* Mon Apr 13 2020 Björn Esser <besser82@fedoraproject.org> - 7.3-3
- Update json-c-0.14 patch with a solution from upstream
* Mon Apr 13 2020 Björn Esser <besser82@fedoraproject.org> - 7.3-2
- Add support for upcoming json-c 0.14.0
* Wed Feb 19 2020 Michal Ruprich <mruprich@redhat.com> - 7.3-1
- New version 7.3
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Dec 16 2019 Michal Ruprich <mruprich@redhat.com> - 7.2-1
- New version 7.2 - New version 7.2
* Tue Nov 12 2019 Michal Ruprich <mruprich@redhat.com> - 7.1-5
- Rebuilding for new version of libyang
* Mon Oct 07 2019 Michal Ruprich <mruprich@redhat.com> - 7.1-4 * Mon Oct 07 2019 Michal Ruprich <mruprich@redhat.com> - 7.1-4
- Adding noreplace to the /etc/frr/daemons file - Adding noreplace to the /etc/frr/daemons file

View File

@@ -1,2 +1 @@
SHA512 (frr-7.5.1.tar.gz) = 1c27420594e52647090da3556e5c62d6f916903c4fa86e5110f1e86152f07d3ce4252bc859d36c9d218dc96a80b245c8b9eee97f370d818cb39be187b6c3546e SHA512 (frr-7.2.tar.gz) = a99cd23ef9499e28fdf3b2d23993e4a9bcfea3c5eb4c8ddc33ad50b0afab961733729116e01397af9e77918b8c0de5598f6c22bbab92050b548fb5c21e5d81d8
SHA512 (remove-babeld-ldpd.sh) = a5bf67a3722cb20d43cef1dac28f839db68df73a1b7d34d8438e4f9366da3b67d85c1f44281f93434e8dd8ebcb2d3dc258b77eaa5627475b7395d207f020839d