不正なquoted-printable dataの扱いについて

Yoichi NAKAYAMA yoichi @ geiin.org
2008年 9月 13日 (土) 11:28:58 JST


なかやまです。
Redmineの出すメールのSubjectが mel-q-ccl.elではデコード
出来ず、mel-q.elではデコードできたので調べてみたのですが、
当該メールでは "=?utf-8?Q?=5b?=" のように小文字で入っている
のが問題でした。

mel-q.elのquoted-printable-hex-char-to-numでは[a-f]を10-15に
マップしていますが、mel-ccl-256-to-16-tableではそれらをnilに
マップしている為に問題が生じていました。

RFC2045によればエンコードの際は大文字でなければならないとされて
いますが、デコードについては
    (1)   An "=" followed by two hexadecimal digits, one or both
          of which are lowercase letters in "abcdef", is formally
          illegal. A robust implementation might choose to
          recognize them as the corresponding uppercase letters.
と書いてあるのでmel-q.elのような緩い実装もありだと解釈して
います。mel-qとmel-q-cclで挙動が違うのはわかりにくいので
緩い方に合わせてしまうのはいかがでしょうか?

もしそうする場合、mel-ccl-256-to-16-table を単純に変更して
しまっても問題ないでしょうか?

以上、よろしくお願いします。
-- 
Yoichi NAKAYAMA





More information about the Emacs-mime-ja mailing list