svn commit: samba r6342 - in branches/SAMBA_4_0/source: client
include libcli/raw ntvfs/posix smb_server torture/raw
tridge at samba.org
tridge at samba.org
Thu Apr 14 13:19:41 GMT 2005
Author: tridge
Date: 2005-04-14 13:19:40 +0000 (Thu, 14 Apr 2005)
New Revision: 6342
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6342
Log:
fixed a bad union assumption that caused ACLs to fail on 64 bit machines
Thanks to lars and agruen for finding this
Modified:
branches/SAMBA_4_0/source/client/client.c
branches/SAMBA_4_0/source/include/smb_interfaces.h
branches/SAMBA_4_0/source/libcli/raw/rawacl.c
branches/SAMBA_4_0/source/libcli/raw/rawfileinfo.c
branches/SAMBA_4_0/source/ntvfs/posix/pvfs_acl.c
branches/SAMBA_4_0/source/smb_server/nttrans.c
branches/SAMBA_4_0/source/torture/raw/acls.c
Changeset:
Modified: branches/SAMBA_4_0/source/client/client.c
===================================================================
--- branches/SAMBA_4_0/source/client/client.c 2005-04-14 08:44:28 UTC (rev 6341)
+++ branches/SAMBA_4_0/source/client/client.c 2005-04-14 13:19:40 UTC (rev 6342)
@@ -1870,7 +1870,7 @@
query.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
query.query_secdesc.in.fnum = fnum;
- query.query_secdesc.in.secinfo_flags = 0x7;
+ query.query_secdesc.secinfo_flags = 0x7;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &query);
if (!NT_STATUS_IS_OK(status)) {
Modified: branches/SAMBA_4_0/source/include/smb_interfaces.h
===================================================================
--- branches/SAMBA_4_0/source/include/smb_interfaces.h 2005-04-14 08:44:28 UTC (rev 6341)
+++ branches/SAMBA_4_0/source/include/smb_interfaces.h 2005-04-14 13:19:40 UTC (rev 6342)
@@ -677,11 +677,9 @@
/* RAW_FILEINFO_SEC_DESC */
struct {
enum smb_fileinfo_level level;
+ union smb_fileinfo_in in;
+ uint32_t secinfo_flags;
struct {
- uint16_t fnum;
- uint32_t secinfo_flags;
- } in;
- struct {
struct security_descriptor *sd;
} out;
} query_secdesc;
Modified: branches/SAMBA_4_0/source/libcli/raw/rawacl.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/raw/rawacl.c 2005-04-14 08:44:28 UTC (rev 6341)
+++ branches/SAMBA_4_0/source/libcli/raw/rawacl.c 2005-04-14 13:19:40 UTC (rev 6342)
@@ -40,7 +40,7 @@
SSVAL(params, 0, io->query_secdesc.in.fnum);
SSVAL(params, 2, 0); /* padding */
- SIVAL(params, 4, io->query_secdesc.in.secinfo_flags);
+ SIVAL(params, 4, io->query_secdesc.secinfo_flags);
nt.in.params.data = params;
nt.in.params.length = 8;
Modified: branches/SAMBA_4_0/source/libcli/raw/rawfileinfo.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/raw/rawfileinfo.c 2005-04-14 08:44:28 UTC (rev 6341)
+++ branches/SAMBA_4_0/source/libcli/raw/rawfileinfo.c 2005-04-14 13:19:40 UTC (rev 6342)
@@ -310,7 +310,7 @@
return NULL;
}
- SIVAL(tp.in.params.data, 0, fnum);
+ SSVAL(tp.in.params.data, 0, fnum);
SSVAL(tp.in.params.data, 2, info_level);
req = smb_raw_trans2_send(tree, &tp);
Modified: branches/SAMBA_4_0/source/ntvfs/posix/pvfs_acl.c
===================================================================
--- branches/SAMBA_4_0/source/ntvfs/posix/pvfs_acl.c 2005-04-14 08:44:28 UTC (rev 6341)
+++ branches/SAMBA_4_0/source/ntvfs/posix/pvfs_acl.c 2005-04-14 13:19:40 UTC (rev 6342)
@@ -309,7 +309,7 @@
return NT_STATUS_INVALID_ACL;
}
- normalise_sd_flags(sd, info->query_secdesc.in.secinfo_flags);
+ normalise_sd_flags(sd, info->query_secdesc.secinfo_flags);
info->query_secdesc.out.sd = sd;
Modified: branches/SAMBA_4_0/source/smb_server/nttrans.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/nttrans.c 2005-04-14 08:44:28 UTC (rev 6341)
+++ branches/SAMBA_4_0/source/smb_server/nttrans.c 2005-04-14 13:19:40 UTC (rev 6342)
@@ -197,7 +197,7 @@
io->query_secdesc.level = RAW_FILEINFO_SEC_DESC;
io->query_secdesc.in.fnum = SVAL(trans->in.params.data, 0);
- io->query_secdesc.in.secinfo_flags = IVAL(trans->in.params.data, 4);
+ io->query_secdesc.secinfo_flags = IVAL(trans->in.params.data, 4);
/* call the backend - notice that we do it sync for now, until we support
async nttrans requests */
Modified: branches/SAMBA_4_0/source/torture/raw/acls.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/acls.c 2005-04-14 08:44:28 UTC (rev 6341)
+++ branches/SAMBA_4_0/source/torture/raw/acls.c 2005-04-14 13:19:40 UTC (rev 6342)
@@ -71,7 +71,7 @@
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags =
+ q.query_secdesc.secinfo_flags =
SECINFO_OWNER |
SECINFO_GROUP |
SECINFO_DACL;
@@ -93,7 +93,7 @@
set.set_secdesc.level = RAW_SFILEINFO_SEC_DESC;
set.set_secdesc.file.fnum = fnum;
- set.set_secdesc.in.secinfo_flags = q.query_secdesc.in.secinfo_flags;
+ set.set_secdesc.in.secinfo_flags = q.query_secdesc.secinfo_flags;
set.set_secdesc.in.sd = sd;
status = smb_raw_setfileinfo(cli->tree, &set);
@@ -181,7 +181,7 @@
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags =
+ q.query_secdesc.secinfo_flags =
SECINFO_OWNER |
SECINFO_GROUP |
SECINFO_DACL;
@@ -282,7 +282,7 @@
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -520,7 +520,7 @@
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -682,7 +682,7 @@
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -800,7 +800,7 @@
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -1022,7 +1022,7 @@
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
@@ -1207,7 +1207,7 @@
CHECK_ACCESS_FLAGS(fnum2, SEC_RIGHTS_FILE_ALL);
q.query_secdesc.in.fnum = fnum2;
- q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
smbcli_close(cli->tree, fnum2);
@@ -1321,7 +1321,7 @@
printf("get the original sd\n");
q.query_secdesc.level = RAW_FILEINFO_SEC_DESC;
q.query_secdesc.in.fnum = fnum;
- q.query_secdesc.in.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
+ q.query_secdesc.secinfo_flags = SECINFO_DACL | SECINFO_OWNER;
status = smb_raw_fileinfo(cli->tree, mem_ctx, &q);
CHECK_STATUS(status, NT_STATUS_OK);
sd_orig = q.query_secdesc.out.sd;
More information about the samba-cvs
mailing list