love! LOVEHINA - love2hina.net


カテゴリー

アーカイブ
2008/03/16 ProFTPD 1.3.1 iconv 文字コード変換パッチ

作成者: カテゴリー: 未分類

ProFTPD iconv パッチをProFTPD 1.3.1に対応させてみています。

と、いうのも、ProFTPD 1.3.1にもオリジナルのパッチをあてても動作は一応するのですが、
OPTS UTF8 ONを送るクライアントの場合、問題が生じます。
というか、ProFTPDが異常終了してます…terminating (signal 11) で。

>OPTS UTF8 ON
>200 OPTS UTF8 on Command OK.

この時点から、クライアントが送るファイル名はUTF-8になりますが、
iconvパッチはこれを無視したまま、CharsetRemoteの設定に従い、強制変換します。
(CharsetRemoteがCP932ならば、UTF-8をCP932として変換してしまいます)

まぁ、ProFTPDのUTF-8オプションを切ってしまっても良いのですが、
できれば共存したいですしね…。

と、いうわけで。

ProFTPD 1.3.1 iconv 文字コード変換パッチ v2.00(ぷろとたいぷ)

特徴
・ローカルとリモート間の文字コード変換を行います。
・OPTS UTF8オプションを認識します。有効の場合、リモートをUTF-8としてコード変換します。

コンパイル方法
・オリジナルのProFTPD 1.3.1にパッチをあててください。
・configure 時に –with-modules=mod_codeconv を指定してください。
・–enable-nls は同時に指定できません。

設定
・従来通り、下記のディレクティブを設定します。
 CharsetLocal UTF-8
 CharsetRemote CP932

動作確認
・ローカル側は Fedora 8 i386, Fedora 8 armv5tel で確認。ともにUTF-8環境。
・リモート側は Windows Vista Explorer FTP(UTF-8), FFFTP(Shift-JIS) で確認。

NLSは使用できません。OPTS UTF8の処理が重複するからです。
この処理は当 mod_codeconv が行うようになります。

まだまだ開発途中ですので、(というかこの土日で作ったw)プロトタイプとして公開します。
デバッグも簡単に走らせたぐらいですので、ご利用の際は十分にご注意くださいませ。

なお、当方で認識している既知の問題点は、
・Windows Vista Explorer FTPクライアントからファイルの削除ができない
・Windows Vista Explorer FTPクライアントで大量のファイルを転送すると、文字化けを起こす

FFFTPからは特に問題はなさそうな感じです。

ダウンロードはこちらからどうぞ。

最後に、元の開発者であるT.Tsujikawaさんにお礼申し上げます。