import libreport-2.9.5-9.el8

This commit is contained in:
CentOS Sources 2019-11-05 17:01:22 -05:00 committed by Andrew Lukoshko
parent 3556c4695b
commit eb70e875e1
8 changed files with 449 additions and 1 deletions

View File

@ -0,0 +1,53 @@
From 1aa9e3a987439fd4435b40b9c7f56d063097f980 Mon Sep 17 00:00:00 2001
From: Martin Kutlak <mkutlak@redhat.com>
Date: Thu, 3 Jan 2019 16:32:00 +0100
Subject: [PATCH] bugzilla: change the default bugzilla group
Changes the default bugzilla group to redhat and also makes the
reported bugs private by default.
Related to rhbz#1660449
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
---
configure.ac | 6 +++---
src/plugins/bugzilla.conf | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index feafc28e..ce453895 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,14 +92,14 @@ AC_PATH_PROG([XMLRPC], [xmlrpc-c-config], [no])
AC_ARG_WITH([redhatbugzillacreateprivate],
AS_HELP_STRING([--with-redhatbugzillacreateprivate="yes/no"],
[Whether the Red Hat Bugzilla plugin should open
- bugs private by default ("no")]),
- [], [with_redhatbugzillacreateprivate="no"])
+ bugs private by default ("yes")]),
+ [], [with_redhatbugzillacreateprivate="yes"])
AC_SUBST([RED_HAT_BUGZILLA_CREATE_PRIVATE], [$with_redhatbugzillacreateprivate])
AC_ARG_WITH([redhatbugzillaprivategroups],
AS_HELP_STRING([--with-redhatbugzillaprivategroups="CSV"],
[Name of groups separated by comma]),
- [], [with_redhatbugzillaprivategroups="fedora_contrib_private"])
+ [], [with_redhatbugzillaprivategroups="redhat"])
AC_SUBST([RED_HAT_BUGZILLA_PRIVATE_GROUPS], [$with_redhatbugzillaprivategroups])
diff --git a/src/plugins/bugzilla.conf b/src/plugins/bugzilla.conf
index a7727392..dbbbd05c 100644
--- a/src/plugins/bugzilla.conf
+++ b/src/plugins/bugzilla.conf
@@ -22,5 +22,5 @@ Password =
DontMatchComponents = selinux-policy
# for more info about these settings see: https://github.com/abrt/abrt/wiki/FAQ#creating-private-bugzilla-tickets
-# CreatePrivate = no
-# PrivateGroups = fedora_contrib_private
+# CreatePrivate = yes
+# PrivateGroups = redhat
--
2.21.0

View File

@ -0,0 +1,77 @@
From 69c83b933da2ac7c4a1450c5882027030eb79022 Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ekulik@redhat.com>
Date: Tue, 12 Mar 2019 13:30:12 +0100
Subject: [PATCH] lib: dump_dir: Clean up on failure in dd_delete()
All callers assume that dd_delete() will succeed and the dump directory
struct will be freed, but in some cases that does not happen and leaks
occur.
Resolves rhbz#1671233
Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
---
src/lib/dump_dir.c | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/src/lib/dump_dir.c b/src/lib/dump_dir.c
index 632a01fa..4533f4c1 100644
--- a/src/lib/dump_dir.c
+++ b/src/lib/dump_dir.c
@@ -1555,19 +1555,33 @@ static int dd_delete_meta_data(struct dump_dir *dd)
int dd_delete(struct dump_dir *dd)
{
+ int retval;
+
+ retval = 0;
+
if (!dd->locked)
{
error_msg("unlocked problem directory %s cannot be deleted", dd->dd_dirname);
- return -1;
+
+ retval = -1;
+
+ goto close;
}
if (dd_delete_meta_data(dd) != 0)
- return -2;
+ {
+ retval = -2;
+
+ goto close;
+ }
if (delete_file_dir(dd->dd_fd, /*skip_lock_file:*/ true) != 0)
{
perror_msg("Can't remove contents of directory '%s'", dd->dd_dirname);
- return -2;
+
+ retval = -2;
+
+ goto close;
}
unsigned cnt = RMDIR_FAIL_COUNT;
@@ -1586,12 +1600,14 @@ int dd_delete(struct dump_dir *dd)
if (cnt == 0)
{
perror_msg("Can't remove directory '%s'", dd->dd_dirname);
- return -3;
+
+ retval = -3;
}
dd->locked = 0; /* delete_file_dir already removed .lock */
+close:
dd_close(dd);
- return 0;
+ return retval;
}
int dd_chown(struct dump_dir *dd, uid_t new_uid)
--
2.21.0

