diff --git a/.gitignore b/.gitignore index 16cc618..65523bb 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,6 @@ abrt-1.1.13.tar.gz /abrt-2.14.0.tar.gz /abrt-2.14.1.tar.gz /abrt-2.14.2.tar.gz +/abrt-2.14.4.tar.gz +/abrt-2.14.5.tar.gz +/abrt-2.14.6.tar.gz diff --git a/0001-applet-Pass-instance-pointer-to-signal-handler.patch b/0001-applet-Pass-instance-pointer-to-signal-handler.patch deleted file mode 100644 index 9010657..0000000 --- a/0001-applet-Pass-instance-pointer-to-signal-handler.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5618985d3d7f830ebba0ef78e2ee6d3d6f9f6c55 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Fri, 15 May 2020 15:49:59 +0200 -Subject: [PATCH] applet: Pass instance pointer to signal handler - -Some fallout from 802a40a2f7c971b6533162e70b860e01ae3b5a27. - -https://bugzilla.redhat.com/show_bug.cgi?id=1836190 ---- - src/applet/abrt-applet-application.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c -index d982c9f9..8ea653bb 100644 ---- a/src/applet/abrt-applet-application.c -+++ b/src/applet/abrt-applet-application.c -@@ -177,7 +177,7 @@ abrt_applet_application_init (AbrtAppletApplication *self) - g_signal_connect (network_monitor, "notify::connectivity", - G_CALLBACK (on_connectivity_changed), self); - g_signal_connect (network_monitor, "notify::network-available", -- G_CALLBACK (on_connectivity_changed), NULL); -+ G_CALLBACK (on_connectivity_changed), self); - - self->deferred_problems = g_ptr_array_new_with_free_func (g_object_unref); - } --- -2.26.2 - diff --git a/0001-hooklib-Don-t-g_autofree-backtrace.patch b/0001-hooklib-Don-t-g_autofree-backtrace.patch new file mode 100644 index 0000000..1225177 --- /dev/null +++ b/0001-hooklib-Don-t-g_autofree-backtrace.patch @@ -0,0 +1,40 @@ +From 1f2963b0611d4023957abe3c7391eab86256ba82 Mon Sep 17 00:00:00 2001 +From: Michal Fabik +Date: Wed, 23 Sep 2020 16:55:25 +0200 +Subject: [PATCH] hooklib: Don't g_autofree backtrace + +The result of abrt_get_backtrace was being freed every time, even when +no error occured. + +Resolves: +https://github.com/abrt/abrt/issues/1528 +https://bugzilla.redhat.com/show_bug.cgi?id=1881745 +Signed-off-by: Michal Fabik +--- + src/lib/hooklib.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c +index dceaeb16..56b77bc3 100644 +--- a/src/lib/hooklib.c ++++ b/src/lib/hooklib.c +@@ -348,7 +348,7 @@ char *abrt_get_backtrace(struct dump_dir *dd, unsigned timeout_sec, const char * + unsigned bt_depth = 1024; + const char *thread_apply_all = "thread apply all -ascending"; + const char *full = "full "; +- g_autofree char *bt = NULL; ++ char *bt = NULL; + while (1) + { + args[bt_cmd_index] = g_strdup_printf("%s backtrace %s%u", thread_apply_all, full, bt_depth); +@@ -367,6 +367,7 @@ char *abrt_get_backtrace(struct dump_dir *dd, unsigned timeout_sec, const char * + /* (NB: in fact, current impl. of exec_vp() never returns NULL) */ + log_warning("Failed to generate backtrace, reducing depth to %u", + bt_depth); ++ free(bt); + + /* Replace -ex disassemble (which disasms entire function $pc points to) + * to a version which analyzes limited, small patch of code around $pc. +-- +2.26.2 + diff --git a/0002-applet-Chain-up-in-dispose.patch b/0002-applet-Chain-up-in-dispose.patch deleted file mode 100644 index 7d749e1..0000000 --- a/0002-applet-Chain-up-in-dispose.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b08e7cbd26704b0a5400fdfab1f3f2e3922b102f Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Fri, 15 May 2020 15:50:50 +0200 -Subject: [PATCH] applet: Chain up in dispose() - -Also something missed in 802a40a2f7c971b6533162e70b860e01ae3b5a27. ---- - src/applet/abrt-applet-application.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c -index 8ea653bb..52ed5529 100644 ---- a/src/applet/abrt-applet-application.c -+++ b/src/applet/abrt-applet-application.c -@@ -985,6 +985,8 @@ abrt_applet_application_dispose (GObject *object) - self = ABRT_APPLET_APPLICATION (object); - - g_clear_pointer (&self->deferred_problems, g_ptr_array_unref); -+ -+ G_OBJECT_CLASS (abrt_applet_application_parent_class)->dispose (object); - } - - static void --- -2.26.2 - diff --git a/0002-hooklib-Proper-freeing-of-backtrace.patch b/0002-hooklib-Proper-freeing-of-backtrace.patch new file mode 100644 index 0000000..a9ded17 --- /dev/null +++ b/0002-hooklib-Proper-freeing-of-backtrace.patch @@ -0,0 +1,40 @@ +From 5fa7b1f84fb02ca5dcf50d27f4bc14563c1918f6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= +Date: Mon, 12 Oct 2020 19:14:03 +0200 +Subject: [PATCH] hooklib: Proper freeing of backtrace + +Improper bracing caused the bt variable to be freed every time in every +iteration no matter what. This would then lead to an invalid (freed) +pointer being returned by the function. + +The mistake was made in 1f2963b0 and reported by Jeff Law. +--- + src/lib/hooklib.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c +index 56b77bc3..fc2a6a00 100644 +--- a/src/lib/hooklib.c ++++ b/src/lib/hooklib.c +@@ -361,13 +361,17 @@ char *abrt_get_backtrace(struct dump_dir *dd, unsigned timeout_sec, const char * + + bt_depth /= 2; + if (bt) ++ { + log_warning("Backtrace is too big (%u bytes), reducing depth to %u", + (unsigned)strlen(bt), bt_depth); ++ } + else ++ { + /* (NB: in fact, current impl. of exec_vp() never returns NULL) */ + log_warning("Failed to generate backtrace, reducing depth to %u", + bt_depth); +- free(bt); ++ g_clear_pointer(&bt, free); ++ } + + /* Replace -ex disassemble (which disasms entire function $pc points to) + * to a version which analyzes limited, small patch of code around $pc. +-- +2.26.2 + diff --git a/0003-applet-application-Fix-crash-when-processing-deferre.patch b/0003-applet-application-Fix-crash-when-processing-deferre.patch deleted file mode 100644 index 1cb1394..0000000 --- a/0003-applet-application-Fix-crash-when-processing-deferre.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b28fcc053db224c11f1f88d2885eba88d60a7322 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Tue, 28 Jul 2020 15:39:43 +0200 -Subject: [PATCH] applet: application: Fix crash when processing deferred - -Currently, when processing the deferred problems, if reporting fails, -the problem is re-added to the queue, but the object is not -re-referenced, leading to invalid reads later on. ---- - src/applet/abrt-applet-application.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c -index 28e55135..4716524b 100644 ---- a/src/applet/abrt-applet-application.c -+++ b/src/applet/abrt-applet-application.c -@@ -771,11 +771,9 @@ handle_event_output_cb (GIOChannel *gio, - gpointer data) - { - EventProcessingState *state; -- AbrtAppletProblemInfo *problem_info; - int status; - - state = data; -- problem_info = state->problem_info; - - /* Read streamed data and split lines */ - for (;;) -@@ -836,21 +834,23 @@ handle_event_output_cb (GIOChannel *gio, - - if (WIFEXITED (status) && WEXITSTATUS (status) == EXIT_STOP_EVENT_RUN) - { -- abrt_applet_problem_info_set_known (problem_info, true); -+ abrt_applet_problem_info_set_known (state->problem_info, true); - status = 0; - } - - if (status == 0) - { -- abrt_applet_problem_info_set_reported (problem_info, true); -+ abrt_applet_problem_info_set_reported (state->problem_info, true); - - log_debug ("fast report finished successfully"); -- abrt_applet_application_send_problem_notification (state->application, problem_info); -+ abrt_applet_application_send_problem_notification (state->application, -+ state->problem_info); - } - else - { - log_debug ("fast report failed, deferring"); -- g_ptr_array_add (state->application->deferred_problems, problem_info); -+ g_ptr_array_add (state->application->deferred_problems, -+ g_steal_pointer (&state->problem_info)); - } - - event_processing_state_free (state); --- -2.26.2 - diff --git a/abrt.spec b/abrt.spec index 14c4988..c7cc216 100644 --- a/abrt.spec +++ b/abrt.spec @@ -43,21 +43,17 @@ %define docdirversion -%{version} %endif -%define libreport_ver 2.13.0 +%define libreport_ver 2.14.0 %define satyr_ver 0.24 Summary: Automatic bug detection and reporting tool Name: abrt -Version: 2.14.2 -Release: 5%{?dist} +Version: 2.14.6 +Release: 3%{?dist} License: GPLv2+ URL: https://abrt.readthedocs.org/ Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz -Patch0: 0001-applet-Pass-instance-pointer-to-signal-handler.patch -Patch1: 0002-applet-Chain-up-in-dispose.patch -Patch2: 0003-applet-application-Fix-crash-when-processing-deferre.patch - BuildRequires: git-core BuildRequires: %{dbus_devel} BuildRequires: hostname @@ -67,6 +63,7 @@ BuildRequires: rpm-devel >= 4.6 BuildRequires: desktop-file-utils BuildRequires: libnotify-devel #why? BuildRequires: file-devel +BuildRequires: make BuildRequires: gettext BuildRequires: libxml2-devel BuildRequires: intltool @@ -83,6 +80,7 @@ BuildRequires: libselinux-devel BuildRequires: python3-devel BuildRequires: python3-systemd BuildRequires: python3-argcomplete +BuildRequires: python3-dbus %endif Requires: libreport >= %{libreport_ver} @@ -106,12 +104,11 @@ Requires: python3-dbus Requires: dmidecode %endif Requires: libreport-plugin-ureport -%if 0%{?rhel} -Requires: libreport-plugin-rhtsupport -%endif %if 0%{?fedora} Requires: libreport-plugin-systemd-journal %endif +# to fix upgrade path abrt-plugin-sosreport was removed in the previous commit. +Obsoletes: abrt-plugin-sosreport < 2.14.5 #gui BuildRequires: libreport-gtk-devel >= %{libreport_ver} @@ -274,7 +271,8 @@ Summary: %{name}'s pstore oops addon Requires: %{name} = %{version}-%{release} Requires: abrt-libs = %{version}-%{release} Requires: abrt-addon-kerneloops -Obsoletes: abrt-addon-uefioops +Obsoletes: abrt-addon-uefioops <= 2.1.6 +Provides: abrt-addon-uefioops = %{version}-%{release} %description addon-pstoreoops This package contains plugin for collecting kernel oopses from pstore storage. @@ -283,7 +281,7 @@ This package contains plugin for collecting kernel oopses from pstore storage. %package plugin-bodhi Summary: %{name}'s bodhi plugin Requires: %{name} = %{version}-%{release} -Obsoletes: libreport-plugin-bodhi > 0.0.1 +Obsoletes: libreport-plugin-bodhi <= 2.0.10 Provides: libreport-plugin-bodhi = %{version}-%{release} %description plugin-bodhi @@ -312,15 +310,6 @@ This package contains python 3 hook and handling uncaught exception in python 3 programs in container. %endif -%package plugin-sosreport -Summary: %{name}'s plugin for building automatic sosreports -Requires: sos >= 3.6 -Requires: %{name} = %{version}-%{release} - -%description plugin-sosreport -This package contains a configuration snippet to enable automatic generation -of sosreports for abrt events. - %package plugin-machine-id Summary: %{name}'s plugin to generate machine_id based off dmidecode Requires: %{name} = %{version}-%{release} @@ -360,10 +349,7 @@ Requires: abrt-addon-ccpp Requires: python3-abrt-addon %endif Requires: abrt-addon-xorg -%if 0%{?rhel} -Requires: libreport-rhel >= %{libreport_ver} -Requires: libreport-plugin-rhtsupport >= %{libreport_ver} -%else +%if ! 0%{?rhel} %if %{with retrace} Requires: abrt-retrace-client %endif @@ -403,10 +389,7 @@ Requires: abrt-addon-xorg Requires: gdb-headless Requires: abrt-gui Requires: gnome-abrt -%if 0%{?rhel} -Requires: libreport-rhel >= %{libreport_ver} -Requires: libreport-plugin-rhtsupport >= %{libreport_ver} -%else +%if ! 0%{?rhel} %if %{with retrace} Requires: abrt-retrace-client %endif @@ -489,7 +472,7 @@ to the shell %build -autoconf +./autogen.sh %define default_dump_dir %{_localstatedir}/spool/abrt @@ -506,9 +489,6 @@ CFLAGS="%{optflags} -Werror" %configure \ %if %{without retrace} --without-retrace \ %endif -%if 0%{?rhel} - --enable-authenticated-autoreporting \ -%endif %ifnarch %{arm} --enable-native-unwinder \ %endif @@ -559,8 +539,7 @@ rm -f %{buildroot}%{_infodir}/dir %check make check|| { # find and print the logs of failed test - # do not cat tests/testsuite.log because it contains a lot of bloat - find tests/testsuite.dir -name "testsuite.log" -print -exec cat '{}' \; + find src -name "test-suite.log" -print -exec cat '{}' \; exit 1 } @@ -576,10 +555,12 @@ exit 0 %systemd_post abrtd.service %post addon-ccpp -# this is required for transition from 1.1.x to 2.x -# because /cache/abrt-di/* was created under root with root:root -# so 2.x fails when it tries to extract debuginfo there.. -chown -R abrt:abrt %{_localstatedir}/cache/abrt-di +# migration from 2.14.1.18 +if [ ! -e "%{_localstatedir}/cache/abrt-di/.migration-group-add" ]; then + chmod -R g+w %{_localstatedir}/cache/abrt-di + touch "%{_localstatedir}/cache/abrt-di/.migration-group-add" +fi + %systemd_post abrt-journal-core.service %journal_catalog_update @@ -822,8 +803,8 @@ killall abrt-dbus >/dev/null 2>&1 || : %dir %{_localstatedir}/lib/abrt -# attr(6755) ~= SETUID|SETGID -%attr(6755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache +# attr(2755) ~= SETGID +%attr(2755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache %{_bindir}/abrt-action-analyze-c %{_bindir}/abrt-action-trim-files @@ -951,9 +932,6 @@ killall abrt-dbus >/dev/null 2>&1 || : %{python3_sitelib}/__pycache__/abrt_exception_handler3_container.* %endif -%files plugin-sosreport -%config(noreplace) %{_sysconfdir}/libreport/events.d/sosreport_event.conf - %files plugin-machine-id %config(noreplace) %{_sysconfdir}/libreport/events.d/machine-id_event.conf %{_libexecdir}/abrt-action-generate-machine-id @@ -1019,6 +997,61 @@ killall abrt-dbus >/dev/null 2>&1 || : %config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh %changelog +* Tue May 25 2021 Michal Fabik - 2.14.6-1 +- Add support of master + subkeys gpg. +- hooks: Remove stale workaround for a fixed bug +- cli: Gracefully handle disappearance of problem directory +- libs: Add version info script +- retrace-client: Output task ID to console in batch mode +- retrace-client: Separate commands by commas +- Doc: Improve man page for abrt-action-analyze-vulnerability +- Various memory management and other fixes + +* Sat Apr 24 2021 Sérgio Basto - 2.14.5-2 +- Obsoletes abrt-plugin-sosreport + +* Tue Dec 01 2020 Michal Fabik 2.14.5-1 +- Fix invalid free (rhbz#1895660) +- Fix crash during local processing (rhbz#1881745) +- Fix reported numbers of missing debuginfo packages in abrt-action-install-debuginfo +- Correct the format of NEVRA generated for packages where a problem occurred (rhbz#1900982) +- Drop --raw flag in abrt-action-generate-core-backtrace + +* Tue Oct 13 2020 Matěj Grabovský - 2.14.4-7 +- Add upstream patch for an invalid read bug + +* Thu Sep 24 2020 Matěj Grabovský - 2.14.4-6 +- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1881745 + +* Mon Sep 14 2020 Michal Fabik 2.14.4-5 +- Bump release to rebuild reportd + +* Wed Sep 09 2020 Michal Fabik 2.14.4-4 +- Bump release to rebuild gnome-abrt + +* Wed Sep 02 2020 Michal Fabik 2.14.4-3 +- Bump release to rebuild in new side tag + +* Wed Aug 26 2020 Michal Fabik 2.14.4-2 +- Bump release to rebuild in new side tag + +* Mon Aug 24 2020 Michal Fabik - 2.14.4-1 +- oops-utils: Respect the 'world-readable' flag +- Decommission libreport_list_free_with_free +- plugins: abrt-dump-journal-core: Handle zstd compression +- applet: application: Use GLib for logging +- Replace various utility functions with stock GLib ones +- Various coding style improvements +- Update documentation +- applet: application: Fix crash when processing deferred problems +- dbus: Remove session objects when owner disconnects +- python-problem: Use org.freedesktop.Problems2 API +- abrt-console-notification: Work around noclobber +- daemon: rpm: Use NEVRA instead of ENVRA +- abrtd: Don't delete new problem dirs +- Make sure that former caches are group writable +- Various memory management fixes + * Tue Jul 28 2020 - Ernestas Kulik - 2.14.2-5 - Add patch for https://bugzilla.redhat.com/show_bug.cgi?id=1860903 diff --git a/sources b/sources index ad6df13..601ce96 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (abrt-2.14.2.tar.gz) = 020bd0550c41b2358a718a4f0f0c3a839d86fd46fc0c4f4cfc4b7d7f851baf2d5179e008ac1912b350f9f0fbfbfee94e422de3aadce5eb0f7f84a04f233349ff +SHA512 (abrt-2.14.6.tar.gz) = eb1ba2f624d51eeccd203bb23060493347f5a9142fad7d0570d46134071d870a9c66b4fbfb8210e7d6f87c0c039f31eb486d18a36b10fba318e2180aa09df9fe