Base de Conhecimento

PureFTPd (as of version 1.0.21) suffers from a serious bug when setting the date/time of a file on the server using the SITE UTIME command. The file on the server gets a time which is off by several hours. As a result the keep file time feature to "synchronize" the file time of the remote file (file on the server) with the local file does not work. This has major consequences for synchronization operations which depend on the correct file time.

Proof

Comments are in blue color. Lines starting with a 3 digit number are FTP server replies. Lines without a 3 digit number are commands sent by the FTP client.

220---------- Welcome to Pure-FTPd [TLS] ----------....FTP client sends command to set time of the remote file test.txt in UTC with the SITE UTIME command:SITE UTIME test.txt 20080825033443 20080825033443 20080825033443 UTCFTP server acknowledges command250 UTIME OKFTP client sends MLST command to get the file information (time) of the remote file test.txtMLST test.txtFTP server returns the information. Note that the time (in red) is 5 hours off the time above (in green)250-Begintype=file;size=151194;modify=20080825083443;UNIX.mode=0644; test.txt250 End.FTP client sends MDTM command to get the file time only. Note that the time (in red) is once again 5 hours off.MDTM test.txt213 20080825083443FTP client sends STAT command to get the "unix" like listing of the file test.txt. This listing contains the time in local time which is only of use if the server locale (timezone with daylight savings) is known.STAT test.txt213-STAT-rw-r--r-- 1 rabbaak rabbaak 151194 Aug 25 04:34 test.txt213 End.

Workaround

Disable the Keep File Time option for uploads in SmartFTP. This way your files will always have the time when they have been uploaded and not the same time as the source file.

Update 22. January 2009

The bug has been fixed in the latest version of Pure-FTPd (1.0.27). Update your server software or ask your web hosting provider to do so.