View File

@ -0,0 +1,62 @@
From 683364e35ef2da8cd646fe1e29e57a17c6e71c36 Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ekulik@redhat.com>
Date: Tue, 28 May 2019 15:51:05 +0200
Subject: [PATCH] cli: Unpack command-line argument parsing logic
Currently, checking for invalid command line needlessly involves
convoluted bitwise operations, which can be simplified drastically.
First, argc is reduced by optind, which points to the next argument to
be processed. If everything goes well, argc should be 1, since the only
remaining argument to be processed is the problem directory. If that
does not hold, we want to bail. Another point at which we want to bail
is when an option is passed that operates on the positional argument
(anything but -L, which just lists available events). Checking for that
involves ANDing the current option mask with the mask of all such
options. The result is NOTed for comparison, since argc is 0 in such
cases.
Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
---
src/cli/cli.c | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/src/cli/cli.c b/src/cli/cli.c
index ff5b29f4..67ce7dde 100644
--- a/src/cli/cli.c
+++ b/src/cli/cli.c
@@ -39,6 +39,9 @@ static char *steal_directory_if_needed(char *dump_dir_name)
int main(int argc, char** argv)
{
+ bool runaway_arguments;
+ bool missing_positional_argument;
+
abrt_init(argv);
setlocale(LC_ALL, "");
@@ -108,16 +111,12 @@ int main(int argc, char** argv)
argv += optind;
argc -= optind;
+ runaway_arguments = argc > 1;
+ missing_positional_argument = (opts & OPTMASK_need_arg) && (argc == 0);
+
/* Check for bad usage */
- if (argc > 1 /* more than one arg? */
- ||
- /* dont_need_arg == have_arg? bad in both cases:
- * TRUE == TRUE (dont need arg but have) or
- * FALSE == FALSE (need arg but havent).
- * OPT_list_events is an exception, it can be used in both cases.
- */
- (((!(opts & OPTMASK_need_arg)) == argc) && (op != OPT_list_events))
- ) {
+ if (runaway_arguments || (missing_positional_argument && op != OPT_list_events))
+ {
show_usage_and_die(program_usage_string, program_options);
}
--
2.21.0

View File

@ -0,0 +1,42 @@
From d10e9b9e9b3118405ac701ce9109bc7239ff1752 Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ekulik@redhat.com>
Date: Wed, 29 May 2019 14:07:52 +0200
Subject: [PATCH] =?UTF-8?q?plugins:=20rhbz:=20Don=E2=80=99t=20call=20strle?=
=?UTF-8?q?n()=20on=20attachment=20data?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It might not be textual, meaning that, if the blob somehow begins with
NUL, it would be treated as empty.
Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
---
src/plugins/rhbz.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/rhbz.c b/src/plugins/rhbz.c
index 680527d7..96b6d7da 100644
--- a/src/plugins/rhbz.c
+++ b/src/plugins/rhbz.c
@@ -611,7 +611,7 @@ int rhbz_attach_blob(struct abrt_xmlrpc *ax, const char *bug_id,
{
func_entry();
- if (strlen(data) == 0)
+ if (0 == data_len)
{
log_notice("not attaching an empty file: '%s'", filename);
/* Return SUCCESS */
@@ -681,7 +681,7 @@ int rhbz_attach_fd(struct abrt_xmlrpc *ax, const char *bug_id,
//TODO: need to have a method of attaching huge files (IOW: 1Gb read isn't good).
- char *data = xmalloc(size + 1);
+ char *data = xmalloc(size);
ssize_t r = full_read(fd, data, size);
if (r < 0)
{
--
2.21.0

View File

@ -0,0 +1,34 @@
From 677b495832484943d88f3fa4325b4f5ae38e930b Mon Sep 17 00:00:00 2001
From: Michal Fabik <mfabik@redhat.com>
Date: Tue, 16 Jul 2019 10:27:18 +0200
Subject: [PATCH] tests: Disable strcpm'ing a freed pointer
This was causing an i686 build failure on RHEL8
Related: rhbz#1660449
Impossible to build otherwise
Signed-off-by: Michal Fabik <mfabik@redhat.com>
---
tests/libreport_types.at | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/libreport_types.at b/tests/libreport_types.at
index 106ba3b0..c63fdad4 100644
--- a/tests/libreport_types.at
+++ b/tests/libreport_types.at
@@ -233,7 +233,10 @@ int main(int argc, char **argv)
assert(try_get_map_string_item_as_string(map, key, &retval) || !"Cannot find key string('my_string') after freeing original key");
assert(NULL != retval || !"The return value is not assigned to the return variable");
- assert(strcmp(bck, retval) == 0 || !"Garbled string('test') after freeing the original key value");
+
+ /* disabled because this line was failing during an i686 build on RHEL8 */
+ /* need to investigate what it's good for in the first place */
+ //assert(strcmp(bck, retval) == 0 || !"Garbled string('test') after freeing the original key value");
/* TODO: try to store really big string */
--
2.21.0

View File

@ -0,0 +1,37 @@
From fc813bcf566e0ca1ccfff83e7e6f360647066768 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 9 Jul 2015 15:32:19 +0200
Subject: [PATCH] lib: fix a SEGV in list_possible_events()
The bug has been introduced in
commit fc028b3417349fd60a2ddd1aff1127a417df512b
Related: #1224984
Fixes: rhbz#1733515
Signed-off-by: Jakub Filak <jfilak@redhat.com>
(cherry picked from commit 38a8c2fb2b4a46a35899f6b1066ec65ef155eeac)
---
src/lib/run_event.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/lib/run_event.c b/src/lib/run_event.c
index 64c7a303..077ae189 100644
--- a/src/lib/run_event.c
+++ b/src/lib/run_event.c
@@ -417,7 +417,11 @@ static char* pop_next_command(GList **pp_rule_list,
if (pd == NULL)
free_me = real_val = dd_load_text_ext(dd, var_name, DD_FAIL_QUIETLY_ENOENT);
else
+ {
real_val = problem_data_get_content_or_NULL(pd, var_name);
+ if (real_val == NULL)
+ free_me = real_val = xstrdup("");
+ }
free(var_name);
int vals_differ = regex ? regcmp_lines(real_val, eq_sign + 1) : strcmp(real_val, eq_sign + 1);
free(free_me);
--
2.21.0

View File

@ -0,0 +1,116 @@
From 9636b85c5570911c753bc8074ce5bd73f490d4da Mon Sep 17 00:00:00 2001
From: Michal Fabik <mfabik@redhat.com>
Date: Wed, 19 Jun 2019 13:42:07 +0200
Subject: [PATCH] Add autogen.sh
---
autogen.sh | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 97 insertions(+)
create mode 100755 autogen.sh
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 00000000..fd48b5f0
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+print_help()
+{
+cat << EOH
+Prepares the source tree for configuration
+
+Usage:
+ autogen.sh [sysdeps [--install]]
+
+Options:
+
+ sysdeps prints out all dependencies
+ --install install all dependencies ('sudo yum install \$DEPS')
+
+EOH
+}
+
+parse_build_requires_from_spec_file()
+{
+ PACKAGE=$1
+ TEMPFILE=$(mktemp -u --suffix=.spec)
+ sed 's/@@LIBREPORT_VERSION@@/1/' < $PACKAGE.spec.in | sed 's/@.*@//' > $TEMPFILE
+ rpmspec -P $TEMPFILE | grep "^\(Build\)\?Requires:" | \
+ tr -s " " | tr "," "\n" | cut -f2- -d " " | \
+ grep -v "\(^\|python[23]-\)"$PACKAGE | sort -u | sed -E 's/^(.*) (.*)$/"\1 \2"/' | tr \" \'
+ rm $TEMPFILE
+}
+
+list_build_dependencies()
+{
+ local BUILD_SYSTEM_DEPS_LIST="gettext-devel"
+ echo $BUILD_SYSTEM_DEPS_LIST $(parse_build_requires_from_spec_file libreport)
+}
+
+case "$1" in
+ "--help"|"-h")
+ print_help
+ exit 0
+ ;;
+ "sysdeps")
+ DEPS_LIST=$(list_build_dependencies)
+
+ if [ "$2" == "--install" ]; then
+ set -x verbose
+ eval sudo dnf install --setopt=strict=0 $DEPS_LIST
+ set +x verbose
+ else
+ echo $DEPS_LIST
+ fi
+ exit 0
+ ;;
+ *)
+ echo "Running gen-version"
+ ./gen-version
+
+ mkdir -p m4
+ echo "Creating m4/aclocal.m4 ..."
+ test -r m4/aclocal.m4 || touch m4/aclocal.m4
+
+ echo "Running autopoint"
+ autopoint --force || exit 1
+
+ echo "Running intltoolize..."
+ intltoolize --force --copy --automake || exit 1
+
+ echo "Running aclocal..."
+ aclocal || exit 1
+
+ echo "Running libtoolize..."
+ libtoolize || exit 1
+
+ echo "Running autoheader..."
+ autoheader || return 1
+
+ echo "Running autoconf..."
+ autoconf --force || exit 1
+
+ echo "Running automake..."
+ automake --add-missing --force --copy || exit 1
+
+ echo "Running configure ..."
+ if [ 0 -eq $# ]; then
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sharedstatedir=/var/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-debug
+ echo "Configured for local debugging ..."
+ else
+ ./configure "$@"
+ fi
+ ;;
+esac
--
2.21.0

View File

@ -29,7 +29,7 @@
Summary: Generic library for reporting various problems
Name: libreport
Version: 2.9.5
Release: 6%{?dist}
Release: 9%{?dist}
License: GPLv2+
URL: https://abrt.readthedocs.org/
Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
@ -51,6 +51,19 @@ Patch0014: 0014-coverity-Remove-check-for-null-pointer-with-no-effec.patch
Patch0015: 0015-coverity-Check-return-value-of-fstat-call-def31.patch
Patch0016: 0016-coverity-Remove-reverse-inull-def30.patch
Patch0017: 0017-coverity-Remove-deadcode-def47.patch
#Patch0018: 0018-Make-this-build-without-usr-bin-python.patch
Patch0019: 0019-bugzilla-change-the-default-bugzilla-group.patch
Patch0020: 0020-lib-dump_dir-Clean-up-on-failure-in-dd_delete.patch
Patch0021: 0021-cli-Unpack-command-line-argument-parsing-logic.patch
Patch0022: 0022-plugins-rhbz-Don-t-call-strlen-on-attachment-data.patch
Patch0023: 0023-tests-Disable-strcpm-ing-a-freed-pointer.patch
#git format-patch -N --start-number=24
Patch0024: 0024-lib-fix-a-SEGV-in-list_possible_events.patch
#git format-patch -N --start-number=25
# autogen.sh is need to regenerate all the Makefile files
Patch9000: 9000-Add-autogen.sh.patch
BuildRequires: %{dbus_devel}
BuildRequires: gtk3-devel
@ -379,6 +392,7 @@ data over ftp/scp...
%autosetup -S git
%build
./autogen.sh
autoconf
CFLAGS="%{optflags} -Werror" %configure \
@ -833,6 +847,19 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%endif
%changelog
* Fri Jul 29 2019 Martin Kutlak <mkutlak@redhat.com> - 2.9.5-9
- lib: fix a SEGV in list_possible_events()
- Resolves: rhbz#1733515
* Wed Jul 24 2019 Ernestas Kulik <ekulik@redhat.com> - 2.9.5-8
- Uncomment some patches for Coverity issues
* Tue Jul 16 2019 Michal Fabik <mfabik@redhat.com> 2.9.5-7
- bugzilla: change the default bugzilla group
- tests: Disable strcpm'ing a freed pointer
- Add autogen.sh
- Resolves #1660449
* Wed Aug 29 2018 Matej Habrnal <mhabrnal@redhat.com> 2.9.5-6
- replace all Fedora URLs by corresponding values for RHEL
- fix coverity issues