From de86a21d4219d55d421c658e113bc4776456289f Mon Sep 17 00:00:00 2001 From: Packit Service Date: Tue, 4 May 2021 18:00:04 +0000 Subject: [PATCH 1/6] [packit] 2.15.1 upstream release Upstream tag: 2.15.1 Upstream commit: 5e65d4e4 Signed-off-by: Packit Service --- .gitignore | 1 + .packit.yml | 17 +++++++++++++++++ README.packit | 3 +++ libreport.spec | 52 +++++++++++++++++++++++++++++--------------------- sources | 2 +- 5 files changed, 52 insertions(+), 23 deletions(-) create mode 100644 .packit.yml create mode 100644 README.packit diff --git a/.gitignore b/.gitignore index 23c2ea8..0af2d9c 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /libreport-2.13.0.tar.gz /libreport-2.13.1.tar.gz /libreport-2.14.0.tar.gz +/libreport-2.15.1.tar.gz diff --git a/.packit.yml b/.packit.yml new file mode 100644 index 0000000..b82be50 --- /dev/null +++ b/.packit.yml @@ -0,0 +1,17 @@ +specfile_path: libreport.spec +synced_files: + - .packit.yml + - libreport.spec +upstream_package_name: libreport +upstream_project_url: https://github.com/abrt/libreport +downstream_package_name: libreport +jobs: +- job: propose_downstream + trigger: release + metadata: + dist_git_branch: fedora-all +- job: copr_build + trigger: pull_request + metadata: + targets: + - fedora-all diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..056cacc --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 0.29.0. diff --git a/libreport.spec b/libreport.spec index 94f54e0..d3cee60 100644 --- a/libreport.spec +++ b/libreport.spec @@ -14,22 +14,11 @@ Summary: Generic library for reporting various problems Name: libreport -Version: 2.14.0 -Release: 17%{?dist} +Version: 2.15.1 +Release: 1%{?dist} License: GPLv2+ URL: https://abrt.readthedocs.org/ Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz - -Patch0: 0001-gui-wizard-gtk-wizard-Remove-variable.patch -Patch1: 0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch -Patch2: 0003-gui-wizard-gtk-Fix-a-double-free-condition.patch -Patch3: 0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch -Patch4: 0005-gui-wizard-gtk-Fix-segfault.patch -Patch5: 0006-event_config-Null-autofree-pointers-before-returning.patch -Patch6: 0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch -Patch7: 0008-rhbz-Fix-a-double-free-condition.patch -Patch8: 0009-client-python-Add-getter-for-package-count-to-downlo.patch - BuildRequires: %{dbus_devel} BuildRequires: gtk3-devel BuildRequires: curl-devel @@ -37,9 +26,9 @@ BuildRequires: desktop-file-utils BuildRequires: python3-devel BuildRequires: gettext BuildRequires: libxml2-devel -BuildRequires: libtar-devel BuildRequires: intltool BuildRequires: libtool +BuildRequires: make BuildRequires: texinfo BuildRequires: asciidoc BuildRequires: xmlto @@ -191,7 +180,7 @@ The simple reporter plugin which writes a report to the systemd journal. %package plugin-mailx Summary: %{name}'s mailx reporter plugin Requires: %{name} = %{version}-%{release} -Requires: mailx +Requires: /usr/bin/mailx %description plugin-mailx The simple reporter plugin which sends a report via mailx to a specified @@ -227,12 +216,8 @@ Workflows to report issues into the CentOS Bug Tracker. %package plugin-ureport Summary: %{name}'s micro report plugin BuildRequires: %{libjson_devel} -BuildRequires: make Requires: %{name} = %{version}-%{release} Requires: libreport-web = %{version}-%{release} -%if 0%{?rhel} && ! 0%{?eln} -Requires: python3-subscription-manager-rhsm -%endif %description plugin-ureport Uploads micro-report to abrt server @@ -294,10 +279,10 @@ data over ftp/scp... %endif %prep -%autosetup -S git +%autosetup %build -autoreconf +./autogen.sh %configure \ %if %{without bugzilla} @@ -312,7 +297,7 @@ autoreconf %make_install \ %if %{with python3} PYTHON=%{__python3} \ -%endif # with python3 +%endif mandir=%{_mandir} %find_lang %{name} @@ -413,12 +398,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %config(noreplace) %{_sysconfdir}/%{name}/report_event.conf %config(noreplace) %{_sysconfdir}/%{name}/forbidden_words.conf %config(noreplace) %{_sysconfdir}/%{name}/ignored_words.conf +%config(noreplace) %{_sysconfdir}/%{name}/ignored_elements.conf %{_datadir}/%{name}/conf.d/libreport.conf %{_libdir}/libreport.so.* %{_mandir}/man5/libreport.conf.5* %{_mandir}/man5/report_event.conf.5* %{_mandir}/man5/forbidden_words.conf.5* %{_mandir}/man5/ignored_words.conf.5* +%{_mandir}/man5/ignored_elements.conf.5* # filesystem package owns /usr/share/augeas/lenses directory %{_datadir}/augeas/lenses/libreport.aug @@ -667,6 +654,27 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %endif %changelog +* Tue May 04 2021 Packit Service - 2.15.1-1 +- Release version 2.15.1-1 (Michal Fabik) +- ureport: Strange usage of tmp variable (Michal Židek) +- steal_directory: Silence a warning (Michal Židek) +- dump_dir: Use g_free and re-init to NULL (Michal Židek) +- dump_dir: Use g_free instead of free (Michal Židek) +- dirsize: No need to check for NULL (Michal Židek) +- dirsize: Bad checks for NULL (Michal Židek) +- gui-wizard-gtk: Possible double free (Michal Židek) +- gui-wizard-gtk: Check if EXCLUDE_FROM_REPORT is set (Michal Židek) +- gui-wizard-gtk: Improve docs and add missing free (Michal Židek) +- cli: Address of local auto-variable assigned to a function parameter (Michal Židek) +- gtk-helpers: Add missing g_strfreev() (Michal Židek) +- cli: Add missing g_free call (Michal Židek) +- gitignore: Drop misleading comment (Michal Fabik) +- spec: Sync upstream with distgit (Michal Fabik) +- changelog: Add missing link to changes in 2.15.0 (Matěj Grabovský) +- spec: Make plugin-mailx depend on /usr/bin/mailx (Matěj Grabovský) +- Add support for excluding whole elements from search for sensitive words (Michal Srb) +- ignored_words: add more "key" variations (Michal Srb) + * Fri Jan 29 2021 Michal Srb - 2.14.0-17 - Drop AnacondaRHEL workflow reference diff --git a/sources b/sources index c9ad10a..6f8a882 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libreport-2.14.0.tar.gz) = 6bc428a2d91b22f2df1abc9326c131e91e5e7be78ca64ad6533ff8246fa02df9a975360686811d29fd66210206a4e4ee5dc9faf2c9b23eccab7ca0ec07c3d43c +SHA512 (libreport-2.15.1.tar.gz) = 70f947690173a0afa57981c9755a18bdd0ad44c888c00713de74624296b81ff25203d5dda5d5c57eac85da4a1631585184b77715c7adf6688b469e32d4113cf4 From 2c6089c840775f7ec9f507e585d153e0bef8fbdf Mon Sep 17 00:00:00 2001 From: Packit Service Date: Tue, 1 Jun 2021 12:00:01 +0000 Subject: [PATCH 2/6] [packit] 2.15.2 upstream release Upstream tag: 2.15.2 Upstream commit: 3474c03d Signed-off-by: Packit Service --- .gitignore | 1 + README.packit | 2 +- libreport.spec | 11 ++++++++--- sources | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 0af2d9c..88f39e4 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /libreport-2.13.1.tar.gz /libreport-2.14.0.tar.gz /libreport-2.15.1.tar.gz +/libreport-2.15.2.tar.gz diff --git a/README.packit b/README.packit index 056cacc..8ede8cd 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.29.0. +The file was generated using packit 0.31.0. diff --git a/libreport.spec b/libreport.spec index d3cee60..5c97472 100644 --- a/libreport.spec +++ b/libreport.spec @@ -14,7 +14,7 @@ Summary: Generic library for reporting various problems Name: libreport -Version: 2.15.1 +Version: 2.15.2 Release: 1%{?dist} License: GPLv2+ URL: https://abrt.readthedocs.org/ @@ -36,7 +36,6 @@ BuildRequires: newt-devel BuildRequires: libproxy-devel BuildRequires: satyr-devel >= 0.24 BuildRequires: glib2-devel >= %{glib_ver} -BuildRequires: nettle-devel BuildRequires: git-core %if 0%{?fedora} >= 24 || 0%{?rhel} > 7 @@ -56,7 +55,6 @@ Requires: libreport-filesystem = %{version}-%{release} Requires: satyr%{?_isa} >= 0.24 Requires: glib2%{?_isa} >= %{glib_ver} Requires: libarchive%{?_isa} -Requires: nettle%{?_isa} # Required for the temporary modularity hack, see below %if 0%{?_module_build} @@ -654,6 +652,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %endif %changelog +* Tue Jun 01 2021 Packit Service - 2.15.2-1 +- Release version 2.15.2-1 (Michal Fabik) +- binhex: Remove unused API (Matěj Grabovský) +- lib: Use GLib for computing SHA-1 digests (Matěj Grabovský) +- run_event: Improve memory management (Matěj Grabovský) +- gtk: Fix segfault (Matěj Grabovský) + * Tue May 04 2021 Packit Service - 2.15.1-1 - Release version 2.15.1-1 (Michal Fabik) - ureport: Strange usage of tmp variable (Michal Židek) diff --git a/sources b/sources index 6f8a882..c9ba4ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libreport-2.15.1.tar.gz) = 70f947690173a0afa57981c9755a18bdd0ad44c888c00713de74624296b81ff25203d5dda5d5c57eac85da4a1631585184b77715c7adf6688b469e32d4113cf4 +SHA512 (libreport-2.15.2.tar.gz) = c98003325fa70d674177c9f602a7f121815a9675701ee780ad8908ed69862f2c69be65c7483fd3f017ba299dda51ba304f0908c771c9d97cb5bba057e3a9c5dc From 864bf6c17ddfd42db31329bd77ad1fbbb180423f Mon Sep 17 00:00:00 2001 From: Michal Fabik Date: Fri, 4 Jun 2021 14:40:24 +0200 Subject: [PATCH 3/6] Bump release to rebuild in new side tag Signed-off-by: Michal Fabik --- libreport.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libreport.spec b/libreport.spec index 5c97472..3ec3794 100644 --- a/libreport.spec +++ b/libreport.spec @@ -15,7 +15,7 @@ Summary: Generic library for reporting various problems Name: libreport Version: 2.15.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ URL: https://abrt.readthedocs.org/ Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz From 9763e53801b82f6e755509bebb3c9557f777f42b Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 21 Feb 2022 19:55:11 +0100 Subject: [PATCH 4/6] Drop old patches --- ...ui-wizard-gtk-wizard-Remove-variable.patch | 39 ----------- ...d-gtk-wizard-Fix-invalid-memory-read.patch | 49 -------------- ...zard-gtk-Fix-a-double-free-condition.patch | 53 --------------- ...d-gtk-Fix-a-segfault-and-memory-leak.patch | 66 ------------------- 0005-gui-wizard-gtk-Fix-segfault.patch | 66 ------------------- ...l-autofree-pointers-before-returning.patch | 40 ----------- ...wizard-gtk-Don-t-autofree-URL-string.patch | 34 ---------- 0008-rhbz-Fix-a-double-free-condition.patch | 48 -------------- ...d-getter-for-package-count-to-downlo.patch | 28 -------- 9 files changed, 423 deletions(-) delete mode 100644 0001-gui-wizard-gtk-wizard-Remove-variable.patch delete mode 100644 0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch delete mode 100644 0003-gui-wizard-gtk-Fix-a-double-free-condition.patch delete mode 100644 0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch delete mode 100644 0005-gui-wizard-gtk-Fix-segfault.patch delete mode 100644 0006-event_config-Null-autofree-pointers-before-returning.patch delete mode 100644 0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch delete mode 100644 0008-rhbz-Fix-a-double-free-condition.patch delete mode 100644 0009-client-python-Add-getter-for-package-count-to-downlo.patch diff --git a/0001-gui-wizard-gtk-wizard-Remove-variable.patch b/0001-gui-wizard-gtk-wizard-Remove-variable.patch deleted file mode 100644 index 9537db0..0000000 --- a/0001-gui-wizard-gtk-wizard-Remove-variable.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 1c646a2948d287368ec1a82b444e8175ebfbf5b9 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Tue, 25 Aug 2020 15:05:31 +0300 -Subject: [PATCH] gui-wizard-gtk: wizard: Remove variable - -cmd_output is no longer used since -440bcfa8526d50f122ec14e19f2bf2aa336f61e7 and trying to call -g_string_free() on it results in a critical warning. ---- - src/gui-wizard-gtk/wizard.c | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c -index 44900448..a4d7caa0 100644 ---- a/src/gui-wizard-gtk/wizard.c -+++ b/src/gui-wizard-gtk/wizard.c -@@ -231,8 +231,6 @@ typedef struct - - static page_obj_t pages[NUM_PAGES]; - --static GString *cmd_output = NULL; -- - /* Utility functions */ - - static void clear_warnings(void); -@@ -1667,10 +1665,6 @@ static gboolean consume_cmd_output(GIOChannel *source, GIOCondition condition, g - log_notice("done running event on '%s': %d", g_dump_dir_name, retval); - append_to_textview(g_tv_event_log, "\n"); - -- /* Free child output buffer */ -- g_string_free(cmd_output, TRUE); -- cmd_output = NULL; -- - /* Hide spinner and stop btn */ - gtk_widget_hide(GTK_WIDGET(g_spinner_event_log)); - gtk_widget_hide(g_btn_stop); --- -2.28.0 - diff --git a/0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch b/0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch deleted file mode 100644 index ed46b09..0000000 --- a/0002-gui-wizard-gtk-wizard-Fix-invalid-memory-read.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 85b687098bcedb67285ab787b8bd506d328c34e0 Mon Sep 17 00:00:00 2001 -From: Ernestas Kulik -Date: Tue, 25 Aug 2020 15:17:54 +0300 -Subject: [PATCH] gui-wizard-gtk: wizard: Fix invalid memory read -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This partially reverts 7aba6e53bbfeedaacd95bbaa5e0c5e325a3e6a8d, which -results in “event” being inappropriately freed before a “goto” statement -is executed and the value stored in “g_event_selected” is read. ---- - src/gui-wizard-gtk/wizard.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c -index a4d7caa0..3e69a513 100644 ---- a/src/gui-wizard-gtk/wizard.c -+++ b/src/gui-wizard-gtk/wizard.c -@@ -2635,7 +2635,7 @@ static gint select_next_page_no(gint current_page_no) - - log_info("%s: Looking for next event to process", __func__); - /* (note: this frees and sets to NULL g_event_selected) */ -- g_autofree char *event = setup_next_processed_event(&g_auto_event_list); -+ char *event = setup_next_processed_event(&g_auto_event_list); - if (!event) - { - current_page_no = PAGENO_EVENT_PROGRESS - 1; -@@ -2644,6 +2644,8 @@ static gint select_next_page_no(gint current_page_no) - - if (!get_sensitive_data_permission(event)) - { -+ free(event); -+ - cancel_processing(g_lbl_event_log, /* default message */ NULL, TERMINATE_NOFLAGS); - current_page_no = PAGENO_EVENT_PROGRESS - 1; - goto again; -@@ -2659,6 +2661,8 @@ static gint select_next_page_no(gint current_page_no) - - if (libreport_get_global_stop_on_not_reportable()) - { -+ free(event); -+ - cancel_processing(g_lbl_event_log, msg, TERMINATE_NOFLAGS); - current_page_no = PAGENO_EVENT_PROGRESS - 1; - goto again; --- -2.28.0 - diff --git a/0003-gui-wizard-gtk-Fix-a-double-free-condition.patch b/0003-gui-wizard-gtk-Fix-a-double-free-condition.patch deleted file mode 100644 index c000d30..0000000 --- a/0003-gui-wizard-gtk-Fix-a-double-free-condition.patch +++ /dev/null @@ -1,53 +0,0 @@ -From ce557c0fb309184a9a8fc38a76404324d94803b0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Fri, 25 Sep 2020 19:23:51 +0200 -Subject: [PATCH] gui-wizard-gtk: Fix a double free condition - -We may only free `log_msg` in `update_command_run_log()` if it is the -result of the call to `g_strdup_printf()`, otherwise the caller takes -care of it. - -Partially reverts 7aba6e53. - -Resolves rhbz#1882319 ---- - src/gui-wizard-gtk/wizard.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c -index 8a4486f2..a532c633 100644 ---- a/src/gui-wizard-gtk/wizard.c -+++ b/src/gui-wizard-gtk/wizard.c -@@ -1385,7 +1385,7 @@ static void cancel_processing(GtkLabel *status_label, const char *message, int t - pango_attr_list_unref(list); - } - --static void update_command_run_log(const char* message, struct analyze_event_data *evd) -+static void update_command_run_log(char *message, struct analyze_event_data *evd) - { - const bool it_is_a_dot = (message[0] == '.' && message[1] == '\0'); - -@@ -1393,12 +1393,18 @@ static void update_command_run_log(const char* message, struct analyze_event_dat - gtk_label_set_text(g_lbl_event_log, message); - - /* Don't append new line behind single dot */ -- g_autofree const char *log_msg = it_is_a_dot ? message : g_strdup_printf("%s\n", message); -+ char *log_msg = it_is_a_dot ? message : g_strdup_printf("%s\n", message); - append_to_textview(g_tv_event_log, log_msg); - save_to_event_log(evd, log_msg); -+ -+ if (log_msg != message) -+ { -+ /* We assume message is managed by the caller. */ -+ free(log_msg); -+ } - } - --static void run_event_gtk_error(const char *error_line, void *param) -+static void run_event_gtk_error(char *error_line, void *param) - { - update_command_run_log(error_line, (struct analyze_event_data *)param); - } --- -2.26.2 - diff --git a/0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch b/0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch deleted file mode 100644 index 2b38feb..0000000 --- a/0004-gui-wizard-gtk-Fix-a-segfault-and-memory-leak.patch +++ /dev/null @@ -1,66 +0,0 @@ -From cb2ab9a8b2e1dbc89e100aedc432c29a16246e84 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Sun, 27 Sep 2020 20:45:32 +0200 -Subject: [PATCH] gui-wizard-gtk: Fix a segfault and memory leak - -Only `arg[1]` has to be freed in `tv_details_row_activated()`, as -`arg[0]` is allocated statically. - -In `search_item_to_list_store_item()`, `tmp` gets overwritten with a new -value for every call to `gtk_text_buffer_get_text()`, so we need to free -the allocated memory continuously. - -Partially reverts 7aba6e53. - -Resolves rhbz#1882950 ---- - src/gui-wizard-gtk/wizard.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c -index a532c633..775b709f 100644 ---- a/src/gui-wizard-gtk/wizard.c -+++ b/src/gui-wizard-gtk/wizard.c -@@ -707,7 +707,7 @@ static void tv_details_row_activated( - return; - - gint exitcode; -- g_autofree gchar *arg[3]; -+ gchar *arg[3]; - arg[0] = (char *) "xdg-open"; - arg[1] = g_build_filename(g_dump_dir_name ? g_dump_dir_name : "", item_name, NULL); - arg[2] = NULL; -@@ -751,6 +751,8 @@ static void tv_details_row_activated( - gtk_widget_destroy(scrolled); - gtk_widget_destroy(dialog); - } -+ -+ g_free(arg[1]); - } - - /* static gboolean tv_details_select_cursor_row( -@@ -2126,17 +2128,20 @@ static void search_item_to_list_store_item(GtkListStore *store, GtkTreeIter *new - gtk_text_iter_backward_char(end); - } - -- g_autofree gchar *tmp = gtk_text_buffer_get_text(word->buffer, beg, &(word->start), -+ gchar *tmp = gtk_text_buffer_get_text(word->buffer, beg, &(word->start), - /*don't include hidden chars*/FALSE); - g_autofree gchar *prefix = g_markup_escape_text(tmp, /*NULL terminated string*/-1); -+ g_free(tmp); - - tmp = gtk_text_buffer_get_text(word->buffer, &(word->start), &(word->end), - /*don't include hidden chars*/FALSE); - g_autofree gchar *text = g_markup_escape_text(tmp, /*NULL terminated string*/-1); -+ g_free(tmp); - - tmp = gtk_text_buffer_get_text(word->buffer, &(word->end), end, - /*don't include hidden chars*/FALSE); - g_autofree gchar *suffix = g_markup_escape_text(tmp, /*NULL terminated string*/-1); -+ g_clear_pointer(&tmp, g_free); - - char *content = g_strdup_printf("%s%s%s", prefix, text, suffix); - --- -2.26.2 - diff --git a/0005-gui-wizard-gtk-Fix-segfault.patch b/0005-gui-wizard-gtk-Fix-segfault.patch deleted file mode 100644 index 29d65ae..0000000 --- a/0005-gui-wizard-gtk-Fix-segfault.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 1a22f30187163ce288b14e55a80539353a38b7be Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Tue, 29 Sep 2020 14:16:00 +0200 -Subject: [PATCH 1/2] gui-wizard-gtk: Fix segfault - -Since show_error_as_msgbox() is specified as the custom logging handler -(via setting libreport_g_custom_logger), it will get called if an error -occurs in libreport_save_user_settings(). However, at that point, -g_wnd_assistant has already been destroyed, which leads to an invalid -read in show_error_as_msgbox(). - -This change unsets the custom logging handler after the GUI is destroyed -and adds an assertion in show_error_as_msgbox() checking that -g_wnd_assistant is not a null pointer. - -Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1883337 ---- - src/gui-wizard-gtk/main.c | 6 ++++-- - src/gui-wizard-gtk/wizard.c | 2 ++ - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c -index e111948c..f094c5fb 100644 ---- a/src/gui-wizard-gtk/main.c -+++ b/src/gui-wizard-gtk/main.c -@@ -125,6 +125,7 @@ int main(int argc, char **argv) - /* List of events specified on the command line. */ - GList *user_event_list = NULL; - const char *prgname = "abrt"; -+ int ret = 0; - abrt_init(argv); - - /* I18n */ -@@ -217,13 +218,14 @@ int main(int argc, char **argv) - g_signal_connect(app, "startup", G_CALLBACK(startup_wizard), NULL); - - /* Enter main loop */ -- g_application_run(G_APPLICATION(app), argc, argv); -+ ret = g_application_run(G_APPLICATION(app), argc, argv); - g_object_unref(app); -+ libreport_g_custom_logger = NULL; - - if (opts & OPT_d) - delete_dump_dir_possibly_using_abrtd(g_dump_dir_name); - - libreport_save_user_settings(); - -- return 0; -+ return ret; - } -diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c -index 775b709f..c4a0b4c0 100644 ---- a/src/gui-wizard-gtk/wizard.c -+++ b/src/gui-wizard-gtk/wizard.c -@@ -360,6 +360,8 @@ struct dump_dir *wizard_open_directory_for_writing(const char *dump_dir_name) - - void show_error_as_msgbox(const char *msg) - { -+ g_return_if_fail(g_wnd_assistant != NULL); -+ - GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(g_wnd_assistant), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_WARNING, --- -2.26.2 - diff --git a/0006-event_config-Null-autofree-pointers-before-returning.patch b/0006-event_config-Null-autofree-pointers-before-returning.patch deleted file mode 100644 index ed3a26f..0000000 --- a/0006-event_config-Null-autofree-pointers-before-returning.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 41b6477bdeaa82c647db2f1c2ba1132c77b365ed Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Tue, 29 Sep 2020 14:43:15 +0200 -Subject: [PATCH 2/2] event_config: Null autofree pointers before returning - -The pointers to strings in the function check_problem_rating_usability() -need to be nullified before the function returns as they are declared -for auto-cleanup. - -This change fixes a double-free condition in which the returned strings -were attempted to be freed again in the caller, -is_backtrace_rating_usable(). - -Bug was introduced in 05e9c9273. - -Resolves rhbz#1883410 ---- - src/lib/event_config.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/lib/event_config.c b/src/lib/event_config.c -index c8053b7c..01e91efe 100644 ---- a/src/lib/event_config.c -+++ b/src/lib/event_config.c -@@ -541,10 +541,10 @@ bool check_problem_rating_usability(const event_config_t *cfg, - - finish: - if (description) -- *description = tmp_desc; -+ *description = g_steal_pointer(&tmp_desc); - - if (detail) -- *detail = tmp_detail; -+ *detail = g_steal_pointer(&tmp_detail); - - return result; - } --- -2.26.2 - diff --git a/0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch b/0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch deleted file mode 100644 index b28d183..0000000 --- a/0007-gui-wizard-gtk-Don-t-autofree-URL-string.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9b6d40905c21b476c58e9f9a908ddb32a0a56a18 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Tue, 29 Sep 2020 19:14:05 +0200 -Subject: [PATCH] gui-wizard-gtk: Don't autofree URL string - -g_object_set_data() does not (and cannot) copy the data passed to it, so -once url is freed, a subsequent access to the 'url' tag leads to an -invalid read and segfault. - -Bug was introduced in df386b097. - -Resolves rhbz#1882328 ---- - src/gui-wizard-gtk/wizard.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c -index 0af19587..ba1998df 100644 ---- a/src/gui-wizard-gtk/wizard.c -+++ b/src/gui-wizard-gtk/wizard.c -@@ -462,8 +462,8 @@ static void append_to_textview(GtkTextView *tv, const char *str) - GtkTextTag *tag; - tag = gtk_text_buffer_create_tag(tb, NULL, "foreground", "blue", - "underline", PANGO_UNDERLINE_SINGLE, NULL); -- g_autofree char *url = g_strndup(t->start, t->len); -- g_object_set_data(G_OBJECT(tag), "url", url); -+ char *url = g_strndup(t->start, t->len); -+ g_object_set_data_full(G_OBJECT(tag), "url", url, g_free); - - gtk_text_buffer_insert_with_tags(tb, &text_iter, url, -1, tag, NULL); - --- -2.26.2 - diff --git a/0008-rhbz-Fix-a-double-free-condition.patch b/0008-rhbz-Fix-a-double-free-condition.patch deleted file mode 100644 index 4180663..0000000 --- a/0008-rhbz-Fix-a-double-free-condition.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9cdf0f9123ee39c7cb32a276371b2fd95f0df5ac Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Mon, 2 Nov 2020 11:45:23 +0100 -Subject: [PATCH] rhbz: Fix a double-free condition - -The `cc` string must not be freed after the variable goes out of scope -since it's appended to `cc_list`. (`g_list_append()` does not copy its -input.) We only need to free the last string in the loop, which is an -empty string. - -The bug was introduced in 7aba6e53. - -Resolves rhbz#1893595 ---- - src/plugins/rhbz.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c -index 8a2ded79..e0d7a091 100644 ---- a/src/plugins/rhbz.c -+++ b/src/plugins/rhbz.c -@@ -406,18 +406,20 @@ GList *rhbz_bug_cc(xmlrpc_value* result_xml) - if (!item) - continue; - -- g_autofree const char* cc = NULL; -- xmlrpc_read_string(&env, item, &cc); -+ char *cc = NULL; -+ xmlrpc_read_string(&env, item, (const char **)&cc); - xmlrpc_DECREF(item); - if (env.fault_occurred) - abrt_xmlrpc_die(&env); - - if (*cc != '\0') - { -- cc_list = g_list_append(cc_list, (char*)cc); -+ cc_list = g_list_append(cc_list, cc); - log_debug("member on cc is %s", cc); - continue; - } -+ -+ free(cc); - } - xmlrpc_DECREF(cc_member); - return cc_list; --- -2.26.2 - diff --git a/0009-client-python-Add-getter-for-package-count-to-downlo.patch b/0009-client-python-Add-getter-for-package-count-to-downlo.patch deleted file mode 100644 index 6fa6ee4..0000000 --- a/0009-client-python-Add-getter-for-package-count-to-downlo.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cbb6b43038f0d88b28197ba905ba9324c0602945 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= -Date: Thu, 3 Sep 2020 15:05:23 +0200 -Subject: [PATCH] client-python: Add getter for package count to downloader - -Add a new method get_package_count() to the DebugInfoDownload class -which returns the number of packages that will be downloaded. ---- - src/client-python/reportclient/debuginfo.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/client-python/reportclient/debuginfo.py b/src/client-python/reportclient/debuginfo.py -index cb318e8a..eeb2be30 100644 ---- a/src/client-python/reportclient/debuginfo.py -+++ b/src/client-python/reportclient/debuginfo.py -@@ -242,6 +242,9 @@ class DebugInfoDownload(object): - def get_install_size(self): - return self.installed_size - -+ def get_package_count(self): -+ return len(self.package_files_dict) -+ - def mute_stdout(self): - """ - Links sys.stdout with /dev/null and saves the old stdout --- -2.26.2 - From e643f4e31abee93c316748143a94ed740dbb7a41 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 21 Feb 2022 19:55:23 +0100 Subject: [PATCH 5/6] [reporter-bugzilla] Use API key for authentication --- ...zilla-Use-API-key-for-authentication.patch | 401 ++++++++++++++++++ libreport.spec | 8 +- 2 files changed, 407 insertions(+), 2 deletions(-) create mode 100644 0001-reporter-bugzilla-Use-API-key-for-authentication.patch diff --git a/0001-reporter-bugzilla-Use-API-key-for-authentication.patch b/0001-reporter-bugzilla-Use-API-key-for-authentication.patch new file mode 100644 index 0000000..00aedad --- /dev/null +++ b/0001-reporter-bugzilla-Use-API-key-for-authentication.patch @@ -0,0 +1,401 @@ +From 34fce86c0116ef2c888dfe7e474073b158bca8b3 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Mon, 21 Feb 2022 00:49:51 +0100 +Subject: [PATCH] [reporter-bugzilla] Use API key for authentication + +Following change will take effect on February 28 2022: + +""" +Applications making API calls to Bugzilla may no longer +authenticate using passwords or supplying API keys +in call parameters. Instead, API keys must be supplied +in the Authorization header. +""" + +See the announcement for more details: +https://listman.redhat.com/archives/bugzilla-announce-list/2022-February/msg00000.html + +Signed-off-by: Michal Srb +--- + doc/report_Bugzilla.conf.txt | 7 +-- + doc/reporter-bugzilla.txt | 14 ++--- + src/gtk-helpers/secrets.c | 2 +- + src/plugins/bugzilla.conf | 7 +-- + src/plugins/report_Bugzilla.conf | 3 +- + src/plugins/report_Bugzilla.xml.in.in | 13 ++-- + src/plugins/reporter-bugzilla.c | 87 ++++++++------------------- + src/plugins/rhbz.c | 15 +++++ + src/plugins/rhbz.h | 2 + + tests/bugzilla_plugin.at.in | 10 +-- + 10 files changed, 61 insertions(+), 99 deletions(-) + +diff --git a/doc/report_Bugzilla.conf.txt b/doc/report_Bugzilla.conf.txt +index ea500ae6..ce7df911 100644 +--- a/doc/report_Bugzilla.conf.txt ++++ b/doc/report_Bugzilla.conf.txt +@@ -12,11 +12,8 @@ This configuration file contains values for options defined in + + Configuration file lines should have 'PARAM = VALUE' format. The parameters are: + +-'Bugzilla_Login':: +- Login to Bugzilla account. +- +-'Bugzilla_Password':: +- Password to Bugzilla account. ++'Bugzilla_APIKey':: ++ API key for authentication to Bugzilla account. + + 'Bugzilla_BugzillaURL':: + Bugzilla HTTP(S) address. (default: https://bugzilla.redhat.com) +diff --git a/doc/reporter-bugzilla.txt b/doc/reporter-bugzilla.txt +index 2aee41e1..601d2a8f 100644 +--- a/doc/reporter-bugzilla.txt ++++ b/doc/reporter-bugzilla.txt +@@ -57,11 +57,8 @@ and to user's local ~/.config/libreport/bugzilla.conf. + Configuration file lines should have 'PARAM = VALUE' format. The parameters are: + User's local configuration overrides the system wide configuration. + +-'Login':: +- Login to Bugzilla account. +- +-'Password':: +- Password to Bugzilla account. ++'APIKey':: ++ API key for authentication to Bugzilla account. + + 'BugzillaURL':: + Bugzilla HTTP(S) address. (default: https://bugzilla.redhat.com) +@@ -175,11 +172,8 @@ ENVIRONMENT VARIABLES + Environment variables take precedence over values provided in + the configuration file. + +-'Bugzilla_Login':: +- Login to Bugzilla account. +- +-'Bugzilla_Password':: +- Password to Bugzilla account. ++'Bugzilla_APIKey':: ++ API key for authentication to Bugzilla account. + + 'Bugzilla_BugzillaURL':: + Bugzilla HTTP(S) address. (default: https://bugzilla.redhat.com) +diff --git a/src/gtk-helpers/secrets.c b/src/gtk-helpers/secrets.c +index 65decaad..55c6ee51 100644 +--- a/src/gtk-helpers/secrets.c ++++ b/src/gtk-helpers/secrets.c +@@ -66,7 +66,7 @@ + + For example, "report_Bugzilla" item will have the lookup attribute + like ("libreportEventConfig", "report_Bugzilla") and the secret value +- like ("Bugzilla_URL=https://bugzilla.redhat.com\0Bugzilla_Login=foo\0") ++ like ("Bugzilla_URL=https://bugzilla.redhat.com\0Bugzilla_APIKey=foo\0") + + + +diff --git a/src/plugins/bugzilla.conf b/src/plugins/bugzilla.conf +index a7727392..a81348f8 100644 +--- a/src/plugins/bugzilla.conf ++++ b/src/plugins/bugzilla.conf +@@ -7,10 +7,9 @@ + # yes means that ssl certificates will be checked + SSLVerify = yes + +-# your login has to exist, if you don't have any, please create one +-Login = +-# your password +-Password = ++# Bugzilla API key. ++# You can set up an API key by using the "API Key" tab in the Preferences pages. ++APIKey = + + # SELinux guys almost always move filed bugs from component + # selinux-policy to another component. +diff --git a/src/plugins/report_Bugzilla.conf b/src/plugins/report_Bugzilla.conf +index f1a77f50..c9bfdd11 100644 +--- a/src/plugins/report_Bugzilla.conf ++++ b/src/plugins/report_Bugzilla.conf +@@ -1,4 +1,3 @@ + Bugzilla_BugzillaURL = https://bugzilla.redhat.com +-Bugzilla_Login = +-Bugzilla_Password = ++Bugzilla_APIKey = + Bugzilla_SSLVerify = yes +diff --git a/src/plugins/report_Bugzilla.xml.in.in b/src/plugins/report_Bugzilla.xml.in.in +index d6078a18..966d97f6 100644 +--- a/src/plugins/report_Bugzilla.xml.in.in ++++ b/src/plugins/report_Bugzilla.xml.in.in +@@ -13,16 +13,11 @@ + yes + + +- +- +