(no subject)

Peter Occil <[email protected]> Tue, 24 Jul 2018 00:02:04 -0400
Newsgroups gmane.ietf.rfc822
Message-ID <[email protected]>
--===============8958342309624107648==
Content-Type: multipart/alternative;
 boundary="_90526788-B888-4660-B007-0467FFAF91A5_"

--_90526788-B888-4660-B007-0467FFAF91A5_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

>Remember that MUST means "do this if you want to interoperate", not "do th=
is or die."
>
> Plan A: update RFC 2369 to say MAY add spaces, send out a press release, =
wait for
everyone in the world to update their software to remove spaces when parsin=
g List-x
headers.
>
> Plan B: figure out how to make your URLs short enough that your List-Unsu=
bscribe
headers are under 998 characters.
>
> I know what I'd do.

Plan A is not what I suggest at all; I suggest rather that whitespace "SHOU=
LD NOT" be generated between the angle brackets (compare with RFC 2557 sec.=
 4.4, which applies to the Content-Location header field, which uses URLs s=
imilarly to how List-Unsubscribe and certain other list header fields do).

Plan B is only feasible if the same person provides the URL _and_ writes th=
e code to generate the List-Unsubscribe header field (or any other list hea=
der field) for the corresponding message; not so if a software library gene=
rates a message containing the value of a List-Unsubscribe (or other) heade=
r field provided by a (third-party) user that, while otherwise syntacticall=
y valid, could exceed 998 characters in length.  The software library would=
 then have to either=E2=80=94

- reject the user-provided value (even though it=E2=80=99s otherwise syntac=
tically valid =E2=80=93 note that RFC 2369 neither specifies nor mandates a=
 character limit), or=20
- be forced to generate a message with a line exceeding 998 characters or t=
o fold lines to fit that character limit, or
- take some other error-handling action.

--Peter

--_90526788-B888-4660-B007-0467FFAF91A5_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta ht=
tp-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta name=
=3DGenerator content=3D"Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
..MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:377166631;
	mso-list-type:hybrid;
	mso-list-template-ids:-748398316 -1 67698691 67698693 67698689 67698691 67=
698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Calibri",sans-serif;
	mso-fareast-font-family:"Times New Roman";}
@list l0:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level5
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level8
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style></head><body lang=3DEN-US link=3Dblue vlink=3D"#954F72"><div cla=
ss=3DWordSection1><p class=3DMsoNormal>&gt;Remember that MUST means &quot;d=
o this if you want to interoperate&quot;, not &quot;do this or die.&quot;</=
p><p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; P=
lan A: update RFC 2369 to say MAY add spaces, send out a press release, wai=
t for</p><p class=3DMsoNormal>everyone in the world to update their softwar=
e to remove spaces when parsing List-x</p><p class=3DMsoNormal>headers.</p>=
<p class=3DMsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; Pla=
n B: figure out how to make your URLs short enough that your List-Unsubscri=
be</p><p class=3DMsoNormal>headers are under 998 characters.</p><p class=3D=
MsoNormal>&gt;<o:p>&nbsp;</o:p></p><p class=3DMsoNormal>&gt; I know what I'=
d do.</p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Pla=
n A is not what I suggest at all; I suggest rather that whitespace &quot;SH=
OULD NOT&quot; be generated between the angle brackets (compare with RFC 25=
57 sec. 4.4, which applies to the Content-Location header field, which uses=
 URLs similarly to how List-Unsubscribe and certain other list header field=
s do).</p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Pl=
an B is only feasible if the same person provides the URL _and_ writes the =
code to generate the List-Unsubscribe header field (or any other list heade=
r field) for the corresponding message; not so if a software library genera=
tes a message containing the value of a List-Unsubscribe (or other) header =
field provided by a (third-party) user that, while otherwise syntactically =
valid, could exceed 998 characters in length.=C2=A0 The software library wo=
uld then have to either=E2=80=94</p><p class=3DMsoNormal><o:p>&nbsp;</o:p><=
/p><ul style=3D'margin-top:0in' type=3Ddisc><li class=3DMsoListParagraph st=
yle=3D'margin-left:0in;mso-list:l0 level1 lfo1'>reject the user-provided va=
lue (even though it=E2=80=99s otherwise syntactically valid =E2=80=93 note =
that RFC 2369 neither specifies nor mandates a character limit), or </li><l=
i class=3DMsoListParagraph style=3D'margin-left:0in;mso-list:l0 level1 lfo1=
'>be forced to generate a message with a line exceeding 998 characters or t=
o fold lines to fit that character limit, or</li><li class=3DMsoListParagra=
ph style=3D'margin-left:0in;mso-list:l0 level1 lfo1'>take some other error-=
handling action.</li></ul><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p clas=
s=3DMsoNormal>--Peter</p></div></body></html>=

--_90526788-B888-4660-B007-0467FFAF91A5_--


--===============8958342309624107648==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ietf-822 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ietf-822

--===============8958342309624107648==--