2006年4月25日

[Namazu-devel-ja 1052] Re: mailnews.pl with--decode-base64

From: Hideyuki SHIRAI (白井秀行) 曰く
Subject: [Namazu-devel-ja 1051] Re: mailnews.pl with--decode-base64
Message-ID: <20060425.105208.143315245.shirai.hideyuki@xxxxx>
Date: Tue, 25 Apr 2006 10:52:08 +0900 (JST)

> もうひとつ、xlhtml や ppthtml が暴走?するパターンをみつけました。
>
> どういうのかというと、そのメールが途中で切れていて、multi part

> な MIME として完成していないものです。必ず暴走するというわけでは
> 無いようですが、100〜200行でそのメールをぶった切って実験すると、
> 結構高確率で再現します。
>
> なので、次の boundary が無いとき(そのパートが完成していないとき)
> は nesting_filter() に渡さない方が良いと思います。

こんなのでどうでしょうか。text の途中で切れていても中途半端なま
ま処理します。

# /^--$boundary-- ... でマッチしなくて悩んだのは内緒 ;-p

--
白井秀行 (mailto:shirai@xxxxx)

--- mailnews.pl 21 Apr 2006 14:46:02 -0000 1.27.4.13
+++ mailnews.pl 25 Apr 2006 07:51:23 -0000
@@ -196,6 +196,9 @@

# MIME multipart processing,
# modified by Furukawa-san's patch on [1998/08/27]
+ my $fixpart = "";
+ $fixpart = 'yes' if ($$contref =~ /\n--$boundary--[ \t]*$/);
+
$$contref =~ s/--$boundary(--)?\n?/\xff/g;
my (@parts) = split(/\xff/, $$contref);
$$contref = '';
@@ -235,7 +238,7 @@
multipart_process(\$body, $boundary2, $weighted_str, $fields);
$$contref .= $body;
}
- } elsif ($body ne "") {
+ } elsif ($fixpart && $body ne "") {
nesting_filter(\$head, \$body, $contenttype, $weighted_str);
$$contref .= $body;
}
_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja

投稿者 xml-rpc : 2006年4月25日 16:54
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/41430
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。