From ad118dd843f32a6288518772284de8ce1f13785e55c07c97603482c19466435b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sun, 15 Dec 2013 20:02:28 +0000 Subject: [PATCH] Accepting request 210135 from home:pwieczorkiewicz:branches:Base:System Added udisks2-20131026-removable-devices-polkit-auth.patch. It adds polkit authorization variables for removable media, which allow restricting or granting access to removable media based on its type using polkit authorization rules (fate#312966 fdo#72122). OBS-URL: https://build.opensuse.org/request/show/210135 OBS-URL: https://build.opensuse.org/package/show/Base:System/udisks2?expand=0&rev=36 --- ...131026-removable-devices-polkit-auth.patch | 75 +++++++++++++++++++ udisks2.changes | 8 ++ udisks2.spec | 6 +- 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 udisks2-20131026-removable-devices-polkit-auth.patch diff --git a/udisks2-20131026-removable-devices-polkit-auth.patch b/udisks2-20131026-removable-devices-polkit-auth.patch new file mode 100644 index 0000000..bb09003 --- /dev/null +++ b/udisks2-20131026-removable-devices-polkit-auth.patch @@ -0,0 +1,75 @@ +Index: udisks-2.1.1/doc/html/udisks-polkit-actions.html +=================================================================== +--- udisks-2.1.1.orig/doc/html/udisks-polkit-actions.html 2013-08-21 03:49:57.000000000 +0200 ++++ udisks-2.1.1/doc/html/udisks-polkit-actions.html 2013-10-04 12:10:53.160542373 +0200 +@@ -120,6 +120,14 @@ + If the object is a drive (or a block device that is part of a drive), this is set to the string true only if the value of the Drive:Removable property is TRUE. + + ++drive.removable.bus ++If the object is a drive (or a block device that is part of a drive), this is set to the value of the Drive:ConnectionBus property. This variable is set only if the value of the Drive:Removable property is TRUE. ++ ++ ++drive.removable.media ++If the object is a drive (or a block device that is part of a drive), this is set to the value of the Drive:MediaCompatibility property. This variable is set only if the value of the Drive:Removable property is TRUE. ++ ++ + id.type + If the object is a block device, this property is set to the value of the Block:IdType property. + +Index: udisks-2.1.1/doc/udisks2-docs.xml +=================================================================== +--- udisks-2.1.1.orig/doc/udisks2-docs.xml 2013-07-23 08:51:10.000000000 +0200 ++++ udisks-2.1.1/doc/udisks2-docs.xml 2013-10-04 12:01:27.720575739 +0200 +@@ -248,6 +248,14 @@ + drive.removable + If the object is a drive (or a block device that is part of a drive), this is set to the string true only if the value of the Drive:Removable property is TRUE. + ++ ++ drive.removable.bus ++ If the object is a drive (or a block device that is part of a drive), this is set to the value of the Drive:ConnectionBus property. This variable is set only if the value of the Drive:Removable property is TRUE. ++ ++ ++ drive.removable.media ++ If the object is a drive (or a block device that is part of a drive), this is set to the value of the Drive:MediaCompatibility property. This variable is set only if the value of the Drive:Removable property is TRUE. ++ + + + id.type +Index: udisks-2.1.1/src/udisksdaemonutil.c +=================================================================== +--- udisks-2.1.1.orig/src/udisksdaemonutil.c 2013-07-23 08:51:10.000000000 +0200 ++++ udisks-2.1.1/src/udisksdaemonutil.c 2013-10-04 11:37:33.176660391 +0200 +@@ -637,7 +637,31 @@ udisks_daemon_util_check_authorization_s + _safe_polkit_details_insert (details, "drive.model", udisks_drive_get_model (drive)); + _safe_polkit_details_insert (details, "drive.revision", udisks_drive_get_revision (drive)); + if (udisks_drive_get_removable (drive)) +- polkit_details_insert (details, "drive.removable", "true"); ++ { ++ const gchar *const *media_compat; ++ GString *media_compat_str; ++ const gchar *sep = ","; ++ ++ polkit_details_insert (details, "drive.removable", "true"); ++ _safe_polkit_details_insert (details, "drive.removable.bus", udisks_drive_get_connection_bus (drive)); ++ ++ media_compat_str = g_string_new (NULL); ++ media_compat = udisks_drive_get_media_compatibility (drive); ++ if (media_compat) ++ { ++ guint i; ++ ++ for (i = 0; media_compat[i] && strlen(media_compat[i]); i++) ++ { ++ if (i) ++ g_string_append (media_compat_str, sep); ++ g_string_append (media_compat_str, media_compat[i]); ++ } ++ } ++ ++ _safe_polkit_details_insert (details, "drive.removable.media", media_compat_str->str); ++ g_string_free (media_compat_str, TRUE); ++ } + } + + if (block != NULL) diff --git a/udisks2.changes b/udisks2.changes index 6835793..e848298 100644 --- a/udisks2.changes +++ b/udisks2.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Dec 10 08:33:56 UTC 2013 - pwieczorkiewicz@suse.com + +- Added udisks2-20131026-removable-devices-polkit-auth.patch. + It adds polkit authorization variables for removable media, which + allow restricting or granting access to removable media based on + its type using polkit authorization rules (fate#312966 fdo#72122). + ------------------------------------------------------------------- Sun Nov 24 04:06:19 UTC 2013 - crrodriguez@opensuse.org diff --git a/udisks2.spec b/udisks2.spec index a2d4df3..8c12c66 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -24,9 +24,11 @@ Version: 2.1.1 Release: 0 Summary: Disk Management Service, version 2 License: GPL-2.0+ -Group: System/Daemons +Group: System Environment/Daemons Url: http://www.freedesktop.org/wiki/Software/udisks Source: http://udisks.freedesktop.org/releases/%{_name}-%{version}.tar.bz2 +# PATCH-FEATURE-UPSTREAM udisks2-20131026-removable-devices-polkit-auth.patch fate#312966 fdo#72122 pwieczorkiewicz@suse.de -- Add polkit authorization variables for removable media. It allows restricting or granting access to removable media using polkit authorization rules. +Patch1: udisks2-20131026-removable-devices-polkit-auth.patch # Needed to build the man pages BuildRequires: docbook-xsl-stylesheets BuildRequires: gobject-introspection-devel @@ -46,6 +48,7 @@ BuildRequires: pkgconfig(udev) # sgdisk is called by udisksd to modify the partition tables... thus a needed tool. Requires: gptfdisk Recommends: %{name}-lang + BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_requires} @@ -93,6 +96,7 @@ for managing disks and storage devices. %lang_package %prep %setup -q -n %{_name}-%{version} +%patch1 -p1 %build export V=1