1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

r3833: NTACL is a better xattr name than DosAcl (tpot suggested this)

This commit is contained in:
Andrew Tridgell 2004-11-18 03:41:50 +00:00 committed by Gerald (Jerry) Carter
parent 3a1f20d874
commit 17911eea59
4 changed files with 16 additions and 17 deletions

View File

@ -112,7 +112,7 @@ struct file_info;
struct xattr_DosEAs;
struct xattr_DosStreams;
struct xattr_DosAcl;
struct xattr_NTACL;
struct test_join;

View File

@ -77,22 +77,21 @@ interface xattr
} xattr_DosStreams;
/* we store the NT ACL a DosAcl xattr. It is versioned so we
can later add other acl attribs (such as posix acl
mapping)
/* we store the NT ACL a NTAcl xattr. It is versioned so we
can later add other acl attribs (such as posix acl mapping)
we put this xattr in the security namespace to ensure that
only trusted users can write to the ACL
*/
const string XATTR_DOSACL_NAME = "security.DosAcl";
const string XATTR_NTACL_NAME = "security.NTAcl";
typedef union {
[case(1)] security_descriptor *sd;
} xattr_DosAclInfo;
} xattr_NTACL_Info;
typedef [public] struct {
uint16 version;
[switch_is(version)] xattr_DosAclInfo info;
} xattr_DosAcl;
[switch_is(version)] xattr_NTACL_Info info;
} xattr_NTACL;
}

View File

@ -33,7 +33,7 @@
static NTSTATUS pvfs_default_acl(struct pvfs_state *pvfs,
struct smbsrv_request *req,
struct pvfs_filename *name, int fd,
struct xattr_DosAcl *acl)
struct xattr_NTACL *acl)
{
struct security_descriptor *sd;
struct nt_user_token *token = req->session->session_info->nt_user_token;
@ -103,12 +103,12 @@ NTSTATUS pvfs_acl_set(struct pvfs_state *pvfs,
struct pvfs_filename *name, int fd,
union smb_setfileinfo *info)
{
struct xattr_DosAcl *acl;
struct xattr_NTACL *acl;
uint32_t secinfo_flags = info->set_secdesc.in.secinfo_flags;
struct security_descriptor *new_sd, *sd;
NTSTATUS status;
acl = talloc_p(req, struct xattr_DosAcl);
acl = talloc_p(req, struct xattr_NTACL);
if (acl == NULL) {
return NT_STATUS_NO_MEMORY;
}
@ -159,11 +159,11 @@ NTSTATUS pvfs_acl_query(struct pvfs_state *pvfs,
struct pvfs_filename *name, int fd,
union smb_fileinfo *info)
{
struct xattr_DosAcl *acl;
struct xattr_NTACL *acl;
NTSTATUS status;
struct security_descriptor *sd;
acl = talloc_p(req, struct xattr_DosAcl);
acl = talloc_p(req, struct xattr_NTACL);
if (acl == NULL) {
return NT_STATUS_NO_MEMORY;
}

View File

@ -353,7 +353,7 @@ NTSTATUS pvfs_streams_save(struct pvfs_state *pvfs, struct pvfs_filename *name,
load the current ACL from extended attributes
*/
NTSTATUS pvfs_acl_load(struct pvfs_state *pvfs, struct pvfs_filename *name, int fd,
struct xattr_DosAcl *acl)
struct xattr_NTACL *acl)
{
NTSTATUS status;
ZERO_STRUCTP(acl);
@ -363,7 +363,7 @@ NTSTATUS pvfs_acl_load(struct pvfs_state *pvfs, struct pvfs_filename *name, int
status = pvfs_xattr_ndr_load(pvfs, acl, name->full_name, fd,
XATTR_DOSACL_NAME,
acl,
(ndr_pull_flags_fn_t)ndr_pull_xattr_DosAcl);
(ndr_pull_flags_fn_t)ndr_pull_xattr_NTACL);
return status;
}
@ -371,7 +371,7 @@ NTSTATUS pvfs_acl_load(struct pvfs_state *pvfs, struct pvfs_filename *name, int
save the acl for a file into filesystem xattr
*/
NTSTATUS pvfs_acl_save(struct pvfs_state *pvfs, struct pvfs_filename *name, int fd,
struct xattr_DosAcl *acl)
struct xattr_NTACL *acl)
{
NTSTATUS status;
void *privs;
@ -386,7 +386,7 @@ NTSTATUS pvfs_acl_save(struct pvfs_state *pvfs, struct pvfs_filename *name, int
status = pvfs_xattr_ndr_save(pvfs, name->full_name, fd,
XATTR_DOSACL_NAME,
acl,
(ndr_push_flags_fn_t)ndr_push_xattr_DosAcl);
(ndr_push_flags_fn_t)ndr_push_xattr_NTACL);
talloc_free(privs);
return status;
}