summaryrefslogtreecommitdiff
path: root/source3/libsmb/clisecdesc.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-05-10 02:05:24 +0000
committerJeremy Allison <jra@samba.org>2003-05-10 02:05:24 +0000
commit1263c6e36c0a4608867259a651b0e8d1e6cc53f9 (patch)
treec3a2bde07b987062b0bcc68dfdced7d582a8be9e /source3/libsmb/clisecdesc.c
parent2d7a8480cf3e58d10c9a11e161a8fe6c91a59039 (diff)
downloadsamba-1263c6e36c0a4608867259a651b0e8d1e6cc53f9.tar.gz
samba-1263c6e36c0a4608867259a651b0e8d1e6cc53f9.tar.bz2
samba-1263c6e36c0a4608867259a651b0e8d1e6cc53f9.zip
Fix from Tom.Lackemann@falconstor.com to correctly set the flags based
on the security entries sent. Jeremy. (This used to be commit 45953d59f707b58e66b980512afc7f929d360ad5)
Diffstat (limited to 'source3/libsmb/clisecdesc.c')
-rw-r--r--source3/libsmb/clisecdesc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/libsmb/clisecdesc.c b/source3/libsmb/clisecdesc.c
index 20154dbeb2..d86a9022a6 100644
--- a/source3/libsmb/clisecdesc.c
+++ b/source3/libsmb/clisecdesc.c
@@ -79,6 +79,7 @@ BOOL cli_set_secdesc(struct cli_state *cli, int fnum, SEC_DESC *sd)
char param[8];
char *rparam=NULL, *rdata=NULL;
int rparam_count=0, rdata_count=0;
+ uint32 sec_info = 0;
TALLOC_CTX *mem_ctx;
prs_struct pd;
BOOL ret = False;
@@ -97,7 +98,14 @@ BOOL cli_set_secdesc(struct cli_state *cli, int fnum, SEC_DESC *sd)
}
SIVAL(param, 0, fnum);
- SSVAL(param, 4, 0x7);
+
+ if (sd->off_dacl)
+ sec_info |= DACL_SECURITY_INFORMATION;
+ if (sd->off_owner_sid)
+ sec_info |= OWNER_SECURITY_INFORMATION;
+ if (sd->off_grp_sid)
+ sec_info |= GROUP_SECURITY_INFORMATION;
+ SSVAL(param, 4, sec_info);
if (!cli_send_nt_trans(cli,
NT_TRANSACT_SET_SECURITY_DESC,