Compare commits

...

59 Commits

Author SHA1 Message Date
44f1e4e485 v10.3 2025-05-01 12:08:22 +02:00
Zoran Peričić
b28c6b6928 v.ims.1 - Bump version 2024-12-10 01:04:30 +01:00
6dd06c3274 nhrp: configure strongswan vici path 2024-12-10 01:04:24 +01:00
Michal Ruprich
959d8d1a3f Resolves: rhbz#2329643 - upgrading frr to 10.2 causes pimd crashes 2024-12-05 18:28:34 +01:00
Michal Ruprich
9db41267a7 New version 10.2 2024-11-22 10:40:19 +01:00
Michal Ruprich
0d2ad1b406 Resolves: #2311119 - Multiple AVCs for accessing lib_t in FRR-10.1
Resolves: #2311120 - AVCs for using a netlink socket in FRR
2024-09-10 14:44:31 +02:00
Benjamin A. Beasley
fadec67736 Rebuilt for abseil-cpp-20240722.0 2024-08-25 17:55:10 -04:00
Michal Ruprich
0c182ee574 libre soname bump 2024-08-15 14:00:44 +02:00
Michal Ruprich
c39d922dae New version 10.1 2024-08-12 13:14:52 +02:00
Michal Ruprich
61519cccf4 New version 10.0.1 2024-07-31 12:50:07 +02:00
Fedora Release Engineering
81fa627af2 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 23:42:26 +00:00
Michal Ruprich
c09dc1bed5 Moving yang modules to frr specific dir to avoid conflicts 2024-04-17 08:38:00 +02:00
Paul Wouters
4c161409bf - Rebuild for libre2.so.11 bump 2024-02-23 21:20:37 -05:00
Zdenek Pytela
7643df3757 Rename all /var/run file context entries to /run
With the 1f76e522a ("Rename all /var/run file context entries to /run")
selinux-policy commit, all /var/run file context entries moved to /run
and the equivalency was inverted. Subsequently, changes in frr.fc
need to be done, too, in a similar manner.
Together with that, the "/run/lock = /var/lock" equivalency was also
inverted and entries moved.
2024-02-06 21:27:03 +01:00
Benjamin A. Beasley
14d3b39746 Rebuilt for abseil-cpp-20240116.0 2024-02-04 11:26:57 -05:00
Michal Ruprich
f10270279b New version 9.1 2024-01-25 14:43:24 +01:00
Vit Mojzis
9c91b908e1 SELinux: rename ifconfig_run interfaces to be more specific
The change has no functional impact on the policy. It is just to keep it
in sync with the interfaces shipped in selinux-policy-* packages.

Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
2024-01-25 12:51:35 +00:00
Fedora Release Engineering
2228c29472 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 12:05:55 +00:00
Fedora Release Engineering
9bf8cfe430 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 19:51:00 +00:00
Michal Ruprich
30f4eb8e8e New version 9.0.1 2023-10-16 09:44:02 +02:00
Michal Ruprich
ca06a43267 Adding a couple of SELinux rules, includes fix for rhbz#2149299 2023-09-01 13:15:04 +02:00
Benjamin A. Beasley
4405129034 Rebuilt for abseil-cpp 20230802.0 2023-08-30 07:50:46 -04:00
Zdenek Pytela
a302f6117d Update SELinux rule to allow frr daemons create and use packet socket
The commit addresses the following AVC denial:
type=PROCTITLE msg=audit(07/27/2023 11:26:31.692:622) : proctitle=/usr/libexec/frr/bfdd -d -F traditional -A 127.0.0.1
type=SOCKADDR msg=audit(07/27/2023 11:26:31.692:622) : saddr={ saddr_fam=packet (unsupported) }
type=SYSCALL msg=audit(07/27/2023 11:26:31.692:622) : arch=x86_64 syscall=bind success=no exit=EACCES(Permission denied) a0=0xf a1=0x7ffeb8c5a000 a2=0x14 a3=0x7ffeb8c59ff0 items=0 ppid=7818 pid=7903 auid=unset uid=frr gid=frr euid=frr suid=frr fsuid=frr egid=frr sgid=frr fsgid=frr tty=(none) ses=unset comm=bfdd exe=/usr/libexec/frr/bfdd subj=system_u:system_r:frr_t:s0 key=(null)
type=AVC msg=audit(07/27/2023 11:26:31.692:622) : avc:  denied  { bind } for  pid=7903 comm=bfdd scontext=system_u:system_r:frr_t:s0 tcontext=system_u:system_r:frr_t:s0 tclass=packet_socket permissive=0

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2216912
2023-08-01 09:40:29 +02:00
Fedora Release Engineering
73b57e75c1 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 20:19:19 +00:00
Michal Ruprich
b6998f1514 New version 8.5.2 2023-06-30 15:51:23 +02:00
Michal Ruprich
de8d85febb frr-8.5.1-4
Selinux policy changes:
- Allow watch,read on /var/run/netns directory and its content
- Add sys_admin capability

