Blob Blame History Raw
From 0d1da12484861a103baba97587cb9d8f7ac952ae Mon Sep 17 00:00:00 2001
From: Ondrej Holy <oholy@redhat.com>
Date: Mon, 2 May 2022 11:04:36 +0200
Subject: [PATCH] http: Unescape prefix to fix handling of encoded URIs

Currently, the HTTP backend fails with the "The specified location is
not mounted" error for URIs with path containing escaped characters.
This is because the mount prefix is not unescaped. This is unfortunatelly
another libsoup3 port regression. Let's correctly unescape the prefix to
make that work again.

Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/623
---
 daemon/gvfsbackendhttp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/daemon/gvfsbackendhttp.c b/daemon/gvfsbackendhttp.c
index 0f01d213..e8e44004 100644
--- a/daemon/gvfsbackendhttp.c
+++ b/daemon/gvfsbackendhttp.c
@@ -307,7 +307,7 @@ try_mount (GVfsBackend  *backend,
   real_mount_spec = g_mount_spec_new ("http");
   g_mount_spec_set (real_mount_spec, "uri", uri_str);
 
-  path = g_uri_get_path (uri);
+  path = g_uri_unescape_string (g_uri_get_path (uri), "/");
   if (path[0])
     {
       g_free (real_mount_spec->mount_prefix);
-- 
2.36.0