> Any date&time will be rounded up to previous even second :-(

It's probably using SMB_INFO_STANDARD rather than
SMB_SET_FILE_BASIC_INFO as the information level in a
TRANS2_SET_FILE_INFORMATION or TRANS2_SET_PATH_INFORMATION call.
SMB_INFO_STANDARD uses DOS dates and times, which have 2-second
resolution; SMB_SET_FILE_BASIC_INFO uses NT FILETIME values, which have
100-nanosecond resolution.

The CIFS 1.0 spec only mentions SMB_SET_FILE_BASIC_INFO for
TRANS2_SET_FILE_INFORMATION, not for TRANS2_SET_PATH_INFORMATION, but I
would not be surprised if that weren't just an accidental omission
(it's silly to have one work but not the other in, say, NT, although
maybe the W95/W98/WMe server and file system code path is bizarre
enough that only one of them works).

If CAP_NT_SMBS is set in the NEGOTIATE reply, the SMB client should
probably use SMB_SET_FILE_BASIC_INFO.

_______________________________________________
freebsd-fs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"