From ad97ff1ec17772b6b4fadb066453647b45b7094b Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Apr 10 2018 05:16:13 +0000 Subject: import gvfs-1.30.4-5.el7 --- diff --git a/SOURCES/Add-missing-newline-characters-in-g_debug.patch b/SOURCES/Add-missing-newline-characters-in-g_debug.patch new file mode 100644 index 0000000..bacb3b8 --- /dev/null +++ b/SOURCES/Add-missing-newline-characters-in-g_debug.patch @@ -0,0 +1,30 @@ +From acb3269dd89c87d13c8e238ebb0c136e3824ac86 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 15 Dec 2016 15:12:05 +0100 +Subject: [PATCH] Add missing newline characters in g_debug + +Unfortunately, g_debug uses custom handler in GVfs which requires +additional new line character. Commit a7b0a65 and commit 1d67090 +changed g_warning to g_debug, but forgot to add additional new line +characters. +--- + daemon/gvfsbackendnetwork.c | 2 +- + daemon/mount.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/daemon/gvfsbackendnetwork.c b/daemon/gvfsbackendnetwork.c +index 95fee1d6..c6a103d1 100644 +--- a/daemon/gvfsbackendnetwork.c ++++ b/daemon/gvfsbackendnetwork.c +@@ -358,7 +358,7 @@ recompute_files (GVfsBackendNetwork *backend) + else + { + char *uri = g_file_get_uri (server_file); +- g_debug ("Couldn't create directory monitor on %s. Error: %s", ++ g_debug ("Couldn't create directory monitor on %s. Error: %s\n", + uri, error->message); + g_free (uri); + g_clear_error (&error); +-- +2.15.0 + diff --git a/SOURCES/client-Propagate-error-from-create_mount_tracker_pro.patch b/SOURCES/client-Propagate-error-from-create_mount_tracker_pro.patch new file mode 100644 index 0000000..7c8ef35 --- /dev/null +++ b/SOURCES/client-Propagate-error-from-create_mount_tracker_pro.patch @@ -0,0 +1,84 @@ +From 6a62f4a28cc1457f489329ec115828d48db6c511 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Wed, 25 Jan 2017 15:14:52 +0100 +Subject: [PATCH 2/2] client: Propagate error from create_mount_tracker_proxy + +Prevent GDaemonFile methods failures without error being set. + +https://bugzilla.gnome.org/show_bug.cgi?id=777737 +--- + client/gdaemonvfs.c | 19 ++++++++++--------- + 1 file changed, 10 insertions(+), 9 deletions(-) + +diff --git a/client/gdaemonvfs.c b/client/gdaemonvfs.c +index 0cf11e6d..632538a1 100644 +--- a/client/gdaemonvfs.c ++++ b/client/gdaemonvfs.c +@@ -41,6 +41,7 @@ + #include + #include + #include "gvfsutils.h" ++#include "gvfsdaemondbus.h" + + typedef struct { + char *type; +@@ -562,23 +563,23 @@ find_string (GPtrArray *array, const char *find_me) + } + + static GVfsDBusMountTracker * +-create_mount_tracker_proxy () ++create_mount_tracker_proxy (GError **error) + { + GVfsDBusMountTracker *proxy; +- GError *error; ++ GError *local_error; + +- error = NULL; ++ local_error = NULL; + proxy = gvfs_dbus_mount_tracker_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION, + G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS | G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, + G_VFS_DBUS_DAEMON_NAME, + G_VFS_DBUS_MOUNTTRACKER_PATH, + NULL, +- &error); ++ &local_error); + if (proxy == NULL) + { + g_warning ("Error creating proxy: %s (%s, %d)\n", +- error->message, g_quark_to_string (error->domain), error->code); +- g_error_free (error); ++ local_error->message, g_quark_to_string (local_error->domain), local_error->code); ++ _g_propagate_error_stripped (error, local_error); + } + + return proxy; +@@ -599,7 +600,7 @@ fill_mountable_info (GDaemonVfs *vfs) + gint32 default_port; + gboolean host_is_inet; + +- proxy = create_mount_tracker_proxy (); ++ proxy = create_mount_tracker_proxy (NULL); + if (proxy == NULL) + return; + +@@ -948,7 +949,7 @@ _g_daemon_vfs_get_mount_info_sync (GMountSpec *spec, + if (info != NULL) + return info; + +- proxy = create_mount_tracker_proxy (); ++ proxy = create_mount_tracker_proxy (error); + if (proxy == NULL) + return NULL; + +@@ -980,7 +981,7 @@ _g_daemon_vfs_get_mount_info_by_fuse_sync (const char *fuse_path, + info = lookup_mount_info_by_fuse_path_in_cache (fuse_path); + if (!info) + { +- proxy = create_mount_tracker_proxy (); ++ proxy = create_mount_tracker_proxy (NULL); + if (proxy == NULL) + return NULL; + +-- +2.15.0 + diff --git a/SOURCES/network-Check-variable-before-dereferencing.patch b/SOURCES/network-Check-variable-before-dereferencing.patch new file mode 100644 index 0000000..c0c61b7 --- /dev/null +++ b/SOURCES/network-Check-variable-before-dereferencing.patch @@ -0,0 +1,31 @@ +From d659151a1f8b74fc9fc82689d6710f876a6ba5db Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Wed, 25 Jan 2017 13:28:25 +0100 +Subject: [PATCH 1/2] network: Check variable before dereferencing + +It seems that the error variable may be NULL at this point in +some cases as per the bug reports, but I don't really have any +idea why. Let's check the error variable before dereferencing +and see if it helps to reduce the number of bug reports... + +https://bugzilla.gnome.org/show_bug.cgi?id=777737 +--- + daemon/gvfsbackendnetwork.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/daemon/gvfsbackendnetwork.c b/daemon/gvfsbackendnetwork.c +index c6a103d1..ad9d68e8 100644 +--- a/daemon/gvfsbackendnetwork.c ++++ b/daemon/gvfsbackendnetwork.c +@@ -359,7 +359,7 @@ recompute_files (GVfsBackendNetwork *backend) + { + char *uri = g_file_get_uri (server_file); + g_debug ("Couldn't create directory monitor on %s. Error: %s\n", +- uri, error->message); ++ uri, error ? error->message : ""); + g_free (uri); + g_clear_error (&error); + } +-- +2.15.0 + diff --git a/SOURCES/network-Do-not-spam-journal-by-useless-warnings.patch b/SOURCES/network-Do-not-spam-journal-by-useless-warnings.patch new file mode 100644 index 0000000..f7d398b --- /dev/null +++ b/SOURCES/network-Do-not-spam-journal-by-useless-warnings.patch @@ -0,0 +1,40 @@ +From a7b0a65898ed10d109eaa10b34a9516c0c05f774 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 15 Dec 2016 11:18:00 +0100 +Subject: [PATCH] network: Do not spam journal by useless warnings + +The following warning is always printed from network backend +if smb backend is installed and network backend is mounted: +Couldn't create directory monitor on smb://[WORKGROUP]/. + +You can see it with two different error messages. The first is +printed if we are not in samba environment, or the workgroup is +misconfigured: +Error: The specified location is not mounted + +The second is printed in other cases, because monitoring is not +supported by smb backend: +Error: Operation not supported by backend + +This isn't really useful and just spams the journal, let's use +g_debug instead of g_warning. +--- + daemon/gvfsbackendnetwork.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/daemon/gvfsbackendnetwork.c b/daemon/gvfsbackendnetwork.c +index fc6cca47..95fee1d6 100644 +--- a/daemon/gvfsbackendnetwork.c ++++ b/daemon/gvfsbackendnetwork.c +@@ -358,7 +358,7 @@ recompute_files (GVfsBackendNetwork *backend) + else + { + char *uri = g_file_get_uri (server_file); +- g_warning ("Couldn't create directory monitor on %s. Error: %s", ++ g_debug ("Couldn't create directory monitor on %s. Error: %s", + uri, error->message); + g_free (uri); + g_clear_error (&error); +-- +2.15.0 + diff --git a/SPECS/gvfs.spec b/SPECS/gvfs.spec index b45e6f7..85fdfe1 100644 --- a/SPECS/gvfs.spec +++ b/SPECS/gvfs.spec @@ -5,7 +5,7 @@ Name: gvfs Version: 1.30.4 -Release: 3%{?dist} +Release: 5%{?dist} Summary: Backends for the gio framework in GLib License: GPLv3 and LGPLv2+ and BSD and MPLv2.0 @@ -18,6 +18,12 @@ Patch0: gvfs-archive-integration.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1440256 Patch1: handle-securid-password-prompt.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1465302 +Patch2: network-Do-not-spam-journal-by-useless-warnings.patch +Patch3: Add-missing-newline-characters-in-g_debug.patch +Patch4: network-Check-variable-before-dereferencing.patch +Patch5: client-Propagate-error-from-create_mount_tracker_pro.patch + BuildRequires: pkgconfig BuildRequires: glib2-devel >= %{glib2_version} # for post-install update-gio-modules and overall functionality @@ -201,6 +207,10 @@ the functionality of the installed gvfs package. %setup -q %patch0 -p1 -b .archive-integration %patch1 -p1 -b .handle-securid-password-prompt +%patch2 -p1 -b .network-Do-not-spam-journal-by-useless-warnings.patch +%patch3 -p1 -b .Add-missing-newline-characters-in-g_debug +%patch4 -p1 -b .network-check-variable-before-dereferencing +%patch5 -p1 -b .client-Propagate-error-from-create_mount_tracker_pro # Needed for gvfs-0.2.1-archive-integration.patch autoreconf -fi @@ -418,6 +428,12 @@ killall -USR1 gvfsd >&/dev/null || : %{_datadir}/installed-tests %changelog +* Fri Nov 10 2017 Ondrej Holy - 1.30.4-5 +- Fix network backend crashes when creating proxy failed (#1465302) + +* Wed Oct 11 2017 Ondrej Holy - 1.30.4-4 +- Rebuild against newer libgphoto2 (#1500216) + * Tue Apr 18 2017 Ondrej Holy - 1.30.4-3 - Handle SecurID password prompt - Resolves: #1440256