import gvfs-1.36.2-14.el8
This commit is contained in:
		
							parent
							
								
									9f600bcf51
								
							
						
					
					
						commit
						d50d00d750
					
				
							
								
								
									
										2724
									
								
								SOURCES/google-performance-fixes.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2724
									
								
								SOURCES/google-performance-fixes.patch
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										43
									
								
								SOURCES/smb-Ignore-EINVAL-for-kerberos-login.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								SOURCES/smb-Ignore-EINVAL-for-kerberos-login.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | |||||||
|  | diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
 | ||||||
|  | index 33d1a209..776b67bc 100644
 | ||||||
|  | --- a/daemon/gvfsbackendsmb.c
 | ||||||
|  | +++ b/daemon/gvfsbackendsmb.c
 | ||||||
|  | @@ -513,7 +513,13 @@ do_mount (GVfsBackend *backend,
 | ||||||
|  |        if (res == 0) | ||||||
|  |          break; | ||||||
|  |   | ||||||
|  | -      if (op_backend->mount_cancelled || (errsv != EACCES && errsv != EPERM))
 | ||||||
|  | +      if (errsv == EINVAL && op_backend->mount_try == 0 && op_backend->user == NULL)
 | ||||||
|  | +        {
 | ||||||
|  | +          /* EINVAL is "expected" when kerberos/ccache is misconfigured, see:
 | ||||||
|  | +           * https://gitlab.gnome.org/GNOME/gvfs/-/issues/611
 | ||||||
|  | +           */
 | ||||||
|  | +        }
 | ||||||
|  | +      else if (op_backend->mount_cancelled || (errsv != EACCES && errsv != EPERM))
 | ||||||
|  |          { | ||||||
|  |            g_debug ("do_mount - (errno != EPERM && errno != EACCES), cancelled = %d, breaking\n", op_backend->mount_cancelled); | ||||||
|  |            break; | ||||||
|  | diff --git a/daemon/gvfsbackendsmbbrowse.c b/daemon/gvfsbackendsmbbrowse.c
 | ||||||
|  | index 57bae9db..7e8facfb 100644
 | ||||||
|  | --- a/daemon/gvfsbackendsmbbrowse.c
 | ||||||
|  | +++ b/daemon/gvfsbackendsmbbrowse.c
 | ||||||
|  | @@ -967,8 +967,14 @@ do_mount (GVfsBackend *backend,
 | ||||||
|  |               uri, op_backend->mount_try, dir, op_backend->mount_cancelled, | ||||||
|  |               errsv, g_strerror (errsv)); | ||||||
|  |   | ||||||
|  | -      if (dir == NULL && 
 | ||||||
|  | -          (op_backend->mount_cancelled || (errsv != EPERM && errsv != EACCES)))
 | ||||||
|  | +      if (errsv == EINVAL && op_backend->mount_try == 0 && op_backend->user == NULL)
 | ||||||
|  | +        {
 | ||||||
|  | +          /* EINVAL is "expected" when kerberos is misconfigured, see:
 | ||||||
|  | +           * https://gitlab.gnome.org/GNOME/gvfs/-/issues/611
 | ||||||
|  | +           */
 | ||||||
|  | +        }
 | ||||||
|  | +      else if (dir == NULL &&
 | ||||||
|  | +               (op_backend->mount_cancelled || (errsv != EPERM && errsv != EACCES)))
 | ||||||
|  |          { | ||||||
|  |            g_debug ("do_mount - (errno != EPERM && errno != EACCES), cancelled = %d, breaking\n", op_backend->mount_cancelled); | ||||||
|  |  	  break; | ||||||
|  | -- 
 | ||||||
|  | 2.35.1 | ||||||
|  | 
 | ||||||
							
								
								
									
										57
									
								
								SOURCES/smb-Rework-anonymous-handling-to-avoid-EINVAL.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								SOURCES/smb-Rework-anonymous-handling-to-avoid-EINVAL.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | |||||||
|  | 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 - kerberos 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 | ||||||
|  | 
 | ||||||
							
								
								
									
										67
									
								
								SOURCES/smb-Use-O_RDWR-to-fix-fstat-when-writing.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								SOURCES/smb-Use-O_RDWR-to-fix-fstat-when-writing.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | |||||||
|  | From 3f6f906c7c7b28dc30edb98200b6e13e1a513bb4 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Ondrej Holy <oholy@redhat.com> | ||||||
|  | Date: Wed, 9 May 2018 12:54:59 +0200 | ||||||
|  | Subject: [PATCH] smb: Use O_RDWR to fix fstat when writing | ||||||
|  | 
 | ||||||
|  | fstat fails with EINVAL on Windows servers if O_WRONLY is used to open | ||||||
|  | (though it works properly on SAMBA servers). O_RDWR is needed to make | ||||||
|  | it work. This causes issues when copying files over gvfsd-fuse among | ||||||
|  | others. | ||||||
|  | 
 | ||||||
|  | https://bugzilla.gnome.org/show_bug.cgi?id=795805 | ||||||
|  | ---
 | ||||||
|  |  daemon/gvfsbackendsmb.c | 10 +++++----- | ||||||
|  |  1 file changed, 5 insertions(+), 5 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
 | ||||||
|  | index d4944197..9571fa0d 100644
 | ||||||
|  | --- a/daemon/gvfsbackendsmb.c
 | ||||||
|  | +++ b/daemon/gvfsbackendsmb.c
 | ||||||
|  | @@ -808,7 +808,7 @@ do_create (GVfsBackend *backend,
 | ||||||
|  |    smbc_open = smbc_getFunctionOpen (op_backend->smb_context); | ||||||
|  |    errno = 0; | ||||||
|  |    file = smbc_open (op_backend->smb_context, uri, | ||||||
|  | -		    O_CREAT|O_WRONLY|O_EXCL, 0666);
 | ||||||
|  | +                    O_CREAT|O_RDWR|O_EXCL, 0666);
 | ||||||
|  |    g_free (uri); | ||||||
|  |   | ||||||
|  |    if (file == NULL) | ||||||
|  | @@ -850,7 +850,7 @@ do_append_to (GVfsBackend *backend,
 | ||||||
|  |    smbc_open = smbc_getFunctionOpen (op_backend->smb_context); | ||||||
|  |    errno = 0; | ||||||
|  |    file = smbc_open (op_backend->smb_context, uri, | ||||||
|  | -					O_CREAT|O_WRONLY|O_APPEND, 0666);
 | ||||||
|  | +                    O_CREAT|O_RDWR|O_APPEND, 0666);
 | ||||||
|  |    g_free (uri); | ||||||
|  |   | ||||||
|  |    if (file == NULL) | ||||||
|  | @@ -916,7 +916,7 @@ open_tmpfile (GVfsBackendSmb *backend,
 | ||||||
|  |      smbc_open = smbc_getFunctionOpen (backend->smb_context); | ||||||
|  |      errno = 0; | ||||||
|  |      file = smbc_open (backend->smb_context, tmp_uri, | ||||||
|  | -		      O_CREAT|O_WRONLY|O_EXCL, 0666);
 | ||||||
|  | +                      O_CREAT|O_RDWR|O_EXCL, 0666);
 | ||||||
|  |    } while (file == NULL && errno == EEXIST); | ||||||
|  |   | ||||||
|  |    g_free (dir_uri); | ||||||
|  | @@ -1040,7 +1040,7 @@ do_replace (GVfsBackend *backend,
 | ||||||
|  |     | ||||||
|  |    errno = 0; | ||||||
|  |    file = smbc_open (op_backend->smb_context, uri, | ||||||
|  | -		    O_CREAT|O_WRONLY|O_EXCL, 0);
 | ||||||
|  | +                    O_CREAT|O_RDWR|O_EXCL, 0);
 | ||||||
|  |    if (file == NULL && errno != EEXIST) | ||||||
|  |      { | ||||||
|  |        int errsv = fixup_open_errno (errno); | ||||||
|  | @@ -1110,7 +1110,7 @@ do_replace (GVfsBackend *backend,
 | ||||||
|  |  	   | ||||||
|  |  	  errno = 0; | ||||||
|  |  	  file = smbc_open (op_backend->smb_context, uri, | ||||||
|  | -			    O_CREAT|O_WRONLY|O_TRUNC, 0);
 | ||||||
|  | +                            O_CREAT|O_RDWR|O_TRUNC, 0);
 | ||||||
|  |  	  if (file == NULL) | ||||||
|  |  	    { | ||||||
|  |                int errsv = fixup_open_errno (errno); | ||||||
|  | -- 
 | ||||||
|  | 2.35.3 | ||||||
|  | 
 | ||||||
| @ -25,7 +25,7 @@ | |||||||
| 
 | 
 | ||||||
| Name: gvfs | Name: gvfs | ||||||
| Version: 1.36.2 | Version: 1.36.2 | ||||||
| Release: 11%{?dist} | Release: 14%{?dist} | ||||||
| Summary: Backends for the gio framework in GLib | Summary: Backends for the gio framework in GLib | ||||||
| 
 | 
 | ||||||
| License: GPLv3 and LGPLv2+ and BSD and MPLv2.0 | License: GPLv3 and LGPLv2+ and BSD and MPLv2.0 | ||||||
| @ -66,6 +66,16 @@ Patch10: smb-Improve-enumeration-performance.patch | |||||||
| # https://bugzilla.redhat.com/show_bug.cgi?id=1889411 | # https://bugzilla.redhat.com/show_bug.cgi?id=1889411 | ||||||
| Patch11: goa-Add-support-for-certificate-prompts.patch | Patch11: goa-Add-support-for-certificate-prompts.patch | ||||||
| 
 | 
 | ||||||
|  | # https://bugzilla.redhat.com/show_bug.cgi?id=2095712 | ||||||
|  | Patch12: smb-Ignore-EINVAL-for-kerberos-login.patch | ||||||
|  | Patch13: smb-Rework-anonymous-handling-to-avoid-EINVAL.patch | ||||||
|  | 
 | ||||||
|  | # https://bugzilla.redhat.com/show_bug.cgi?id=2080478 | ||||||
|  | Patch14: smb-Use-O_RDWR-to-fix-fstat-when-writing.patch | ||||||
|  | 
 | ||||||
|  | # https://bugzilla.redhat.com/show_bug.cgi?id=2083481 | ||||||
|  | Patch15: google-performance-fixes.patch | ||||||
|  | 
 | ||||||
| BuildRequires: pkgconfig | BuildRequires: pkgconfig | ||||||
| BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} | BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} | ||||||
| BuildRequires: pkgconfig(dbus-glib-1) | BuildRequires: pkgconfig(dbus-glib-1) | ||||||
| @ -352,9 +362,11 @@ killall -USR1 gvfsd >&/dev/null || : | |||||||
| %{_libexecdir}/gvfsd-recent | %{_libexecdir}/gvfsd-recent | ||||||
| %{_mandir}/man1/gvfsd.1* | %{_mandir}/man1/gvfsd.1* | ||||||
| %{_mandir}/man1/gvfsd-metadata.1* | %{_mandir}/man1/gvfsd-metadata.1* | ||||||
|  | %if ! 0%{?flatpak} | ||||||
| %{_userunitdir}/gvfs-daemon.service | %{_userunitdir}/gvfs-daemon.service | ||||||
| %{_userunitdir}/gvfs-metadata.service | %{_userunitdir}/gvfs-metadata.service | ||||||
| %{_userunitdir}/gvfs-udisks2-volume-monitor.service | %{_userunitdir}/gvfs-udisks2-volume-monitor.service | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| %files client -f gvfs.lang | %files client -f gvfs.lang | ||||||
| %{!?_licensedir:%global license %%doc} | %{!?_licensedir:%global license %%doc} | ||||||
| @ -376,7 +388,9 @@ killall -USR1 gvfsd >&/dev/null || : | |||||||
| %files fuse | %files fuse | ||||||
| %{_libexecdir}/gvfsd-fuse | %{_libexecdir}/gvfsd-fuse | ||||||
| %{_mandir}/man1/gvfsd-fuse.1* | %{_mandir}/man1/gvfsd-fuse.1* | ||||||
|  | %if ! 0%{?flatpak} | ||||||
| %{_tmpfilesdir}/gvfsd-fuse-tmpfiles.conf | %{_tmpfilesdir}/gvfsd-fuse-tmpfiles.conf | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| %files smb | %files smb | ||||||
| %{_libexecdir}/gvfsd-smb | %{_libexecdir}/gvfsd-smb | ||||||
| @ -396,7 +410,9 @@ killall -USR1 gvfsd >&/dev/null || : | |||||||
| %{_libexecdir}/gvfs-gphoto2-volume-monitor | %{_libexecdir}/gvfs-gphoto2-volume-monitor | ||||||
| %{_datadir}/dbus-1/services/org.gtk.vfs.GPhoto2VolumeMonitor.service | %{_datadir}/dbus-1/services/org.gtk.vfs.GPhoto2VolumeMonitor.service | ||||||
| %{_datadir}/gvfs/remote-volume-monitors/gphoto2.monitor | %{_datadir}/gvfs/remote-volume-monitors/gphoto2.monitor | ||||||
|  | %if ! 0%{?flatpak} | ||||||
| %{_userunitdir}/gvfs-gphoto2-volume-monitor.service | %{_userunitdir}/gvfs-gphoto2-volume-monitor.service | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| %ifnarch s390 s390x | %ifnarch s390 s390x | ||||||
| %files afc | %files afc | ||||||
| @ -405,8 +421,10 @@ killall -USR1 gvfsd >&/dev/null || : | |||||||
| %{_libexecdir}/gvfs-afc-volume-monitor | %{_libexecdir}/gvfs-afc-volume-monitor | ||||||
| %{_datadir}/dbus-1/services/org.gtk.vfs.AfcVolumeMonitor.service | %{_datadir}/dbus-1/services/org.gtk.vfs.AfcVolumeMonitor.service | ||||||
| %{_datadir}/gvfs/remote-volume-monitors/afc.monitor | %{_datadir}/gvfs/remote-volume-monitors/afc.monitor | ||||||
|  | %if ! 0%{?flatpak} | ||||||
| %{_userunitdir}/gvfs-afc-volume-monitor.service | %{_userunitdir}/gvfs-afc-volume-monitor.service | ||||||
| %endif | %endif | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| %files afp | %files afp | ||||||
| %{_libexecdir}/gvfsd-afp | %{_libexecdir}/gvfsd-afp | ||||||
| @ -420,7 +438,9 @@ killall -USR1 gvfsd >&/dev/null || : | |||||||
| %{_libexecdir}/gvfs-mtp-volume-monitor | %{_libexecdir}/gvfs-mtp-volume-monitor | ||||||
| %{_datadir}/dbus-1/services/org.gtk.vfs.MTPVolumeMonitor.service | %{_datadir}/dbus-1/services/org.gtk.vfs.MTPVolumeMonitor.service | ||||||
| %{_datadir}/gvfs/remote-volume-monitors/mtp.monitor | %{_datadir}/gvfs/remote-volume-monitors/mtp.monitor | ||||||
|  | %if ! 0%{?flatpak} | ||||||
| %{_userunitdir}/gvfs-mtp-volume-monitor.service | %{_userunitdir}/gvfs-mtp-volume-monitor.service | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| %if ! 0%{?rhel} | %if ! 0%{?rhel} | ||||||
| %files nfs | %files nfs | ||||||
| @ -436,7 +456,9 @@ killall -USR1 gvfsd >&/dev/null || : | |||||||
| %{_datadir}/gvfs/remote-volume-monitors/goa.monitor | %{_datadir}/gvfs/remote-volume-monitors/goa.monitor | ||||||
| %{_datadir}/gvfs/mounts/google.mount | %{_datadir}/gvfs/mounts/google.mount | ||||||
| %{_libexecdir}/gvfsd-google | %{_libexecdir}/gvfsd-google | ||||||
|  | %if ! 0%{?flatpak} | ||||||
| %{_userunitdir}/gvfs-goa-volume-monitor.service | %{_userunitdir}/gvfs-goa-volume-monitor.service | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| %files tests | %files tests | ||||||
| %dir %{_libexecdir}/installed-tests | %dir %{_libexecdir}/installed-tests | ||||||
| @ -444,6 +466,15 @@ killall -USR1 gvfsd >&/dev/null || : | |||||||
| %{_datadir}/installed-tests | %{_datadir}/installed-tests | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Jun 16 2022 Ondrej Holy <oholy@redhat.com> - 1.36.2-14 | ||||||
|  | - Backport performance fixes for Google backend (#2083481) | ||||||
|  | 
 | ||||||
|  | * Tue Jun 14 2022 Ondrej Holy <oholy@redhat.com> - 1.36.2-13 | ||||||
|  | - Use O_RDWR to fix fstat when writing on SMB share (#2080478) | ||||||
|  | 
 | ||||||
|  | * Tue Jun 14 2022 Ondrej Holy <oholy@redhat.com> - 1.36.2-12 | ||||||
|  | - Ignore EINVAL for kerberos login to fix SMB mounting (#2095712) | ||||||
|  | 
 | ||||||
| * Tue Nov 03 2020 Ondrej Holy <oholy@redhat.com> - 1.36.2-11 | * Tue Nov 03 2020 Ondrej Holy <oholy@redhat.com> - 1.36.2-11 | ||||||
| - Add support for certificates prompts for GOA mounts (rhbz#1889411) | - Add support for certificates prompts for GOA mounts (rhbz#1889411) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user