updated to latest upstream - fixed rhbz#808131
This commit is contained in:
parent
b9863ed60d
commit
038b66d302
1
.gitignore
vendored
1
.gitignore
vendored
@ -10,3 +10,4 @@ abrt-1.1.13.tar.gz
|
||||
/abrt-2.0.6.tar.gz
|
||||
/abrt-2.0.7.tar.gz
|
||||
/abrt-2.0.9.tar.gz
|
||||
/abrt-2.0.10.tar.gz
|
||||
|
@ -0,0 +1,28 @@
|
||||
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
|
||||
|
@ -0,0 +1,97 @@
|
||||
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
|
||||
|
14
abrt.spec
14
abrt.spec
@ -24,7 +24,7 @@
|
||||
|
||||
Summary: Automatic bug detection and reporting tool
|
||||
Name: abrt
|
||||
Version: 2.0.9
|
||||
Version: 2.0.10
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2+
|
||||
Group: Applications/System
|
||||
@ -34,6 +34,8 @@ Source1: abrt1_to_abrt2
|
||||
Patch0: abrt-rhelkeys.patch
|
||||
Patch1: blacklist.patch
|
||||
Patch2: abrt_disable_gpgcheck.diff
|
||||
Patch3: 0002-gui-fixed-crash-when-chowning-directory-using-dbus-c.patch
|
||||
Patch4: 0003-dbus-use-the-helper-dir_accessible_by_uid-more-consi.patch
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: rpm-devel >= 4.6
|
||||
@ -48,7 +50,7 @@ BuildRequires: libtool
|
||||
BuildRequires: nss-devel
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: libreport-devel > 2.0.6
|
||||
BuildRequires: libreport-devel >= 2.0.10-2
|
||||
BuildRequires: btparser-devel
|
||||
BuildRequires: elfutils-devel
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
@ -90,6 +92,7 @@ Development libraries and headers for %{name}.
|
||||
Summary: %{name}'s gui
|
||||
Group: User Interface/Desktops
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-dbus = %{version}-%{release}
|
||||
BuildRequires: libreport-gtk-devel
|
||||
# we used to have abrt-applet, now abrt-gui includes it:
|
||||
Provides: abrt-applet = %{version}-%{release}
|
||||
@ -232,6 +235,8 @@ uses PolicyKit to authorize to access the problem data.
|
||||
#Fedora
|
||||
%patch1 -p1 -b .blacklist
|
||||
%patch2 -p1 -b .gpgcheck
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
%build
|
||||
autoconf
|
||||
@ -632,6 +637,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
%{_datadir}/polkit-1/actions/abrt_polkit.policy
|
||||
|
||||
%changelog
|
||||
* Mon Apr 02 2012 Jiri Moskovcak <jmoskovc@redhat.com> 2.0.10-1
|
||||
- new upstream release
|
||||
- fixed problem with empty problem directory rhzb#808131
|
||||
- Resolves: #808131
|
||||
|
||||
* Mon Mar 19 2012 Jiri Moskovcak <jmoskovc@redhat.com> 2.0.7-7
|
||||
- fixed problems with rhel gpg keys rhbz#800419
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user