diff options
Diffstat (limited to 'source4/scripting/python/samba/ntacls.py')
-rw-r--r-- | source4/scripting/python/samba/ntacls.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source4/scripting/python/samba/ntacls.py b/source4/scripting/python/samba/ntacls.py index 64dfd17d64..6f8e770bba 100644 --- a/source4/scripting/python/samba/ntacls.py +++ b/source4/scripting/python/samba/ntacls.py @@ -55,8 +55,8 @@ def checkset_backend(lp, backend, eadbfile): raise XattrBackendError("Invalid xattr backend choice %s"%backend) -def getntacl(lp, file, backend=None, eadbfile=None): - if use_ntvfs: +def getntacl(lp, file, backend=None, eadbfile=None, direct_db_access=True): + if direct_db_access: (backend_obj, dbname) = checkset_backend(lp, backend, eadbfile) if dbname is not None: try: @@ -71,8 +71,13 @@ def getntacl(lp, file, backend=None, eadbfile=None): else: attribute = samba.xattr_native.wrap_getxattr(file, xattr.XATTR_NTACL_NAME) - ntacl = ndr_unpack(xattr.NTACL, attribute) - return ntacl + ntacl = ndr_unpack(xattr.NTACL, attribute) + if ntacl.version == 1: + return ntacl.info + elif ntacl.version == 2: + return ntacl.info.sd + elif ntacl.version == 3: + return ntacl.info.sd else: return smbd.get_nt_acl(file) |