ftp: MDTM Befehl

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
t-arn
Junior Member
Junior Member
Posts: 3
Joined: 2003-03-25, 16:58 UTC

ftp: MDTM Befehl

Post by *t-arn »

In der Hilfe von TC6 ("Was ist neu?") steht:
Verzeichnisse synchronisieren versucht via MDTM-Befehl Datum von FTP-Dateien zu setzen

Was für ein FTP Befehl ist das? In welcher RFC ist dieser Befehl definiert?

Tom
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

MDTM zum Setzen des Datums ist in keiner RFC definiert, sondern nur in einem sogenannten "Draft". Weil es eben kein Standard ist (aber trotzdem von vielen Servern unterstützt wird), sendet Total Commander den Befehl nur, wenn der Server mit dem FEAT-Befehl folgendes Feature meldet:

MDTM YYYYMMDDHHMMSS filename

Wenn der Server nur MDTM meldet, dann bedeutet das in der Regel, dass er MDTM nur für das Lesen des Dateidatums unterstützt (RFC-konform).
Author of Total Commander
https://www.ghisler.com
JFierce7
Senior Member
Senior Member
Posts: 214
Joined: 2005-07-17, 10:47 UTC

Post by *JFierce7 »

Wie genau läuft das ab? Ich programmiere einen FTP Server, über den ich mit TC (6.55) Dateien übertragen möchte. Ich habe folgenden Ausschnitt eines Logfiles - wann und wie versucht der TC Datum und Uhrzeit zu setzen?

Code: Select all

...
230 User logged in, proceed.
SYST
215 WIN32
FEAT
211-Features:
MDTM YYYYMMDDHHMMSS filename
MDTM
SIZE
REST STREAM
211 End
Connect ok!
PWD
257 "/" is working directory.
Verzeichnis einlesen
TYPE A
200 Type set to A.
PASV
227 Entering Passive Mode (127,0,0,1,0,20).
LIST
125 File status okay; about to open data connection.
Herunterladen
Warte auf Antwort des Servers...
226 Closing data connection.
TYPE I
200 Type set to I.
PASV
227 Entering Passive Mode (127,0,0,1,0,20).
STOR readme.txt
150 File status okay; about to open data connection.
Senden: 23.148 bytes
226 Closing data connection.
Copied (03.08.2006 15:40:30): E:\readme.txt -> ftp://localhost/readme.txt 23.148 bytes, 1506.8 kbytes/s
Verzeichnis einlesen
TYPE A
200 Type set to A.
PASV
227 Entering Passive Mode (127,0,0,1,0,20).
LIST
125 File status okay; about to open data connection.
Herunterladen
Warte auf Antwort des Servers...
226 Closing data connection.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

wann und wie versucht der TC Datum und Uhrzeit zu setzen?
Zur Zeit nur in der Funktion "Verzeichnisse synchronisieren".
Author of Total Commander
https://www.ghisler.com
JFierce7
Senior Member
Senior Member
Posts: 214
Joined: 2005-07-17, 10:47 UTC

Post by *JFierce7 »

Vielen Dank für die schnelle Antwort -
dann mache ich mal einen "Feature Request" draus: bitte auch beim normalen Kopieren das korrekte Datum setzen, wenn über MDTM festgestellt wurde, dass das funktionieren soll.

Viele Grüße
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Leider kann man da aber nicht den Zeitzonenunterschied einstellen, nur bei Verzeichnisse synchronisieren...
Author of Total Commander
https://www.ghisler.com
JFierce7
Senior Member
Senior Member
Posts: 214
Joined: 2005-07-17, 10:47 UTC

Post by *JFierce7 »

ghisler(Author) wrote: Zur Zeit nur in der Funktion "Verzeichnisse synchronisieren".
Dazu habe ich nun noch zwei Fragen -
1. In Punkt 3 des Abschnitts "Verzeichnisse synchronisieren und FTP-Server" der Hilfe steht, dass der Zeitstempel der lokalen Datei ebenfalls geändert wird - auch bei MDTM? Oder nur ohne?
2. Welche Antwort erwartet der TC nach
MDTM 20040607123128 datei.exe
? Etwas wie "220 Success"?

Vielen Dank!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

1: Ja, immer - der Server könnte ja das Datum mit weniger Genauigkeit setzen, oder in einer falschen Zeitzone, dann wäre das Dateidatum wieder unterschiedlich.

2: Einfach eine Antwort mit 2 am Anfang, das bedeutet immer "Erfolg". Um ganz sicher zu gehen, was für eine Antwort nötig ist, würde ich im entsprechenden Draft nachsehen.
Author of Total Commander
https://www.ghisler.com
JFierce7
Senior Member
Senior Member
Posts: 214
Joined: 2005-07-17, 10:47 UTC

Post by *JFierce7 »

ghisler(Author) wrote:MDTM zum Setzen des Datums ist in keiner RFC definiert, sondern nur in einem sogenannten "Draft". Weil es eben kein Standard ist (aber trotzdem von vielen Servern unterstützt wird), sendet Total Commander den Befehl nur, wenn der Server mit dem FEAT-Befehl folgendes Feature meldet:

MDTM YYYYMMDDHHMMSS filename

Wenn der Server nur MDTM meldet, dann bedeutet das in der Regel, dass er MDTM nur für das Lesen des Dateidatums unterstützt (RFC-konform).
Laut entsprecherndem Draft wird nur MDTM verwendet - die FEAT Angabe ist also nicht eindeutig (zumal auch die Angaben zum erweiterten Format teilweise widersprüchlich sind: mal mit, mal ohne ';' vor filename). Interessant ist in diesem Zusammenhang dann der Befehl MFMT (s. Draft z.B. unter http://www.indyproject.org/Sockets/Blogs/JPeterMugaas/draft-ietf-ftpext-mlst-16.txt)

[Edit: ups, das war der falsche Link. Der richtige ist http://www.indyproject.org/Sockets/Blogs/JPeterMugaas/draft-somers-ftp-mfxx-01.txt ]

Kann MFMT zukünftig auch im TC verwendet werden?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Sollte einfach einzubauen sein, doch kenne ich bisher keinen Server, der das unterstützt, und mit welchem ich das testen könnte. Gibt es da überhaupt schon einen?
Author of Total Commander
https://www.ghisler.com
JFierce7
Senior Member
Senior Member
Posts: 214
Joined: 2005-07-17, 10:47 UTC

Post by *JFierce7 »

Hab fast übersehen, hier noch eine Antwort zu schreiben. Sorry!
ghisler(Author) wrote:Sollte einfach einzubauen sein, doch kenne ich bisher keinen Server, der das unterstützt, und mit welchem ich das testen könnte. Gibt es da überhaupt schon einen?
Naja - sie sind sicherlich etwas dünn gesät. Ich schreibe grad einen. Aber das ist sicherlich keine Referenz :-)
Ansonsten habe ich noch
http://www.g6ftpserver.com/de/version
http://www.pro-bono-publico.de/projects/ftpd.html
gefunden.

In den TC7 Changelogs habe ich gefunden, dass dort MFMT schon eingebaut wurde. Vielen Dank!

Und es funktioniert nach wie vor nur bei Synchronize? Oder auch beim Kopieren?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ja, habe ich mangels Testserver "blind" eingebaut. Bitte testen!
Und es funktioniert nach wie vor nur bei Synchronize?
Das ist so, weil man nur bei Synchronize einen Zeitzonenunterschied angeben kann!
Author of Total Commander
https://www.ghisler.com
Post Reply