commit
5e0f81514b
@ -0,0 +1,7 @@
|
|||||||
|
SOURCES/selinux-3.7.tar.gz
|
||||||
|
SOURCES/selinux-gui.zip
|
||||||
|
SOURCES/selinux-policycoreutils.zip
|
||||||
|
SOURCES/selinux-python.zip
|
||||||
|
SOURCES/selinux-sandbox.zip
|
||||||
|
SOURCES/sepolicy-icons.tgz
|
||||||
|
SOURCES/system-config-selinux.png
|
@ -0,0 +1,7 @@
|
|||||||
|
23d580978cd81f6c9044c130618819bd127d2449 SOURCES/selinux-3.7.tar.gz
|
||||||
|
c2957ae26fcabe856439915bc03fb7d25c91b724 SOURCES/selinux-gui.zip
|
||||||
|
8aec9d92a940e35756c4cf66891db7b070e00c5c SOURCES/selinux-policycoreutils.zip
|
||||||
|
6a9a8a86bf4b66b484533e5a5b91acd9f2ba4ed1 SOURCES/selinux-python.zip
|
||||||
|
c9b684345b0b6940afd38d8679e2838ad7ef5ffe SOURCES/selinux-sandbox.zip
|
||||||
|
d849fa76cc3ef4a26047d8a69fef3a55d2f3097f SOURCES/sepolicy-icons.tgz
|
||||||
|
611a5d497efaddd45ec0dcc3e9b2e5b0f81ebc41 SOURCES/system-config-selinux.png
|
@ -0,0 +1,25 @@
|
|||||||
|
From 7030465cd94d22aef6824e46df69f82b256195c8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dan Walsh <dwalsh@redhat.com>
|
||||||
|
Date: Fri, 14 Feb 2014 12:32:12 -0500
|
||||||
|
Subject: [PATCH] Don't be verbose if you are not on a tty
|
||||||
|
Content-type: text/plain
|
||||||
|
|
||||||
|
---
|
||||||
|
policycoreutils/scripts/fixfiles | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/policycoreutils/scripts/fixfiles b/policycoreutils/scripts/fixfiles
|
||||||
|
index cb50fef3ca65..13ac07414c14 100755
|
||||||
|
--- a/policycoreutils/scripts/fixfiles
|
||||||
|
+++ b/policycoreutils/scripts/fixfiles
|
||||||
|
@@ -108,6 +108,7 @@ exclude_dirs_from_relabelling() {
|
||||||
|
fullFlag=0
|
||||||
|
BOOTTIME=""
|
||||||
|
VERBOSE="-p"
|
||||||
|
+[ -t 1 ] || VERBOSE=""
|
||||||
|
FORCEFLAG=""
|
||||||
|
THREADS=""
|
||||||
|
RPMFILES=""
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,72 @@
|
|||||||
|
From 856ac05345d8557a38e82d012a4d13b4d34efd6f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Masatake YAMATO <yamato@redhat.com>
|
||||||
|
Date: Thu, 14 Dec 2017 15:57:58 +0900
|
||||||
|
Subject: [PATCH] sepolicy-generate: Handle more reserved port types
|
||||||
|
Content-type: text/plain
|
||||||
|
|
||||||
|
Currently only reserved_port_t, port_t and hi_reserved_port_t are
|
||||||
|
handled as special when making a ports-dictionary. However, as fas as
|
||||||
|
corenetwork.te.in of serefpolicy, unreserved_port_t and
|
||||||
|
ephemeral_port_t should be handled in the same way, too.
|
||||||
|
|
||||||
|
(Details) I found the need of this change when I was using
|
||||||
|
selinux-polgengui. Though tcp port 12345, which my application may
|
||||||
|
use, was given to the gui, selinux-polgengui generates expected te
|
||||||
|
file and sh file which didn't utilize the tcp port.
|
||||||
|
|
||||||
|
selinux-polgengui checks whether a port given via gui is already typed
|
||||||
|
or not.
|
||||||
|
|
||||||
|
If it is already typed, selinux-polgengui generates a te file having
|
||||||
|
rules to allow the application to use the port. (A)
|
||||||
|
|
||||||
|
If not, it seems for me that selinux-polgengui is designed to generate
|
||||||
|
a te file having rules to allow the application to own(?) the port;
|
||||||
|
and a sh file having a command line to assign the application own type
|
||||||
|
to the port. (B)
|
||||||
|
|
||||||
|
As we can see the output of `semanage port -l' some of ports for
|
||||||
|
specified purpose have types already. The important point is that the
|
||||||
|
rest of ports also have types already:
|
||||||
|
|
||||||
|
hi_reserved_port_t tcp 512-1023
|
||||||
|
hi_reserved_port_t udp 512-1023
|
||||||
|
unreserved_port_t tcp 1024-32767, 61001-65535
|
||||||
|
unreserved_port_t udp 1024-32767, 61001-65535
|
||||||
|
ephemeral_port_t tcp 32768-61000
|
||||||
|
ephemeral_port_t udp 32768-61000
|
||||||
|
|
||||||
|
As my patch shows, the original selinux-polgengui ignored
|
||||||
|
hi_reserved_port_t; though hi_reserved_port_t is assigned,
|
||||||
|
selinux-polgengui considered ports 512-1023 are not used. As the
|
||||||
|
result selinux-polgengui generates file sets of (B).
|
||||||
|
|
||||||
|
For the purpose of selinux-polgengui, I think unreserved_port_t and
|
||||||
|
ephemeral_port_t are treated as the same as hi_reserved_port_t.
|
||||||
|
|
||||||
|
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
|
||||||
|
|
||||||
|
Fedora only patch:
|
||||||
|
https://lore.kernel.org/selinux/20150610.190635.1866127952891120915.yamato@redhat.com/
|
||||||
|
---
|
||||||
|
python/sepolicy/sepolicy/generate.py | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/python/sepolicy/sepolicy/generate.py b/python/sepolicy/sepolicy/generate.py
|
||||||
|
index adf65f27a822..f726ad51b775 100644
|
||||||
|
--- a/python/sepolicy/sepolicy/generate.py
|
||||||
|
+++ b/python/sepolicy/sepolicy/generate.py
|
||||||
|
@@ -100,7 +100,9 @@ def get_all_ports():
|
||||||
|
for p in sepolicy.info(sepolicy.PORT):
|
||||||
|
if p['type'] == "reserved_port_t" or \
|
||||||
|
p['type'] == "port_t" or \
|
||||||
|
- p['type'] == "hi_reserved_port_t":
|
||||||
|
+ p['type'] == "hi_reserved_port_t" or \
|
||||||
|
+ p['type'] == "ephemeral_port_t" or \
|
||||||
|
+ p['type'] == "unreserved_port_t":
|
||||||
|
continue
|
||||||
|
dict[(p['low'], p['high'], p['protocol'])] = (p['type'], p.get('range'))
|
||||||
|
return dict
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,75 @@
|
|||||||
|
From 8f7a90cb77a79aaef2ceca75bc25679a7b17ff98 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
Date: Wed, 18 Jul 2018 09:09:35 +0200
|
||||||
|
Subject: [PATCH] sandbox: Use matchbox-window-manager instead of openbox
|
||||||
|
Content-type: text/plain
|
||||||
|
|
||||||
|
---
|
||||||
|
sandbox/sandbox | 4 ++--
|
||||||
|
sandbox/sandbox.8 | 2 +-
|
||||||
|
sandbox/sandboxX.sh | 14 --------------
|
||||||
|
3 files changed, 3 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sandbox/sandbox b/sandbox/sandbox
|
||||||
|
index e3fd6119ed4d..e01425f0c637 100644
|
||||||
|
--- a/sandbox/sandbox
|
||||||
|
+++ b/sandbox/sandbox
|
||||||
|
@@ -270,7 +270,7 @@ class Sandbox:
|
||||||
|
copyfile(f, "/tmp", self.__tmpdir)
|
||||||
|
copyfile(f, "/var/tmp", self.__tmpdir)
|
||||||
|
|
||||||
|
- def __setup_sandboxrc(self, wm="/usr/bin/openbox"):
|
||||||
|
+ def __setup_sandboxrc(self, wm="/usr/bin/matchbox-window-manager"):
|
||||||
|
execfile = self.__homedir + "/.sandboxrc"
|
||||||
|
fd = open(execfile, "w+")
|
||||||
|
if self.__options.session:
|
||||||
|
@@ -370,7 +370,7 @@ sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [-
|
||||||
|
|
||||||
|
parser.add_option("-W", "--windowmanager", dest="wm",
|
||||||
|
type="string",
|
||||||
|
- default="/usr/bin/openbox",
|
||||||
|
+ default="/usr/bin/matchbox-window-manager",
|
||||||
|
help=_("alternate window manager"))
|
||||||
|
|
||||||
|
parser.add_option("-l", "--level", dest="level",
|
||||||
|
diff --git a/sandbox/sandbox.8 b/sandbox/sandbox.8
|
||||||
|
index 095b9e27042d..1c1870190e51 100644
|
||||||
|
--- a/sandbox/sandbox.8
|
||||||
|
+++ b/sandbox/sandbox.8
|
||||||
|
@@ -80,7 +80,7 @@ Specifies the windowsize when creating an X based Sandbox. The default windowsiz
|
||||||
|
\fB\-W\fR \fB\-\-windowmanager\fR
|
||||||
|
Select alternative window manager to run within
|
||||||
|
.B sandbox \-X.
|
||||||
|
-Default to /usr/bin/openbox.
|
||||||
|
+Default to /usr/bin/matchbox-window-manager.
|
||||||
|
.TP
|
||||||
|
\fB\-X\fR
|
||||||
|
Create an X based Sandbox for gui apps, temporary files for
|
||||||
|
diff --git a/sandbox/sandboxX.sh b/sandbox/sandboxX.sh
|
||||||
|
index 28169182ce42..e2a7ad9b2ac7 100644
|
||||||
|
--- a/sandbox/sandboxX.sh
|
||||||
|
+++ b/sandbox/sandboxX.sh
|
||||||
|
@@ -7,20 +7,6 @@ export TITLE="Sandbox $context -- `grep ^#TITLE: ~/.sandboxrc | /usr/bin/cut -b8
|
||||||
|
[ -z $3 ] && export DPI="96" || export DPI="$3"
|
||||||
|
trap "exit 0" HUP
|
||||||
|
|
||||||
|
-mkdir -p ~/.config/openbox
|
||||||
|
-cat > ~/.config/openbox/rc.xml << EOF
|
||||||
|
-<openbox_config xmlns="http://openbox.org/3.4/rc"
|
||||||
|
- xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
-<applications>
|
||||||
|
- <application class="*">
|
||||||
|
- <decor>no</decor>
|
||||||
|
- <desktop>all</desktop>
|
||||||
|
- <maximized>yes</maximized>
|
||||||
|
- </application>
|
||||||
|
-</applications>
|
||||||
|
-</openbox_config>
|
||||||
|
-EOF
|
||||||
|
-
|
||||||
|
if [ "$WAYLAND_NATIVE" == "no" ]; then
|
||||||
|
if [ -z "$WAYLAND_DISPLAY" ]; then
|
||||||
|
DISPLAY_COMMAND='/usr/bin/Xephyr -resizeable -title "$TITLE" -terminate -screen $SCREENSIZE -dpi $DPI -nolisten tcp -displayfd 5 5>&1 2>/dev/null'
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,178 @@
|
|||||||
|
From 4884c917237e53e34d3fc75dcf4f07217cfd7584 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Lautrbach <plautrba@redhat.com>
|
||||||
|
Date: Fri, 30 Jul 2021 14:14:37 +0200
|
||||||
|
Subject: [PATCH] Use SHA-2 instead of SHA-1
|
||||||
|
Content-type: text/plain
|
||||||
|
|
||||||
|
The use of SHA-1 in RHEL9 is deprecated
|
||||||
|
---
|
||||||
|
policycoreutils/setfiles/restorecon.8 | 10 +++++-----
|
||||||
|
policycoreutils/setfiles/restorecon_xattr.8 | 8 ++++----
|
||||||
|
policycoreutils/setfiles/restorecon_xattr.c | 12 ++++++------
|
||||||
|
policycoreutils/setfiles/setfiles.8 | 10 +++++-----
|
||||||
|
4 files changed, 20 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/policycoreutils/setfiles/restorecon.8 b/policycoreutils/setfiles/restorecon.8
|
||||||
|
index c3cc5c9b0e52..6160aced5922 100644
|
||||||
|
--- a/policycoreutils/setfiles/restorecon.8
|
||||||
|
+++ b/policycoreutils/setfiles/restorecon.8
|
||||||
|
@@ -95,14 +95,14 @@ display usage information and exit.
|
||||||
|
ignore files that do not exist.
|
||||||
|
.TP
|
||||||
|
.B \-I
|
||||||
|
-ignore digest to force checking of labels even if the stored SHA1 digest
|
||||||
|
-matches the specfiles SHA1 digest. The digest will then be updated provided
|
||||||
|
+ignore digest to force checking of labels even if the stored SHA256 digest
|
||||||
|
+matches the specfiles SHA256 digest. The digest will then be updated provided
|
||||||
|
there are no errors. See the
|
||||||
|
.B NOTES
|
||||||
|
section for further details.
|
||||||
|
.TP
|
||||||
|
.B \-D
|
||||||
|
-Set or update any directory SHA1 digests. Use this option to
|
||||||
|
+Set or update any directory SHA256 digests. Use this option to
|
||||||
|
enable usage of the
|
||||||
|
.IR security.sehash
|
||||||
|
extended attribute.
|
||||||
|
@@ -200,7 +200,7 @@ the
|
||||||
|
.B \-D
|
||||||
|
option to
|
||||||
|
.B restorecon
|
||||||
|
-will cause it to store a SHA1 digest of the default specfiles set in an extended
|
||||||
|
+will cause it to store a SHA256 digest of the default specfiles set in an extended
|
||||||
|
attribute named
|
||||||
|
.IR security.sehash
|
||||||
|
on each directory specified in
|
||||||
|
@@ -217,7 +217,7 @@ for further details.
|
||||||
|
.sp
|
||||||
|
The
|
||||||
|
.B \-I
|
||||||
|
-option will ignore the SHA1 digest from each directory specified in
|
||||||
|
+option will ignore the SHA256 digest from each directory specified in
|
||||||
|
.IR pathname \ ...
|
||||||
|
and provided the
|
||||||
|
.B \-n
|
||||||
|
diff --git a/policycoreutils/setfiles/restorecon_xattr.8 b/policycoreutils/setfiles/restorecon_xattr.8
|
||||||
|
index 51d12a4dbb80..09bfd8c40ab4 100644
|
||||||
|
--- a/policycoreutils/setfiles/restorecon_xattr.8
|
||||||
|
+++ b/policycoreutils/setfiles/restorecon_xattr.8
|
||||||
|
@@ -23,7 +23,7 @@ or
|
||||||
|
|
||||||
|
.SH "DESCRIPTION"
|
||||||
|
.B restorecon_xattr
|
||||||
|
-will display the SHA1 digests added to extended attributes
|
||||||
|
+will display the SHA256 digests added to extended attributes
|
||||||
|
.I security.sehash
|
||||||
|
or delete the attribute completely. These attributes are set by
|
||||||
|
.BR restorecon (8)
|
||||||
|
@@ -48,12 +48,12 @@ extended attribute and are automatically excluded from searches.
|
||||||
|
.sp
|
||||||
|
By default
|
||||||
|
.B restorecon_xattr
|
||||||
|
-will display the SHA1 digests with "Match" appended if they match the default
|
||||||
|
+will display the SHA256 digests with "Match" appended if they match the default
|
||||||
|
specfile set or the
|
||||||
|
.I specfile
|
||||||
|
set used with the
|
||||||
|
.B \-f
|
||||||
|
-option. Non-matching SHA1 digests will be displayed with "No Match" appended.
|
||||||
|
+option. Non-matching SHA256 digests will be displayed with "No Match" appended.
|
||||||
|
This feature can be disabled by the
|
||||||
|
.B \-n
|
||||||
|
option.
|
||||||
|
@@ -87,7 +87,7 @@ Do not append "Match" or "No Match" to displayed digests.
|
||||||
|
recursively descend directories.
|
||||||
|
.TP
|
||||||
|
.B \-v
|
||||||
|
-display SHA1 digest generated by specfile set (Note that this digest is not
|
||||||
|
+display SHA256 digest generated by specfile set (Note that this digest is not
|
||||||
|
used to match the
|
||||||
|
.I security.sehash
|
||||||
|
directory digest entries, and is shown for reference only).
|
||||||
|
diff --git a/policycoreutils/setfiles/restorecon_xattr.c b/policycoreutils/setfiles/restorecon_xattr.c
|
||||||
|
index 31fb82fd2099..bc22d3fd4560 100644
|
||||||
|
--- a/policycoreutils/setfiles/restorecon_xattr.c
|
||||||
|
+++ b/policycoreutils/setfiles/restorecon_xattr.c
|
||||||
|
@@ -38,7 +38,7 @@ int main(int argc, char **argv)
|
||||||
|
unsigned int xattr_flags = 0, delete_digest = 0, recurse = 0;
|
||||||
|
unsigned int delete_all_digests = 0, ignore_mounts = 0;
|
||||||
|
bool display_digest = false;
|
||||||
|
- char *sha1_buf, **specfiles, *fc_file = NULL, *pathname = NULL;
|
||||||
|
+ char *sha256_buf, **specfiles, *fc_file = NULL, *pathname = NULL;
|
||||||
|
unsigned char *fc_digest = NULL;
|
||||||
|
size_t i, fc_digest_len = 0, num_specfiles;
|
||||||
|
|
||||||
|
@@ -133,8 +133,8 @@ int main(int argc, char **argv)
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
- sha1_buf = malloc(fc_digest_len * 2 + 1);
|
||||||
|
- if (!sha1_buf) {
|
||||||
|
+ sha256_buf = malloc(fc_digest_len * 2 + 1);
|
||||||
|
+ if (!sha256_buf) {
|
||||||
|
fprintf(stderr,
|
||||||
|
"Error allocating digest buffer: %s\n",
|
||||||
|
strerror(errno));
|
||||||
|
@@ -143,16 +143,16 @@ int main(int argc, char **argv)
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < fc_digest_len; i++)
|
||||||
|
- sprintf((&sha1_buf[i * 2]), "%02x", fc_digest[i]);
|
||||||
|
+ sprintf((&sha256_buf[i * 2]), "%02x", fc_digest[i]);
|
||||||
|
|
||||||
|
- printf("specfiles SHA1 digest: %s\n", sha1_buf);
|
||||||
|
+ printf("specfiles SHA256 digest: %s\n", sha256_buf);
|
||||||
|
|
||||||
|
printf("calculated using the following specfile(s):\n");
|
||||||
|
if (specfiles) {
|
||||||
|
for (i = 0; i < num_specfiles; i++)
|
||||||
|
printf("%s\n", specfiles[i]);
|
||||||
|
}
|
||||||
|
- free(sha1_buf);
|
||||||
|
+ free(sha256_buf);
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/policycoreutils/setfiles/setfiles.8 b/policycoreutils/setfiles/setfiles.8
|
||||||
|
index ee01725050bb..57c663a99d67 100644
|
||||||
|
--- a/policycoreutils/setfiles/setfiles.8
|
||||||
|
+++ b/policycoreutils/setfiles/setfiles.8
|
||||||
|
@@ -95,14 +95,14 @@ display usage information and exit.
|
||||||
|
ignore files that do not exist.
|
||||||
|
.TP
|
||||||
|
.B \-I
|
||||||
|
-ignore digest to force checking of labels even if the stored SHA1 digest
|
||||||
|
-matches the specfiles SHA1 digest. The digest will then be updated provided
|
||||||
|
+ignore digest to force checking of labels even if the stored SHA256 digest
|
||||||
|
+matches the specfiles SHA256 digest. The digest will then be updated provided
|
||||||
|
there are no errors. See the
|
||||||
|
.B NOTES
|
||||||
|
section for further details.
|
||||||
|
.TP
|
||||||
|
.B \-D
|
||||||
|
-Set or update any directory SHA1 digests. Use this option to
|
||||||
|
+Set or update any directory SHA256 digests. Use this option to
|
||||||
|
enable usage of the
|
||||||
|
.IR security.sehash
|
||||||
|
extended attribute.
|
||||||
|
@@ -261,7 +261,7 @@ the
|
||||||
|
.B \-D
|
||||||
|
option to
|
||||||
|
.B setfiles
|
||||||
|
-will cause it to store a SHA1 digest of the
|
||||||
|
+will cause it to store a SHA256 digest of the
|
||||||
|
.B spec_file
|
||||||
|
set in an extended attribute named
|
||||||
|
.IR security.sehash
|
||||||
|
@@ -282,7 +282,7 @@ for further details.
|
||||||
|
.sp
|
||||||
|
The
|
||||||
|
.B \-I
|
||||||
|
-option will ignore the SHA1 digest from each directory specified in
|
||||||
|
+option will ignore the SHA256 digest from each directory specified in
|
||||||
|
.IR pathname \ ...
|
||||||
|
and provided the
|
||||||
|
.B \-n
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,48 @@
|
|||||||
|
From cb1b3bdca016edaa90e92b49d51544f8a38cba19 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
Date: Tue, 30 May 2023 09:07:28 +0200
|
||||||
|
Subject: [PATCH] python/sepolicy: Fix spec file dependencies
|
||||||
|
Content-type: text/plain
|
||||||
|
|
||||||
|
semanage is part of policycoreutils-python-utils package, selinuxenabled
|
||||||
|
is part of libselinux-utils (required by ^^^) and restorecon/load_policy
|
||||||
|
are part of policycoreutils (also required by policycoreutils-python-utils).
|
||||||
|
|
||||||
|
Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
|
||||||
|
---
|
||||||
|
python/sepolicy/sepolicy/templates/spec.py | 12 +++++++-----
|
||||||
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/sepolicy/sepolicy/templates/spec.py b/python/sepolicy/sepolicy/templates/spec.py
|
||||||
|
index 433c298a17e0..a6d4508bb670 100644
|
||||||
|
--- a/python/sepolicy/sepolicy/templates/spec.py
|
||||||
|
+++ b/python/sepolicy/sepolicy/templates/spec.py
|
||||||
|
@@ -11,18 +11,20 @@ Version: 1.0
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Summary: SELinux policy module for MODULENAME
|
||||||
|
|
||||||
|
-Group: System Environment/Base
|
||||||
|
-License: GPLv2+
|
||||||
|
+Group: System Environment/Base
|
||||||
|
+License: GPLv2+
|
||||||
|
# This is an example. You will need to change it.
|
||||||
|
+# For a complete guide on packaging your policy
|
||||||
|
+# see https://fedoraproject.org/wiki/SELinux/IndependentPolicy
|
||||||
|
URL: http://HOSTNAME
|
||||||
|
Source0: MODULENAME.pp
|
||||||
|
Source1: MODULENAME.if
|
||||||
|
Source2: DOMAINNAME_selinux.8
|
||||||
|
Source3: DOMAINNAME_u
|
||||||
|
|
||||||
|
-Requires: policycoreutils, libselinux-utils
|
||||||
|
-Requires(post): selinux-policy-base >= %{selinux_policyver}, policycoreutils
|
||||||
|
-Requires(postun): policycoreutils
|
||||||
|
+Requires: policycoreutils-python-utils, libselinux-utils
|
||||||
|
+Requires(post): selinux-policy-base >= %{selinux_policyver}, policycoreutils-python-utils
|
||||||
|
+Requires(postun): policycoreutils-python-utils
|
||||||
|
"""
|
||||||
|
|
||||||
|
mid_section="""\
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -0,0 +1,44 @@
|
|||||||
|
From dc3eca6bd964e545fda4a1e19d07c26a347c5d9a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Lautrbach <lautrbach@redhat.com>
|
||||||
|
Date: Mon, 19 Aug 2024 19:51:51 +0200
|
||||||
|
Subject: [PATCH] sepolgen-ifgen: allow M4 escaped filenames
|
||||||
|
Content-type: text/plain
|
||||||
|
|
||||||
|
When a file name in type transition rule used in an interface is same as
|
||||||
|
a keyword, it needs to be M4 escaped so that the keyword is not expanded
|
||||||
|
by M4, e.g.
|
||||||
|
|
||||||
|
- filetrans_pattern($1, virt_var_run_t, virtinterfaced_var_run_t, dir, "interface")
|
||||||
|
+ filetrans_pattern($1, virt_var_run_t, virtinterfaced_var_run_t, dir, "``interface''")
|
||||||
|
|
||||||
|
But sepolgen-ifgen could not parse such string:
|
||||||
|
|
||||||
|
# sepolgen-ifgen
|
||||||
|
Illegal character '`'
|
||||||
|
|
||||||
|
This change allows M4 escaping inside quoted strings and fixed described
|
||||||
|
problem.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=2254206
|
||||||
|
|
||||||
|
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
|
||||||
|
---
|
||||||
|
python/sepolgen/src/sepolgen/refparser.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/python/sepolgen/src/sepolgen/refparser.py b/python/sepolgen/src/sepolgen/refparser.py
|
||||||
|
index e261d3f78f87..9622ee9a29ce 100644
|
||||||
|
--- a/python/sepolgen/src/sepolgen/refparser.py
|
||||||
|
+++ b/python/sepolgen/src/sepolgen/refparser.py
|
||||||
|
@@ -261,7 +261,7 @@ def t_IDENTIFIER(t):
|
||||||
|
return t
|
||||||
|
|
||||||
|
def t_FILENAME(t):
|
||||||
|
- r'\"[a-zA-Z0-9_\-\+\.\$\*~ :\[\]]+\"'
|
||||||
|
+ r'\"`*[a-zA-Z0-9_\-\+\.\$\*~ :\[\]]+\'*\"'
|
||||||
|
# Handle any keywords
|
||||||
|
t.type = reserved.get(t.value,'FILENAME')
|
||||||
|
return t
|
||||||
|
--
|
||||||
|
2.46.0
|
||||||
|
|
@ -0,0 +1,321 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
TknzOqbZgjdllcUG4cDBEQuBO/GSj1LUfg==
|
||||||
|
=I8Dr
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEG+LA/wiUliMQL9JWRpWIHCVFCNEFAmZ9iuEACgkQRpWIHCVF
|
||||||
|
CNER6A/9Fh2zHvfY0E11VufqyTKuW/XAyUVzVVZQT4RP4Xq324k+FIQC5tepFppI
|
||||||
|
xfoHL0XyklceHxnNGQfq+LqXi25HKG/+8ozvX5gqB7liGgnxWg30oFRGBHHuzF6b
|
||||||
|
aHLUNPVvWrgeLPOhSmbPmm29zlbIT+2Fpam8jhNfKe7ISqFQFE7JTh7KIwSmmreq
|
||||||
|
IniEh0DUChZ/3jlxwWTg3XfVBCWuE11845Jmz09EZyE3vNCvsBCZIgojkpAsi73B
|
||||||
|
CS9Ia1KQFxap0cmMkvwYEQyHmF0KjUecUINb4gqHstJaXua17yqbU8EqOFrUo6C6
|
||||||
|
GJ262L+jflnDCx9XKbeMJ8sFzFLsqCnDZwoWBPlYoi2+661D8cI64eBHz+9SAEz4
|
||||||
|
LikVBhXYVq8iuKiXgNo5s090F4yk1LHDIKufD26jAngiXXX59SrLhjvMHp+bJ4T/
|
||||||
|
tC/wRkDOh/UAwfPSXGGu5fR2JlCeXxRgo+125xAQF92dlCwelN5IST0I5Y3i7Asx
|
||||||
|
WiK+ocN0LFKDqv7JN+2B5PKsZBSmkxfGrjFxEm0JFPwA1Qlv1+MXCBrRxcr+BXxK
|
||||||
|
lv9NsWv7NFSrAv/cLNEB/7OrbV41K9l/bp71RK+VqhM94SKbUtm4thoYqlZS36nW
|
||||||
|
rtHqpVao4pv5Ab9QLGhCfZWqL97qmCnu/MseYWSTRKxSSduld5o=
|
||||||
|
=AOSm
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -0,0 +1,79 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Do automatic relabelling
|
||||||
|
#
|
||||||
|
|
||||||
|
# . /etc/init.d/functions
|
||||||
|
|
||||||
|
# If the user has this (or similar) UEFI boot order:
|
||||||
|
#
|
||||||
|
# Windows | grub | Linux
|
||||||
|
#
|
||||||
|
# And decides to boot into grub/Linux, then the reboot at the end of autorelabel
|
||||||
|
# would cause the system to boot into Windows again, if the autorelabel was run.
|
||||||
|
#
|
||||||
|
# This function restores the UEFI boot order, so the user will boot into the
|
||||||
|
# previously set (and expected) partition.
|
||||||
|
efi_set_boot_next() {
|
||||||
|
# NOTE: The [ -x /usr/sbin/efibootmgr ] test is not sufficent -- it could
|
||||||
|
# succeed even on system which is not EFI-enabled...
|
||||||
|
if ! efibootmgr > /dev/null 2>&1; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# NOTE: It it possible that some other services might be setting the
|
||||||
|
# 'BootNext' item for any reasons, and we shouldn't override it if so.
|
||||||
|
if ! efibootmgr | grep --quiet -e 'BootNext'; then
|
||||||
|
CURRENT_BOOT="$(efibootmgr | grep -e 'BootCurrent' | sed -re 's/(^.+:[[:space:]]*)([[:xdigit:]]+)/\2/')"
|
||||||
|
efibootmgr -n "${CURRENT_BOOT}" > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
relabel_selinux() {
|
||||||
|
# if /sbin/init is not labeled correctly this process is running in the
|
||||||
|
# wrong context, so a reboot will be required after relabel
|
||||||
|
AUTORELABEL=
|
||||||
|
. /etc/selinux/config
|
||||||
|
echo "0" > /sys/fs/selinux/enforce
|
||||||
|
[ -x /bin/plymouth ] && plymouth --quit
|
||||||
|
|
||||||
|
if [ "$AUTORELABEL" = "0" ]; then
|
||||||
|
echo
|
||||||
|
echo $"*** Warning -- SELinux ${SELINUXTYPE} policy relabel is required. "
|
||||||
|
echo $"*** /etc/selinux/config indicates you want to manually fix labeling"
|
||||||
|
echo $"*** problems. Dropping you to a shell; the system will reboot"
|
||||||
|
echo $"*** when you leave the shell."
|
||||||
|
sulogin
|
||||||
|
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo $"*** Warning -- SELinux ${SELINUXTYPE} policy relabel is required."
|
||||||
|
echo $"*** Relabeling could take a very long time, depending on file"
|
||||||
|
echo $"*** system size and speed of hard drives."
|
||||||
|
|
||||||
|
OPTS=`cat /.autorelabel`
|
||||||
|
# by default, use as many threads as there are available
|
||||||
|
# another -T X in $OPTS will override the default value
|
||||||
|
OPTS="-T 0 $OPTS"
|
||||||
|
|
||||||
|
[ -x "/usr/sbin/quotaoff" ] && /usr/sbin/quotaoff -aug
|
||||||
|
echo
|
||||||
|
echo $"Running: /sbin/fixfiles $OPTS restore"
|
||||||
|
/sbin/fixfiles $OPTS restore
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f /.autorelabel
|
||||||
|
/usr/lib/dracut/dracut-initramfs-restore
|
||||||
|
efi_set_boot_next
|
||||||
|
if [ -x /usr/bin/grub2-editenv ]; then
|
||||||
|
grub2-editenv - incr boot_indeterminate >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
sync
|
||||||
|
systemctl reboot
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check to see if a full relabel is needed
|
||||||
|
if [ "$READONLY" != "yes" ]; then
|
||||||
|
restorecon $(awk '!/^#/ && $4 !~ /noauto/ && $2 ~ /^\// { print $2 }' /etc/fstab) >/dev/null 2>&1
|
||||||
|
relabel_selinux
|
||||||
|
fi
|
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This systemd.generator(7) detects if SELinux is running and if the
|
||||||
|
# user requested an autorelabel, and if so sets the default target to
|
||||||
|
# selinux-autorelabel.target, which will cause the filesystem to be
|
||||||
|
# relabelled and then the system will reboot again and boot into the
|
||||||
|
# real default target.
|
||||||
|
|
||||||
|
PATH=/usr/sbin:$PATH
|
||||||
|
unitdir=/usr/lib/systemd/system
|
||||||
|
|
||||||
|
# If invoked with no arguments (for testing) write to /tmp.
|
||||||
|
earlydir="/tmp"
|
||||||
|
if [ -n "$2" ]; then
|
||||||
|
earlydir="$2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
set_target ()
|
||||||
|
{
|
||||||
|
ln -sf "$unitdir/selinux-autorelabel.target" "$earlydir/default.target"
|
||||||
|
AUTORELABEL="1"
|
||||||
|
source /etc/selinux/config
|
||||||
|
if [ "$AUTORELABEL" = "0" ]; then
|
||||||
|
mkdir -p "$earlydir/selinux-autorelabel.service.d"
|
||||||
|
cat > "$earlydir/selinux-autorelabel.service.d/tty.conf" <<EOF
|
||||||
|
[Service]
|
||||||
|
StandardInput=tty
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if selinuxenabled; then
|
||||||
|
if test -f /.autorelabel; then
|
||||||
|
set_target
|
||||||
|
elif grep -sqE "\bautorelabel\b" /proc/cmdline; then
|
||||||
|
set_target
|
||||||
|
fi
|
||||||
|
fi
|
@ -0,0 +1,18 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Mark the need to relabel after reboot
|
||||||
|
DefaultDependencies=no
|
||||||
|
Requires=local-fs.target
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=local-fs.target
|
||||||
|
Before=sysinit.target shutdown.target
|
||||||
|
ConditionSecurity=!selinux
|
||||||
|
ConditionPathIsDirectory=/etc/selinux
|
||||||
|
ConditionPathExists=!/.autorelabel
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=-/bin/touch /.autorelabel
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sysinit.target
|
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Relabel all filesystems
|
||||||
|
DefaultDependencies=no
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=sysinit.target
|
||||||
|
Before=shutdown.target
|
||||||
|
ConditionSecurity=selinux
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/libexec/selinux/selinux-autorelabel
|
||||||
|
Type=oneshot
|
||||||
|
TimeoutSec=0
|
||||||
|
RemainAfterExit=yes
|
||||||
|
StandardOutput=journal+console
|
@ -0,0 +1,7 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Relabel all filesystems and reboot
|
||||||
|
DefaultDependencies=no
|
||||||
|
Requires=sysinit.target selinux-autorelabel.service
|
||||||
|
Conflicts=shutdown.target
|
||||||
|
After=sysinit.target selinux-autorelabel.service
|
||||||
|
ConditionSecurity=selinux
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue