Internet Explorer の FTP と UTF-8
IEの動作
- FTP サーバーにログインする
- FEAT コマンド送信 (RFC2389)
- 返ってきた feature list に UTF8 が含まれていたら、opts utf8 on を送信 (RFC2640, ftpext-utf-8)
- opts utf8 on に 200 OK が返ってきたら、以降 UTF-8 でコマンドの送受信を行う。 (しかし、困ったことに UTF-8 へと変換する際にファイル名が壊れるバグがある)
Pure-FTPd の IE 対策
ftpd.c の doopts() を以下のように変更するだけ。とりあえずこれで何とかなる。 (ugly hack と言われたが)
- if (strncasecmp("utf8 ", args, 5) == 0) { + if (strncmp("UTF8 ", args, 5) == 0) {