1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-05 12:22:11 +03:00

Fix bug 6529 - Offline files conflict with Vista and Office 2003

On filesystems that can't store less than one second timestamps,
round the incoming timestamp set requests so the client can't discover
that a time set request has been truncated by the filesystem.
Needs backporting to 3.4, 3.3, 3.2 and (even) 3.0.
Jeremy
This commit is contained in:
Jeremy Allison
2009-08-21 21:44:21 -07:00
parent 47c7063dc6
commit 1af0aa92b3
6 changed files with 42 additions and 1 deletions

View File

@ -467,6 +467,17 @@ int timespec_compare(const struct timespec *ts1, const struct timespec *ts2)
return 0;
}
/****************************************************************************
Round up a timespec if nsec > 500000000, round down if lower,
then zero nsec.
****************************************************************************/
void round_timespec(struct timespec *ts)
{
ts->tv_sec += ts->tv_nsec >= 500000000 ? 1 : 0;
ts->tv_nsec = 0;
}
/****************************************************************************
Interprets an nt time into a unix struct timespec.
Differs from nt_time_to_unix in that an 8 byte value of 0xffffffffffffffff