don't mount interactively during login
This commit is contained in:
parent
7099b075a5
commit
dccc590e63
129
gvfs-non-interactive-mounts.patch
Normal file
129
gvfs-non-interactive-mounts.patch
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 9bfb8ad..887cf95 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -236,7 +236,7 @@ AC_ARG_ENABLE(gdu, [ --disable-gdu build without GDU volume monitor])
|
||||||
|
msg_gdu=no
|
||||||
|
GDU_LIBS=
|
||||||
|
GDU_CFLAGS=
|
||||||
|
-GDU_REQUIRED=0.4
|
||||||
|
+GDU_REQUIRED=0.5
|
||||||
|
|
||||||
|
if test "x$enable_gdu" != "xno"; then
|
||||||
|
PKG_CHECK_EXISTS([gdu >= $GDU_REQUIRED], msg_gdu=yes)
|
||||||
|
diff --git a/monitor/gdu/ggduvolume.c b/monitor/gdu/ggduvolume.c
|
||||||
|
index a20b0bb..865a7b7 100644
|
||||||
|
--- a/monitor/gdu/ggduvolume.c
|
||||||
|
+++ b/monitor/gdu/ggduvolume.c
|
||||||
|
@@ -337,51 +337,12 @@ update_volume (GGduVolume *volume)
|
||||||
|
volume->should_automount = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* Avoid automounting volumes from
|
||||||
|
- *
|
||||||
|
- * 1. drives on a 'virtual' or unset bus
|
||||||
|
- * 2. volumes without a drive
|
||||||
|
- *
|
||||||
|
- * This is to avoid interference with things like Fedora's
|
||||||
|
- * livecd-tools that use device-mapper to set up images. See
|
||||||
|
- * https://bugzilla.redhat.com/show_bug.cgi?id=494144 for more
|
||||||
|
- * background.
|
||||||
|
- *
|
||||||
|
- * In the future we might want to relax 1. so automounting
|
||||||
|
- * things like Linux MD and LVM2 devices work.
|
||||||
|
+ /* Respect the presentation hint for whether the volume should be automounted - normally
|
||||||
|
+ * nopolicy is only FALSE for "physical" devices - e.g. only "physical" devices will
|
||||||
|
+ * be set to be automounted.
|
||||||
|
*/
|
||||||
|
- if (volume->drive != NULL)
|
||||||
|
- {
|
||||||
|
- GduPresentable *drive_presentable;
|
||||||
|
- drive_presentable = g_gdu_drive_get_presentable (volume->drive);
|
||||||
|
- if (drive_presentable != NULL)
|
||||||
|
- {
|
||||||
|
- GduDevice *drive_device;
|
||||||
|
- drive_device = gdu_presentable_get_device (drive_presentable);
|
||||||
|
- if (drive_device != NULL)
|
||||||
|
- {
|
||||||
|
- const gchar *bus;
|
||||||
|
- bus = gdu_device_drive_get_connection_interface (drive_device);
|
||||||
|
- if (bus == NULL || strlen (bus) == 0 || g_strcmp0 (bus, "virtual") == 0)
|
||||||
|
- {
|
||||||
|
- volume->should_automount = FALSE;
|
||||||
|
- }
|
||||||
|
- g_object_unref (drive_device);
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- volume->should_automount = FALSE;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- volume->should_automount = FALSE;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- volume->should_automount = FALSE;
|
||||||
|
- }
|
||||||
|
+ if (gdu_device_get_presentation_nopolicy (device))
|
||||||
|
+ volume->should_automount = FALSE;
|
||||||
|
|
||||||
|
g_free (activation_uri);
|
||||||
|
}
|
||||||
|
@@ -650,22 +611,28 @@ g_gdu_volume_get_mount (GVolume *volume)
|
||||||
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
static gchar **
|
||||||
|
-get_mount_options (GduDevice *device)
|
||||||
|
+get_mount_options (GduDevice *device,
|
||||||
|
+ gboolean allow_user_interaction)
|
||||||
|
{
|
||||||
|
- gchar **ret;
|
||||||
|
+ GPtrArray *p;
|
||||||
|
+
|
||||||
|
+ p = g_ptr_array_new ();
|
||||||
|
|
||||||
|
/* one day we might read this from user settings */
|
||||||
|
if (g_strcmp0 (gdu_device_id_get_usage (device), "filesystem") == 0 &&
|
||||||
|
g_strcmp0 (gdu_device_id_get_type (device), "vfat") == 0)
|
||||||
|
{
|
||||||
|
- ret = g_new0 (gchar *, 2);
|
||||||
|
- ret[0] = g_strdup ("flush");
|
||||||
|
- ret[1] = NULL;
|
||||||
|
+ g_ptr_array_add (p, g_strdup ("flush"));
|
||||||
|
}
|
||||||
|
- else
|
||||||
|
- ret = NULL;
|
||||||
|
|
||||||
|
- return ret;
|
||||||
|
+ if (!allow_user_interaction)
|
||||||
|
+ {
|
||||||
|
+ g_ptr_array_add (p, g_strdup ("auth_no_user_interaction"));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_ptr_array_add (p, NULL);
|
||||||
|
+
|
||||||
|
+ return (gchar **) g_ptr_array_free (p, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------------------------------- */
|
||||||
|
@@ -787,7 +754,7 @@ mount_cleartext_device (MountOpData *data,
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gchar **mount_options;
|
||||||
|
- mount_options = get_mount_options (data->device_to_mount);
|
||||||
|
+ mount_options = get_mount_options (data->device_to_mount, data->mount_operation != NULL);
|
||||||
|
gdu_device_op_filesystem_mount (data->device_to_mount, mount_options, mount_cb, data);
|
||||||
|
g_strfreev (mount_options);
|
||||||
|
}
|
||||||
|
@@ -1205,7 +1172,7 @@ g_gdu_volume_mount (GVolume *_volume,
|
||||||
|
{
|
||||||
|
gchar **mount_options;
|
||||||
|
data->device_to_mount = g_object_ref (device);
|
||||||
|
- mount_options = get_mount_options (data->device_to_mount);
|
||||||
|
+ mount_options = get_mount_options (data->device_to_mount, data->mount_operation != NULL);
|
||||||
|
gdu_device_op_filesystem_mount (data->device_to_mount, mount_options, mount_cb, data);
|
||||||
|
g_strfreev (mount_options);
|
||||||
|
}
|
10
gvfs.spec
10
gvfs.spec
@ -1,7 +1,7 @@
|
|||||||
Summary: Backends for the gio framework in GLib
|
Summary: Backends for the gio framework in GLib
|
||||||
Name: gvfs
|
Name: gvfs
|
||||||
Version: 1.3.5
|
Version: 1.3.5
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.gtk.org
|
URL: http://www.gtk.org
|
||||||
@ -38,6 +38,8 @@ Patch1: gvfs-archive-integration.patch
|
|||||||
# http://bugzilla.gnome.org/show_bug.cgi?id=591005
|
# http://bugzilla.gnome.org/show_bug.cgi?id=591005
|
||||||
Patch10: 0001-Add-AFC-backend.patch
|
Patch10: 0001-Add-AFC-backend.patch
|
||||||
|
|
||||||
|
Patch11: gvfs-non-interactive-mounts.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The gvfs package provides backend implementations for the gio
|
The gvfs package provides backend implementations for the gio
|
||||||
framework in GLib. It includes ftp, sftp, cifs.
|
framework in GLib. It includes ftp, sftp, cifs.
|
||||||
@ -130,6 +132,7 @@ and iPod Touches to applications using gvfs.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1 -b .archive-integration
|
%patch1 -p1 -b .archive-integration
|
||||||
%patch10 -p1 -b .afc
|
%patch10 -p1 -b .afc
|
||||||
|
%patch11 -p1 -b .non-interactive-mounts
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -283,7 +286,10 @@ update-desktop-database &> /dev/null ||:
|
|||||||
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
|
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Aug 24 2009 Matthias Clasne <mclasen@redhat.com> - 1.3.5-1
|
* Wed Aug 26 2009 Matthias Clasen <mclasen@redhat.com> - 1.3.5-2
|
||||||
|
- Don't mount interactively during login
|
||||||
|
|
||||||
|
* Mon Aug 24 2009 Matthias Clasen <mclasen@redhat.com> - 1.3.5-1
|
||||||
- Update to 1.3.5
|
- Update to 1.3.5
|
||||||
|
|
||||||
* Mon Aug 17 2009 Tomas Bzatek <tbzatek@redhat.com> - 1.3.4-7
|
* Mon Aug 17 2009 Tomas Bzatek <tbzatek@redhat.com> - 1.3.4-7
|
||||||
|
Loading…
Reference in New Issue
Block a user