[mew-dist 27367] Re: < > を含むバウンダリでエラー

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2006年 10月 17日 (火) 10:57:13 JST


山本です。

> ぼくが rfc2045 を読む限りでは、

いえ、RFC 2046 まで読まないと理解できません。^^;

> 5.1.  Syntax of the Content-Type Header Field
> 
>      parameter := attribute "=" value
> 
>      attribute := token
>                   ; Matching of attributes
>                   ; is ALWAYS case-insensitive.
> 
>      value := token / quoted-string
> 
>      token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,
>                  or tspecials>
> 
>      tspecials :=  "(" / ")" / "<" / ">" / "@" /
>                    "," / ";" / ":" / "\" / <">
>                    "/" / "[" / "]" / "?" / "="
>                    ; Must be in quoted-string,
>                    ; to use within parameter values
> 
> なので、quote すれば、
> 
> Content-Type: multipart/alternative; boundary="<abc>"
> 
> のような boundary も許されると思います。
> 
> # ここまででなにか勘違いしていたら叱ってください。

RFC 2046 には、

     boundary := 0*69<bchars> bcharsnospace

     bchars := bcharsnospace / " "

     bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" /
                      "+" / "_" / "," / "-" / "." /
                      "/" / ":" / "=" / "?"

と定義されているので、"<" と ">" は、boundary に許されていません。

ヘボいメールリーダをどこまで救うかですが、まぁ、'"' 以外の ASCII の図形
文字全部を許しても害はないような気もします。

どうしましょかね。

P.S.

最近、貧弱な RFC822/SMTP をベースに、無理矢理拡張していくのは、破綻して
いるような気がしてきました。貧弱な基盤への下位互換性を保とうとすると、
自ずと符号化の嵐になります。そして、正しい符号化のコードを書けるプログ
ラマは、そんなに多くありません。。。

早く、メールを XHTML/HTTP ベースに変えたい。。。

--かず



Mew-dist メーリングリストの案内