[CVS] samba-cvs
[Top] [All Lists]

svn commit: samba r6342 - in branches/SAMBA_4_0/source: client include l

Subject: svn commit: samba r6342 - in branches/SAMBA_4_0/source: client include libcli/raw ntvfs/posix smb_server torture/raw
From: tridge@xxxxxxxxx
Date: Thu, 14 Apr 2005 13:19:41 +0000 (GMT)
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;

<Prev in Thread] Current Thread [Next in Thread>
  • svn commit: samba r6342 - in branches/SAMBA_4_0/source: client include libcli/raw ntvfs/posix smb_server torture/raw, tridge <=