keep file time on upload problem

hello,

recently I began to use smartftp for its nice interface, ssl capability and support for commands like mdtm, mlst, etc. in fact I was interested in keeping my file dates on upload and download.

download works fine. however while uploading I have some timezone problem. I'm at GMT+2 and using gene6 ftp server. whenever I upload a file its time is set to 2 hours after its modification time.

with some examination I detected that smart ftp is sending the exact time of the file with the MDTM command. example:

when I upload a file with modification date 00:15 at 29.11.2004 the MDTM command is

MDTM 20041129001515 Todo.txt

however MDTM standart ( well it is not a standart yet, a de-facto standart maybe in fact it's what most servers support ) says that the time information whould be sent with conversion to UTC. which means the correct MDTM command should be

MDTM 20041128221515 Todo.txt

I've been working on this issue for a week. still I'm sorry if it is the result of a configuration error of mine. however it seems to me that it is a bug. even if it is not a bug there is no guide to user to make the configuration to have the desired result.

thanks in advance.

Is the drive you are uploading from formatted with NTFS or FAT32?

Greets
-Mat

The file system of the drive is NTFS on a Windows XP professional.

Indeed there was a bug with setting the file time of a remote file. It has been fixed in the lastest developer build. It's available at:
https://www.smartftp.com/download

Thanks for reporting.
-Mat

thanks..

I'll upgrade my client as soon as possible.

I'm having this same problem. I deliberately chose SmartFTP because of the option to preserve time stamps on upload, but the times are being adjusted by two hours backwards. Is there somewhere I need to enter a timezone?

After the update to the latest version (I was using an old one) I've noticed constantly that the files get the modified time wrong when transfering to the server, this is a log:

[17:53:18] SmartFTP v2.0.996.15

...

[17:53:18] SYST

[17:53:19] 215 Sistema: UNIX Type: L8

[17:53:19] FEAT

[17:53:19] 211-Extension supported

[17:53:19]  MDTM

[17:53:19]  MDTM YYYYMMDDHHMMSS[+-TZ] filename

[17:53:19]  SIZE

[17:53:19]  SITE PSWD;EXEC;SET;INDEX;ZONE;CHMOD;MSG

[17:53:19]  REST STREAM

[17:53:19] 211 End

[17:53:19] Detected Server Software: Serv-U 4.x

...

[17:53:42] Remote file exist check: "test.htm".

[17:53:42] TYPE I

[17:53:42] 200 Type set to I.

[17:53:42] SIZE test.htm

[17:53:42] 213 5281

[17:53:42] MDTM test.htm

[17:53:42] 213 20060505150248

[17:53:42] Rule "IF Destination Size=No Matter AND Time=Older AND Transfer=No Matter THEN Overwrite" matched. Action="Overwrite".

[17:53:42] PASV

[17:53:42] 227 Entering Passive Mode (XXX,XX,XXX,XXX,18,30)

[17:53:42] Opening data connection to XXX,XX,XXX,XXX Port: 4638

[17:53:42] STOR test.htm

[17:53:43] 150 Opening BINARY mode data connection for test.htm.

[17:53:43] 5281 bytes transferred. (32,8 KB/s) (157 ms)

[17:53:43] 226 Transfer complete.

[17:53:43] MDTM 20060505150248 test.htm

[17:53:43] 253 Date/time changed okay.

[17:53:43] SIZE test.htm

[17:53:43] 213 5281

[17:53:43] Transfer successful.


the local file is shown as modified 05/05/2006 17:02 and the remote gets saved as 05/05/2006 15:02 (Indeed I was just overwritting the same file, so it should have been skipped if the time was the correct one)

I think that I understand that the file gets sent with the local time adjusted to UTC, but it seems that according to the features supported by the server it should allow also to specify the TimeZone:
MDTM YYYYMMDDHHMMSS[+-TZ] filename
Is it possible to use that feature?

It's a little "annoying" having the timestamps changed and I would like to find a way to keep that data as I liked the simple features of this program

Regards.

Well for me having the time stamps changed is more than just annoying, it is crucial. If I upload the files to my Half-Life servers and the time stamps get changed the server thinks they are different files which leads to all sorts of problems.

I think that I understand that the file gets sent with the local time adjusted to UTC, but it seems that according to the features supported by the server it should allow also to specify the TimeZone:
MDTM YYYYMMDDHHMMSS[+-TZ] filename
Is it possible to use that feature?
Obviously, you'll have to specify which time zone the server is in to get the time properly set / displayed. See General -> Timezone in the Favorite settings.


Obviously, you'll have to specify which time zone the server is in to get the time properly set / displayed. See General -> Timezone in the Favorite settings.
I have to know and enter the time zone for every ftp server I use if I want time stamps preserved? That strikes me as rather odd, but I'm not the one doing the coding, so I'm not aware of the difficulties involved. Thanks for the help though.

(Your use of the word "obviously" strikes me as rather funny. I searched through all of the program options, and I searched through the help documents, and these forums, and didn't find the information I was looking for. It wasn't quite as "obvious" to me as you seem to think it should have been... )

edit: Because SmartFTP depends on the server time to recreate timestamps on upload it is completely useless to me as the server time would have to be calibrated to the same time as my client, to the second, in order for it to work for me.


Obviously, you'll have to specify which time zone the server is in to get the time properly set / displayed. See General -> Timezone in the Favorite settings.

Thank you, now I've misconfigured the server so it thinks that it's placed in the Azores islands (GMT-1) and after a restart it seems to be working nice, I don't know what will happen when the time savings change, But I think that this is just the proper configuration, place the server at minus current Time Zone offset.

(and I agree with Drek, I wouldn't have called that solution "obvious")

Thanks again.



edit: Because SmartFTP depends on the server time to recreate timestamps on upload it is completely useless to me as the server time would have to be calibrated to the same time as my client, to the second, in order for it to work for me.

Have you enabled the "keep file time" in the Transfer->Files->Post transfer action ?

Yes, I had that enabled. It doesn't preserve the time, it recreates it based on the server time. Frankly I don't understand this, if you are going to recreate the time I would think it would be possible to recreate it based on the original timestamp for the file.