Update to 1.50.2

This commit is contained in:
David King 2022-05-26 15:35:24 +01:00
parent f300b463ba
commit 00bc3dbed1
4 changed files with 7 additions and 115 deletions

View File

@ -21,19 +21,14 @@
%global udisks2_version 1.97
Name: gvfs
Version: 1.50.1
Release: 2%{?dist}
Version: 1.50.2
Release: 1%{?dist}
Summary: Backends for the gio framework in GLib
License: GPLv3 and LGPLv2+ and BSD and MPLv2.0
URL: https://wiki.gnome.org/Projects/gvfs
URL: https://wiki.gnome.org/Projects/gvfs
Source0: https://download.gnome.org/sources/gvfs/1.50/gvfs-%{version}.tar.xz
# https://bugzilla.redhat.com/show_bug.cgi?id=2068976
Patch0: smb-Rework-anonymous-handling-to-avoid-EINVAL.patch
Patch1: http-Unescape-prefix-to-fix-handling-of-encoded-URIs.patch
BuildRequires: meson
BuildRequires: gcc
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
@ -426,6 +421,9 @@ killall -USR1 gvfsd >&/dev/null || :
%{_datadir}/installed-tests
%changelog
* Thu May 26 2022 David King <amigadave@amigadave.com> - 1.50.2-1
- Update to 1.50.2
* Thu May 05 2022 Ondrej Holy <oholy@redhat.com> - 1.50.1-2
- Rework anonymous handling of SMB backend to avoid EINVAL (#2068976)
- Unescape prefix to fix handling of encoded HTTP URIs

View File

@ -1,32 +0,0 @@
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

View File

@ -1,74 +0,0 @@
From 8c7e79042d819304ea38408d0d90313eef7a3869 Mon Sep 17 00:00:00 2001
From: Ondrej Holy <oholy@redhat.com>
Date: Wed, 4 May 2022 13:20:46 +0200
Subject: [PATCH] smb: Rework anonymous handling to avoid EINVAL
After the recent samba change, the "Invalid Argument" error can be still
returned when anonymous login is requested even after the commit 747c7f6.
This is because `smbc_setOptionNoAutoAnonymousLogin` is called after returning
from the `auth_callback` function (i.e. there is one redundant iteration).
Let's rework the handling a bit and call that immediately, which bypasses
the issue.
Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/619
---
daemon/gvfsbackendsmb.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
index 776b67bc..a1e3eacd 100644
--- a/daemon/gvfsbackendsmb.c
+++ b/daemon/gvfsbackendsmb.c
@@ -80,7 +80,6 @@ struct _GVfsBackendSmb
int mount_try;
gboolean mount_try_again;
gboolean mount_cancelled;
- gboolean use_anonymous;
gboolean password_in_keyring;
GPasswordSave password_save;
@@ -215,13 +214,6 @@ auth_callback (SMBCCTX *context,
backend->mount_try_again = TRUE;
g_debug ("auth_callback - ccache pass\n");
}
- else if (backend->use_anonymous)
- {
- /* Try again if anonymous login fails */
- backend->use_anonymous = FALSE;
- backend->mount_try_again = TRUE;
- g_debug ("auth_callback - anonymous login pass\n");
- }
else
{
gboolean in_keyring = FALSE;
@@ -304,10 +296,13 @@ auth_callback (SMBCCTX *context,
/* Try again if this fails */
backend->mount_try_again = TRUE;
+ smbc_setOptionNoAutoAnonymousLogin (backend->smb_context,
+ !anonymous);
+
if (anonymous)
{
- backend->use_anonymous = TRUE;
backend->password_save = FALSE;
+ g_debug ("auth_callback - anonymous enabled\n");
}
else
{
@@ -535,12 +530,6 @@ do_mount (GVfsBackend *backend,
smbc_setOptionFallbackAfterKerberos (op_backend->smb_context, 1);
}
- /* If the AskPassword reply requested anonymous login, enable the
- * anonymous fallback and try again.
- */
- smbc_setOptionNoAutoAnonymousLogin (op_backend->smb_context,
- !op_backend->use_anonymous);
-
op_backend->mount_try ++;
}
while (op_backend->mount_try_again);
--
2.36.0

View File

@ -1 +1 @@
SHA512 (gvfs-1.50.1.tar.xz) = 7a1ea47658dbd74673e1aea7c344d3f9e8a26fab844a26220cedcb19da6b4a0cac6b369d2b5107f649d6e7b2331894c89df04c6dce3630be4b289e23f56127a5
SHA512 (gvfs-1.50.2.tar.xz) = 980ff8a857ad4dc820685a9331d875274f893aebf8aca406c8ee06e2a25026fc51572515f3ccaa06062314f7f5f8d1982c5813d235bd7d81b975874e1796ca04