Blame SOURCES/0022-Disable-file-xfer-when-no-suitable-destination-dir.patch

ad7ee3
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
ad7ee3
From: Christophe Fergeau <cfergeau@redhat.com>
ad7ee3
Date: Thu, 27 Mar 2014 18:04:59 +0100
ad7ee3
Subject: [PATCH] Disable file xfer when no suitable destination dir
ad7ee3
ad7ee3
Currently, if no suitable destination directory can be found, the file
ad7ee3
transfer code defaults to using '.' as the destination directory. As this
ad7ee3
is unlikely to work, better to just disable file transfers when we end up
ad7ee3
in such a situation. This currently happens when spawning spice-vdagent
ad7ee3
from gdm where we don't want file transfers to be available anyway.
ad7ee3
ad7ee3
(cherry picked from commit 689dcd35edb55abcdef4d30d92fdcca22d81ee23)
ad7ee3
---
ad7ee3
 src/vdagent.c | 11 ++++++-----
ad7ee3
 1 file changed, 6 insertions(+), 5 deletions(-)
ad7ee3
ad7ee3
diff --git a/src/vdagent.c b/src/vdagent.c
ad7ee3
index 9586432..32c84e5 100644
ad7ee3
--- a/src/vdagent.c
ad7ee3
+++ b/src/vdagent.c
ad7ee3
@@ -282,13 +282,14 @@ reconnect:
ad7ee3
         fx_dir = g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP);
ad7ee3
     else if (!strcmp(fx_dir, "xdg-download"))
ad7ee3
         fx_dir = g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD);
ad7ee3
-    if (!fx_dir) {
ad7ee3
+    if (fx_dir) {
ad7ee3
+        vdagent_file_xfers = vdagent_file_xfers_create(client, fx_dir,
ad7ee3
+                                                       fx_open_dir, debug);
ad7ee3
+    } else {
ad7ee3
         syslog(LOG_WARNING,
ad7ee3
-               "warning could not get file xfer save dir, using cwd");
ad7ee3
-        fx_dir = ".";
ad7ee3
+               "warning could not get file xfer save dir, file transfers will be disabled");
ad7ee3
+        vdagent_file_xfers = NULL;
ad7ee3
     }
ad7ee3
-    vdagent_file_xfers = vdagent_file_xfers_create(client, fx_dir,
ad7ee3
-                                                   fx_open_dir, debug);
ad7ee3
 
ad7ee3
     while (client && !quit) {
ad7ee3
         FD_ZERO(&readfds);