1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

When requesting UNIX info levels on findfirst/findnext, don't play games with write time,

just return what the underlying filesystem says. Trying not to confuse UNIX apps any more than necessary.
Jeremy.
This commit is contained in:
Jeremy Allison 2008-09-10 14:54:25 -07:00
parent a59bd0e485
commit b81a4dd003

View File

@ -1945,6 +1945,8 @@ close_if_end = %d requires_resume_key = %d level = 0x%x, max_data_bytes = %d\n",
break;
case SMB_FIND_FILE_UNIX:
case SMB_FIND_FILE_UNIX_INFO2:
/* Always use filesystem for UNIX mtime query. */
ask_sharemode = false;
if (!lp_unix_extensions()) {
reply_nterror(req, NT_STATUS_INVALID_LEVEL);
return;
@ -2302,6 +2304,8 @@ resume_key = %d resume name = %s continue=%d level = %d\n",
break;
case SMB_FIND_FILE_UNIX:
case SMB_FIND_FILE_UNIX_INFO2:
/* Always use filesystem for UNIX mtime query. */
ask_sharemode = false;
if (!lp_unix_extensions()) {
reply_nterror(req, NT_STATUS_INVALID_LEVEL);
return;
@ -4148,7 +4152,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd
}
}
if (!null_timespec(write_time_ts)) {
if (!null_timespec(write_time_ts) && !INFO_LEVEL_IS_UNIX(info_level)) {
mtime_ts = write_time_ts;
}