It seems like sys_admin is needed because frr is using setns function to change the actual namespace. Full log here:
type=PROCTITLE msg=audit(06/29/2023 03:42:07.692:559) : proctitle=/usr/libexec/frr/zebra -d -F traditional -A 127.0.0.1 -s 90000000 -n
type=SYSCALL msg=audit(06/29/2023 03:42:07.692:559) : arch=x86_64 syscall=setns success=no exit=EPERM(Operation not permitted) a0=0x11 a1=CLONE_NEWNET a2=0x0 a3=0x0 items=0 ppid=3692 pid=3701 auid=unset uid=frr gid=frr euid=frr suid=frr fsuid=frr egid=frr sgid=frr fsgid=frr tty=(none) ses=unset comm=zebra exe=/usr/libexec/frr/zebra subj=system_u:system_r:frr_t:s0 key=(null)
type=AVC msg=audit(06/29/2023 03:42:07.692:559) : avc: denied { sys_admin } for pid=3701 comm=zebra capability=sys_admin scontext=system_u:system_r:frr_t:s0 tcontext=system_u:system_r:frr_t:s0 tclass=capability permissive=0

Resolves: #2216073 - SELinux is preventing FRR-Zebra to access to network namespaces
2023-06-29 15:54:02 +02:00
Yaakov Selkowitz
7f0775ec07 Disable grpc in RHEL builds
This is based on c9s:

