From 88c5c535988167f52c7986eb339cf76adbb01f06 Mon Sep 17 00:00:00 2001 From: Puran Chand Date: Thu, 17 Jan 2019 16:13:23 -0800 Subject: [PATCH] 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 Reviewed-by: Jeremy Allison Reviewed-by: Andreas Schneider --- source3/include/client.h | 1 + source3/libsmb/cli_smb2_fnum.c | 1 + 2 files changed, 2 insertions(+) diff --git a/source3/include/client.h b/source3/include/client.h index 0cb21384f17..27206a608b9 100644 --- a/source3/include/client.h +++ b/source3/include/client.h @@ -107,6 +107,7 @@ struct file_info { 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..b115caec80f 100644 --- a/source3/libsmb/cli_smb2_fnum.c +++ b/source3/libsmb/cli_smb2_fnum.c @@ -825,6 +825,7 @@ static NTSTATUS parse_finfo_id_both_directory_info(uint8_t *dir_data, finfo->ctime_ts = interpret_long_date((const char *)dir_data + 32); finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 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; -- 2.20.1.321.g9e740568ce-goog