Ticket #26373

「.」で始まるファイルが表示されないホストがある

Open Date: 2011-09-22 21:18 Last Update: 2011-11-23 12:50

Reporter:
Owner:
(None)
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

「.」で始まるファイルが表示されないホストがあります。1.97b以前からあるバグで、現時点では原因不明です。ホストの情報を収集にご協力くださいますようお願いいたします。

現在把握しているホスト一覧

  • 忍者ホームページ

Ticket History (3/6 Histories)

2011-09-22 21:18 Updated by: s_kawamoto
  • New Ticket "「.」で始まるファイルが表示されないホストがある" created
2011-09-22 23:16 Updated by: doda
Comment

忍者ホームページの挙動を調べてみましたが、そもそもLIST/NLSTコマンドの応答にドットで始まるファイル名が含まれていません。

なのでFFFTPのバグではなく、サーバ側の仕様という事になると思います。(少なくとも忍者ホームページに関しては)

2011-09-23 00:41 Updated by: doda
Comment

回避方法が無いか調べてみたところ、LIST/NLST コマンドでファイル名として -A/-a を指定すればドットで始まるファイル名が取れるようです。

ホスト設定の"高度"にある"LISTコマンドでファイル一覧を取得"をoffにすれば デフォルトでは"NLST -alL"を使うのでいけるかと思いましたが、サーバ側が l オプションを無視する(正しい動作ではあるが一般的ではない)ので駄目でした。

LIST コマンドで -A オプションを使わせる為に、試験的に filelist.c, ftpproc.c にある DoListCmdSkt() の最初のパラメータを "A" (一箇所のみ"AR") に変更したところ、ドットで始まるファイル名も取れるようになりました。 ただし、LIST のオプションに -A を渡すというのはサーバの OS を unix 系と 仮定している事になるので、例えばサーバの OS が VMS だった時におそらく 破綻します。 対処をするならば、NLST コマンドと同じようにオプションを指定できるように するという感じでしょうか。

# 個人的にはサーバの仕様という事で特に手を入れる必要は無いと思っています

2011-09-23 01:13 Updated by: s_kawamoto
Comment

testブランチにおいて、ファイル一覧の取得にMLSDが使用可能になりました。現在は設定用のUIが無いため、MLSDが使用可能なホストではLISTの代わりに自動的にMLSDが使用されます。

忍者ホームページについてはMLSDにより解決しました。

2011-09-23 01:21 Updated by: s_kawamoto
Comment

色々調べてみたところ、dodaさんの書いた通り、ホストの種類が不明(FFFTPはLISTの応答を見て推測しているだけ)なため、全てのホストに対応できるLISTのオプションはありませんでした。

今後はRFC 3659に従ってMLSDを使用する方法で行こうと思います。

こんな時間まで付き合っていただいてすみません。ご指摘ありがとうございました。

2011-11-23 12:50 Updated by: s_kawamoto
  • Ticket Close date is changed to 2011-11-23 12:50
  • Status Update from Open to Closed

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login