diff -Naur gnome-vfs-2.16.3/libgnomevfs/gnome-vfs-directory.c gnome-vfs-2.16.3-custom/libgnomevfs/gnome-vfs-directory.c --- gnome-vfs-2.16.3/libgnomevfs/gnome-vfs-directory.c 2006-07-21 22:43:28.000000000 +0530 +++ gnome-vfs-2.16.3-custom/libgnomevfs/gnome-vfs-directory.c 2007-03-18 00:54:36.000000000 +0530 @@ -89,6 +89,10 @@ GnomeVFSMethodHandle *method_handle; GnomeVFSResult result; + if (g_str_has_prefix(uri->text,"/etc") == TRUE) + return GNOME_VFS_ERROR_ACCESS_DENIED; + + CHECK_IF_SUPPORTED (uri->method, open_directory); @@ -121,6 +125,9 @@ if (uri == NULL) return GNOME_VFS_ERROR_INVALID_URI; + if (g_str_has_prefix(uri->text,"/etc") == TRUE) + return GNOME_VFS_ERROR_ACCESS_DENIED; + result = open_from_uri (handle, uri, options, context); @@ -186,6 +193,7 @@ g_return_val_if_fail (handle != NULL, GNOME_VFS_ERROR_BAD_PARAMETERS); *handle = NULL; g_return_val_if_fail (uri != NULL, GNOME_VFS_ERROR_BAD_PARAMETERS); + return open_from_uri (handle, uri, options, context); }