Quantcast
Channel: All Open Tickets - Tera Term on OSDN
Viewing all articles
Browse latest Browse all 2128

Kermit転送のファイル属性のタイムスタンプについて - Tera Term Ticket #39259 on OSDN

$
0
0

Kermit転送のファイル属性のタイムスタンプについて

Eröffnet am: 2019-05-27 09:37

Letztes Update: 2019-06-12 22:46

Auswertung:jr4qpvVerantwortlicher:doda
Priorität:5 - MittelMeilenstein:(Keine)
Typ:Support-AnfragenSchweregrad:5 - Mittel
Komponente:Tera TermStatus:Offen [Owner assigned]
LösungGefixt

Einzelheiten

Kermitファイル転送で、ファイル属性情報を通知するように KmtFileAttr=on と設定して、ファイル送信時のタイムスタンプを確認すると、Windowsのファイルプロパティーで確認できる「作成日時」が通知されています。できれば「更新日時」を通知して貰いたいです。 どこかで設定変更とか出来たりしますでしょうか? 現在公開の最新版のバージョンでも確認しましたが、同様でした。


以下、動作変更に関するメモ。

規格上の規定

KERMIT PROTOCOL MANUAL Sixth Edition より。

6.5. Transmitting File Attributes
~略~
# (ASCII 35)
        Creation Date, expressed as "[yy]yymmdd[ hh:mm[:ss]]" (ISO standard date format), e.g.
        831009 23:59. The time is optional; if given, it should be in 24-hour format, and the seconds may
        be omitted, and a single space should separate the time from the date.

上記のとおり、規格上では作成日時(Creation Date)を使うとされている。

環境、および各実装

Unix系OS, C-Kermit

Unix系OSで使われているファイルシステムでは、ファイル作成日時が記録されていない、またはOS独自の拡張として実装されている為、汎用的に作成日時を取得する方法が無い。

その為、C-Kermit では作成日時ではなく修正日時(st_mtime)を使うようになっている。

Windows95/98/Me, C-Kermit/Kermit95

DOSやWindows95系で使われる FAT も修正日時しかない。その為 C-Kermit, Kermit95ではUnix系OSと同じようにst_mtimeを使う。

Windows95/98/Me, Tera Term

前述したように、FAT では st_mtime しか使えない。しかし WindowsNTのNTFSで st_ctime が作成日時とされた影響なのか、Tera Term では st_ctime を使うようになっている。

FAT では st_ctime が使えないが、実際には st_mtime と同じ値が得られていたと思われる(未確認)為、Windows95系(FAT) で使う分には問題が顕在化しなかったと思われる。

WindowsNT系, Tera Term

ファイルシステムがNTFSとなり st_ctime でファイル作成日時が得られるようになった為、他の実装との間で動作の違いが表に出てきた。

対応

規格上は Tera Term の動作が正しいが、本家の C-Kermit と動作が違うのは望ましく無い為、C-Kermit に合わせて st_mtime を使うように変更する。

Letzte Aktualisierung für dieses Ticket

2019-06-12 22:46 Aktualisiert von: doda

  • Details Updated

Viewing all articles
Browse latest Browse all 2128