mirror of
https://gitee.com/open-loongarch/buildroot-2024.08.git
synced 2026-10-29 06:27:14 +08:00
first commit: base 2024.08
Signed-off-by: maoxiaochuan <maoxiaochuan@loongson.cn>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
From 8610efc1610a4e9d4cbfa19ed4a519a6425aee70 Mon Sep 17 00:00:00 2001
|
||||
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
Date: Tue, 9 May 2023 22:28:36 +0200
|
||||
Subject: [PATCH] python?sepolgen: fix ausearch path
|
||||
|
||||
ausearch is not always isntalled in /sbin; some systems install it in
|
||||
/usr/sbin, or it can also be locally installed in /usr/local/sbin.
|
||||
|
||||
The python doc [0] suggests using shutil.which() to find the path where
|
||||
a command is. which() returns None if the command is not found. If
|
||||
ausearch is not found, that would result in an exception being raised by
|
||||
Popen():
|
||||
TypeError: expected str, bytes or os.PathLike object, not NoneType
|
||||
|
||||
This is not very informative of what actually failed...
|
||||
|
||||
However, the doc suggests so for portability. In our case, the python
|
||||
tools are only ever going to run on a Linux host (by their virtue of
|
||||
dealing with SELinux), so the search will be reliably done by looking in
|
||||
PATH, so we can let Popen() bubble the resolving of an unqualified
|
||||
command, down to execvpe() (or the similar actual syscall of the exec*()
|
||||
familly). If ausearch is then not found, Popen() raises an exception
|
||||
that is wy more informative then:
|
||||
FileNotFoundError: [Errno 2] No such file or directory: 'ausearch'
|
||||
|
||||
[0] https://docs.python.org/3/library/subprocess.html#subprocess.Popen
|
||||
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
[yann.morin.1998@free.fr:
|
||||
- let Popen() resolve from PATH
|
||||
- rewrite commit log
|
||||
]
|
||||
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
|
||||
Upstream: not submitted
|
||||
---
|
||||
python/sepolgen/src/sepolgen/audit.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/python/sepolgen/src/sepolgen/audit.py b/python/sepolgen/src/sepolgen/audit.py
|
||||
index 4adb851f..5eafa587 100644
|
||||
--- a/sepolgen/src/sepolgen/audit.py
|
||||
+++ b/sepolgen/src/sepolgen/audit.py
|
||||
@@ -41,7 +41,7 @@ def get_audit_boot_msgs():
|
||||
s = time.localtime(time.time() - off)
|
||||
bootdate = time.strftime("%x", s)
|
||||
boottime = time.strftime("%X", s)
|
||||
- output = subprocess.Popen(["/sbin/ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR", "-ts", bootdate, boottime],
|
||||
+ output = subprocess.Popen(["ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR", "-ts", bootdate, boottime],
|
||||
stdout=subprocess.PIPE).communicate()[0]
|
||||
if util.PY3:
|
||||
output = util.decode_input(output)
|
||||
@@ -56,7 +56,7 @@ def get_audit_msgs():
|
||||
string contain all of the audit messages returned by ausearch.
|
||||
"""
|
||||
import subprocess
|
||||
- output = subprocess.Popen(["/sbin/ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR"],
|
||||
+ output = subprocess.Popen(["ausearch", "-m", "AVC,USER_AVC,MAC_POLICY_LOAD,DAEMON_START,SELINUX_ERR"],
|
||||
stdout=subprocess.PIPE).communicate()[0]
|
||||
if util.PY3:
|
||||
output = util.decode_input(output)
|
||||
--
|
||||
2.25.1
|
||||
|
||||
Reference in New Issue
Block a user