New upstream release 2.0.12

- Resolves: #761431, #811733, #844679, #797078
This commit is contained in:
Jakub Filak 2012-08-21 17:07:17 +02:00
commit 3d458d1a8b
13 changed files with 21 additions and 410 deletions

1
.gitignore vendored
View file

@ -12,3 +12,4 @@ abrt-1.1.13.tar.gz
/abrt-2.0.9.tar.gz
/abrt-2.0.10.tar.gz
/abrt-2.0.11.tar.gz
/abrt-2.0.12.tar.gz

View file

@ -1,27 +0,0 @@
From cbb1054b9b557154c31ab5cf3af9ece7fd106ca2 Mon Sep 17 00:00:00 2001
Message-Id: <cbb1054b9b557154c31ab5cf3af9ece7fd106ca2.1333367073.git.jmoskovc@redhat.com>
From: Jiri Moskovcak <jmoskovc@redhat.com>
Date: Mon, 2 Apr 2012 13:37:56 +0200
Subject: [PATCH] a-a-analyze-core: check the len if the line array before
accessing it rhbz#804309
---
src/plugins/abrt-action-analyze-core | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/abrt-action-analyze-core b/src/plugins/abrt-action-analyze-core
index 0526211..b683fbe 100644
--- a/src/plugins/abrt-action-analyze-core
+++ b/src/plugins/abrt-action-analyze-core
@@ -99,7 +99,7 @@ def extract_info_from_core(coredump_name):
for line in lines:
b_ids_line = line.split()
- if len(b_ids_line) > 2:
+ if len(b_ids_line) >= EXECUTABLE:
# [exe] -> the executable itself
# linux-vdso.so.1 -> Virtual Dynamic Shared Object
# linux-gate.so.1 -> the same as vdso
--
1.7.9.3

View file

@ -1,70 +0,0 @@
From f7d7f594dcd5439bc05187361d55be720f07959e Mon Sep 17 00:00:00 2001
Message-Id: <f7d7f594dcd5439bc05187361d55be720f07959e.1334151133.git.jmoskovc@redhat.com>
From: Jiri Moskovcak <jmoskovc@redhat.com>
Date: Wed, 11 Apr 2012 15:31:34 +0200
Subject: [PATCH] pyhook: add timetout to sockets rhbz#808562
---
src/hooks/abrt_exception_handler.py.in | 46 ++++++++++++++++++--------------
1 file changed, 26 insertions(+), 20 deletions(-)
diff --git a/src/hooks/abrt_exception_handler.py.in b/src/hooks/abrt_exception_handler.py.in
index 9522a0f..cc00fc7 100644
--- a/src/hooks/abrt_exception_handler.py.in
+++ b/src/hooks/abrt_exception_handler.py.in
@@ -37,26 +37,32 @@ def write_dump(tb):
try:
import socket
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
- s.connect(@VAR_RUN@ + "/abrt/abrt.socket")
- s.sendall("PUT / HTTP/1.1\r\n\r\n")
- s.sendall("PID=%s\0" % os.getpid())
- s.sendall("EXECUTABLE=%s\0" % executable)
- s.sendall("ANALYZER=Python\0")
- s.sendall("BASENAME=pyhook\0")
- # This handler puts a short(er) crash descr in 1st line of the backtrace.
- # Example:
- # CCMainWindow.py:1:<module>:ZeroDivisionError: integer division or modulo by zero
- s.sendall("REASON=%s\0" % tb.splitlines()[0])
- s.sendall("BACKTRACE=%s\0" % tb)
- s.shutdown(socket.SHUT_WR)
-
- # Read the response and log if there's anything wrong
- response = ""
- while True:
- buf = s.recv(256)
- if not buf:
- break;
- response += buf
+ s.settimeout(5)
+ try:
+ s.connect(@VAR_RUN@ + "/abrt/abrt.socket")
+ s.sendall("PUT / HTTP/1.1\r\n\r\n")
+ s.sendall("PID=%s\0" % os.getpid())
+ s.sendall("EXECUTABLE=%s\0" % executable)
+ s.sendall("ANALYZER=Python\0")
+ s.sendall("BASENAME=pyhook\0")
+ # This handler puts a short(er) crash descr in 1st line of the backtrace.
+ # Example:
+ # CCMainWindow.py:1:<module>:ZeroDivisionError: integer division or modulo by zero
+ s.sendall("REASON=%s\0" % tb.splitlines()[0])
+ s.sendall("BACKTRACE=%s\0" % tb)
+ s.shutdown(socket.SHUT_WR)
+
+
+ # Read the response and log if there's anything wrong
+ response = ""
+ while True:
+ buf = s.recv(256)
+ if not buf:
+ break
+ response += buf
+ except socket.timeout, ex:
+ import syslog
+ syslog.syslog("communication with ABRT daemon failed: %s" % str(ex))
s.close()
parts = response.split()
--
1.7.10

