[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Fri Jan 18 22:20:02 UTC 2019


The branch, master has been updated
       via  4b26ccff859 python: dsal: Fix possibility of identical ACE's being added.
       via  2c113522fe2 s3:libsmb: Store file allocation size in struct file_info.
       via  c5a69c9f0c8 s3:libsmb: parse_finfo_id_both_directory_info capture FileID in SMB2_FIND_ID_BOTH_DIRECTORY_INFO response
      from  c41ec2a9751 lib: Use gpfs.h from third_party on Linux

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4b26ccff859048654c0680665acee53714997980
Author: Martin Krämer <mk.maddin at gmail.com>
Date:   Wed Jan 9 13:17:02 2019 +0000

    python: dsal: Fix possibility of identical ACE's being added.
    
    Currently it is possible to add the same ace multiple times if
    the case sensitivity does not match the existing one using "--sddl" parameter.
    As an example while an ace
    
    "OA;CIIO;RPWP;3e978925-8c01-11d0-afda-00c04fd930c9;bf967a86-0de6-11d0-a285-00aa003049e2;PS"
    
    already exists a sddl
    
    "OA;CIIO;RPWP;3E978925-8C01-11D0-AFDA-00C04FD930C9;BF967A86-0DE6-11D0-A285-00AA003049E2;PS"
    
    can be added without detection (and can be added multiple times). As an end result
    after a high number of addings (in my tests it was about 1600-1800 aces for one
    object) no further changes on that object are possible.
    
    Signed-off-by: Martin Krämer <mk.maddin at gmail.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Rowland Penny <rpenny at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Fri Jan 18 23:19:13 CET 2019 on sn-devel-144

commit 2c113522fe229b3334b1222190c055d86d27ca18
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Jan 17 16:59:08 2019 -0800

    s3:libsmb: Store file allocation size in struct file_info.
    
    We get this already, from SMB2_FIND_ID_BOTH_DIRECTORY_INFO
    so return it.
    
    For SMB1 leave this as zero so callers know it hasn't
    been initialized.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit c5a69c9f0c8e66e1f9f0dac5875478555e0b3d14
Author: Puran Chand <pchand at vmware.com>
Date:   Thu Jan 17 16:13:23 2019 -0800

    s3:libsmb: parse_finfo_id_both_directory_info capture FileID in SMB2_FIND_ID_BOTH_DIRECTORY_INFO response
    
    This captures the FileID in struct file_info while parsing SMB2_FIND_ID_BOTH_DIRECTORY_INFO
    response
    
    Refered MS doc for spec:- https://msdn.microsoft.com/en-us/library/cc246290.aspx
    
    Signed-off-by: Puran Chand <pchand at vmware.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 python/samba/netcmd/dsacl.py   | 2 +-
 source3/include/client.h       | 2 ++
 source3/libsmb/cli_smb2_fnum.c | 2 ++
 3 files changed, 5 insertions(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/python/samba/netcmd/dsacl.py b/python/samba/netcmd/dsacl.py
index 3295db3b76a..176d14d1a4d 100644
--- a/python/samba/netcmd/dsacl.py
+++ b/python/samba/netcmd/dsacl.py
@@ -119,7 +119,7 @@ class cmd_dsacl_set(Command):
         for ace in desc_aces:
             if ("ID" in ace):
                 desc_sddl = desc_sddl.replace(ace, "")
-        if new_ace in desc_sddl:
+        if new_ace.lower() in desc_sddl.lower():
             return
         if desc_sddl.find("(") >= 0:
             desc_sddl = desc_sddl[:desc_sddl.index("(")] + new_ace + desc_sddl[desc_sddl.index("("):]
diff --git a/source3/include/client.h b/source3/include/client.h
index 0cb21384f17..23ba86d2a2c 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -104,9 +104,11 @@ struct cli_state {
 
 struct file_info {
 	uint64_t size;
+	uint64_t allocated_size;
 	uint16_t mode;
 	uid_t uid;
 	gid_t gid;
+	uint64_t ino;
 	/* these times are normally kept in GMT */
 	struct timespec btime_ts; /* Birth-time if supported by system */
 	struct timespec mtime_ts;
diff --git a/source3/libsmb/cli_smb2_fnum.c b/source3/libsmb/cli_smb2_fnum.c
index 3a64438a5b9..e7b89a44e58 100644
--- a/source3/libsmb/cli_smb2_fnum.c
+++ b/source3/libsmb/cli_smb2_fnum.c
@@ -824,7 +824,9 @@ static NTSTATUS parse_finfo_id_both_directory_info(uint8_t *dir_data,
 	finfo->mtime_ts = interpret_long_date((const char *)dir_data + 24);
 	finfo->ctime_ts = interpret_long_date((const char *)dir_data + 32);
 	finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0);
+	finfo->allocated_size = IVAL2_TO_SMB_BIG_UINT(dir_data + 48, 0);
 	finfo->mode = CVAL(dir_data + 56, 0);
+	finfo->ino = IVAL2_TO_SMB_BIG_UINT(dir_data + 96, 0);
 	namelen = IVAL(dir_data + 60,0);
 	if (namelen > (dir_data_length - 104)) {
 		return NT_STATUS_INFO_LENGTH_MISMATCH;


-- 
Samba Shared Repository



More information about the samba-cvs mailing list