Re: [PATCH] SMB2 AAPL create context (was: Mac OS Mavericks über slow)

Brad Suinn suinn at apple.com
Fri Oct 3 06:16:56 MDT 2014


The OS X SMB Client does require AAPL be supported in order for the NFS ACE to be used.  In the AAPL reply context, there is a server capability field which is define to have bits of
/* Define Client/Server Capabilities bitmap */
enum {
    kAAPL_SUPPORTS_READ_DIR_ATTR = 0x01,
    kAAPL_SUPPORTS_OSX_COPYFILE = 0x02,
    kAAPL_UNIX_BASED = 0x04,
    kAAPL_SUPPORTS_NFS_ACE = 0x08
};

And the SMB Client has code that checks for that bit as in:

	} else if (SSTOVC(share)->vc_server_caps & kAAPL_SUPPORTS_NFS_ACE) {
                /*
                 * For OS X <-> OS X PFS (where ACLs are off by default), we 
                 * need a way to set Posix permissions. If the server supports
                 * the NFS ACE, then it will allow us to get the ACL and send
                 * it back with the desired Posix permissions in the NFS ACE.
                 */
				vamode = vap->va_mode & ACCESSPERMS;
            }

--
Brad Suinn (suinn at apple.com)

"Everyone you meet has something to teach you if you are open to learning" - Unknown




On Oct 2, 2014, at 8:25 PM, George K Colley <gcolley at apple.com> wrote:

> 
>> On Oct 2, 2014, at 6:39 PM, Steve French <smfrench at gmail.com> wrote:
>> 
>> I am ok with the MS NFS ACL stuff to be SMB3 (or SMB2/SMB3) only - but
>> would prefer that we can enable that and the SFM style remapping of
>> the 7 characters outside of AAPL (I am ok with another create context
>> but ... don't want to force parsing a create context for these if not
>> needed)
>> 
> The MS NFS ACL and SFM do not required AAPL, adding Brad in case I am mistaken.
> 
> George
>> On Thu, Oct 2, 2014 at 5:56 AM, Ralph Böhme <rb at sernet.de> wrote:
>>> Hi all!
>>> 
>>> On Mon, Sep 29, 2014 at 10:43:56PM -0500, Steve French wrote:
>>>> I am also ok with using the Microsoft UID and perm mapping (if I
>>>> could figure out where they store the sticky and setuid/setgid bits
>>>> ....) to enhance our current "cifsacl" mount option.
>>> 
>>> attached is an updated AAPL patchset [1]. Summary of changes:
>>> 
>>> * fixes for issues found by Volker and metze
>>> 
>>> * added a torture test
>>> 
>>> * move MS NFS style uid, gid, mode mapping from vfs_fruit to the core
>>>  POSIX ACL functions
>>> 
>>> With minor changes, the MS NFS stuff could be used by the Linux smb
>>> client. Atm I'm only enabling this functionality via smb2/create AAPL
>>> context capability negotation, but that can be modified easily.
>>> 
>>> Comments welcome! :)
>>> 
>>> If the change to include MS NFS stuff in the core POSIX ACL routines
>>> is accepted, I'll post and updated squashed patchset.
>>> 
>>> -Ralph
>>> 
>>> [1] <https://github.com/slowfranklin/samba/commits/aapl>
>>> 
>>> --
>>> SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
>>> phone: +49-551-370000-0, fax: +49-551-370000-9
>>> AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
>>> http://www.sernet.de,mailto:kontakt@sernet.de
>> 
>> 
>> 
>> -- 
>> Thanks,
>> 
>> Steve
> 



More information about the samba-technical mailing list