bb27be6ef6
2023-06-05 19:29:36 -04:00
Petr Písař
eee04cae3d Rebuild against rpm-4.19 (https://fedoraproject.org/wiki/Changes/RPM-4.19) 2023-05-19 15:11:46 +02:00
Michal Ruprich
58b91e7bdb New version 8.5.1 2023-04-26 13:21:40 +02:00
Michal Ruprich
a5fc21e539 New version 8.5 2023-04-12 14:07:11 +02:00
Michal Ruprich
12b88485f2 Rebuilding for new abseil-cpp version 2023-03-23 13:33:53 +01:00
Michal Ruprich
f062556435 SPDX migration 2023-03-22 13:05:16 +01:00
Benjamin A. Beasley
28e257ed71 Build as C++17, required by abseil-cpp 20230125 2023-03-08 18:06:40 -05:00
Fedora Release Engineering
777829246b Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 03:57:19 +00:00
Michal Ruprich
a0c4fb9063 Adding an include for fips 2023-01-12 15:50:47 +01:00
Michal Ruprich
0d70491296 New version 8.4.2 2023-01-12 12:55:39 +01:00
Michal Ruprich
1787b2810b New version 8.4.1
Fix for rhbz #2140705
2022-11-25 18:02:48 +01:00
Michal Ruprich
d506655fff AVC when running the reload script for FRR 2022-11-23 09:13:27 +01:00
Michal Ruprich
5301cdd961 New version 8.4 2022-11-10 09:57:42 +01:00
Michal Ruprich
3905b5274d 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
2022-09-16 16:00:15 +02:00
Michal Ruprich
41a038e1d1 Fixing an error in post scriptlet 2022-09-09 19:14:38 +02:00
Michal Ruprich
a7b3783ddc Resolves: #2124254 - frr can no longer update routes 2022-09-09 16:14:11 +02:00
Michal Ruprich
a2ffd90d49 Resolves: #2124253 - SELinux is preventing zebra from setattr access on the directory frr
Better handling FRR files during upgrade
2022-09-07 11:28:59 +02:00
Michal Ruprich
db09f8886c Adding sources 2022-09-06 12:48:05 +02:00
Michal Ruprich
6e63bc125e New version 8.3.1 2022-09-06 12:38:38 +02:00
Michal Ruprich
b2c9845f51 Rebuilding for new abseil-cpp and grpc updates 2022-08-22 14:09:39 +02:00
Zdenek Pytela
16d43cc08d Allow frr daemons bind generic sockets to tcp ports
The vrrpd and pathd daemons need to bind to ports 2619/tcp and 2621/tcp.
This commit can be reverted if the inter-process communication changes
to using unix sockets in the future.

Addresses the following AVC denial:

type=PROCTITLE msg=audit(08/10/2022 05:32:53.905:257) : proctitle=/usr/libexec/frr/pathd -d -F traditional -A 127.0.0.1
type=AVC msg=audit(08/10/2022 05:32:53.905:257) : avc:  denied  { name_bind } for  pid=8625 comm=pathd src=2621 scontext=system_u:system_r:frr_t:s0 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket permissive=0
type=SYSCALL msg=audit(08/10/2022 05:32:53.905:257) : arch=x86_64 syscall=bind success=no exit=EACCES(Permission denied) a0=0xc a1=0x55e3ba44fdd0 a2=0x10 a3=0x7fff610c2bd4 items=0 ppid=8623 pid=8625 auid=unset uid=geoclue gid=flatpak euid=geoclue suid=geoclue fsuid=geoclue egid=flatpak sgid=flatpak fsgid=flatpak tty=(none) ses=unset comm=pathd exe=/usr/libexec/frr/pathd subj=system_u:system_r:frr_t:s0 key=(null)
type=SOCKADDR msg=audit(08/10/2022 05:32:53.905:257) : saddr={ saddr_fam=inet laddr=127.0.0.1 lport=2621 }

Resolves: rhbz#2117262
2022-08-19 10:30:23 +00:00
Michal Ruprich
d0157c4cbf Adding vrrpd and pathd to the policy 2022-08-10 12:03:08 +02:00
Michal Ruprich
40f863faec Finalizing SELinux policy 2022-08-10 10:36:08 +02:00
Zdenek Pytela
1e7608b86e Allow frr_t create /root/.history_frr with a private type
The file can be created when the frr service starts, so
a file transition is needed to be defined in the policy.
2022-08-10 10:09:25 +02:00
Michal Ruprich
4a6900f6dc Fixing wrong path for vtysh in frr.fc 2022-08-02 09:58:48 +02:00
Benjamin A. Beasley
15e17067ee Rebuild with abseil-cpp-20211102.0-4.fc37 (RHBZ#2108658)
The file absl_random_internal_randen_hwaes_impl.pc shipped in
abseil-cpp-devel incorrectly specified -maes -msse4.1 in its CFLAGS,
causing any packages which used pkgconfig to compile against abseil to
require SSE4.1 instructions to run. This affected frr in F37/Rawhide.
2022-07-29 12:54:46 -04:00
Michal Ruprich
9408b0b09e Packaging SELinux policy for FRR 2022-07-28 13:35:19 +02:00
Fedora Release Engineering
cba62cd207 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 03:41:16 +00:00
Michal Ruprich
0c5e4dac6b Rebuild for grpc-1.46.1 2022-05-17 09:24:20 +02:00
Michal Ruprich
38e840d2af Fix for CVE-2022-16126 2022-04-11 12:00:54 +02:00
Michal Ruprich
4519d663ea New version 8.2.2 2022-03-15 14:49:25 +01:00
Michal Ruprich
46c4cd45bd Rebuild for abseil-cpp 20211102.0 2022-03-10 14:40:05 +01:00
Michal Ruprich
4ed096d9e0 New version 8.2 (rhbz#2020439)
Resolves: #2011868 - systemctl frr reload does not stop daemons that are not enabled in /etc/frr/daemons
2022-03-09 15:19:46 +01:00
14 changed files with 802 additions and 32 deletions

14
.gitignore vendored
View File

@@ -8,3 +8,17 @@
/frr-7.5.1.tar.gz /frr-7.5.1.tar.gz
/frr-8.0.tar.gz /frr-8.0.tar.gz
/frr-8.0.1.tar.gz /frr-8.0.1.tar.gz
/frr-8.2.tar.gz
/frr-8.2.2.tar.gz
/frr-8.3.1.tar.gz
/frr-8.4.tar.gz
/frr-8.4.1.tar.gz
/frr-8.4.2.tar.gz
/frr-8.5.tar.gz
/frr-8.5.1.tar.gz
/frr-8.5.2.tar.gz
/frr-9.0.1.tar.gz
/frr-9.1.tar.gz
/frr-10.0.1.tar.gz
/frr-10.1.tar.gz
/frr-10.2.tar.gz

View File

@@ -16,9 +16,9 @@ index 5be3264..33abc1d 100644
snapcraft/helpers \ snapcraft/helpers \
snapcraft/snap \ snapcraft/snap \
- babeld/Makefile \ - babeld/Makefile \
mgmtd/Makefile \
bgpd/Makefile \ bgpd/Makefile \
bgpd/rfp-example/librfp/Makefile \ bgpd/rfp-example/librfp/Makefile \
bgpd/rfp-example/rfptest/Makefile \
@@ -193,7 +190,6 @@ EXTRA_DIST += \ @@ -193,7 +190,6 @@ EXTRA_DIST += \
fpm/Makefile \ fpm/Makefile \
grpc/Makefile \ grpc/Makefile \
@@ -27,3 +27,29 @@ index 5be3264..33abc1d 100644
lib/Makefile \ lib/Makefile \
nhrpd/Makefile \ nhrpd/Makefile \
ospf6d/Makefile \ ospf6d/Makefile \
diff --git a/tools/etc/frr/daemons b/tools/etc/frr/daemons
index 8aa0887..c92dcca 100644
--- a/tools/etc/frr/daemons
+++ b/tools/etc/frr/daemons
@@ -22,10 +22,8 @@ ripngd=no
isisd=no
pimd=no
pim6d=no
-ldpd=no
nhrpd=no
eigrpd=no
-babeld=no
sharpd=no
pbrd=no
bfdd=no
@@ -48,10 +46,8 @@ ripngd_options=" -A ::1"
isisd_options=" -A 127.0.0.1"
pimd_options=" -A 127.0.0.1"
pim6d_options=" -A ::1"
-ldpd_options=" -A 127.0.0.1"
nhrpd_options=" -A 127.0.0.1"
eigrpd_options=" -A 127.0.0.1"
-babeld_options=" -A 127.0.0.1"
sharpd_options=" -A 127.0.0.1"
pbrd_options=" -A 127.0.0.1"
staticd_options="-A 127.0.0.1"

View File

@@ -1,10 +0,0 @@
diff --git a/tools/frr-reload.py b/tools/frr-reload.py
index c28a971..72ac201 100755
--- a/tools/frr-reload.py
+++ b/tools/frr-reload.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# Frr Reloader
# Copyright (C) 2014 Cumulus Networks, Inc.
#

View File

@@ -8,8 +8,8 @@ index 0b7af18..0533e24 100644
lib/log_vty.c \ lib/log_vty.c \
- lib/md5.c \ - lib/md5.c \
lib/memory.c \ lib/memory.c \
lib/mlag.c \ lib/mgmt_be_client.c \
lib/module.c \ lib/mgmt_fe_client.c \
@@ -64,7 +64,6 @@ lib_libfrr_la_SOURCES = \ @@ -64,7 +64,6 @@ lib_libfrr_la_SOURCES = \
lib/routemap_northbound.c \ lib/routemap_northbound.c \
lib/sbuf.c \ lib/sbuf.c \
@@ -24,10 +24,10 @@ index 0b7af18..0533e24 100644
lib/log_vty.h \ lib/log_vty.h \
- lib/md5.h \ - lib/md5.h \
lib/memory.h \ lib/memory.h \
lib/module.h \ lib/mgmt.pb-c.h \
lib/monotime.h \ lib/mgmt_be_client.h \
@@ -191,7 +190,6 @@ pkginclude_HEADERS += \ @@ -191,7 +190,6 @@ pkginclude_HEADERS += \
lib/routemap.h \ lib/route_opaque.h \
lib/sbuf.h \ lib/sbuf.h \
lib/seqlock.h \ lib/seqlock.h \
- lib/sha256.h \ - lib/sha256.h \

View File

@@ -2,9 +2,20 @@ diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c
index 631465f..e084ff3 100644 index 631465f..e084ff3 100644
--- a/ospfd/ospf_vty.c --- a/ospfd/ospf_vty.c
+++ b/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c
@@ -1136,6 +1136,11 @@ DEFUN (ospf_area_vlink, @@ -7,6 +7,10 @@
#include <zebra.h>
#include <string.h>
if (argv_find(argv, argc, "message-digest", &idx)) { +#ifdef CRYPTO_OPENSSL
+#include <openssl/fips.h>
+#endif
+
#include "printfrr.h"
#include "monotime.h"
#include "memory.h"
@@ -1136,6 +1136,11 @@ DEFUN (ospf_area_vlink,
vl_config.keychain = argv[idx+1]->arg;
} else if (argv_find(argv, argc, "message-digest", &idx)) {
/* authentication message-digest */ /* authentication message-digest */
+ if(FIPS_mode()) + if(FIPS_mode())
+ { + {
@@ -41,7 +52,7 @@ index 631465f..e084ff3 100644
+ } + }
SET_IF_PARAM(params, auth_type); SET_IF_PARAM(params, auth_type);
params->auth_type = OSPF_AUTH_CRYPTOGRAPHIC; params->auth_type = OSPF_AUTH_CRYPTOGRAPHIC;
return CMD_SUCCESS; UNSET_IF_PARAM(params, keychain_name);
@@ -6971,6 +6990,11 @@ DEFUN (ip_ospf_message_digest_key, @@ -6971,6 +6990,11 @@ DEFUN (ip_ospf_message_digest_key,
"The OSPF password (key)\n" "The OSPF password (key)\n"
"Address of interface\n") "Address of interface\n")
@@ -58,6 +69,17 @@ diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 81b4b39..cce33d9 100644 index 81b4b39..cce33d9 100644
--- a/isisd/isis_circuit.c --- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c
@@ -13,6 +13,10 @@
#include <netinet/if_ether.h>
#endif
+#ifdef CRYPTO_OPENSSL
+#include <openssl/fips.h>
+#endif
+
#include "log.h"
#include "memory.h"
#include "vrf.h"
@@ -1318,6 +1318,10 @@ static int isis_circuit_passwd_set(struct isis_circuit *circuit, @@ -1318,6 +1318,10 @@ static int isis_circuit_passwd_set(struct isis_circuit *circuit,
return ferr_code_bug( return ferr_code_bug(
"circuit password too long (max 254 chars)"); "circuit password too long (max 254 chars)");
@@ -73,6 +95,17 @@ diff --git a/isisd/isisd.c b/isisd/isisd.c
index 419127c..a6c36af 100644 index 419127c..a6c36af 100644
--- a/isisd/isisd.c --- a/isisd/isisd.c
+++ b/isisd/isisd.c +++ b/isisd/isisd.c
@@ -9,6 +9,10 @@
#include <zebra.h>
+#ifdef CRYPTO_OPENSSL
+#include <openssl/fips.h>
+#endif
+
#include "frrevent.h"
#include "vty.h"
#include "command.h"
@@ -1638,6 +1638,10 @@ static int isis_area_passwd_set(struct isis_area *area, int level, @@ -1638,6 +1638,10 @@ static int isis_area_passwd_set(struct isis_area *area, int level,
if (len > 254) if (len > 254)
return -1; return -1;
@@ -88,6 +121,17 @@ diff --git a/ripd/rip_cli.c b/ripd/rip_cli.c
index 5bb81ef..02a09ef 100644 index 5bb81ef..02a09ef 100644
--- a/ripd/rip_cli.c --- a/ripd/rip_cli.c
+++ b/ripd/rip_cli.c +++ b/ripd/rip_cli.c
@@ -7,6 +7,10 @@
#include <zebra.h>
+#ifdef CRYPTO_OPENSSL
+#include <openssl/fips.h>
+#endif
+
#include "if.h"
#include "if_rmap.h"
#include "vrf.h"
@@ -796,6 +796,12 @@ DEFPY (ip_rip_authentication_mode, @@ -796,6 +796,12 @@ DEFPY (ip_rip_authentication_mode,
value = "20"; value = "20";
} }

View File

@@ -0,0 +1,27 @@
diff --git a/tests/lib/subdir.am b/tests/lib/subdir.am
index 7b5eaa4..5c82f69 100644
--- a/tests/lib/subdir.am
+++ b/tests/lib/subdir.am
@@ -18,22 +18,6 @@ tests_lib_test_frrscript_SOURCES = tests/lib/test_frrscript.c
test -e tests/lib/script1.lua || \
$(INSTALL_SCRIPT) $< tests/lib/script1.lua
-##############################################################################
-GRPC_TESTS_LDADD = mgmtd/libmgmt_be_nb.la staticd/libstatic.a grpc/libfrrgrpc_pb.la $(GRPC_LIBS) $(ALL_TESTS_LDADD) $(LIBYANG_LIBS) -lm
-
-if GRPC
-check_PROGRAMS += tests/lib/test_grpc
-endif
-tests_lib_test_grpc_CXXFLAGS = $(WERROR) $(TESTS_CXXFLAGS)
-tests_lib_test_grpc_CPPFLAGS = $(TESTS_CPPFLAGS)
-tests_lib_test_grpc_LDADD = $(GRPC_TESTS_LDADD)
-tests_lib_test_grpc_SOURCES = tests/lib/test_grpc.cpp
-nodist_tests_lib_test_grpc_SOURCES = \
- yang/frr-bfdd.yang.c \
- yang/frr-staticd.yang.c \
- # end
-
-
##############################################################################
if ZEROMQ
check_PROGRAMS += tests/lib/test_zmq

View File

@@ -0,0 +1,41 @@
From 37b88191fb4736ff0a1e565fc22003d0ab853ea2 Mon Sep 17 00:00:00 2001
From: Donald Sharp <sharpd@nvidia.com>
Date: Wed, 4 Dec 2024 10:47:33 -0500
Subject: [PATCH] pimd: Prevent crash of pim when auto-rp's socket is not
initialized
If the socket associated with the auto-rp fails to initialize then
the memory for the auto-rp is just dropped on the floor. Additionally
any type of attempt at using the feature will just cause pimd to crash,
when the pointer is derefed. Since it is derefed all over the place
without checking.
Clearly if you cannot bind/use the socket let's allow continuation.
Fixes: #17540
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
---
pimd/pim_autorp.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/pimd/pim_autorp.c b/pimd/pim_autorp.c
index 3fb10f4..91ed005 100644
--- a/pimd/pim_autorp.c
+++ b/pimd/pim_autorp.c
@@ -1014,12 +1014,14 @@ void pim_autorp_init(struct pim_instance *pim)
autorp->announce_interval = DEFAULT_ANNOUNCE_INTERVAL;
autorp->announce_holdtime = DEFAULT_ANNOUNCE_HOLDTIME;
+ pim->autorp = autorp;
+
if (!pim_autorp_socket_enable(autorp)) {
- zlog_err("%s: AutoRP failed to initialize", __func__);
+ zlog_err("%s: AutoRP failed to initialize, feature will not work correctly",
+ __func__);
return;
}
- pim->autorp = autorp;
if (PIM_DEBUG_AUTORP)
zlog_debug("%s: AutoRP Initialized", __func__);

BIN
frr-10.3.tar.gz Normal file

Binary file not shown.

30
frr.fc Normal file
View File

@@ -0,0 +1,30 @@
/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)
/var/lib/frr(/.*)? gen_context(system_u:object_r:frr_var_lib_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)

214
frr.if Normal file
View File

@@ -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)
')
')

262
frr.spec
View File

@@ -1,23 +1,34 @@
%global dist .ims.1%{?dist}
%global frr_libdir %{_libexecdir}/frr %global frr_libdir %{_libexecdir}/frr
%global _hardened_build 1 %global _hardened_build 1
%global selinuxtype targeted
%define _legacy_common_support 1 %define _legacy_common_support 1
%bcond grpc %{undefined rhel}
%bcond selinux 1
Name: frr Name: frr
Version: 8.0.1 Version: 10.3
Release: 11%{?dist} Release: 1%{?dist}
Summary: Routing daemon Summary: Routing daemon
License: GPLv2+ 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 URL: http://www.frrouting.org
Source0: https://github.com/FRRouting/frr/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/FRRouting/frr/releases/download/%{name}-%{version}/%{name}-%{version}.tar.gz
Source1: %{name}-tmpfiles.conf Source1: %{name}-tmpfiles.conf
Source2: %{name}-sysusers.conf Source2: %{name}-sysusers.conf
#Decentralized SELinux policy
Source3: frr.fc
Source4: frr.te
Source5: frr.if
Patch0000: 0000-remove-babeld-and-ldpd.patch Patch0000: 0000-remove-babeld-and-ldpd.patch
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-remove-grpc-test.patch
Patch0006: 0006-autorp-segfault.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
@@ -28,8 +39,10 @@ BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: git-core BuildRequires: git-core
BuildRequires: groff BuildRequires: groff
%if %{with grpc}
BuildRequires: grpc-devel BuildRequires: grpc-devel
BuildRequires: grpc-plugins BuildRequires: grpc-plugins
%endif
BuildRequires: json-c-devel BuildRequires: json-c-devel
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libtool BuildRequires: libtool
@@ -49,6 +62,7 @@ BuildRequires: readline-devel
BuildRequires: systemd-devel BuildRequires: systemd-devel
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
BuildRequires: texinfo BuildRequires: texinfo
BuildRequires: protobuf-c-devel
Requires: ncurses Requires: ncurses
Requires: net-snmp Requires: net-snmp
@@ -57,6 +71,11 @@ Requires(post): hostname
Requires(post): systemd Requires(post): systemd
Requires(postun): systemd Requires(postun): systemd
Requires(preun): systemd Requires(preun): systemd
%if 0%{?with_selinux}
Requires: (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype})
%endif
Obsoletes: quagga < 1.2.4-17 Obsoletes: quagga < 1.2.4-17
Provides: routingdaemon = %{version}-%{release} Provides: routingdaemon = %{version}-%{release}
@@ -65,12 +84,32 @@ 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 a multi-server and multi-threaded approach to resolve the current complexity
of the Internet. of the Internet.
FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, NHRP, PBR, EIGRP and BFD. FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, NHRP, PBR,
EIGRP and BFD.
FRRouting is a fork of Quagga. 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 %prep
%autosetup -S git %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 %build
autoreconf -ivf autoreconf -ivf
@@ -80,7 +119,7 @@ autoreconf -ivf
--sysconfdir=%{_sysconfdir}/frr \ --sysconfdir=%{_sysconfdir}/frr \
--libdir=%{_libdir}/frr \ --libdir=%{_libdir}/frr \
--libexecdir=%{_libexecdir}/frr \ --libexecdir=%{_libexecdir}/frr \
--localstatedir=%{_localstatedir}/run/frr \ --localstatedir=/var \
--enable-multipath=64 \ --enable-multipath=64 \
--enable-vtysh=yes \ --enable-vtysh=yes \
--disable-ospfclient \ --disable-ospfclient \
@@ -96,15 +135,23 @@ autoreconf -ivf
--disable-ldpd \ --disable-ldpd \
--disable-babeld \ --disable-babeld \
--with-moduledir=%{_libdir}/frr/modules \ --with-moduledir=%{_libdir}/frr/modules \
--with-yangmodelsdir=%{_datadir}/frr-yang/ \
--with-crypto=openssl \ --with-crypto=openssl \
--with-vici-socket=/run/strongswan/charon.vici \
--enable-fpm \ --enable-fpm \
--enable-grpc %{?with_grpc:--enable-grpc}
%make_build MAKEINFO="makeinfo --no-split" PYTHON=%{__python3} %make_build MAKEINFO="makeinfo --no-split" PYTHON=%{__python3}
# Build info documentation # Build info documentation
%make_build -C doc info %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 %install
mkdir -p %{buildroot}%{_sysconfdir}/{frr,rc.d/init.d,sysconfig,logrotate.d,pam.d,default} \ mkdir -p %{buildroot}%{_sysconfdir}/{frr,rc.d/init.d,sysconfig,logrotate.d,pam.d,default} \
%{buildroot}%{_localstatedir}/log/frr %{buildroot}%{_infodir} \ %{buildroot}%{_localstatedir}/log/frr %{buildroot}%{_infodir} \
@@ -131,6 +178,12 @@ install -p -m 644 redhat/frr.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/fr
install -p -m 644 redhat/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr install -p -m 644 redhat/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr
install -d -m 775 %{buildroot}/run/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 # Delete libtool archives
find %{buildroot} -type f -name "*.la" -delete -print find %{buildroot} -type f -name "*.la" -delete -print
@@ -141,7 +194,6 @@ rm -r %{buildroot}%{_includedir}/frr/
%pre %pre
%sysusers_create_compat %{SOURCE2} %sysusers_create_compat %{SOURCE2}
%post %post
%systemd_post frr.service %systemd_post frr.service
@@ -165,7 +217,31 @@ fi
%preun %preun
%systemd_preun frr.service %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 /var/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 %check
#this should be temporary, the grpc test is just badly designed
rm tests/lib/*grpc*
%make_build check PYTHON=%{__python3} %make_build check PYTHON=%{__python3}
%files %files
@@ -175,10 +251,14 @@ fi
%dir %attr(755,frr,frr) %{_localstatedir}/log/frr %dir %attr(755,frr,frr) %{_localstatedir}/log/frr
%dir %attr(755,frr,frr) /run/frr %dir %attr(755,frr,frr) /run/frr
%{_infodir}/*info* %{_infodir}/*info*
%{_mandir}/man*/* %{_mandir}/man1/frr.1*
%{_mandir}/man1/vtysh.1*
%{_mandir}/man8/frr-*.8*
%{_mandir}/man8/mtracebis.8*
%dir %{frr_libdir}/ %dir %{frr_libdir}/
%{frr_libdir}/* %{frr_libdir}/*
%{_bindir}/* %{_bindir}/mtracebis
%{_bindir}/vtysh
%dir %{_libdir}/frr %dir %{_libdir}/frr
%{_libdir}/frr/*.so.* %{_libdir}/frr/*.so.*
%dir %{_libdir}/frr/modules %dir %{_libdir}/frr/modules
@@ -187,12 +267,170 @@ fi
%config(noreplace) %attr(644,frr,frr) %{_sysconfdir}/frr/daemons %config(noreplace) %attr(644,frr,frr) %{_sysconfdir}/frr/daemons
%config(noreplace) %{_sysconfdir}/pam.d/frr %config(noreplace) %{_sysconfdir}/pam.d/frr
%{_unitdir}/*.service %{_unitdir}/*.service
%dir %{_datadir}/yang %dir %{_datadir}/frr-yang
%{_datadir}/yang/*.yang %{_datadir}/frr-yang/*.yang
%{_tmpfilesdir}/%{name}.conf %{_tmpfilesdir}/%{name}.conf
%{_sysusersdir}/%{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 %changelog
* Thu Dec 05 2024 Michal Ruprich <mruprich@redhat.com> - 10.2-2
- Resolves: rhbz#2329643 - upgrading frr to 10.2 causes pimd crashes
* Fri Nov 22 2024 Michal Ruprich <mruprich@redhat.com> - 10.2-1
- New version 10.2
* Tue Sep 10 2024 Michal Ruprich <mruprich@redhat.com> - 10.1-4
- Resolves: #2311119 - Multiple AVCs for accessing lib_t in FRR-10.1
- Resolves: #2311120 - AVCs for using a netlink socket in FRR
* Sun Aug 25 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 10.1-3
- Rebuilt for abseil-cpp-20240722.0
* Thu Aug 15 2024 Michal Ruprich <mruprich@redhat.com> - 10.1-2
- Rebuilding for the libre soname bump
* 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 * Tue Feb 01 2022 Michal Ruprich <mruprich@redhat.com> - 8.0.1-11
- Rebuilding for FTBFS in Rawhide(rhbz#2045399) - Rebuilding for FTBFS in Rawhide(rhbz#2045399)

139
frr.te Normal file
View File

@@ -0,0 +1,139 @@
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)
type frr_var_lib_t;
files_type(frr_var_lib_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:netlink_generic_socket create;
allow frr_t self:netlink_generic_socket setopt;
allow frr_t self:netlink_generic_socket getopt;
allow frr_t self:netlink_generic_socket getattr;
allow frr_t self:netlink_generic_socket bind;
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 })
manage_dirs_pattern(frr_t, frr_var_lib_t, frr_var_lib_t)
manage_files_pattern(frr_t, frr_var_lib_t, frr_var_lib_t)
files_var_lib_filetrans(frr_t, frr_var_lib_t, { dir 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)
# general reserved port for pimd
corenet_tcp_bind_reserved_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")
')

7
rpminspect.yaml Normal file
View File

@@ -0,0 +1,7 @@
---
runpath:
allowed_paths:
- /usr/lib64/frr
- /usr/lib/frr
inspections:
badfuncs: off

View File

@@ -1,2 +1,2 @@
SHA512 (frr-8.0.1.tar.gz) = c6e2993bd6c1cbee5da5f69225f207e4f19473dc9b703b1eafa67b9b8ec654cf1c3d1dfe4b71eb58df2c3cc9918b4056266a2c59e876b0391acafea5b5f57574 SHA512 (frr-10.2.tar.gz) = 40a0e1f1a7f2cc137aac6e838b2f865b93fdc1cd6bd0f6c5b15b4507cbff87cb60092682e45aca68633cb053fb2ce663386edb78e5d3c5f890f4666e871ab8c5
SHA512 (remove-babeld-ldpd.sh) = a5bf67a3722cb20d43cef1dac28f839db68df73a1b7d34d8438e4f9366da3b67d85c1f44281f93434e8dd8ebcb2d3dc258b77eaa5627475b7395d207f020839d SHA512 (remove-babeld-ldpd.sh) = a5bf67a3722cb20d43cef1dac28f839db68df73a1b7d34d8438e4f9366da3b67d85c1f44281f93434e8dd8ebcb2d3dc258b77eaa5627475b7395d207f020839d