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 <[email protected]>
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 <[email protected]>
Reviewed-by: Jeremy Allison <[email protected]>
Reviewed-by: Rowland Penny <[email protected]>
Autobuild-User(master): Jeremy Allison <[email protected]>
Autobuild-Date(master): Fri Jan 18 23:19:13 CET 2019 on sn-devel-144
commit 2c113522fe229b3334b1222190c055d86d27ca18
Author: Jeremy Allison <[email protected]>
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 <[email protected]>
Reviewed-by: Andreas Schneider <[email protected]>
commit c5a69c9f0c8e66e1f9f0dac5875478555e0b3d14
Author: Puran Chand <[email protected]>
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 <[email protected]>
Reviewed-by: Jeremy Allison <[email protected]>
Reviewed-by: Andreas Schneider <[email protected]>
-----------------------------------------------------------------------
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