Blame SOURCES/fapolicyd-java2.patch

0af8c4
From 32a47ce0557c9b38ee59acec97d8f5bd01b4751d Mon Sep 17 00:00:00 2001
0af8c4
From: Steve Grubb <sgrubb@redhat.com>
0af8c4
Date: Tue, 10 Nov 2020 11:47:37 -0500
0af8c4
Subject: [PATCH] Pickup more languages in /usr/share
0af8c4
0af8c4
It turns out that there is a lot of languages placing code for execution
0af8c4
in /usr/share. This patch widens the filter so that more file extensions
0af8c4
are included in the trust database. Without this, access to pki-ca.jar,
0af8c4
for example, is denied access.
0af8c4
---
0af8c4
 src/library/rpm-backend.c | 31 +++++++++++++++++++++++++++++++
0af8c4
 1 file changed, 31 insertions(+)
0af8c4
0af8c4
diff --git a/src/library/rpm-backend.c b/src/library/rpm-backend.c
0af8c4
index 25f867a..6ce8a2d 100644
0af8c4
--- a/src/library/rpm-backend.c
0af8c4
+++ b/src/library/rpm-backend.c
0af8c4
@@ -183,6 +183,7 @@ static int drop_path(const char *file_name)
0af8c4
 			// Drop anything in /usr/share that's
0af8c4
 			// not python, javascript, or has a libexec dir
0af8c4
 			if (file_name[6] == 'h' ) {
0af8c4
+				// These are roughly ordered by quantity
0af8c4
 				if (fnmatch("*.py?",
0af8c4
 						 file_name, 0) == 0)
0af8c4
 					return 0;
0af8c4
@@ -192,9 +193,39 @@ static int drop_path(const char *file_name)
0af8c4
 				else if (fnmatch("*/libexec/*",
0af8c4
 						file_name, 0) == 0)
0af8c4
 					return 0;
0af8c4
+				else if (fnmatch("*.rb",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.pl",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.stp",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
 				else if (fnmatch("*.js",
0af8c4
 						 file_name, 0) == 0)
0af8c4
 					return 0;
0af8c4
+				else if (fnmatch("*.jar",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.m4",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.php",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.el",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.pm",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.lua",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
+				else if (fnmatch("*.java",
0af8c4
+						 file_name, 0) == 0)
0af8c4
+					return 0;
0af8c4
 				return 1;
0af8c4
 			// Akmod need scripts in /usr/src/kernel
0af8c4
 			} else if (file_name[6] == 'r' ) {