/
791.txt
59 lines (42 loc) · 3.43 KB
/
791.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[1] [[RFC822]] では、 [CODE(822)[\[CODE(char)[[[CR]]]][CODE(char)[[[LF]]]]]] で (quote された) [CODE(char)[[[CRLF]]]] を表すことが出来ました。
[2] しかし、 [[RFC2822]] は (RFC 822 からの変更点の章も含めて) >>1 のことに一切触れていません。これは非互換変更に当たります。
[3] [[BruceLilly]] は2003年6月23日に [[ietf-822]]
で、これは意図的なものなのか? RFC 2822 は >>1
の禁止を狙ってるのか? と聞きました。
すると [[ned]] じーさんは、そうだったら良かったのになあと言っております。
[8] [[RFC 822]] の [[BNF]] 構文上は確かに [[CRLF]] を [[quoted-pair]] にすることができるのですが、
3.4.3. は[[注釈]]内の [[quoted-pair]] の [[CRLF]] は直後に [[LWSP-char]] が必要と述べており、
3.4.5 は[[引用文字列]]に関して同様の制約をほのめかしており、
[[domain-literal]] に関する規定はありませんが、 3.2. との整合性を鑑みても、
明らかに [[RFC 822]] の意図は \ + CRLF + LWSP-char によって CRLF を表現できるようにするものでしょう。
[10] この問題は [[RFC Errata]] にも (2013年に!) 報告されています。
[REFS[
- [9] [CITE[RFC Errata Report]] ([TIME[2014-05-18 03:38:27 +09:00]] 版) <http://www.rfc-editor.org/errata_search.php?rfc=822>
]REFS]
[4]
[[MUA]] や [[MTA]] には [CODE(ABNF)[quoted-pair]] を解しないものがあって困っていましたが、最近では常用されている
MTA・MUA でそういう腐ったものは絶滅したと考えられています。
しかし、現在でも構文解析自体はうまくできるようであっても、
メッセージ一覧の表示時や返信メッセージの作成で[Q[[VAR[○○]]さんは書きました]]のような雛形を用意する時に
[CODE(ABNF)[quoted-pair]] を復号せずに残してしまう困った MUA
が今でもあるようです。
([[名無しさん]] [sage] [WEAK[2005-02-22 01:03:49 +00:00]])
[5]
[CITE@en[RE: Escaping <\> in HTTP Digest (RFC 2617)]] ([[Eric Lawrence]] 著, [CODE[2007-03-24 03:59:52 +09:00]] 版) <http://lists.w3.org/Archives/Public/ietf-http-wg/2007JanMar/0302.html>
([[名無しさん]] [WEAK[2007-03-26 10:21:30 +00:00]])
[6]
[CITE@en[RE: Escaping <\> in HTTP Digest (RFC 2617)]] ([[Eric Lawrence]] 著, [CODE[2007-03-24 05:24:38 +09:00]] 版) <http://lists.w3.org/Archives/Public/ietf-http-wg/2007JanMar/0303.html>
[REFS[
- [11] [CITE@en[RFC 2822 - Internet Message Format]] ([TIME[2014-03-08 23:10:45 +09:00]] 版) <http://tools.ietf.org/html/rfc2822#section-3.2.2>
]REFS]
[12] [[RFC 2822]] の制約をまとめると、
- [13] [CODE[[[\]]]] の次の[[文字]]としては [[U+0000]]-[[U+007F]] を理解できなければなりません。
- [14] [CODE[[[\]]]] の次の[[文字]]として [[U+0000]], [[U+000A]], [[U+000D]] を生成してはなりません。
- [15] それ以上の制約や非推奨はないようです。
- [16] [CODE[[[\]]]] のあとに [[CR]] と [[LF]] が続く列も理解できなければなりません。
[7]
[[RFC 5335]] により、 [CODE(MIME)@en[[[message/global]]]]
においては [CODE(ABNF)@en[[[utf8-quoted-pair]]]]
として [[UTF-8]] の使用が認められるようになりました ([[RFC 5335]] 4.3)。
;; ただし、 「CODE(MIME)@en[[[message-id]]]] では認められていません。
([[名無しさん]])