Namazu-devel-ja(旧)


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

Re: 1行文字列出力部分の修正について



臼田です

*Subject文字列内の制御コードについて
Tadamasa Teranishi wrote:
> > 厳密に改行以下を捨てなくても改行コード、nul文字だけ空白
> > に置き換えるか捨てるかしてつないでしまえば良いのではな
> > いでしょうか?
> 
> 文字列の途中に nul 文字あるいは 改行コード が挿入されているのか、
> 有効な文字列(nul あるいは改行コードまで)の後に余計なものが付いて
> いるのか判断ができません。
> 通常はありえないので、後ろにゴミを追加して何らかの攻撃(?) をしている
> とも考えられますので、ばっさり削除した方が良いでしょうということ
> です。
> # その攻撃(?)がどんな危険性があるのかとかは、あまり考えていません。
NMZ.field.subjectがシェルに渡されることはないでしょうから
ゴミが入っていても表示が崩れるぐらいですむのではないでしょうか?


> そもそも、mailnews.pl は複数行にまたがる Subject: には対応して
> いないですしね。途中でぶった切ることに抵抗はないでしょう。
長すぎるSubject:はnamazuも途中までしか表示していないようですが、
Subjectも検索対象になるでしょうからむやみに捨てるものではないと
思います。


*uriの文字コードについて
> > sjis、euc-jp、utf-8ならば非ASCIIのマルチバイト文字には
> > 制御コードは入っていなかったのではないかと思います。
> 
> JIS もあるかというぐらいの話です。
> (実際、JIS の uri が生成可能かどうかまでは確認していませんが、
> 現状 eucJP に統一されているわけではないので、仮定できません。
いわゆるJISを用いたファイルシステムが存在するのかは知りませんが、
(マルチバイトとシングルバイトの切り替えにESCシーケンスが入るので
使いづらいと思いますが)
いわゆるJISのマルチバイト文字領域にも制御コードに当たるものはな
かったと思います。
ESCシーケンスに用いられる0x1bを消さないようにすればJISでも壊れない
のでは。(私も詳しくはないので違っていたらご指摘ください)

> 早々に eucJP に統一したいものです。)
http://search.namazu.org/namazu-devel-ja/03389
の時の話は私が横にそらしてしまったようでちょっと
気になっているのでもう一度議論しないといけないですね。

> が、ファイル名に制御文字を入れている場合は、漢字コードに関係なく
> 制御文字が出てくるので、やっぱり削除するわけにはいかないかも
> しれませんね。むむむ。
ファイル名に制御コードも使えるのならば確かに漢字コードは関係ない
ですね。
使えるとしても使ってよいものとは思えませんし、Subjectに含まれてい
る場合よりこっちのほうが危険な気がします。

臼田幸生