[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
netatalk 3.0.4 timestamps - NetBSD 6.0
My trouble with timestamps in Netatalk appears to be a problem with the
initialization of the client connection.
>From what I read in the AFP spec, the timestamps are seconds from
Jan 1, 2000. My timestamps on all the files and directories are
all off about 13.5 years, which just happens to be value of the the year
and date today (May, 2013)
After digging around in the code a bit, I don't see anything that is
broken in the timestamps on individual files.
I did notice in the AFP spec that the client gets a timestamp from
the server and uses that to adjust the times:
"AFP represents date-time values with four-byte signed integers. The
FPGetSrvrParms command allows the AFP client to obtain the current value of the
server's clock. At login time, the AFP client should read this value (s) and
the value of the AFP client's clock (w) and computer the offset between these
values (s - w). All subsequent date-time values read from the server should be
adjusted by adding this offset to the date-time. This adjustment will correct
for differences between the two clocks and will ensure that all computers see a
consistent time base."
Unfortunately, I have not had much sucess in finding the precise
code that handles the FPGetSrvrParams message, and the gettimeofday()
handling code is full of conditionals do it's slow going.
I have also noticed some complaints in the config.log:
config.log:configure:13062: checking for gettimeofday
warning: warning: reference to compatibility gettimeofday(); include
<sys/time.h> to generate correct reference
My current theory is that the FPGetSrvrParams is returning the wrong info,
(aka zero) and the client is "adjusting" my timestamps accordingly.
Any help in the form of pointers and insight to how the code
works would save me time, and might make it possible for me to
Main Index |
Thread Index |