View file

@ -1,28 +0,0 @@
From 4776f9e6b84482047d75aa9b36ac5c4db29c06a0 Mon Sep 17 00:00:00 2001
Message-Id: <4776f9e6b84482047d75aa9b36ac5c4db29c06a0.1333282746.git.jmoskovc@redhat.com>
In-Reply-To: <fc91ca4433b373e57997d400cc413b4c3de09b7c.1333282746.git.jmoskovc@redhat.com>
References: <fc91ca4433b373e57997d400cc413b4c3de09b7c.1333282746.git.jmoskovc@redhat.com>
From: Jiri Moskovcak <jmoskovc@redhat.com>
Date: Sun, 1 Apr 2012 01:04:27 +0200
Subject: [PATCH 2/5] gui: fixed crash when chowning directory using dbus call
---
src/gui-gtk/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui-gtk/main.c b/src/gui-gtk/main.c
index 02e5c48..e80d1c7 100644
--- a/src/gui-gtk/main.c
+++ b/src/gui-gtk/main.c
@@ -398,7 +398,7 @@ static gboolean on_focus_cb(
static int chown_dir_over_dbus(const char *problem_dir_path)
{
- GError *error;
+ GError *error = NULL;
GDBusProxy * proxy = g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM,
G_DBUS_PROXY_FLAGS_NONE,
NULL,
--
1.7.9.3

View file

@ -1,97 +0,0 @@
From 9cade723ad0d267aaae2aa93bfb8288e2d7a1ba8 Mon Sep 17 00:00:00 2001
Message-Id: <9cade723ad0d267aaae2aa93bfb8288e2d7a1ba8.1333282746.git.jmoskovc@redhat.com>
In-Reply-To: <fc91ca4433b373e57997d400cc413b4c3de09b7c.1333282746.git.jmoskovc@redhat.com>
References: <fc91ca4433b373e57997d400cc413b4c3de09b7c.1333282746.git.jmoskovc@redhat.com>
From: Jiri Moskovcak <jmoskovc@redhat.com>
Date: Sun, 1 Apr 2012 13:41:39 +0200
Subject: [PATCH 3/5] dbus: use the helper dir_accessible_by_uid() more
consistently
---
src/dbus/abrt-dbus.c | 44 +++++++++++++++-----------------------------
1 file changed, 15 insertions(+), 29 deletions(-)
diff --git a/src/dbus/abrt-dbus.c b/src/dbus/abrt-dbus.c
index e72cd30..0c7af5c 100644
--- a/src/dbus/abrt-dbus.c
+++ b/src/dbus/abrt-dbus.c
@@ -144,7 +144,7 @@ static int dir_accessible_by_uid(const char* dir_path, uid_t uid)
struct stat statbuf;
if (stat(dir_path, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
{
- if (uid == 0 || uid_in_group(uid, statbuf.st_gid))
+ if (uid == 0 || (statbuf.st_mode & S_IROTH) || uid_in_group(uid, statbuf.st_gid))
{
VERB1 log("caller has access to the requested directory %s", dir_path);
return 1;
@@ -293,28 +293,15 @@ static void handle_method_call(GDBusConnection *connection,
return;
}
- struct stat statbuf;
- errno = 0;
- if (stat(problem_dir, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
- {
- if (caller_uid == 0 || uid_in_group(caller_uid, statbuf.st_gid)) //caller seems to be in group with access to this dir, so no action needed
- {
- VERB1 log("caller has access to the requested directory %s", problem_dir);
- g_dbus_method_invocation_return_value(invocation, NULL);
- dd_close(dd);
- return;
- }
-
- }
- else
+ if(dir_accessible_by_uid(problem_dir, caller_uid)) //caller seems to be in group with access to this dir, so no action needed
{
- g_dbus_method_invocation_return_dbus_error(invocation,
- "org.freedesktop.problems.StatFailure",
- strerror(errno));
+ VERB1 log("caller has access to the requested directory %s", problem_dir);
+ g_dbus_method_invocation_return_value(invocation, NULL);
dd_close(dd);
return;
}
+
if (polkit_check_authorization_dname(caller, "org.freedesktop.problems.getall") != PolkitYes)
{
VERB1 log("not authorized");
@@ -329,6 +316,15 @@ static void handle_method_call(GDBusConnection *connection,
if (pwd)
{
errno = 0;
+ struct stat statbuf;
+ if (!(stat(problem_dir, &statbuf) == 0 && S_ISDIR(statbuf.st_mode)))
+ {
+ g_dbus_method_invocation_return_dbus_error(invocation,
+ "org.freedesktop.problems.StatFailure",
+ strerror(errno));
+ return;
+ }
+
chown_res = chown(problem_dir, statbuf.st_uid, pwd->pw_gid);
dd_init_next_file(dd);
char *short_name, *full_name;
@@ -361,17 +357,7 @@ static void handle_method_call(GDBusConnection *connection,
GVariantBuilder *builder;
- struct stat statbuf;
- errno = 0;
- if (stat(problem_dir, &statbuf) != 0)
- {
- g_dbus_method_invocation_return_dbus_error(invocation,
- "org.freedesktop.problems.GetInfoError",
- strerror(errno));
- return;
- }
-
- if (!uid_in_group(caller_uid, statbuf.st_gid))
+ if (!dir_accessible_by_uid(problem_dir, caller_uid))
{
if (polkit_check_authorization_dname(caller, "org.freedesktop.problems.getall") != PolkitYes)
{
--
1.7.9.3

View file

@ -1,9 +0,0 @@
--- abrt-2.0.3/src/daemon/gpg_keys 2011-06-08 17:00:18.000000000 +0200
+++ abrt-2.0.3_/src/daemon/gpg_keys 2011-07-14 20:57:09.000000000 +0200
@@ -1 +1,5 @@
-/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-former
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-release
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-rhx
+/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

View file

@ -24,18 +24,13 @@
Summary: Automatic bug detection and reporting tool
Name: abrt
Version: 2.0.11
Release: 2%{?dist}
Version: 2.0.12
Release: 1%{?dist}
License: GPLv2+
Group: Applications/System
URL: https://fedorahosted.org/abrt/
Source: https://fedorahosted.org/released/%{name}/%{name}-%{version}.tar.gz
Source1: abrt1_to_abrt2
Patch0: abrt-rhelkeys.patch
Patch1: blacklist.patch
Patch2: abrt_disable_gpgcheck.diff
Patch3: no_elements_abrt_dbus_crash_fix.patch
Patch4: analyze_retrace_sensitive_data_configuration.patch
BuildRequires: dbus-devel
BuildRequires: gtk3-devel
BuildRequires: rpm-devel >= 4.6
@ -50,7 +45,7 @@ BuildRequires: libtool
BuildRequires: nss-devel
BuildRequires: asciidoc
BuildRequires: xmlto
BuildRequires: libreport-devel >= 2.0.10-2
BuildRequires: libreport-devel >= 2.0.13-1
BuildRequires: btparser-devel
%if %{with systemd}
@ -219,9 +214,6 @@ Requires: abrt-plugin-bodhi
Requires: libreport-plugin-logger, libreport-plugin-bugzilla
Requires: libreport-plugin-ureport
#Requires: abrt-plugin-firefox
%if 0%{?fedora}
Requires: libreport-plugin-bodhi
%endif
Obsoletes: bug-buddy > 0.0.1
Provides: bug-buddy
@ -247,15 +239,10 @@ uses PolicyKit to authorize to access the problem data.
%patch0 -p1 -b .rhel_gpg
%endif
#Fedora
%patch1 -p1 -b .blacklist
%patch2 -p1 -b .gpgcheck
%patch3 -p1 -b .noelements
%patch4 -p1 -b .senstive
%build
autoconf
%configure
CFLAGS="-fno-strict-aliasing"
CFLAGS="%{optflags} -Werror" %configure --disable-silent-rules
make %{?_smp_mflags}
%install
@ -497,7 +484,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
# abrtd runs as root
%dir %attr(0755, root, root) %{_localstatedir}/run/%{name}
%ghost %attr(0666, -, -) %{_localstatedir}/run/%{name}/abrt.socket
%ghost %attr(0644, -, -) %{_localstatedir}/run/abrtd.pid
%ghost %attr(0644, -, -) %{_localstatedir}/run/%{name}/abrtd.pid
%dir %{_sysconfdir}/%{name}
%dir %{_sysconfdir}/%{name}/plugins
@ -565,6 +552,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_sysconfdir}/libreport/events/collect_GConf.xml
%{_sysconfdir}/libreport/events/collect_vimrc_user.xml
%{_sysconfdir}/libreport/events/collect_vimrc_system.xml
%{_sysconfdir}/libreport/events/post_report.xml
%{_mandir}/man*/abrt-action-analyze-c.*
%{_mandir}/man*/abrt-action-trim-files.*
%{_mandir}/man*/abrt-action-generate-backtrace.*
@ -605,6 +593,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files addon-vmcore
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/libreport/events.d/vmcore_event.conf
%config(noreplace) %{_sysconfdir}/%{name}/abrt-harvest-vmcore.conf
%{_sysconfdir}/libreport/events/analyze_VMcore.xml
%if %{with systemd}
%{_unitdir}/abrt-vmcore.service
@ -618,6 +607,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files addon-python
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/%{name}/plugins/python.conf
# TODO? Do we need %config(noreplace) in the below line too?
%{_sysconfdir}/libreport/events.d/python_event.conf
%{_bindir}/abrt-action-analyze-python
%{_mandir}/man1/abrt-action-analyze-python.1*
@ -648,6 +638,17 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/polkit-1/actions/abrt_polkit.policy
%changelog
* Tue Aug 21 2012 Jakub Filak <jfilak@redhat.com> 2.0.12-1
- move abrtd.pid to /var/run/abrt/abrtd.pid
- abrt-harvest-vmcore: add CopyVMcore config option to copy vmcores. Closes 448, rhbz#811733, rhbz#844679
- update po files rhzb#800784
- applet: fix a SEGV caused by notify_init() not being called
- minor fix to pkg-config file
- ignore results of setregid() and setreuid() after glibc update
- hopefully fixed ugly applet icon rhbz#797078
- add update of abrt server database to event chains
- Resolves: #761431, #811733, #844679, #797078
* Fri Aug 10 2012 Jakub Filak <jfilak@redhat.com> 2.0.11-2
- fix abrt-dbus crash if no element is found in GetInfo()
- set sending-sensitive-data option to 'yes' for analyze_RetraceServer event

View file

@ -1,11 +0,0 @@
--- abrt-2.0.6/src/daemon/abrt-action-save-package-data.conf 2011-11-04 13:03:43.271953835 +0100
+++ abrt-2.0.6_/src/daemon/abrt-action-save-package-data.conf 2011-11-04 13:03:36.661746556 +0100
@@ -3,7 +3,7 @@
# the list of public keys used to check the signature is
# in the file gpg_keys
#
-OpenGPGCheck = yes
+OpenGPGCheck = no
# Blacklisted packages
#

View file

@ -1,48 +0,0 @@
diff -urp abrt-2.0.10/init-scripts/abrt-ccpp.service abrt-2.0.10_systemd/init-scripts/abrt-ccpp.service
--- abrt-2.0.10/init-scripts/abrt-ccpp.service 2012-03-08 11:20:16.000000000 +0100
+++ abrt-2.0.10_systemd/init-scripts/abrt-ccpp.service 2012-05-10 10:27:13.596516564 +0200
@@ -1,7 +1,7 @@
[Unit]
Description=Install ABRT coredump hook
After=abrtd.service
-Requires=abrtd.service
+Requisite=abrtd.service
[Service]
Type=oneshot
diff -urp abrt-2.0.10/init-scripts/abrt-oops.service abrt-2.0.10_systemd/init-scripts/abrt-oops.service
--- abrt-2.0.10/init-scripts/abrt-oops.service 2012-03-23 14:34:00.000000000 +0100
+++ abrt-2.0.10_systemd/init-scripts/abrt-oops.service 2012-05-10 10:27:34.428515140 +0200
@@ -1,7 +1,7 @@
[Unit]
Description=ABRT kernel log watcher
After=abrtd.service
-Requires=abrtd.service
+Requisite=abrtd.service
[Service]
# TODO: do we really need absolute paths here?
diff -urp abrt-2.0.10/init-scripts/abrt-vmcore.service abrt-2.0.10_systemd/init-scripts/abrt-vmcore.service
--- abrt-2.0.10/init-scripts/abrt-vmcore.service 2012-03-08 11:20:16.000000000 +0100
+++ abrt-2.0.10_systemd/init-scripts/abrt-vmcore.service 2012-05-10 10:27:41.644514646 +0200
@@ -1,7 +1,7 @@
[Unit]
Description=Harvest vmcores for ABRT
After=abrtd.service
-Requires=abrtd.service
+Requisite=abrtd.service
[Service]
Type=oneshot
diff -urp abrt-2.0.10/init-scripts/abrt-xorg.service abrt-2.0.10_systemd/init-scripts/abrt-xorg.service
--- abrt-2.0.10/init-scripts/abrt-xorg.service 2012-03-23 14:34:00.000000000 +0100
+++ abrt-2.0.10_systemd/init-scripts/abrt-xorg.service 2012-05-10 10:27:48.444514182 +0200
@@ -1,7 +1,7 @@
[Unit]
Description=ABRT Xorg log watcher
After=abrtd.service
-Requires=abrtd.service
+Requisite=abrtd.service
[Service]
ExecStart=/bin/sh -c 'exec /usr/bin/abrt-watch-log -F "`/usr/bin/abrt-dump-xorg -m`" /var/log/Xorg.0.log -- /usr/bin/abrt-dump-xorg -xD'

View file

@ -1,26 +0,0 @@
From e5d7e2e0f3aa9047e1b7268965021b91b29d76e2 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Fri, 10 Aug 2012 13:13:18 +0200
Subject: [PATCH 6/6] set sending-sensitive-data option to 'yes' for
analyze_RetraceServer event
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/plugins/analyze_RetraceServer.xml.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/plugins/analyze_RetraceServer.xml.in b/src/plugins/analyze_RetraceServer.xml.in
index a2ca859..e437cac 100644
--- a/src/plugins/analyze_RetraceServer.xml.in
+++ b/src/plugins/analyze_RetraceServer.xml.in
@@ -8,6 +8,7 @@
</_long-description>
<creates-items>backtrace</creates-items>
<gui-review-elements>no</gui-review-elements>
+ <sending-sensitive-data>yes</sending-sensitive-data>
<options>
<option type="text" name="RETRACE_SERVER_URL">
<_label>Retrace server URL</_label>
--
1.7.11.2

View file

@ -1,17 +0,0 @@
--- abrt-2.0.4/src/daemon/abrt-action-save-package-data.conf 2011-07-15 13:10:46.000000000 +0200
+++ abrt-2.0.4_/src/daemon/abrt-action-save-package-data.conf 2011-07-19 15:12:43.661630657 +0200
@@ -7,7 +7,7 @@
# Blacklisted packages
#
-BlackList = nspluginwrapper,valgrind,strace
+BlackList = nspluginwrapper, valgrind, strace, mono-core, plugin-container
# Process crashes in executables which do not belong to any package?
#
@@ -15,4 +15,4 @@
# Blacklisted executable paths (shell patterns)
#
-BlackListedPaths = /usr/share/doc/*,*/example*
+BlackListedPaths = /usr/share/doc/*, */example*, /usr/bin/nspluginviewer, /usr/lib/xulrunner-*/plugin-container

View file

@ -1,58 +0,0 @@
From 1a9cd8817eb80b2e47a989a1fc5d14292800542e Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 9 Aug 2012 13:58:49 +0200
Subject: [PATCH 3/6] fix abrt-dbus crash if no element is found in GetInfo()
* g_variant_new() calls g_variant_builder_end() internally
"...
It is also an error to call this function if the builder was created
with an indefinite array or maybe type and no children have been added
..."
[g_variant_builder_end() glib-2.32 documentation]
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/dbus/abrt-dbus.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/dbus/abrt-dbus.c b/src/dbus/abrt-dbus.c
index e4a3689..4302b4f 100644
--- a/src/dbus/abrt-dbus.c
+++ b/src/dbus/abrt-dbus.c
@@ -579,7 +579,7 @@ static void handle_method_call(GDBusConnection *connection,
GList *elements = string_list_from_variant(array);
g_variant_unref(array);
- GVariantBuilder *builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
+ GVariantBuilder *builder = NULL;
for (GList *l = elements; l; l = l->next)
{
const char *element_name = (const char*)l->data;
@@ -590,6 +590,9 @@ static void handle_method_call(GDBusConnection *connection,
VERB1 log("element '%s' %s", element_name, value ? "fetched" : "not found");
if (value)
{
+ if (!builder)
+ builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
+
/* g_variant_builder_add makes a copy. No need to xstrdup here */
g_variant_builder_add(builder, "{ss}", element_name, value);
free(value);
@@ -597,8 +600,12 @@ static void handle_method_call(GDBusConnection *connection,
}
list_free_with_free(elements);
dd_close(dd);
+ /* It is OK to call g_variant_new("(a{ss})", NULL) because */
+ /* G_VARIANT_TYPE_TUPLE allows NULL value */
GVariant *response = g_variant_new("(a{ss})", builder);
- g_variant_builder_unref(builder);
+
+ if (builder)
+ g_variant_builder_unref(builder);
VERB2 log("GetInfo: returning value for '%s'", problem_dir);
g_dbus_method_invocation_return_value(invocation, response);
--
1.7.11.2

View file

@ -1 +1 @@
ab69b093ac1dbd5438ab166a0c53c60c abrt-2.0.11.tar.gz
81332aebeec1cdc59ce399429c95b349 abrt-2.0.12.tar.gz