[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Thu Feb 24 18:42:01 MST 2011


The branch, master has been updated
       via  98052db Gratuitous change to get around transient autobuild failure :-(.
       via  6141b6a Detect Mac OS X as a separate client type.
       via  f92fad1 Ensure we don't return an incorrect access mask.
      from  bc13123 s3-libads: make ndr_print_ads_auth_flags() static.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 98052db487c4b9f8375e101883cde4ac814b7885
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Feb 24 16:56:49 2011 -0800

    Gratuitous change to get around transient autobuild failure :-(.
    
    Jeremy.
    
    Autobuild-User: Jeremy Allison <jra at samba.org>
    Autobuild-Date: Fri Feb 25 02:41:15 CET 2011 on sn-devel-104

commit 6141b6a49f18b88b01bb101bea22d2cc10235602
Author: Justin Maggard <justin.maggard at netgear.com>
Date:   Thu Feb 24 16:25:30 2011 -0800

    Detect Mac OS X as a separate client type.

commit f92fad101a755cdf0845dd8abf9431312ba82094
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Feb 24 16:04:09 2011 -0800

    Ensure we don't return an incorrect access mask.
    
    From the Microsoft test suite @ Connectathon:
    
    Test Case: TestSuite_ScenarioNo009GrantedAccessTestS0
        File created with access = 0x7 (Read, Write, Delete)
        Query Info on file returns 0x87 (Read, Write, Delete, Read Attributes)
    
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 docs-xml/manpages-3/smb.conf.5.xml |    2 +-
 source3/include/smb.h              |    2 +-
 source3/lib/util.c                 |    3 +++
 source3/smbd/open.c                |    3 ++-
 source3/smbd/sesssetup.c           |    4 ++++
 5 files changed, 11 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/smb.conf.5.xml b/docs-xml/manpages-3/smb.conf.5.xml
index 7423fc4..2b93065 100644
--- a/docs-xml/manpages-3/smb.conf.5.xml
+++ b/docs-xml/manpages-3/smb.conf.5.xml
@@ -488,7 +488,7 @@ chmod 1770 /usr/local/samba/lib/usershares
 		    The architecture of the remote
 		    machine.  It currently recognizes Samba (<constant>Samba</constant>), 
 		    the Linux CIFS file system (<constant>CIFSFS</constant>), OS/2, (<constant>OS2</constant>),
-		    Windows for Workgroups (<constant>WfWg</constant>), Windows 9x/ME 
+		    Mac OS X (<constant>OSX</constant>), Windows for Workgroups (<constant>WfWg</constant>), Windows 9x/ME 
 		    (<constant>Win95</constant>), Windows NT (<constant>WinNT</constant>),
 		    Windows 2000 (<constant>Win2K</constant>),
 		    Windows XP (<constant>WinXP</constant>),
diff --git a/source3/include/smb.h b/source3/include/smb.h
index d3fa3f2..49c653e 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -1456,7 +1456,7 @@ enum ldap_passwd_sync_types {LDAP_PASSWD_SYNC_ON, LDAP_PASSWD_SYNC_OFF, LDAP_PAS
 /* Remote architectures we know about. */
 enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT,
 			RA_WIN2K, RA_WINXP, RA_WIN2K3, RA_VISTA,
-			RA_SAMBA, RA_CIFSFS, RA_WINXP64};
+			RA_SAMBA, RA_CIFSFS, RA_WINXP64, RA_OSX};
 
 /* case handling */
 enum case_handling {CASE_LOWER,CASE_UPPER};
diff --git a/source3/lib/util.c b/source3/lib/util.c
index e70dd6a..99c4200 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1858,6 +1858,9 @@ void set_remote_arch(enum remote_arch_types type)
 	case RA_CIFSFS:
 		remote_arch_str = "CIFSFS";
 		break;
+	case RA_OSX:
+		remote_arch_str = "OSX";
+		break;
 	default:
 		ra_type = RA_UNKNOWN;
 		remote_arch_str = "UNKNOWN";
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index d66f9ba..7735301 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -2261,8 +2261,9 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
 
 	/*
 	 * According to Samba4, SEC_FILE_READ_ATTRIBUTE is always granted,
+	 * but we don't have to store this - just ignore it on access check.
 	 */
-	fsp->access_mask = access_mask | FILE_READ_ATTRIBUTES;
+	fsp->access_mask = access_mask;
 
 	if (file_existed) {
 		/* stat opens on existing files don't get oplocks. */
diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c
index d933350..3cb07be 100644
--- a/source3/smbd/sesssetup.c
+++ b/source3/smbd/sesssetup.c
@@ -1095,6 +1095,10 @@ static void reply_sesssetup_and_X_spnego(struct smb_request *req)
 		} else {
 			ra_lanman_string( native_lanman );
 		}
+	} else if ( ra_type == RA_VISTA ) {
+		if ( strncmp(native_os, "Mac OS X", 8) == 0 ) {
+			set_remote_arch(RA_OSX);
+		}
 	}
 
 	/* Did we get a valid vuid ? */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list