diff options
| author | CoprDistGit <infra@openeuler.org> | 2024-08-26 03:01:27 +0000 | 
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2024-08-26 03:01:27 +0000 | 
| commit | eb8a32be4348d99a77fdfd1a42a7d5814d8c3e66 (patch) | |
| tree | 30f647e2ddbe8ce17999baf893c298d3616e586a | |
| parent | 4b2b83af157d4f776acdaf74b320931e6a9f0d65 (diff) | |
automatic import of frr
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | frr-sysusers.conf | 4 | ||||
| -rw-r--r-- | frr-tmpfiles.conf | 1 | ||||
| -rw-r--r-- | frr.fc | 29 | ||||
| -rw-r--r-- | frr.if | 214 | ||||
| -rw-r--r-- | frr.spec | 550 | ||||
| -rw-r--r-- | frr.te | 125 | ||||
| -rw-r--r-- | sources | 1 | 
8 files changed, 925 insertions, 0 deletions
| @@ -0,0 +1 @@ +/frr-10.1.tar.gz diff --git a/frr-sysusers.conf b/frr-sysusers.conf new file mode 100644 index 0000000..9632955 --- /dev/null +++ b/frr-sysusers.conf @@ -0,0 +1,4 @@ +#Type Name   ID     GECOS                        Home directory  Shell +g     frrvty - +u     frr    -      "FRRouting routing suite"    /var/run/frr    /sbin/nologin +m     frr    frrvty diff --git a/frr-tmpfiles.conf b/frr-tmpfiles.conf new file mode 100644 index 0000000..c1613b2 --- /dev/null +++ b/frr-tmpfiles.conf @@ -0,0 +1 @@ +d /run/frr 0755 frr frr - @@ -0,0 +1,29 @@ +/usr/libexec/frr/(.*)?              gen_context(system_u:object_r:frr_exec_t,s0) + +/usr/lib/systemd/system/frr.*   gen_context(system_u:object_r:frr_unit_file_t,s0) + +/etc/frr(/.*)?                  gen_context(system_u:object_r:frr_conf_t,s0) + +/var/log/frr(/.*)?              gen_context(system_u:object_r:frr_log_t,s0) +/var/tmp/frr(/.*)?              gen_context(system_u:object_r:frr_tmp_t,s0) + +/run/lock/subsys/bfdd       --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/bgpd       --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/eigrpd     --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/fabricd    --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/isisd      --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/nhrpd      --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/ospf6d     --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/ospfd      --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/pbrd       --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/pimd       --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/ripd       --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/ripngd     --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/staticd    --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/zebra      --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/vrrpd      --  gen_context(system_u:object_r:frr_lock_t,s0) +/run/lock/subsys/pathd      --  gen_context(system_u:object_r:frr_lock_t,s0) + +/run/frr(/.*)?              gen_context(system_u:object_r:frr_var_run_t,s0) + +/usr/bin/vtysh              --  gen_context(system_u:object_r:frr_exec_t,s0) @@ -0,0 +1,214 @@ +## <summary>policy for frr</summary> + +######################################## +## <summary> +##	Execute frr_exec_t in the frr domain. +## </summary> +## <param name="domain"> +## <summary> +##	Domain allowed to transition. +## </summary> +## </param> +# +interface(`frr_domtrans',` +	gen_require(` +		type frr_t, frr_exec_t; +	') + +	corecmd_search_bin($1) +	domtrans_pattern($1, frr_exec_t, frr_t) +') + +###################################### +## <summary> +##	Execute frr in the caller domain. +## </summary> +## <param name="domain"> +##	<summary> +##	Domain allowed access. +##	</summary> +## </param> +# +interface(`frr_exec',` +	gen_require(` +		type frr_exec_t; +	') + +	corecmd_search_bin($1) +	can_exec($1, frr_exec_t) +') + +######################################## +## <summary> +##	Read frr's log files. +## </summary> +## <param name="domain"> +##	<summary> +##	Domain allowed access. +##	</summary> +## </param> +## <rolecap/> +# +interface(`frr_read_log',` +	gen_require(` +		type frr_log_t; +	') + +	read_files_pattern($1, frr_log_t, frr_log_t) +	optional_policy(` +		logging_search_logs($1) +	') +') + +######################################## +## <summary> +##	Append to frr log files. +## </summary> +## <param name="domain"> +##	<summary> +##	Domain allowed access. +##	</summary> +## </param> +# +interface(`frr_append_log',` +	gen_require(` +		type frr_log_t; +	') + +	append_files_pattern($1, frr_log_t, frr_log_t) +	optional_policy(` +		logging_search_logs($1) +	') +') + +######################################## +## <summary> +##	Manage frr log files +## </summary> +## <param name="domain"> +##	<summary> +##	Domain allowed access. +##	</summary> +## </param> +# +interface(`frr_manage_log',` +	gen_require(` +		type frr_log_t; +	') + +	manage_dirs_pattern($1, frr_log_t, frr_log_t) +	manage_files_pattern($1, frr_log_t, frr_log_t) +	manage_lnk_files_pattern($1, frr_log_t, frr_log_t) +	optional_policy(` +		logging_search_logs($1) +	') +') + +######################################## +## <summary> +##	Read frr PID files. +## </summary> +## <param name="domain"> +##	<summary> +##	Domain allowed access. +##	</summary> +## </param> +# +interface(`frr_read_pid_files',` +	gen_require(` +		type frr_var_run_t; +	') + +	files_search_pids($1) +	read_files_pattern($1, frr_var_run_t, frr_var_run_t) +') + +######################################## +## <summary> +##	All of the rules required to administrate +##	an frr environment +## </summary> +## <param name="domain"> +##	<summary> +##	Domain allowed access. +##	</summary> +## </param> +# +interface(`frr_admin',` +	gen_require(` +		type frr_t; +		type frr_log_t; +		type frr_var_run_t; +	') + +	allow $1 frr_t:process { signal_perms }; +	ps_process_pattern($1, frr_t) + +	tunable_policy(`deny_ptrace',`',` +		allow $1 frr_t:process ptrace; +	') + +	admin_pattern($1, frr_log_t) + +	files_search_pids($1) +	admin_pattern($1, frr_var_run_t) +	optional_policy(` +		logging_search_logs($1) +	') +	optional_policy(` +		systemd_passwd_agent_exec($1) +		systemd_read_fifo_file_passwd_run($1) +	') +') + +######################################## +# +# Interface compatibility blocks +# +# The following definitions ensure compatibility with distribution policy +# versions that do not contain given interfaces (epel, or older Fedora +# releases). +# Each block tests for existence of given interface and defines it if needed. +# + +###################################### +## <summary> +##	Watch ifconfig_var_run_t directories +## </summary> +## <param name="domain"> +##	<summary> +##	Domain allowed access. +##	</summary> +## </param> +# +ifndef(`sysnet_watch_ifconfig_run_dirs',` +	interface(`sysnet_watch_ifconfig_run_dirs',` +		gen_require(` +			type ifconfig_var_run_t; +		') + +		watch_dirs_pattern($1, ifconfig_var_run_t, ifconfig_var_run_t) +	') +') + +######################################## +## <summary> +##	Read ifconfig_var_run_t files and link files +## </summary> +## <param name="domain"> +##	<summary> +##      Domain allowed access. +##	</summary> +## </param> +# +ifndef(`sysnet_read_ifconfig_run_files',` +	interface(`sysnet_read_ifconfig_run_files',` +		gen_require(` +			type ifconfig_var_run_t; +		') + +		list_dirs_pattern($1, ifconfig_var_run_t, ifconfig_var_run_t) +		read_files_pattern($1, ifconfig_var_run_t, ifconfig_var_run_t) +		read_lnk_files_pattern($1, ifconfig_var_run_t, ifconfig_var_run_t) +	') +') diff --git a/frr.spec b/frr.spec new file mode 100644 index 0000000..afc93ac --- /dev/null +++ b/frr.spec @@ -0,0 +1,550 @@ +%global frr_libdir %{_libexecdir}/frr + +%global _hardened_build 1 +%global selinuxtype targeted +%define _legacy_common_support 1 + +%bcond grpc 0 +%bcond selinux 0 + +Name:           frr +Version:        10.1 +Release:        1%{?dist} +Summary:        Routing daemon +License:        GPL-2.0-or-later AND ISC AND LGPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later  OR ISC) AND MIT +URL:            http://www.frrouting.org +Source0:        https://github.com/FRRouting/frr/archive/refs/tags/%{name}-%{version}.tar.gz +Source1:        %{name}-tmpfiles.conf +Source2:        %{name}-sysusers.conf +#Decentralized SELinux policy +Source3:        frr.fc +Source4:        frr.te +Source5:        frr.if + +BuildRequires:  autoconf +BuildRequires:  automake +BuildRequires:  bison >= 2.7 +BuildRequires:  c-ares-devel +BuildRequires:  flex +BuildRequires:  gcc +BuildRequires:  gcc-c++ +BuildRequires:  git-core +BuildRequires:  groff +%if %{with grpc} +BuildRequires:  grpc-devel +BuildRequires:  grpc-plugins +%endif +BuildRequires:  json-c-devel +BuildRequires:  libcap-devel +BuildRequires:  libtool +BuildRequires:  libyang-devel >= 2.0.0 +BuildRequires:  make +BuildRequires:  ncurses +BuildRequires:  ncurses-devel +BuildRequires:  net-snmp-devel +BuildRequires:  pam-devel +BuildRequires:  patch +BuildRequires:  perl-XML-LibXML +BuildRequires:  perl-generators +BuildRequires:  python3-devel +BuildRequires:  python3-pytest +BuildRequires:  python3-sphinx +BuildRequires:  readline-devel +BuildRequires:  systemd-devel +BuildRequires:  systemd +BuildRequires:  texinfo +BuildRequires:  protobuf-c-devel +BuildRequires:  librtr-devel + +Requires:       ncurses +Requires:       net-snmp +Requires(post): hostname +%{?sysusers_requires_compat} +Requires(post): systemd +Requires(postun): systemd +Requires(preun): systemd + +%if 0%{?with_selinux} +Requires: (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype}) +%endif + +Obsoletes:      quagga < 1.2.4-17 +Provides:       routingdaemon = %{version}-%{release} + +%description +FRRouting is free software that manages TCP/IP based routing protocols. It takes +a multi-server and multi-threaded approach to resolve the current complexity +of the Internet. + +FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, NHRP, PBR, +EIGRP and BFD. + +FRRouting is a fork of Quagga. + +%if 0%{?with_selinux} +%package selinux +Summary:  Selinux policy for FRR +BuildArch:  noarch +Requires:  selinux-policy-%{selinuxtype} +Requires(post):  selinux-policy-%{selinuxtype} +BuildRequires:  selinux-policy-devel +%{?selinux_requires} + +%description selinux +SELinux policy modules for FRR package + +%endif + +%prep +%autosetup -S git +#Selinux +mkdir selinux +cp -p %{SOURCE3} %{SOURCE4} %{SOURCE5} selinux +# C++14 or later needed for abseil-cpp 20230125; string_view needs C++17: +sed -r -i 's/(AX_CXX_COMPILE_STDCXX\(\[)11(\])/\117\2/' configure.ac + +%build +autoreconf -ivf + +%configure \ +    --sbindir=%{frr_libdir} \ +    --sysconfdir=%{_sysconfdir}/frr \ +    --libdir=%{_libdir}/frr \ +    --libexecdir=%{_libexecdir}/frr \ +    --localstatedir=/run/frr \ +    --enable-multipath=64 \ +    --enable-vtysh=yes \ +    --disable-ospfclient \ +    --disable-ospfapi \ +    --enable-snmp=agentx \ +    --enable-user=frr \ +    --enable-group=frr \ +    --enable-vty-group=frrvty \ +    --enable-rtadv \ +    --disable-exampledir \ +    --enable-systemd=yes \ +    --enable-static=no \ +    --with-moduledir=%{_libdir}/frr/modules \ +    --with-yangmodelsdir=%{_datadir}/frr-yang/ \ +    --with-crypto=openssl \ +    --enable-fpm \ +    --enable-rpki \ +    %{?with_grpc:--enable-grpc} + +%make_build MAKEINFO="makeinfo --no-split" PYTHON=%{__python3} + +# Build info documentation +%make_build -C doc info + +#SELinux policy +%if 0%{?with_selinux} +make -C selinux -f %{_datadir}/selinux/devel/Makefile %{name}.pp +bzip2 -9 selinux/%{name}.pp +%endif + +%install +mkdir -p %{buildroot}%{_sysconfdir}/{frr,rc.d/init.d,sysconfig,logrotate.d,pam.d,default} \ +         %{buildroot}%{_localstatedir}/log/frr %{buildroot}%{_infodir} \ +         %{buildroot}%{_unitdir} + +mkdir -p -m 0755 %{buildroot}%{_libdir}/frr +mkdir -p %{buildroot}%{_tmpfilesdir} +mkdir -p %{buildroot}%{_sysusersdir} + +%make_install + +# Remove this file, as it is uninstalled and causes errors when building on RH9 +rm -rf %{buildroot}%{_infodir}/dir + +install -p -m 644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -p -m 644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf +install -p -m 644 tools/etc/frr/daemons %{buildroot}%{_sysconfdir}/frr/daemons +install -p -m 644 tools/frr.service %{buildroot}%{_unitdir}/frr.service +install -p -m 755 tools/frrinit.sh %{buildroot}%{frr_libdir}/frr +install -p -m 755 tools/frrcommon.sh %{buildroot}%{frr_libdir}/frrcommon.sh +install -p -m 755 tools/watchfrr.sh %{buildroot}%{frr_libdir}/watchfrr.sh + +install -p -m 644 redhat/frr.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/frr +install -p -m 644 redhat/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr +install -d -m 775 %{buildroot}/run/frr + +%if 0%{?with_selinux} +install -D -m 644 selinux/%{name}.pp.bz2 \ +  %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2 +install -D -m 644 selinux/%{name}.if %{buildroot}%{_datadir}/selinux/devel/include/distributed/%{name}.if +%endif + +# Delete libtool archives +find %{buildroot} -type f -name "*.la" -delete -print + +#Upstream does not maintain a stable API, these headers from -devel subpackage are no longer needed +rm %{buildroot}%{_libdir}/frr/*.so +rm -r %{buildroot}%{_includedir}/frr/ + +%pre +%sysusers_create_package %{name} %{SOURCE2} + +%post +%systemd_post frr.service + +# Create dummy files if they don't exist so basic functions can be used. +if [ ! -e %{_sysconfdir}/frr/frr.conf ]; then +    echo "hostname `hostname`" > %{_sysconfdir}/frr/frr.conf +    chown frr:frr %{_sysconfdir}/frr/frr.conf +    chmod 640 %{_sysconfdir}/frr/frr.conf +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 +%systemd_postun_with_restart frr.service + +%preun +%systemd_preun frr.service + +#SELinux +%if 0%{?with_selinux} +%pre selinux +%selinux_relabel_pre -s %{selinuxtype} + +%post selinux +%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2 +%selinux_relabel_post -s %{selinuxtype} +#/var/tmp and /var/run need to be relabeled as well if FRR is running before upgrade +if [ $1 == 2 ]; then +    %{_sbindir}/restorecon -R /var/tmp/frr &> /dev/null +    %{_sbindir}/restorecon -R /run/frr &> /dev/null +fi + +%postun selinux +if [ $1 -eq 0 ]; then +    %selinux_modules_uninstall -s %{selinuxtype} %{name} +    %selinux_relabel_post -s %{selinuxtype} +fi + +%endif + +%check +#this should be temporary, the grpc test is just badly designed +rm tests/lib/*grpc* +%make_build check PYTHON=%{__python3} + +%files +%license COPYING +%doc doc/mpls +%dir %attr(750,frr,frr) %{_sysconfdir}/frr +%dir %attr(755,frr,frr) %{_localstatedir}/log/frr +%dir %attr(755,frr,frr) /run/frr +%{_infodir}/*info* +%{_mandir}/man1/frr.1* +%{_mandir}/man1/vtysh.1* +%{_mandir}/man8/frr-*.8* +%{_mandir}/man8/mtracebis.8* +%dir %{frr_libdir}/ +%{frr_libdir}/* +%{_bindir}/mtracebis +%{_bindir}/vtysh +%dir %{_libdir}/frr +%{_libdir}/frr/*.so.* +%dir %{_libdir}/frr/modules +%{_libdir}/frr/modules/* +%config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/frr +%config(noreplace) %attr(644,frr,frr) %{_sysconfdir}/frr/daemons +%config(noreplace) %{_sysconfdir}/pam.d/frr +%{_unitdir}/*.service +%dir %{_datadir}/frr-yang +%{_datadir}/frr-yang/*.yang +%{_tmpfilesdir}/%{name}.conf +%{_sysusersdir}/%{name}.conf + +%if 0%{?with_selinux} +%files selinux +%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.* +%{_datadir}/selinux/devel/include/distributed/%{name}.if +%ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name} +%endif + +%changelog +* Mon Aug 12 2024 Michal Ruprich <mruprich@redhat.com> - 10.1-1 +- New version 10.1 + +* Wed Jul 31 2024 Michal Ruprich <mruprich@redhat.com> - 10.0.1-1 +- New version 10.0.1 + +* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Apr 17 2024 Michal Ruprich <mruprich@redhat.com> - 9.1-4 +- Moving yang modules to frr specific dir to avoid conflicts +- Adding rpminspect.yaml + +* Sat Feb 24 2024 Paul Wouters <paul.wouters@aiven.io> - 9.1-3 +- Rebuild for libre2.so.11 bump + +* Sun Feb 04 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 9.1-2 +- Rebuilt for abseil-cpp-20240116.0 + +* Thu Jan 25 2024 Michal Ruprich <mruprich@redhat.com> - 9.1-1 +- New version 9.1 + +* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Oct 16 2023 Michal Ruprich <mruprich@redhat.com> - 9.0.1-1 +- New version 9.0.1 + +* Fri Sep 01 2023 Michal Ruprich <mruprich@redhat.com> - 8.5.2-4 +- Adding a couple of SELinux rules, includes fix for rhbz#2149299 + +* Wed Aug 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 8.5.2-3 +- Rebuilt for abseil-cpp 20230802.0 + +* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jun 30 2023 Michal Ruprich <mruprich@redhat.com> - 8.5.2-1 +- New version 8.5.2 +- Fixing some rpmlint warnings + +* Mon Jun 26 2023 Michal Ruprich <mruprich@redhat.com> - 8.5.1-4 +- Resolves: #2216073 - SELinux is preventing FRR-Zebra to access to network namespaces. + +* Mon Jun 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 8.5.1-3 +- Disable grpc in RHEL builds + +* Fri May 19 2023 Petr Pisar <ppisar@redhat.com> - 8.5.1-2 +- Rebuild against rpm-4.19 (https://fedoraproject.org/wiki/Changes/RPM-4.19) + +* Wed Apr 26 2023 Michal Ruprich <mruprich@redhat.com> - 8.5.1-1 +- New version 8.5.1 + +* Wed Apr 12 2023 Michal Ruprich <mruprich@redhat.com> - 8.5-1 +- New version 8.5 + +* Thu Mar 23 2023 Michal Ruprich <mruprich@redhat.com> - 8.4.2-5 +- Rebuilding for new abseil-cpp version + +* Wed Mar 22 2023 Michal Ruprich <mruprich@redhat.com> - 8.4.2-4 +- SPDX migration + +* Wed Mar 08 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 8.4.2-3 +- Build as C++17, required by abseil-cpp 20230125 + +* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jan 12 2023 Michal Ruprich <mruprich@redhat.com> - 8.4.2-1 +- New version 8.4.2 + +* Fri Nov 25 2022 Michal Ruprich <mruprich@redhat.com> - 8.4.1-1 +- New version 8.4.1 +- Fix for rhbz #2140705 + +* Thu Nov 10 2022 Michal Ruprich <mruprich@redhat.com> - 8.4-1 +- New version 8.4 + +* Fri Sep 16 2022 Michal Ruprich <mruprich@redhat.com> - 8.3.1-5 +- Adding SELinux rule to enable zebra to write to sysctl_net_t +- Adding SELinux rule to enable bgpd to call name_connect to bgp_port_t + +* Fri Sep 09 2022 Michal Ruprich <mruprich@redhat.com> - 8.3.1-4 +- Fixing an error in post scriptlet + +* Fri Sep 09 2022 Michal Ruprich <mruprich@redhat.com> - 8.3.1-3 +- Resolves: #2124254 - frr can no longer update routes + +* Wed Sep 07 2022 Michal Ruprich <mruprich@redhat.com> - 8.3.1-2 +- Resolves: #2124253 - SELinux is preventing zebra from setattr access on the directory frr +- Better handling FRR files during upgrade + +* Tue Sep 06 2022 Michal Ruprich <mruprich@redhat.com> - 8.3.1-1 +- New version 8.3.1 + +* Mon Aug 22 2022 Michal Ruprich <mruprich@redhat.com> - 8.2.2-10 +- Rebuilding for new abseil-cpp and grpc updates + +* Wed Aug 10 2022 Michal Ruprich <mruprich@redhat.com> - 8.2.2-9 +- Adding vrrpd and pathd as daemons to the policy + +* Wed Aug 10 2022 Michal Ruprich <mruprich@redhat.com> - 8.2.2-8 +- Finalizing SELinux policy + +* Tue Aug 02 2022 Michal Ruprich <mruprich@redhat.com> - 8.2.2-7 +- Fixing wrong path for vtysh in frr.fc + +* Fri Jul 29 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 8.2.2-6 +- Rebuild with abseil-cpp-20211102.0-4.fc37 (RHBZ#2108658) + +* Wed Jul 27 2022 Michal Ruprich - 8.2.2-5 +- Packaging SELinux policy for FRR + +* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue May 17 2022 Michal Ruprich <mruprich@redhat.com> - 8.2.2-3 +- Rebuild for grpc-1.46.1 + +* Mon Apr 11 2022 Michal Ruprich <mruprich@redhat.com> - 8.2.2-2 +- Fix for CVE-2022-16126 + +* Tue Mar 15 2022 Michal Ruprich <mruprich@redhat.com> - 8.2.2-1 +- New version 8.2.2 + +* Thu Mar 10 2022 Michal Ruprich <mruprich@redhat.com> - 8.2-2 +- Rebuild for abseil-cpp 20211102.0 + +* Wed Mar 09 2022 Michal Ruprich <mruprich@redhat.com> - 8.2-1 +- New version 8.2 (rhbz#2020439) +- Resolves: #2011868 - systemctl frr reload does not stop daemons that are not enabled in /etc/frr/daemons + +* Tue Feb 01 2022 Michal Ruprich <mruprich@redhat.com> - 8.0.1-11 +- Rebuilding for FTBFS in Rawhide(rhbz#2045399) + +* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 8.0.1-9 +- Rebuilt for libre2.so.9 + +* Sat Nov 06 2021 Adrian Reber <adrian@lisas.de> - 8.0.1-8 +- Rebuilt for protobuf 3.19.0 + +* Mon Oct 25 2021 Adrian Reber <adrian@lisas.de> - 8.0.1-7 +- Rebuilt for protobuf 3.18.1 + +* Fri Oct 15 2021 Michal Ruprich <mruprich@redhat.com> - 8.0.1-6 +- Obsoleting quagga so that it may be retired + +* Thu Oct 07 2021 Michal Ruprich <mruprich@redhat.com> - 8.0.1-5 +- Rebuilding for grpc 1.41 + +* Thu Sep 30 2021 Michal Ruprich <mruprich@redhat.com> - 8.0.1-4 +- Rebuild for new version of libyang + +* Sat Sep 18 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 8.0.1-3 +- Rebuild for grpc 1.40 + +* Thu Sep 16 2021 Sahana Prasad <sahana@redhat.com> - 8.0.1-2 +- Rebuilt with OpenSSL 3.0.0 + +* Thu Sep 16 2021 Michal Ruprich <mruprich@redhat.com> - 8.0.1-1 +- New version 8.0.1 + +* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 8.0-2 +- Rebuilt with OpenSSL 3.0.0 + +* Wed Aug 11 2021 Michal Ruprich <mruprich@redhat.com> - 8.0-1 +- New version 8.0 + +* Wed Aug 04 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 7.5.1-9 +- Rebuild for grpc 1.39 + +* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.5.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 20 2021 Michal Ruprich <mruprich@redhat.com> - 7.5.1-7 +- Resolves: #1983278 - ospfd crashes in route_node_delete with assertion fail + +* Sat Jul 10 2021 Björn Esser <besser82@fedoraproject.org> - 7.5.1-6 +- Rebuild for versioned symbols in json-c + +* Wed Jul 07 2021 Neal Gompa <ngompa@datto.com> - 7.5.1-5 +- Clean up the spec file for legibility and modern spec standards +- Remove unneeded info scriptlets +- Use systemd-sysusers for frr user and frrvty group +- Use git-core instead of git for applying patches +- Drop redundant build dependencies + +* Wed Jul 07 2021 Michal Ruprich <mruprich@redhat.com> - 7.5.1-4 +- Rebuild for newer abseil-cpp + +* Tue May 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 7.5.1-3 +- Rebuild for grpc 1.37 + +* Fri Apr 23 2021 Michal Ruprich <mruprich@redhat.com> - 7.5.1-2 +- Fixing permissions on config files in /etc/frr +- Enabling integrated configuration option for frr + +* Fri Mar 12 2021 Michal Ruprich <mruprich@redhat.com> - 7.5.1-1 +- New version 7.5.1 +- Enabling grpc, adding hostname for post scriptlet +- Moving files to libexec due to selinux issues + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7.5-4 +- Rebuilt for updated systemd-rpm-macros +  See https://pagure.io/fesco/issue/2583. + +* Tue Feb 16 2021 Michal Ruprich <mruprich@redhat.com> - 7.5-3 +- Fixing FTBS - icc options are confusing the new gcc + +* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* 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> - 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> - 7.3-6 +- Removing texi2html, it is not available in Rawhide anymore + +* Mon May 18 2020 Michal Ruprich <mruprich@redhat.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 + +* 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 +- Adding noreplace to the /etc/frr/daemons file + +* Fri Sep 13 2019 Michal Ruprich <mruprich@redhat.com> - 7.1-3 +- 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 + +* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 25 2019 Michal Ruprich <mruprich@redhat.com> - 7.1-1 +- New version 7.1 + +* Wed Jun 19 2019 Michal Ruprich <mruprich@redhat.com> - 7.0-2 +- Initial build @@ -0,0 +1,125 @@ +policy_module(frr, 1.0.0) + +######################################## +# +# Declarations +# + +type frr_t; +type frr_exec_t; +init_daemon_domain(frr_t, frr_exec_t) + +type frr_log_t; +logging_log_file(frr_log_t) + +type frr_tmp_t; +files_tmp_file(frr_tmp_t) + +type frr_lock_t; +files_lock_file(frr_lock_t) + +type frr_conf_t; +files_config_file(frr_conf_t) + +type frr_unit_file_t; +systemd_unit_file(frr_unit_file_t) + +type frr_var_run_t; +files_pid_file(frr_var_run_t) + +######################################## +# +# frr local policy +# +allow frr_t self:capability { chown dac_override dac_read_search kill net_bind_service net_raw setgid setuid net_admin sys_admin }; +allow frr_t self:netlink_route_socket rw_netlink_socket_perms; +allow frr_t self:packet_socket create_socket_perms; +allow frr_t self:process { setcap setpgid }; +allow frr_t self:rawip_socket create_socket_perms; +allow frr_t self:tcp_socket { connect connected_stream_socket_perms }; +allow frr_t self:udp_socket create_socket_perms; +allow frr_t self:unix_stream_socket connectto; + +allow frr_t frr_conf_t:dir list_dir_perms; +manage_files_pattern(frr_t, frr_conf_t, frr_conf_t) +read_lnk_files_pattern(frr_t, frr_conf_t, frr_conf_t) + +manage_dirs_pattern(frr_t, frr_log_t, frr_log_t) +manage_files_pattern(frr_t, frr_log_t, frr_log_t) +manage_lnk_files_pattern(frr_t, frr_log_t, frr_log_t) +logging_log_filetrans(frr_t, frr_log_t, { dir file lnk_file }) + +allow frr_t frr_tmp_t:file map; +manage_dirs_pattern(frr_t, frr_tmp_t, frr_tmp_t) +manage_files_pattern(frr_t, frr_tmp_t, frr_tmp_t) +files_tmp_filetrans(frr_t, frr_tmp_t, { file dir }) + +manage_files_pattern(frr_t, frr_lock_t, frr_lock_t) +manage_lnk_files_pattern(frr_t, frr_lock_t, frr_lock_t) +files_lock_filetrans(frr_t, frr_lock_t, { file lnk_file }) + +manage_dirs_pattern(frr_t, frr_var_run_t, frr_var_run_t) +manage_files_pattern(frr_t, frr_var_run_t, frr_var_run_t) +manage_lnk_files_pattern(frr_t, frr_var_run_t, frr_var_run_t) +manage_sock_files_pattern(frr_t, frr_var_run_t, frr_var_run_t) +files_pid_filetrans(frr_t, frr_var_run_t, { dir file lnk_file }) + +allow frr_t frr_exec_t:dir search_dir_perms; +can_exec(frr_t, frr_exec_t) + +kernel_read_network_state(frr_t) +kernel_rw_net_sysctls(frr_t) +kernel_read_system_state(frr_t) +kernel_request_load_module(frr_t) + +auth_use_nsswitch(frr_t) + +corecmd_exec_bin(frr_t) + +corenet_tcp_bind_appswitch_emp_port(frr_t) +corenet_udp_bind_bfd_control_port(frr_t) +corenet_udp_bind_bfd_echo_port(frr_t) +corenet_udp_bind_bfd_multi_port(frr_t) +corenet_tcp_bind_bgp_port(frr_t) +corenet_tcp_connect_bgp_port(frr_t) +corenet_tcp_bind_cmadmin_port(frr_t) +corenet_udp_bind_cmadmin_port(frr_t) +corenet_tcp_bind_firepower_port(frr_t) +corenet_tcp_bind_generic_port(frr_t) +corenet_tcp_bind_priority_e_com_port(frr_t) +corenet_udp_bind_router_port(frr_t) +corenet_tcp_bind_qpasa_agent_port(frr_t) +corenet_tcp_bind_smntubootstrap_port(frr_t) +corenet_tcp_bind_versa_tek_port(frr_t) +corenet_tcp_bind_zebra_port(frr_t) + +domain_use_interactive_fds(frr_t) + +fs_read_nsfs_files(frr_t) + +sysnet_exec_ifconfig(frr_t) +sysnet_read_ifconfig_run_files(frr_t) +sysnet_watch_ifconfig_run_dirs(frr_t) + +ipsec_domtrans_mgmt(frr_t) + +userdom_read_admin_home_files(frr_t) + +optional_policy(` +	logging_send_syslog_msg(frr_t) +') + +optional_policy(` +	modutils_exec_kmod(frr_t) +	modutils_getattr_module_deps(frr_t) +	modutils_read_module_config(frr_t) +	modutils_read_module_deps_files(frr_t) +') + +optional_policy(` +	networkmanager_read_state(frr_t) +') + +optional_policy(` +	userdom_admin_home_dir_filetrans(frr_t, frr_conf_t, file, ".history_frr") +') @@ -0,0 +1 @@ +6467984e7621f8b8604004839bf9a728  frr-10.1.tar.gz | 
