[Pkg-utopia-commits] r253 - packages/experimental/gnome-volume-manager/debian/patches
Sjoerd Simons
sjoerd@costa.debian.org
Wed, 22 Jun 2005 13:44:13 +0000
Author: sjoerd
Date: 2005-06-22 13:44:13 +0000 (Wed, 22 Jun 2005)
New Revision: 253
Modified:
packages/experimental/gnome-volume-manager/debian/patches/06_pmount_crypt.patch
packages/experimental/gnome-volume-manager/debian/patches/10_improve_mounting.patch
Log:
Fix some memory leaks
Modified: packages/experimental/gnome-volume-manager/debian/patches/06_pmount_crypt.patch
===================================================================
--- packages/experimental/gnome-volume-manager/debian/patches/06_pmount_crypt.patch 2005-06-22 13:01:41 UTC (rev 252)
+++ packages/experimental/gnome-volume-manager/debian/patches/06_pmount_crypt.patch 2005-06-22 13:44:13 UTC (rev 253)
@@ -1,6 +1,6 @@
diff -ruN gnome-volume-manager-1.3.1-old/configure.in gnome-volume-manager-1.3.1/configure.in
--- gnome-volume-manager-1.3.1-old/configure.in 2005-03-31 18:27:06.000000000 +0200
-+++ gnome-volume-manager-1.3.1/configure.in 2005-06-22 13:24:54.000000000 +0200
++++ gnome-volume-manager-1.3.1/configure.in 2005-06-22 15:20:29.000000000 +0200
@@ -82,7 +82,7 @@
AC_PROG_INTLTOOL([0.27.2])
AM_GLIB_GNU_GETTEXT
@@ -11,8 +11,8 @@
AC_SUBST(GVM_LIBS)
diff -ruN gnome-volume-manager-1.3.1-old/src/manager.c gnome-volume-manager-1.3.1/src/manager.c
---- gnome-volume-manager-1.3.1-old/src/manager.c 2005-06-22 13:24:54.000000000 +0200
-+++ gnome-volume-manager-1.3.1/src/manager.c 2005-06-22 13:28:30.000000000 +0200
+--- gnome-volume-manager-1.3.1-old/src/manager.c 2005-06-22 15:20:29.000000000 +0200
++++ gnome-volume-manager-1.3.1/src/manager.c 2005-06-22 15:32:46.000000000 +0200
@@ -22,6 +22,8 @@
#include <dbus/dbus-glib.h>
#include <libhal.h>
@@ -162,37 +162,50 @@
* gvm_device_mount - use BIN_MOUNT to mount the given device.
*
* @return TRUE iff the mount was succesful
-@@ -497,6 +632,15 @@
+@@ -496,6 +631,21 @@
+ char *argv[3];
GError *error = NULL;
gint exit_status;
-
++ gchar *fsusage = NULL;
++
++ if (libhal_device_property_exists (hal_ctx, udi, "volume.fsusage", NULL)) {
++ fsusage =
++ libhal_device_get_property_string (hal_ctx, udi, "volume.fusage", NULL);
++ }
++
+ /* Check for encrypted device */
-+ if (libhal_device_property_exists (hal_ctx, udi, "volume.fsusage", NULL) &&
-+ g_strcasecmp(libhal_device_get_property_string (hal_ctx, udi,
-+ "volume.fsusage", NULL), "crypto") == 0) {
++ if (fsusage && g_strcasecmp(fsusage, "crypto")) {
+ dbg ("encrypted volume found\n");
+ gvm_device_mount_encrypted (udi);
++ libhal_free_string(fsusage);
+ return TRUE;
+ }
-+
++ libhal_free_string(fsusage);
+
argv[0] = BIN_MOUNT;
argv[1] = udi;
- argv[2] = NULL;
-@@ -1184,11 +1328,15 @@
+@@ -1182,14 +1332,17 @@
+ continue;
+
/* only mount if the block device got a sensible filesystem */
- if (!libhal_device_property_exists (ctx, udi,
- "volume.fsusage",
+- if (!libhal_device_property_exists (ctx, udi,
+- "volume.fsusage",
- NULL) ||
-+ NULL) || (
-+ strcmp (libhal_device_get_property_string (ctx, udi,
-+ "volume.fsusage",
-+ NULL),
-+ "filesystem") != 0 &&
- strcmp (libhal_device_get_property_string (ctx, udi,
- "volume.fsusage",
- NULL),
+- strcmp (libhal_device_get_property_string (ctx, udi,
+- "volume.fsusage",
+- NULL),
- "filesystem") != 0)
-+ "crypto") != 0))
++ if (libhal_device_property_exists (ctx, udi, "volume.fsusage", NULL)) {
++ gchar *fusage =
++ libhal_device_get_property_string (ctx, udi, "volume.fsusage", NULL);
++ if(strcmp(fsusage, "filesystem") && strcmp(fsusage, "crypto")) {
++ libhal_string_free(fsusage);
++ continue;
++ }
++ libhal_string_free(fsusage);
++ } else {
continue;
- drive_udi = hal_device_get_property_string(ctx, udi, "info.parent");
++ }
+ drive_udi = libhal_device_get_property_string(ctx, udi, "info.parent", NULL);
+ do_mount = TRUE;
Modified: packages/experimental/gnome-volume-manager/debian/patches/10_improve_mounting.patch
===================================================================
--- packages/experimental/gnome-volume-manager/debian/patches/10_improve_mounting.patch 2005-06-22 13:01:41 UTC (rev 252)
+++ packages/experimental/gnome-volume-manager/debian/patches/10_improve_mounting.patch 2005-06-22 13:44:13 UTC (rev 253)
@@ -1,6 +1,6 @@
diff -ruN gnome-volume-manager-1.3.1-old/src/manager.c gnome-volume-manager-1.3.1/src/manager.c
---- gnome-volume-manager-1.3.1-old/src/manager.c 2005-06-22 14:30:51.000000000 +0200
-+++ gnome-volume-manager-1.3.1/src/manager.c 2005-06-22 14:33:38.000000000 +0200
+--- gnome-volume-manager-1.3.1-old/src/manager.c 2005-06-22 15:33:28.000000000 +0200
++++ gnome-volume-manager-1.3.1/src/manager.c 2005-06-22 15:42:37.000000000 +0200
@@ -488,6 +488,30 @@
libhal_free_string (mount_point);
}
@@ -32,7 +32,7 @@
/*
* gvm_device_mount_finished - called back when mount finished.
*
-@@ -627,20 +651,47 @@
+@@ -627,25 +651,49 @@
* @return TRUE iff the mount was succesful
*/
static gboolean
@@ -42,47 +42,49 @@
char *argv[3];
GError *error = NULL;
gint exit_status;
--
+ gchar *fsusage = NULL;
+ gboolean ret = FALSE;
++
+ /* don't attempt to mount if the automount_hint is false */
+ if (gvm_is_manual_mount(hal_ctx, udi)) {
-+ dbg("%s has storage.automount_enabled_hint == false, not mounting\n"
-+ , udi);
++ dbg("%s has storage.automount_enabled_hint == false, not mounting\n", udi);
+ return FALSE;
+ }
-+ /* don't attempt to mount already mounted volumes */
-+ if (!libhal_device_property_exists (hal_ctx, udi, "volume.is_mounted", NULL) ||
++ /* don't attempt to mount already mounted volumes */
++ if (!libhal_device_property_exists (hal_ctx, udi, "volume.is_mounted", NULL)||
+ libhal_device_get_property_bool (hal_ctx, udi, "volume.is_mounted", NULL)) {
+ dbg("%s already mounted, not mounting again\n", udi);
+ return FALSE;
+ }
+
+ if (libhal_device_property_exists (hal_ctx, udi, "volume.fsusage", NULL)) {
+ fsusage =
+ libhal_device_get_property_string (hal_ctx, udi, "volume.fusage", NULL);
++ } else {
++ return FALSE
+ }
+
/* Check for encrypted device */
- if (libhal_device_property_exists (hal_ctx, udi, "volume.fsusage", NULL) &&
- g_strcasecmp(libhal_device_get_property_string (hal_ctx, udi,
- "volume.fsusage", NULL), "crypto") == 0) {
+- if (fsusage && g_strcasecmp(fsusage, "crypto")) {
++ if (g_strcasecmp(fsusage, "crypto")) {
dbg ("encrypted volume found\n");
gvm_device_mount_encrypted (udi);
+ if (run_policy) {
-+ mounted_volumes_policy_queue =
++ mounted_volumes_policy_queue =
+ g_slist_append (mounted_volumes_policy_queue, g_strdup(udi));
+ }
+ libhal_free_string(fsusage);
return TRUE;
}
-+ /* only mount if the block device got a sensible filesystem
-+ * or when hal couldn't detect the filesystem */
-+ if (!libhal_device_property_exists (hal_ctx, udi,
-+ "volume.fsusage", NULL) ||
-+ (strcmp (libhal_device_get_property_string (hal_ctx, udi,
-+ "volume.fsusage", NULL), "filesystem") != 0
-+ && strcmp (libhal_device_get_property_string (hal_ctx, udi,
-+ "volume.fsusage", NULL), "") != 0)) {
-+ dbg("%s isn't a filesystem\n", udi);
-+ return FALSE;
-+ }
++ if (!gstrcasecmp(fsusage, "filesystem")) {
++ dbg("%s isn't a filesystem\n", udi);
++ libhal_free_string(fsusage);
++ return FALSE;
++ }
+ libhal_free_string(fsusage);
argv[0] = BIN_MOUNT;
- argv[1] = udi;
-@@ -651,8 +702,16 @@
+@@ -657,8 +705,16 @@
warn ("failed to exec " BIN_MOUNT ": %s\n", error->message);
return FALSE;
}
@@ -101,7 +103,7 @@
}
/*
-@@ -749,7 +808,7 @@
+@@ -755,7 +811,7 @@
switch (action) {
case MOUNT:
@@ -110,7 +112,7 @@
mounted_volumes_policy_queue = g_slist_append (mounted_volumes_policy_queue, g_strdup (udi));
break;
case PLAY:
-@@ -852,7 +911,7 @@
+@@ -858,7 +914,7 @@
gvm_ask_mixed (udi);
} else if (has_data) {
if (config.automount_media) {
@@ -119,7 +121,7 @@
mounted_volumes_policy_queue = g_slist_append (mounted_volumes_policy_queue, g_strdup (udi));
}
} else if (is_blank) {
-@@ -919,7 +978,7 @@
+@@ -925,7 +981,7 @@
dbg ("Added: %s\n", device);
if (config.automount_drives) {
@@ -128,7 +130,7 @@
mounted_volumes_policy_queue = g_slist_append (mounted_volumes_policy_queue, g_strdup (udi));
}
}
-@@ -988,8 +1047,7 @@
+@@ -994,8 +1050,7 @@
dbg ("Added: %s\n", device);
if (config.automount_drives) {
@@ -138,7 +140,7 @@
}
out:
-@@ -1066,10 +1124,6 @@
+@@ -1072,10 +1127,6 @@
dbg ("Mounted: %s\n", udi);
@@ -149,7 +151,7 @@
policy_udi = g_slist_find_custom (mounted_volumes_policy_queue,
udi,
g_ascii_strcasecmp);
-@@ -1363,7 +1417,7 @@
+@@ -1368,7 +1419,7 @@
dbg ("mount_all: mounting %s\n", device_file);