From: Ralph Boehme Date: Tue, 25 Jun 2019 12:26:10 +0000 (+0200) Subject: s3:smbd: use xattr_DosInfo4 in set_ea_dos_attribute() X-Git-Tag: ldb-2.0.5~105 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ebe7b8c58ca52005a68413e92d4148a17b1af671;p=thirdparty%2Fsamba.git s3:smbd: use xattr_DosInfo4 in set_ea_dos_attribute() Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison --- diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c index 8e8d791cfe9..d722c022fe9 100644 --- a/source3/smbd/dosmode.c +++ b/source3/smbd/dosmode.c @@ -488,13 +488,19 @@ NTSTATUS set_ea_dos_attribute(connection_struct *conn, ZERO_STRUCT(dosattrib); ZERO_STRUCT(blob); - dosattrib.version = 3; - dosattrib.info.info3.valid_flags = XATTR_DOSINFO_ATTRIB| + dosattrib.version = 4; + dosattrib.info.info4.valid_flags = XATTR_DOSINFO_ATTRIB | XATTR_DOSINFO_CREATE_TIME; - dosattrib.info.info3.attrib = dosmode; - dosattrib.info.info3.create_time = unix_timespec_to_nt_time( + dosattrib.info.info4.attrib = dosmode; + dosattrib.info.info4.create_time = unix_timespec_to_nt_time( smb_fname->st.st_ex_btime); + if (!(smb_fname->st.st_ex_iflags & ST_EX_IFLAG_CALCULATED_ITIME)) { + dosattrib.info.info4.valid_flags |= XATTR_DOSINFO_ITIME; + dosattrib.info.info4.itime = unix_timespec_to_nt_time( + smb_fname->st.st_ex_itime); + } + DEBUG(10,("set_ea_dos_attributes: set attribute 0x%x, btime = %s on file %s\n", (unsigned int)dosmode, time_to_asc(convert_timespec_to_time_t(smb_fname->st.st_ex_btime)),