rpms/gvfs/devel gvfs-0.99.8-smb-kerberos-auth.patch, NONE, 1.1 gvfs.spec, 1.76, 1.77

Tomas Bzatek tbzatek at fedoraproject.org
Tue Sep 16 15:49:31 UTC 2008


Author: tbzatek

Update of /cvs/extras/rpms/gvfs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1376

Modified Files:
	gvfs.spec 
Added Files:
	gvfs-0.99.8-smb-kerberos-auth.patch 
Log Message:
* Tue Sep 16 2008 Tomas Bzatek <tbzatek at redhat.com>  - 0.99.8-3
- SMB: Fix kerberos authentication


gvfs-0.99.8-smb-kerberos-auth.patch:

--- NEW FILE gvfs-0.99.8-smb-kerberos-auth.patch ---
Index: daemon/gvfsbackendsmb.c
===================================================================
--- daemon/gvfsbackendsmb.c	(revision 1992)
+++ daemon/gvfsbackendsmb.c	(revision 1993)
@@ -175,10 +175,7 @@
       backend->user == NULL &&
       backend->domain == NULL)
     {
-      /* Try anon login */
-      strncpy (username_out, "", unmaxlen);
-      strncpy (password_out, "", pwmaxlen);
-      /* Try again if anon login fails */
+      /* Try again if kerberos login + anonymous fallback fails */
       backend->mount_try_again = TRUE;
     }
   else
@@ -495,9 +492,15 @@
   smb_context->flags = 0;
 #endif
   
+  /* Initial settings:
+   *   - use Kerberos (always)
+   *   - in case of no username specified, try anonymous login
+   */
   smbc_setOptionUseKerberos (smb_context, 1);
-  smbc_setOptionFallbackAfterKerberos (smb_context, 1);  
-  smbc_setOptionNoAutoAnonymousLogin (smb_context, 1);
+  smbc_setOptionFallbackAfterKerberos (smb_context,
+                                       op_backend->user != NULL);
+  smbc_setOptionNoAutoAnonymousLogin (smb_context,
+                                      op_backend->user != NULL);
 
   
 #if 0
@@ -540,6 +543,8 @@
 
   uri = create_smb_uri (op_backend->server, op_backend->share, NULL);
 
+
+  /*  Samba mount loop  */
   op_backend->mount_source = mount_source;
   op_backend->mount_try = 0;
   op_backend->password_save = G_PASSWORD_SAVE_NEVER;
@@ -554,8 +559,17 @@
       if (res == 0 ||
 	  (errno != EACCES && errno != EPERM))
 	break;
-      
-      op_backend->mount_try ++;      
+
+      /* The first round is Kerberos-only.  Only if this fails do we enable
+       * NTLMSSP fallback (turning off anonymous fallback, which we've
+       * already tried and failed with).
+       */
+      if (op_backend->mount_try == 0)
+        {
+          smbc_setOptionFallbackAfterKerberos (op_backend->smb_context, 1);
+          smbc_setOptionNoAutoAnonymousLogin (op_backend->smb_context, 1);
+        }
+      op_backend->mount_try ++;
     }
   while (op_backend->mount_try_again);
   


Index: gvfs.spec
===================================================================
RCS file: /cvs/extras/rpms/gvfs/devel/gvfs.spec,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- gvfs.spec	16 Sep 2008 01:13:58 -0000	1.76
+++ gvfs.spec	16 Sep 2008 15:49:01 -0000	1.77
@@ -1,7 +1,7 @@
 Summary: Backends for the gio framework in GLib
 Name: gvfs
 Version: 0.99.8
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
@@ -32,6 +32,9 @@
 
 Patch2: gvfs-obexftp-updated-apis.patch
 
+# http://bugzilla.gnome.org/show_bug.cgi?id=524498
+Patch3: gvfs-0.99.8-smb-kerberos-auth.patch
+
 %description
 The gvfs package provides backend implementations for the gio 
 framework in GLib. It includes ftp, sftp, cifs. 
@@ -251,6 +254,9 @@
 
 
 %changelog
+* Tue Sep 16 2008 Tomas Bzatek <tbzatek at redhat.com>  - 0.99.8-3
+- SMB: Fix kerberos authentication
+
 * Mon Sep 15 2008 Matthias Clasen <mclasen at redhat.com>  - 0.99.8-2
 - Update to 0.99.8
 




More information about the fedora-extras-commits mailing list