[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[0311] Re: mod_encoding bug?



岩室です。

以前、mod_encodingで文字化けする件について投稿したのですが、どなたから
も反応がいただけませんでした。そのときは時間がなかったので運用でカバー
していたのですが、ようやく時間が確保できたので自分で調べてみました。

In message "[webdav-jp:0277] mod_encoding bug?"
    on 02/03/04, IWAMURO Motonori <iwa@xxxxxxxxxxxxxxxxx> writes:
> NT4.0SP6a + IE5.5SP2のWebフォルダで検証してみたところ、以下のようなよ
> くわからない現象が発生しました。
> 
> ・新規フォルダを作成(右クリック「新規作成」→「フォルダ」)して、「表」
>   というディレクトリ名に変更すると以下のように化ける。
>       % \ls | od -tx1
>       0000000 8e c9 8e bd 0a
>       0000005
> ・新規フォルダを作成して、「スケジュール表」というディレクトリ名に変更
>   しても化けない。
> ・「表」というファイルもしくはディレクトリを別のフォルダからコピーする
>   と化けない。
> 
> ・環境は[webdav-jp:0273]に書いたものと同一、

ちなみに以下の通りです。

・Solaris2.6 for Sparc
・apache_1.3.23.tar.gz
・libiconv-1.7.tar.gz
・expat-1.95.2.tar.gz
・mod_encoding-20011211a.tar.gz
・mod_dav-1.0.3-1.3.6.tar.gz
・mod_dav-1.0.3-1.3.6-l10n.diff

> 設定は以下の通りです。
> 
> <IfModule mod_encoding.c>
>   EncodingEngine on
>   SetServerEncoding EUC-JP
>   AddClientEncoding "Microsoft .* DAV" SJIS
>   AddClientEncoding "xdwin9x/" SJIS
>   AddClientEncoding "cadaver/" EUC-JP
> </IfModule>
> 
> <IfModule mod_dav.c>
>   DavServerEncoding EUC-JP
>   DAVLockDB /usr/local/www/var/DAVLock 
>   <Location /***>
>   DAV on
>   AllowOverride None
>   Options None
>   Header add MS-Author-Via "DAV"
>   AuthType Basic
>   AuthName ***
>   AuthUserFile /usr/local/www/etc/passwd
>   AuthGroupFile /usr/local/www/etc/group
>   require group ***
>   </Location>
> </IfModule>

調べてみたところでは、1回のMOVEリクエストでmod_encoding.cの
mod_enc_convertが2回呼ばれ、Shift_JIS -> EUC-JP変換を行った後にもう一
度EUC-JP文字列に対してShift_JIS -> EUC-JP変換が行われるために文字化け
しているようです。(文字化けしない場合があるのは、iconvに失敗するからの
ようです)

mod_enc_convertをpost read requestハンドラに移したところ文字化けはしな
くなったのですが、mod_enc_convert関数のログ出力部分に

>   LOG(APLOG_DEBUG, r->server, "mod_enc_postread: entered");

と記述されていることから、もともとはpost read requestハンドラとして実
装されていたが何らかの理由で今の位置に変更されたものとも考えられ、これ
が適切な対策なのか判断できません。

ということで質問です。

・根本的にどう対処すべきなのでしょうか?

・mod_encodingのメンテナンスはどのように行われているのでしょうか?
  報告などはこのMLで良いのでしょうか?
-- 
岩室元典 [E-Mail: vmi@xxxxxxxxxxxxxxxxxx / iwa@xxxxxxxxxxxxxxxxx]
「しあわせでしたーーーーーーーーーーーーーーーーーーーーーーーーっ!!」
(「イリヤの空、UFOの夏 その2」秋山瑞人/電撃文庫)