diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 89756f9..91bf858 100644 --- a/.gitignore +++ b/.gitignore @@ -205,3 +205,20 @@ setroubleshoot-2.2.93.tar.gz /setroubleshoot-3.3.18.tar.gz /setroubleshoot-3.3.19.tar.gz /setroubleshoot-3.3.20.tar.gz +/setroubleshoot-3.3.21.tar.gz +/setroubleshoot-3.3.22.tar.gz +/setroubleshoot-3.3.23.tar.gz +/setroubleshoot-3.3.24.tar.gz +/setroubleshoot-3.3.25.tar.gz +/setroubleshoot-3.3.26.tar.gz +/framework-3.3.27.tar.gz +/setroubleshoot-3.3.28.tar.gz +/setroubleshoot-3.3.29.tar.gz +/setroubleshoot-3.3.30.tar.gz +/setroubleshoot-3.3.31.tar.gz +/setroubleshoot-3.3.32.tar.gz +/setroubleshoot-3.3.33.tar.gz +/setroubleshoot-3.3.34.tar.gz +/setroubleshoot-3.3.35.tar.gz +/setroubleshoot-3.3.36.tar.gz +/setroubleshoot-3.3.37.tar.gz diff --git a/0001-Update-GPL2-license-texts-to-the-latest-version.patch b/0001-Update-GPL2-license-texts-to-the-latest-version.patch new file mode 100644 index 0000000..5674128 --- /dev/null +++ b/0001-Update-GPL2-license-texts-to-the-latest-version.patch @@ -0,0 +1,443 @@ +From 96f8442e292e651437004d78abdbb8586ebb728e Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Tue, 2 Jun 2026 11:15:33 +0200 +Subject: [PATCH] Update GPL2 license texts to the latest version + +Fixes: https://gitlab.com/setroubleshoot/setroubleshoot/-/work_items/6 + + setroubleshoot.x86_64: E: incorrect-fsf-address /usr/lib/python3.12/site-packages/setroubleshoot/browser.py + setroubleshoot.x86_64: E: incorrect-fsf-address /usr/lib/python3.12/site-packages/setroubleshoot/gui_utils.py + setroubleshoot-server.x86_64: E: incorrect-fsf-address /usr/bin/sealert + setroubleshoot-server.x86_64: E: incorrect-fsf-address /usr/lib/python3.12/site-packages/setroubleshoot/Plugin.py + ... +--- + COPYING | 15 +++++++-------- + src/SetroubleshootPrivileged.py | 5 ++--- + src/config.py.in | 3 +-- + src/default_encoding.c | 3 +-- + src/sealert | 3 +-- + src/seappletlegacy.c | 3 +-- + src/sedbus.c | 3 +-- + src/sedispatch.c | 3 +-- + src/setroubleshoot/Plugin.py | 3 +-- + src/setroubleshoot/__init__.py | 3 +-- + src/setroubleshoot/access_control.py | 3 +-- + src/setroubleshoot/analyze.py | 3 +-- + src/setroubleshoot/audit_data.py | 3 +-- + src/setroubleshoot/avc_audit.py | 3 +-- + src/setroubleshoot/browser.py | 3 +-- + src/setroubleshoot/email_alert.py | 3 +-- + src/setroubleshoot/errcode.py | 3 +-- + src/setroubleshoot/gui_utils.py | 3 +-- + src/setroubleshoot/html_util.py | 3 +-- + src/setroubleshoot/rpc.py | 3 +-- + src/setroubleshoot/rpc_interfaces.py | 3 +-- + src/setroubleshoot/server.py | 3 +-- + src/setroubleshoot/signature.py | 3 +-- + src/setroubleshoot/util.py | 3 +-- + src/setroubleshoot/xml_serialize.py | 3 +-- + src/setroubleshootd | 3 +-- + 26 files changed, 33 insertions(+), 59 deletions(-) + +diff --git a/COPYING b/COPYING +index 623b625..6c6dbab 100644 +--- a/COPYING ++++ b/COPYING +@@ -1,8 +1,8 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + +- Copyright (C) 1989, 1991 Free Software Foundation, Inc. +- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This + General Public License applies to most of the Free Software + Foundation's software and to any other program whose authors commit to + using it. (Some other Free Software Foundation software is covered by +-the GNU Library General Public License instead.) You can apply it to ++the GNU Lesser General Public License instead.) You can apply it to + your programs, too. + + When we speak of free software, we are referring to freedom, not +@@ -304,8 +304,7 @@ the "copyright" line and a pointer to where the full notice is found. + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License +- along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ along with this program; if not, see . + + + Also add information on how to contact you by electronic and paper mail. +@@ -330,11 +329,11 @@ necessary. Here is a sample; alter the names: + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + +- , 1 April 1989 +- Ty Coon, President of Vice ++ , 1 April 1989 ++ Moe Ghoul, President of Vice + + This General Public License does not permit incorporating your program into + proprietary programs. If your program is a subroutine library, you may + consider it more useful to permit linking proprietary applications with the +-library. If this is what you want to do, use the GNU Library General ++library. If this is what you want to do, use the GNU Lesser General + Public License instead of this License. +diff --git a/src/SetroubleshootPrivileged.py b/src/SetroubleshootPrivileged.py +index c9f46da..845a006 100644 +--- a/src/SetroubleshootPrivileged.py ++++ b/src/SetroubleshootPrivileged.py +@@ -14,9 +14,8 @@ + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # +-# You should have received a copy of the GNU General Public License along +-# with this program; if not, write to the Free Software Foundation, Inc., +-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, see . + + import signal + from gi.repository import GLib +diff --git a/src/config.py.in b/src/config.py.in +index 48a670a..d8e7e35 100644 +--- a/src/config.py.in ++++ b/src/config.py.in +@@ -14,8 +14,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + __all__ = ['config_init', +diff --git a/src/default_encoding.c b/src/default_encoding.c +index 61d6382..75e9930 100644 +--- a/src/default_encoding.c ++++ b/src/default_encoding.c +@@ -15,8 +15,7 @@ + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * along with this program; if not, see . + */ + + #include +diff --git a/src/sealert b/src/sealert +index c45f4fc..91af079 100755 +--- a/src/sealert ++++ b/src/sealert +@@ -16,8 +16,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + from __future__ import print_function +diff --git a/src/seappletlegacy.c b/src/seappletlegacy.c +index d6ce7ec..1e14482 100644 +--- a/src/seappletlegacy.c ++++ b/src/seappletlegacy.c +@@ -17,8 +17,7 @@ + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ * along with this program; if not, see . + * + * compile command + * gcc -g sealerttrayicon.c -o sealerttrayicon `pkg-config --cflags --libs gtk+-2.0` -lnotify +diff --git a/src/sedbus.c b/src/sedbus.c +index 702bed7..fd4a860 100644 +--- a/src/sedbus.c ++++ b/src/sedbus.c +@@ -13,8 +13,7 @@ + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * along with this program; if not, see . + * + * Authors: + * Dan Walsh +diff --git a/src/sedispatch.c b/src/sedispatch.c +index 07d9c90..b1b80fc 100644 +--- a/src/sedispatch.c ++++ b/src/sedispatch.c +@@ -13,8 +13,7 @@ + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * along with this program; if not, see . + * + * Authors: + * Dan Walsh +diff --git a/src/setroubleshoot/Plugin.py b/src/setroubleshoot/Plugin.py +index 3c52b7f..13f31f0 100644 +--- a/src/setroubleshoot/Plugin.py ++++ b/src/setroubleshoot/Plugin.py +@@ -15,8 +15,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + import gettext +diff --git a/src/setroubleshoot/__init__.py b/src/setroubleshoot/__init__.py +index ccb6b8b..0fe4d80 100644 +--- a/src/setroubleshoot/__init__.py ++++ b/src/setroubleshoot/__init__.py +@@ -12,6 +12,5 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # +diff --git a/src/setroubleshoot/access_control.py b/src/setroubleshoot/access_control.py +index de16e32..3c2c02b 100644 +--- a/src/setroubleshoot/access_control.py ++++ b/src/setroubleshoot/access_control.py +@@ -13,8 +13,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + """Access control for setroubleshoot. For now this is only used for +diff --git a/src/setroubleshoot/analyze.py b/src/setroubleshoot/analyze.py +index d1c7ac6..b2bbce8 100644 +--- a/src/setroubleshoot/analyze.py ++++ b/src/setroubleshoot/analyze.py +@@ -13,8 +13,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + from __future__ import print_function +diff --git a/src/setroubleshoot/audit_data.py b/src/setroubleshoot/audit_data.py +index 34cc3b1..d1e03d7 100644 +--- a/src/setroubleshoot/audit_data.py ++++ b/src/setroubleshoot/audit_data.py +@@ -15,8 +15,7 @@ import sys + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + __all__ = ['derive_record_format', +diff --git a/src/setroubleshoot/avc_audit.py b/src/setroubleshoot/avc_audit.py +index 5419280..2f61349 100644 +--- a/src/setroubleshoot/avc_audit.py ++++ b/src/setroubleshoot/avc_audit.py +@@ -13,8 +13,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + __all__ = [ +diff --git a/src/setroubleshoot/browser.py b/src/setroubleshoot/browser.py +index 47788a7..d8e9921 100644 +--- a/src/setroubleshoot/browser.py ++++ b/src/setroubleshoot/browser.py +@@ -13,8 +13,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + from __future__ import absolute_import +diff --git a/src/setroubleshoot/email_alert.py b/src/setroubleshoot/email_alert.py +index 0921b99..8e41124 100644 +--- a/src/setroubleshoot/email_alert.py ++++ b/src/setroubleshoot/email_alert.py +@@ -14,8 +14,7 @@ from __future__ import absolute_import + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + __all__ = ['email_alert', +diff --git a/src/setroubleshoot/errcode.py b/src/setroubleshoot/errcode.py +index 2a2aa21..7a925b9 100644 +--- a/src/setroubleshoot/errcode.py ++++ b/src/setroubleshoot/errcode.py +@@ -13,8 +13,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + import gettext + from setroubleshoot.config import parse_config_setting, get_config +diff --git a/src/setroubleshoot/gui_utils.py b/src/setroubleshoot/gui_utils.py +index e28673a..cbec874 100644 +--- a/src/setroubleshoot/gui_utils.py ++++ b/src/setroubleshoot/gui_utils.py +@@ -14,8 +14,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + # Needed to silence warnings if X display is not present +diff --git a/src/setroubleshoot/html_util.py b/src/setroubleshoot/html_util.py +index 5021683..c08e5b5 100644 +--- a/src/setroubleshoot/html_util.py ++++ b/src/setroubleshoot/html_util.py +@@ -13,8 +13,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + +diff --git a/src/setroubleshoot/rpc.py b/src/setroubleshoot/rpc.py +index 82fc294..2a874ae 100755 +--- a/src/setroubleshoot/rpc.py ++++ b/src/setroubleshoot/rpc.py +@@ -15,8 +15,7 @@ from __future__ import print_function + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + import xml.etree.ElementTree as ET +diff --git a/src/setroubleshoot/rpc_interfaces.py b/src/setroubleshoot/rpc_interfaces.py +index ec7ff50..5a42f0b 100644 +--- a/src/setroubleshoot/rpc_interfaces.py ++++ b/src/setroubleshoot/rpc_interfaces.py +@@ -13,8 +13,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + from setroubleshoot.rpc import rpc_method, rpc_arg_type, rpc_callback, rpc_signal +diff --git a/src/setroubleshoot/server.py b/src/setroubleshoot/server.py +index 3369af1..cf0f345 100755 +--- a/src/setroubleshoot/server.py ++++ b/src/setroubleshoot/server.py +@@ -16,8 +16,7 @@ from __future__ import absolute_import + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + __all__ = ['RunFaultServer', +diff --git a/src/setroubleshoot/signature.py b/src/setroubleshoot/signature.py +index cf675ff..e4fee53 100755 +--- a/src/setroubleshoot/signature.py ++++ b/src/setroubleshoot/signature.py +@@ -17,8 +17,7 @@ from __future__ import print_function + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + import syslog +diff --git a/src/setroubleshoot/util.py b/src/setroubleshoot/util.py +index b6125aa..dd331b7 100755 +--- a/src/setroubleshoot/util.py ++++ b/src/setroubleshoot/util.py +@@ -14,8 +14,7 @@ from __future__ import absolute_import + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + __all__ = [ +diff --git a/src/setroubleshoot/xml_serialize.py b/src/setroubleshoot/xml_serialize.py +index e1adf7f..596e276 100755 +--- a/src/setroubleshoot/xml_serialize.py ++++ b/src/setroubleshoot/xml_serialize.py +@@ -14,8 +14,7 @@ from __future__ import absolute_import + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + + # Escaping +diff --git a/src/setroubleshootd b/src/setroubleshootd +index 3affe3a..2ad355b 100755 +--- a/src/setroubleshootd ++++ b/src/setroubleshootd +@@ -17,8 +17,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++# along with this program; if not, see . + # + import sys + import os +-- +2.53.0 + diff --git a/0001-Use-dbus.mainloop.glib.DBusGMainLoop-instead-of-dbus.patch b/0001-Use-dbus.mainloop.glib.DBusGMainLoop-instead-of-dbus.patch deleted file mode 100644 index 8c26060..0000000 --- a/0001-Use-dbus.mainloop.glib.DBusGMainLoop-instead-of-dbus.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a47895131484cfb5d3b6bbbce1e1f223d69c5dda Mon Sep 17 00:00:00 2001 -From: Petr Lautrbach -Date: Tue, 27 Aug 2019 22:34:08 +0200 -Subject: [PATCH] Use dbus.mainloop.glib.DBusGMainLoop() instead of dbus.glib - -Fixes: -/usr/bin/sealert:32: DeprecationWarning: Importing dbus.glib to use the GLib main loop with dbus-python is deprecated. -Instead, use this sequence: - - from dbus.mainloop.glib import DBusGMainLoop - - DBusGMainLoop(set_as_default=True) - - import dbus.glib ---- - framework/src/sealert | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/framework/src/sealert b/framework/src/sealert -index 4934df4..42dc976 100755 ---- a/framework/src/sealert -+++ b/framework/src/sealert -@@ -29,7 +29,6 @@ from gi.repository import GObject, GLib - GLib.set_prgname('setroubleshoot') - - import dbus --import dbus.glib - import dbus.service - import errno as Errno - import gettext -@@ -42,6 +41,9 @@ import fcntl - import sys - import slip.dbus.service - -+from dbus.mainloop.glib import DBusGMainLoop -+DBusGMainLoop(set_as_default=True) -+ - from setroubleshoot.config import parse_config_setting, get_config - domain = get_config('general', 'i18n_text_domain') - kwargs = {} --- -2.23.0 - diff --git a/0002-Limit-RPC-request-size-in-RequestReceiver-to-prevent.patch b/0002-Limit-RPC-request-size-in-RequestReceiver-to-prevent.patch new file mode 100644 index 0000000..b327aac --- /dev/null +++ b/0002-Limit-RPC-request-size-in-RequestReceiver-to-prevent.patch @@ -0,0 +1,80 @@ +From 4ffb87384c1c104f14db183b26d445c1685fb053 Mon Sep 17 00:00:00 2001 +From: Vit Mojzis +Date: Mon, 27 Jul 2026 17:06:52 +0200 +Subject: [PATCH] Limit RPC request size in RequestReceiver to prevent memory + exhaustion +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +A local attacker could connect to the world-writable setroubleshootd +UNIX socket and send a crafted RPC header with an arbitrarily large +content-length value, then continuously stream body data. Because +RequestReceiver.feed() appended incoming data to feed_buf without any +upper bound and parse_header() trusted the content-length value +directly, memory usage would grow until the daemon was OOM-killed by +the MemoryMax=1G cgroup limit. + +Add size limits at three levels: +- Reject content-length values that are missing, negative, or exceed + MAX_BODY_LEN (1 MiB) in parse_header() +- Reject incomplete headers once feed_buf exceeds MAX_HEADER_LEN + (8 KiB) without a terminator in process() +- Cap total feed_buf size to MAX_HEADER_LEN + MAX_BODY_LEN in feed() + as a catch-all safety net + +All ValueError exceptions propagate to the existing except handler in +handle_client_io(), which logs the error and closes only the offending +client connection — the daemon continues serving other clients. + +Co-Authored-By: Claude Opus 4.6 +--- + src/setroubleshoot/rpc.py | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/setroubleshoot/rpc.py b/src/setroubleshoot/rpc.py +index 2a874ae..aca2d7e 100755 +--- a/src/setroubleshoot/rpc.py ++++ b/src/setroubleshoot/rpc.py +@@ -710,6 +710,8 @@ class ListeningServer(ConnectionIO): + + + class RequestReceiver: ++ MAX_HEADER_LEN = 8192 ++ MAX_BODY_LEN = 1024 * 1024 + + def __init__(self, dispatchFunc): + self.dispatchFunc = dispatchFunc +@@ -736,6 +738,8 @@ class RequestReceiver: + self.parse_header() + continue + else: ++ if len(self.feed_buf) > self.MAX_HEADER_LEN: ++ raise ValueError("RPC header too large") + # Can't read header till more data arrives + break + if len(self.feed_buf) >= self.headerLen + self.bodyLen: +@@ -754,6 +758,8 @@ class RequestReceiver: + + def feed(self, data): + self.feed_buf += data ++ if len(self.feed_buf) > self.MAX_HEADER_LEN + self.MAX_BODY_LEN: ++ raise ValueError("RPC request exceeds maximum allowed size") + self.process() + + def parse_header(self): +@@ -768,7 +774,11 @@ class RequestReceiver: + begin = match.end() + else: + break ++ if 'content-length' not in self.header: ++ raise ValueError("RPC request missing content-length") + self.bodyLen = int(self.header['content-length']) ++ if self.bodyLen < 0 or self.bodyLen > self.MAX_BODY_LEN: ++ raise ValueError("RPC body length out of range") + + #----------------------------------------------------------------------------- + +-- +2.53.0 + diff --git a/README.translations b/README.translations index 791937a..fb75de9 100644 --- a/README.translations +++ b/README.translations @@ -1,29 +1,47 @@ Setroubleshoot translations currently live in the following locations: -- https://fedora.zanata.org/project/view/setroubleshoot - - contains translations for both stable (RHEL) and master (Fedora) branches +- https://translate.fedoraproject.org/projects/setroubleshoot/ + - contains translations for both stable (rhel8) and main (Fedora) branches - maintains large number of languages (several of which do not actually contain any translated strings) - updated by community and partially by RH localization effort -- setroubleshoot source repositories (https://pagure.io/setroubleshoot and https://github.com/fedora-selinux/setroubleshoot) - - is kept up-to-date with fedora.zanata +- setroubleshoot source repositories + - https://gitlab.com/setroubleshoot + - used for development + - separate repos for plugins and framework + - https://pagure.io/setroubleshoot and https://github.com/fedora-selinux/setroubleshoot + - no longer updated + - plugins and framework in the same repo -How to update source files on fedora.zanata: - $ git clone git@github.com:fedora-selinux/setroubleshoot.git - $ cd setroubleshoot/framework - # Update Makefile +How to update source files on weblate: + # install dependencies + $ sudo dnf install automake autoconf inittool gettext glib2-devel dbus-devel libnotify-devel gtk3-devel audit-libs-devel + $ git clone git@gitlab.com:setroubleshoot/framework.git + $ git clone git@gitlab.com:setroubleshoot/plugins.git + $ cd framework + # Update Makefile $ ./autogen.sh - # generate new potfile + # generate new potfile $ cd po $ make setroubleshoot.pot - # Repeat the process for plugins - # Push potfiles to zanata - $ zanata-cli push --push-type source + # https://translate.fedoraproject.org/projects/setroubleshoot/setroubleshoot/en/ + # Files -> Upload translations + # Repeat the process for plugins + # https://translate.fedoraproject.org/projects/setroubleshoot/plugins/en/ + # Files -> Upload translations + # or use weblate command line tool: + $ wlc --key --url https://translate.fedoraproject.org/api/ upload --input framework/po/setroubleshoot.pot setroubleshoot/setroubleshoot/en + $ wlc --key --url https://translate.fedoraproject.org/api/ upload --input plugins/po/setroubleshoot.pot setroubleshoot/plugins/en/ -How to pull new translations from zanata - $ git clone git@github.com:fedora-selinux/setroubleshoot.git - $ cd setroubleshoot - # Make sure "zanata.xml" file pointing to corresponding translations branch is present - # Optionally update source files on zanata - # Pull new translations from zanata - $ zanata-cli -e pull --pull-type trans \ No newline at end of file +How to pull new translations from weblate + $ git clone git@gitlab.com:setroubleshoot/framework.git + $ git clone git@gitlab.com:setroubleshoot/plugins.git + # https://translate.fedoraproject.org/projects/setroubleshoot/setroubleshoot + # Files -> Download translation files as ZIP file + # https://translate.fedoraproject.org/projects/setroubleshoot/plugins/ + # Files -> Download translation files as ZIP file + $ unzip setroubleshoot-setroubleshoot.zip + $ cp setroubleshoot/setroubleshoot/framework/po/*.po /framework/po + $ unzip setroubleshoot-plugins.zip + $ cp setroubleshoot/plugins/plugins/po/*.po /plugins/po + # wlc doesn't support batch download yet https://github.com/WeblateOrg/wlc/issues/17 diff --git a/plans/tests.fmf b/plans/tests.fmf new file mode 100644 index 0000000..68d698b --- /dev/null +++ b/plans/tests.fmf @@ -0,0 +1,8 @@ +summary: Tier 1 setroubleshoot test plan +discover: + how: fmf + url: https://gitlab.com/setroubleshoot/tests.git + filter: "component:setroubleshoot & tier: 1" +execute: + how: tmt + diff --git a/setroubleshoot-po.patch b/setroubleshoot-po.patch deleted file mode 100644 index 0e508b3..0000000 --- a/setroubleshoot-po.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up setroubleshoot-3.2.14/po/bn_IN.po~ setroubleshoot-3.2.14/po/bn_IN.po ---- setroubleshoot-3.2.14/po/bn_IN.po~ 2013-11-20 10:01:40.717181224 -0500 -+++ setroubleshoot-3.2.14/po/bn_IN.po 2013-11-20 10:02:47.154195170 -0500 -@@ -165,9 +165,7 @@ msgstr "উৎসের প্রক্ - - #: ../src/browser.py:269 - msgid "Attempted Access" --msgstr "" --"\n" --"ব্যবহারের প্রয়াস\n" -+msgstr "ব্যবহারের প্রয়াস" - - #: ../src/browser.py:269 - msgid "On this" -@@ -222,9 +220,8 @@ msgstr "" - msgid "" - "Report\n" - "Bug" --msgstr "" --"বাগ সম্পর্কে\n" --"সূচিত করুন\n" -+msgstr "বাগ সম্পর্কে\n" -+"সূচিত করুন" - - #: ../src/browser.py:543 - #, python-format diff --git a/setroubleshoot.init b/setroubleshoot.init deleted file mode 100755 index 53762db..0000000 --- a/setroubleshoot.init +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/bash -# -# setroubleshoot This starts and stops setroubleshoot daemon -# -# chkconfig: 345 13 87 -# description: This starts the SELinux Troubleshooting Daemon -# -# processname: /usr/sbin/setroubleshootd -# config: /etc/setroubleshoot/setroubleshoot.cfg -# pidfile: /var/run/setroubleshoot.pid -# - -### BEGIN INIT INFO -# Provides: lsb-setroubleshootd -# Required-Start: $local_fs $syslog $network $named $messagebus -# Required-Stop: $local_fs $syslog $network $named $messagebus -# Default-Start: 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: start and stop SELinux Troubleshooting Daemon -# Description: controls operation of the SELinux Troubleshooting Daemon -# (setroubleshootd) which listens for SELinux AVC denial messages -# analyzes it and provides a friendly interpretation. -### END INIT INFO - -# Return values according to LSB for all commands but status: -# 0 success -# 1 generic or unspecified error (current practice) -# 2 invalid or excess argument(s) -# 3 unimplemented feature (for example, "reload") -# 4 user had insufficient privilege -# 5 program is not installed -# 6 program is not configured -# 7 program is not running - -# Command argument -# start start the service -# stop stop the service -# restart stop and restart the service if the service is already running, otherwise start the service -# try-restart restart the service if the service is already running -# reload cause the configuration of the service to be reloaded without actually stopping and restarting the service -# force-reload cause the configuration to be reloaded if the service supports this, otherwise restart the service if it is running -# status print the current status of the service - -# start, stop, restart, force-reload, and status actions must be supported -# reload and the try-restart actions are optional. -# the init script. - -PATH=/sbin:/bin:/usr/bin:/usr/sbin - -# Source function library. -. /etc/init.d/functions - -RETVAL=0 -prog="setroubleshootd" - -usage(){ - echo $"Usage: $0 {start|stop|status|restart|try-restart|condrestart|reload|force-reload|cleardb [test][verbose]}" -} - -command=$1 -shift - -[ $command ] || (usage; exit 3) - -# look for extra options -while [ $# -gt 0 ]; do - arg=$1 - case "$arg" in - test) - EXTRAOPTIONS="$EXTRAOPTIONS -c audit.text_protocol_socket_path=/tmp/audispd_events" - ;; - verbose) - EXTRAOPTIONS="$EXTRAOPTIONS -V" - ;; - *) - echo "unknown arg $arg" - esac - shift -done - -rhstatus(){ - status $prog - RETVAL=$? - return $RETVAL -} - -# Allow status as non-root and also if SELinux is disabled -if [ "$command" = status ]; then - rhstatus - RETVAL=$? - exit $RETVAL -fi - -# Silently exit is SELinux is not enabled -[ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || exit 1 - -# Check that we are root ... so non-root users stop here -if test `id -u` != 0; then - echo "You must be root" - exit 4 -fi - -start(){ - echo -n $"Starting $prog: " - unset HOME MAIL USER USERNAME - daemon $prog "$EXTRAOPTIONS" - RETVAL=$? - echo - if test $RETVAL = 0 ; then - touch /var/lock/subsys/$prog - fi - if test $RETVAL = 3 ; then - echo -n $"Cannot start $prog: SELinux not enabled" - fi - return $RETVAL -} - -stop(){ - echo -n $"Stopping $prog: " - killproc $prog - RETVAL=$? - echo - rm -f /var/lock/subsys/$prog - return $RETVAL -} - -reload(){ - echo -n $"Reloading configuration: " - killproc $prog -HUP - RETVAL=$? - echo - return $RETVAL -} - -restart(){ - stop - start - RETVAL=$? - return $RETVAL -} - -condrestart(){ - [ -e /var/lock/subsys/$prog ] && restart - RETVAL=0 - return $RETVAL -} - -cleardb(){ - running=0 - [ -e /var/lock/subsys/$prog ] && running=1 - [ $running == 1 ] && stop - echo $"Clearing database" - rm -f /var/lib/setroubleshoot/database.xml - rm -f /var/lib/setroubleshoot/audit_listener_database.xml - [ $running == 1 ] && start - RETVAL=0 - return $RETVAL -} - -# See how we were called. -case "$command" in - start) - start - RETVAL=$? - ;; - stop) - stop - RETVAL=$? - ;; - status) - rhstatus - RETVAL=$? - ;; - restart) - restart - RETVAL=$? - ;; - force-reload|reload) - reload - RETVAL=$? - ;; - try-restart|condrestart) - condrestart - RETVAL=$? - ;; - cleardb) - cleardb - RETVAL=$? - ;; - *) - usage - RETVAL=3 -esac - -exit $RETVAL diff --git a/setroubleshoot.spec b/setroubleshoot.spec index 746a819..9d65143 100644 --- a/setroubleshoot.spec +++ b/setroubleshoot.spec @@ -1,24 +1,38 @@ # Disable automatic compilation of Python files in extra directories %global _python_bytecompile_extra 0 +%bcond libreport %{undefined rhel} + Summary: Helps troubleshoot SELinux problems Name: setroubleshoot -Version: 3.3.20 -Release: 2%{?dist} -License: GPLv2+ -URL: https://pagure.io/setroubleshoot -Source0: https://releases.pagure.org/setroubleshoot/%{name}-%{version}.tar.gz +Version: 3.3.37 +Release: 5%{?dist} +License: GPL-2.0-or-later +URL: https://gitlab.com/setroubleshoot/setroubleshoot +Source0: https://gitlab.com/-/project/24478376/uploads/cbdfc2a87b350583c32b168fd9aad9fd/setroubleshoot-3.3.37.tar.gz Source1: %{name}.tmpfiles -Patch1: 0001-Use-dbus.mainloop.glib.DBusGMainLoop-instead-of-dbus.patch +Source2: %{name}.sysusers +# git format-patch -N 3.3.37 -- . ':!src/sedispatch.h' ':!test' +# for j in 00*patch; do printf "Patch: %s\n" $j; done +Patch: 0001-Update-GPL2-license-texts-to-the-latest-version.patch +Patch: 0002-Limit-RPC-request-size-in-RequestReceiver-to-prevent.patch BuildRequires: gcc +BuildRequires: make BuildRequires: libcap-ng-devel -BuildRequires: intltool gettext python3 python3-devel -BuildRequires: desktop-file-utils dbus-glib-devel gtk2-devel libnotify-devel audit-libs-devel libselinux-devel polkit-devel -BuildRequires: python3-libselinux python3-pydbus python3-gobject gtk3-devel -Requires: %{name}-server = %{version}-%{release} +BuildRequires: intltool gettext python3 python3-devel python3-setuptools python3-pip +BuildRequires: (python3-wheel if python3-setuptools < 71) +BuildRequires: desktop-file-utils libnotify-devel libselinux-devel polkit-devel +BuildRequires: audit-libs-devel >= 3.0.1 +BuildRequires: python3-libselinux python3-dasbus python3-gobject gtk3-devel +# for the _tmpfilesdir macro +BuildRequires: systemd-rpm-macros +BuildRequires: git-core +Requires: %{name}-server = %{version}-%{release} Requires: gtk3, libnotify -Requires: libreport-gtk >= 2.2.1-2, python3-libreport -Requires: python3-gobject, python3-pydbus +%if %{with libreport} +Recommends: libreport-gtk >= 2.2.1-2, python3-libreport +%endif +Requires: python3-gobject, python3-dasbus Requires(post): desktop-file-utils Requires(post): dbus Requires(postun): desktop-file-utils @@ -34,7 +48,6 @@ Requires: xdg-utils %global pkgvardatadir %{_localstatedir}/lib/%{name} %global pkgconfigdir %{_sysconfdir}/%{name} %global pkgdatabase %{pkgvardatadir}/setroubleshoot_database.xml -%global username setroubleshoot %description setroubleshoot GUI. Application that allows you to view setroubleshoot-server @@ -48,8 +61,8 @@ to user preference. The same tools can be run on existing log files. %{pkgguidir} %config(noreplace) %{_sysconfdir}/xdg/autostart/* %{_datadir}/applications/*.desktop -%{_datadir}/appdata/*.appdata.xml -%{_datadir}/dbus-1/services/sealert.service +%{_metainfodir}/*.metainfo.xml +%{_datadir}/dbus-1/services/org.fedoraproject.sealert.service %{_datadir}/icons/hicolor/*/*/* %dir %attr(0755,root,root) %{pkgpythondir} %{pkgpythondir}/browser.py @@ -60,14 +73,14 @@ to user preference. The same tools can be run on existing log files. %prep -%autosetup -p 2 +%autosetup -p 1 -S git %build -%configure PYTHON=%{__python3} --enable-seappletlegacy=yes --with-auditpluginsdir=/etc/audit/plugins.d +%configure PYTHON=%{__python3} --enable-seappletlegacy=no --with-auditpluginsdir=/etc/audit/plugins.d make %install -make DESTDIR=%{buildroot} PREFIX=/usr install +%make_install PREFIX=/usr PIP_NO_BUILD_ISOLATION=0 desktop-file-install --vendor="" --dir=%{buildroot}%{_datadir}/applications %{buildroot}/%{_datadir}/applications/%{name}.desktop mkdir -p %{buildroot}%{pkgvardatadir} mkdir -p %{buildroot}%{_rundir}/setroubleshoot @@ -75,7 +88,8 @@ touch %{buildroot}%{pkgdatabase} touch %{buildroot}%{pkgvardatadir}/email_alert_recipients rm -rf %{buildroot}/usr/share/doc/ # create /run/setroubleshoot on boot -install -m644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf +install -p -m644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf +install -p -m644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf %find_lang %{name} @@ -83,21 +97,19 @@ install -m644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf %package server Summary: SELinux troubleshoot server -Requires: %{name}-plugins >= 3.3.10 -Requires: audit >= 3 +Requires: %{name}-plugins >= 3.3.15-7 +Requires: audit >= 3.0.1 Requires: audit-libs-python3 -Requires: libxml2-python3 Requires: rpm-python3 Requires: libselinux-python3 >= 2.1.5-1 Requires: policycoreutils-python-utils BuildRequires: intltool gettext python3 BuildRequires: python3-devel -Requires: python3-slip-dbus systemd-python3 >= 206-1 +Requires: systemd-python3 >= 206-1 Requires: python3-gobject-base >= 3.11 Requires: dbus -Requires: python3-dbus +Requires: python3-dbus python3-dasbus Requires: polkit -Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd %description server Provides tools to help diagnose SELinux problems. When AVC messages @@ -105,23 +117,18 @@ are generated an alert can be generated that will give information about the problem and help track its resolution. Alerts can be configured to user preference. The same tools can be run on existing log files. -%pre server -getent passwd %{username} >/dev/null || useradd -r -U -s /sbin/nologin -d %{pkgvardatadir} %{username} %post server -/sbin/service auditd reload >/dev/null 2>&1 || : +/usr/bin/auditctl --signal reload >/dev/null 2>&1 || : %postun server -/sbin/service auditd reload >/dev/null 2>&1 || : - -%triggerun server -- %{name}-server < 3.2.24-4 -chown -R setroubleshoot:setroubleshoot %{pkgvardatadir} +/usr/bin/auditctl --signal reload >/dev/null 2>&1 || : %files server -f %{name}.lang %{_bindir}/sealert %{_sbindir}/sedispatch %{_sbindir}/setroubleshootd -%{python3_sitelib}/setroubleshoot*.egg-info +%{python3_sitelib}/setroubleshoot*.dist-info %dir %attr(0755,root,root) %{pkgconfigdir} %dir %{pkgpythondir} %dir %{pkgpythondir}/__pycache__ @@ -163,41 +170,301 @@ chown -R setroubleshoot:setroubleshoot %{pkgvardatadir} %{pkgpythondir}/__pycache__/xml_serialize.cpython* %dir %{pkgdatadir} %{pkgdatadir}/SetroubleshootFixit.py -%{pkgdatadir}/updater.py +%{pkgdatadir}/SetroubleshootPrivileged.py %config(noreplace) %{pkgconfigdir}/%{name}.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.fedoraproject.Setroubleshootd.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.fedoraproject.SetroubleshootPrivileged.conf %attr(0700,setroubleshoot,setroubleshoot) %dir %{pkgvardatadir} %ghost %attr(0600,setroubleshoot,setroubleshoot) %{pkgdatabase} -%ghost %attr(0644,setroubleshoot,setroubleshoot) %{pkgvardatadir}/email_alert_recipients -%{_mandir}/man1/seapplet.1.gz -%{_mandir}/man8/sealert.8.gz -%{_mandir}/man8/sedispatch.8.gz -%{_mandir}/man8/setroubleshootd.8.gz +%ghost %attr(0600,setroubleshoot,setroubleshoot) %{pkgvardatadir}/email_alert_recipients +%{_mandir}/man1/seapplet.1* +%{_mandir}/man8/sealert.8* +%{_mandir}/man8/sedispatch.8* +%{_mandir}/man8/setroubleshootd.8* %config /etc/audit/plugins.d/sedispatch.conf +%{_unitdir}/setroubleshootd.service %{_datadir}/dbus-1/system-services/org.fedoraproject.Setroubleshootd.service +%{_datadir}/dbus-1/system-services/org.fedoraproject.SetroubleshootPrivileged.service %{_datadir}/polkit-1/actions/org.fedoraproject.setroubleshootfixit.policy %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.fedoraproject.SetroubleshootFixit.conf %{_datadir}/dbus-1/system-services/org.fedoraproject.SetroubleshootFixit.service %attr(0644,root,root) %{_tmpfilesdir}/%{name}.conf +%attr(0644,root,root) %{_sysusersdir}/%{name}.conf %attr(0711,setroubleshoot,setroubleshoot) %dir %{_rundir}/setroubleshoot %doc AUTHORS COPYING ChangeLog DBUS.md NEWS README TODO -%package legacy -Summary: SELinux troubleshoot legacy applet - -Requires: gtk2 -Requires: %{name} = %{version}-%{release} - -%description legacy -SELinux troubleshoot legacy applet - -%files legacy -%{_bindir}/seappletlegacy - %changelog -* Tue Aug 27 2019 Petr Lautrbach - 3.3.20-2 +* Wed Jul 29 2026 Vit Mojzis - 3.3.37-5 +- Update GPL2 license texts to the latest version +- Limit RPC request size in RequestReceiver to prevent memory exhaustion + +* Wed Jul 22 2026 Python Maint - 3.3.37-4 +- Rebuilt for Python 3.15.0b4 ABI change + +* Fri Jul 17 2026 Fedora Release Engineering - 3.3.37-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Tue Jul 14 2026 Ondrej Mosnáček - 3.3.37-2 +- Remove the obsolete libxml2-python3 dependency + +* Thu Jun 18 2026 Vit Mojzis - 3.3.37-1 +- Migrate from libxml2 to xml.etree.ElementTree +- Handle ImportError when setroubleshoot.browser is not available +- Add support for multiple commands in fix_cmd + +* Wed Jun 03 2026 Python Maint - 3.3.36-4 +- Rebuilt for Python 3.15 + +* Sat Jan 17 2026 Fedora Release Engineering - 3.3.36-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Thu Dec 11 2025 Vit Mojzis - 3.3.36-2 +- browser: Always show "Report Bug" button +- Switch libreport to a weak dependency + +* Wed Dec 10 2025 Petr Lautrbach - 3.3.36-1 +- audit_data: include syslog when needed +- Rename appdata to metainfo +- Replace python-six with python 3 only code + +* Fri Sep 19 2025 Python Maint - 3.3.35-10 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 3.3.35-9 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Tue Jul 29 2025 Miro Hrončok - 3.3.35-8 +- Drop unused BuildRequires on python3-wheel + +* Fri Jul 25 2025 Fedora Release Engineering - 3.3.35-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 03 2025 Python Maint - 3.3.35-6 +- Rebuilt for Python 3.14 + +* Mon May 19 2025 Petr Lautrbach - 3.3.35-5 +- Reload auditd using auditctl instead of service +- Drop dependency on initscripts-service +Resolves: rhbz#2365614 + +* Mon Mar 03 2025 Petr Lautrbach - 3.3.35-4 +- Update tmpfiles.d config (bz#2346971) + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 3.3.35-3 +- Drop call to %sysusers_create_compat + +* Sun Jan 19 2025 Fedora Release Engineering - 3.3.35-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Nov 26 2024 Petr Lautrbach - 3.3.35-1 +- Do not hardcode /var/lib/selinux as store_root + +* Fri Nov 15 2024 Petr Lautrbach - 3.3.34-2 +- Do not hardcode /var/lib/selinux as store_root +- Fix icon file name (bz#2300369) + +* Mon Nov 04 2024 Petr Lautrbach - 3.3.34-1 +- data: update app icon +- Disable bug reporting, if libreport is not available +- Enable Georgian and Arabic (ar) languages in configure.ac +- Update translations + +* Wed Aug 21 2024 Michal Srb - 3.3.33-6 +- Disable bug reporting, if libreport is not available +- Resolves: RHEL-52902 + +* Sat Jul 20 2024 Fedora Release Engineering - 3.3.33-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 11 2024 Petr Lautrbach - 3.3.33-4 +- Rebuild with missing icons patches + +* Fri Jun 07 2024 Python Maint - 3.3.33-3 +- Rebuilt for Python 3.13 + +* Mon Jun 03 2024 Petr Lautrbach - 3.3.33-2 +- Ship with contemporary app icon + +* Wed Jan 31 2024 Vit Mojzis - 3.3.33-1 +- Check that SELinux is enabled before running (rhbz#2178950) +- Improve limiting RAM utilization + +* Sat Jan 27 2024 Fedora Release Engineering - 3.3.32-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jul 25 2023 Petr Lautrbach - 3.3.32-7 +- Always reset pending alarms when alarm(0) (rhbz#2112573) + +* Tue Jul 25 2023 Petr Lautrbach - 3.3.32-6 +- 'imp' module is deprecated in favor of 'importlib' (rhbz#2224393) + +* Sat Jul 22 2023 Fedora Release Engineering - 3.3.32-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 15 2023 Python Maint - 3.3.32-4 +- Rebuilt for Python 3.12 + +* Fri May 26 2023 Miro Hrončok - 3.3.32-3 +- Fix build with pip 23.1.2+ +- Fixes: rhbz#2209022 + +* Mon May 15 2023 Tomas Popela - 3.3.32-2 +- Remove dbus-glib-devel BR as it's only needed when compiled with seappletlegacy + +* Wed Feb 15 2023 Petr Lautrbach - 3.3.32-1 +- Rename session bus name to org.fedoraproject.sealert +- seapplet: wrap SEApplet() to try except +- util.py: Add doctext test for build_module_type_cache() +- Update translations + +* Sat Jan 21 2023 Fedora Release Engineering - 3.3.31-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Nov 23 2022 Petr Lautrbach - 3.3.31-1 +- Add a screen reader label to the icon +- seapplet: avoid ValueError when parsing sealert.conf +- doc: Document performance related changes +- Decrease setroubleshootd priority and limit RAM utilization to 1GB +- Use setup from setuptools +- Use `pip install` instead of `setup.py install` + +* Sat Jul 23 2022 Fedora Release Engineering - 3.3.30-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jun 28 2022 Petr Lautrbach - 3.3.30-1 + - Miscellaneous python and build system changes + - Fix couple of typos + - Drop Python2 support + - Use inspect.signature() instead of instead.getargspec() + - Update translations + +* Mon Jun 13 2022 Python Maint - 3.3.29-2 +- Rebuilt for Python 3.11 + +* Wed Mar 30 2022 Petr Lautrbach - 3.3.29-1 +- Introduce email.use_sendmail option +- Update translations + +* Wed Feb 09 2022 Timothée Ravier - 3.3.28-3 +- Install systemd-sysusers config +- Remove Requires(pre) useradd & groupadd + +* Tue Feb 8 2022 Petr Lautrbach - 3.3.28-2 +- Use %sysusers_create_compat instead of useradd +- Set right ownership on /var/lib/setroubleshoot + +* Tue Feb 8 2022 Petr Lautrbach - 3.3.28-1 +- Look for modules in /usr/share/selinux/packages +- Always use rpm source package for reporting +- Improve after_first email filter behavior + +* Wed Jan 19 2022 Petr Lautrbach - 3.3.27-2 +- Improve DSP module reporting +- Require initscripts-service - /sbin/service + +* Thu Jan 13 2022 Petr Lautrbach - 3.3.27-1 +- sedispatch: check read_size +- SafeConfigParser is deprecated and will be dropped +- Fix typos in --help, man pages and developer's guide +- Update translations + +* Tue Jul 27 2021 Petr Lautrbach - 3.3.26-5 +- Improve sedispatch performance +- Improve Python 3.10 compatibility + https://pagure.io/setroubleshoot/issue/58 + +* Fri Jul 23 2021 Fedora Release Engineering - 3.3.26-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jul 2 2021 Petr Lautrbach - 3.3.26-3 +- Fix file mode of email_alert_recipients + +* Fri Jun 04 2021 Python Maint - 3.3.26-2 +- Rebuilt for Python 3.10 + +* Thu Apr 15 2021 Petr Lautrbach - 3.3.26-1 +- Fix plugin exception reporting +- Update translations +- Stop SetroubleshootFixit after 10 seconds of inactivity +- Do not use Python slip package + +* Wed Mar 10 2021 Petr Lautrbach - 3.3.25-1 +- Use Python dasbus instead of pydbus +- Optimize get_rpm_nvr_by_type by adding a cache +- Update translations + +* Tue Feb 02 2021 Vit Mojzis - 3.3.24-4 +- sealert: exit on any connection close + +* Wed Jan 27 2021 Fedora Release Engineering - 3.3.24-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Jan 16 2021 Vit Mojzis - 3.3.24-2 +- framework/util: optimize get_rpm_nvr_by_type by adding a cache +- Stop building seappletlegacy + +* Tue Oct 13 2020 Petr Lautrbach - 3.3.24-1 + - Add 'fur' into shipped locales + - Update translations + - Log full reports with correct syslog identifier + - Cancel pending alarm during AVC analyses + +* Sat Aug 01 2020 Fedora Release Engineering - 3.3.23-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 3.3.23-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Tom Stellard - 3.3.23-3 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Tue May 26 2020 Miro Hrončok - 3.3.23-2 +- Rebuilt for Python 3.9 + +* Tue Apr 21 2020 Vit Mojzis - 3.3.23-1 +- browser: Check return value of Gdk.Screen().get_default() +- Improve and unify error messages +- setroubleshoot.util: Catch exceptions from sepolicy import +- Add dpkg support +- Do not refer to hardcoded selinux-policy rpm in signature +- Make date/time format locale specific +- Improve speed of plugin evaluation + +* Wed Mar 4 2020 Petr Lautrbach - 3.3.22-6 +- Do not try to report a bug on None package (#1809801) + +* Fri Feb 28 2020 Petr Lautrbach - 3.3.22-5 +- root user doesn't need to use SetroubleshootPrivileged API + +* Thu Feb 27 2020 Petr Lautrbach - 3.3.22-4 +- sealert to report a bug on a package which owns the related SELinux domain + https://pagure.io/setroubleshoot/issue/18 + +* Thu Jan 30 2020 Fedora Release Engineering - 3.3.22-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 11 2020 Petr Lautrbach - 3.3.22-2 +- Log plugin exception traceback when log level is DEBUG +- sepolicy.info() returns a generator, not a list (#1784564) + +* Thu Jan 2 2020 Petr Lautrbach - 3.3.22-1 +- sepolicy.info() returns a generator, not a list (#1784564) + +* Wed Dec 11 2019 Vit Mojzis - 3.3.21-1 +- Fix AVC.__typeMatch to handle aliases properly +- Handle sockets with abstract path properly (#1775135) + +* Thu Oct 03 2019 Miro Hrončok - 3.3.20-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Tue Aug 27 2019 Petr Lautrbach - 3.3.20-3 - Use dbus.mainloop.glib.DBusGMainLoop() instead of dbus.glib +* Mon Aug 19 2019 Miro Hrončok - 3.3.20-2 +- Rebuilt for Python 3.8 + * Wed Jul 17 2019 Vit Mojzis - 3.3.20-1 - Update "missing" scripts to automake-1.15 - Add active polling for acquiring policy file @@ -206,6 +473,9 @@ SELinux troubleshoot legacy applet - Add man page for seapplet - setroubleshoot-server: only require gobject-base +* Sat Feb 02 2019 Fedora Release Engineering - 3.3.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sat Dec 8 2018 Petr Lautrbach - 3.3.19-1 - Require plugins >= 3.3.10 diff --git a/setroubleshoot.sysusers b/setroubleshoot.sysusers new file mode 100644 index 0000000..59e8048 --- /dev/null +++ b/setroubleshoot.sysusers @@ -0,0 +1 @@ +u setroubleshoot - "SELinux troubleshoot server" /var/lib/setroubleshoot diff --git a/setroubleshoot.tmpfiles b/setroubleshoot.tmpfiles index 8f68570..a2ca6c4 100644 --- a/setroubleshoot.tmpfiles +++ b/setroubleshoot.tmpfiles @@ -1 +1,3 @@ d /run/setroubleshoot 711 setroubleshoot setroubleshoot - +d /var/lib/setroubleshoot 700 setroubleshoot setroubleshoot - +Z /var/lib/setroubleshoot - setroubleshoot setroubleshoot - diff --git a/sources b/sources index a086171..6718e7e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (setroubleshoot-3.3.20.tar.gz) = e70e2efba8048133c2f3177038f706982532a11d3e6e9957437d94cfe1ddbfb3d8a5d05041ac3d5dc7e00b7f29613216ae5c302ad75f5b6d7c5a4de91b080aa5 +SHA512 (setroubleshoot-3.3.37.tar.gz) = 8b67b28c2e2d2f766c00723f2a67e82fc43079a9a5868c4598f80331bb12ae0e94749cd68fedc718462ae9203e5b9d363033902c699f597a79865d6d31df61cd