<div dir="ltr"><div>Right, but the issue with 300 is that it required CAs to make content-aware decisions about the acceptable resource to dereference, and that is the issue that's trying to be avoided here, because that leads to ambiguities again.</div><div><br></div><div>301, 302, 307, and 308, as the set seemed to represent the use case of unambiguously and explicitly indicating the URLs.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 22, 2020 at 2:09 PM Niko Carpenter <<a href="mailto:NCarpenter@securetrust.com">NCarpenter@securetrust.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_873828918156317444WordSection1">
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12pt;color:black">From: </span></b><span style="font-size:12pt;color:black">Ryan Sleevi <<a href="mailto:sleevi@google.com" target="_blank">sleevi@google.com</a>><br>
<b>Date: </b>Monday, June 22, 2020 at 12:35<br>
<b>To: </b>Niko Carpenter <<a href="mailto:NCarpenter@securetrust.com" target="_blank">NCarpenter@securetrust.com</a>><br>
<b>Cc: </b>Tim Hollebeek <<a href="mailto:tim.hollebeek@digicert.com" target="_blank">tim.hollebeek@digicert.com</a>>, Validation List <<a href="mailto:validation@cabforum.org" target="_blank">validation@cabforum.org</a>><br>
<b>Subject: </b>Re: [cabf_validation] Clarifying Acceptable Status Codes for Following Redirects in methods 18 and 19<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">>> 2.         Redirects MUST be the result of a 300, 301, 302, 303, 307, or 308 HTTP status code response. Other status codes MUST NOT be treated as being equivalent to the 300
 status code.<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">> 300 was in the set we didn't want though. Was there something I was overlooking?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">> If we exclude 300, the necessity of the second clause also disappears. If other status codes were treated equivalent to 300, it'd fall out as not permitted.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Apple Color Emoji"">I'm not married to 300 being included. The main purpose of this change is to enumerate the status codes from a set whose s</span><span style="font-size:10.5pt;font-family:Cambria,serif">e</span><span style="font-size:10.5pt;font-family:"Apple Color Emoji"">mantics
 we understand, while also preventing clients from parsing response bodies. By specifying that the target URI must come from the Location header, I don't see why 300 and 303 should be excluded from this list. If the goal is to only include status codes that
 explicitly refer to that same resource at a different URI, then we should exclude both 300 and 303.<u></u><u></u></span></p>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:0.5in;text-indent:0.5in;line-height:14pt">
<b><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(0,143,197)">Niko Carpenter <br>
</span></b><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(89,89,91)">Software Engineer</span><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12pt;color:black">From:
</span></b><span style="font-size:12pt;color:black">Tim Hollebeek <<a href="mailto:tim.hollebeek@digicert.com" target="_blank">tim.hollebeek@digicert.com</a>><br>
<b>Date: </b>Friday, April 24, 2020 at 15:55<br>
<b>To: </b>Ryan Sleevi <<a href="mailto:sleevi@google.com" target="_blank">sleevi@google.com</a>>, Validation List <<a href="mailto:validation@cabforum.org" target="_blank">validation@cabforum.org</a>>, Niko Carpenter <<a href="mailto:NCarpenter@securetrust.com" target="_blank">NCarpenter@securetrust.com</a>><br>
<b>Subject: </b>RE: [cabf_validation] Clarifying Acceptable Status Codes for Following Redirects in methods 18 and 19</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<p class="MsoNormal">Well, this isn’t a spring cleanup thing.  Though it would be a good ballot.  I’d be more than happy to support getting rid of 300; getting down to an explicit list of codes whose
 semantics we have analyzed and approved would be even better.  <u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thanks for starting the discussion, Niko.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">-Tim<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> Validation <<a href="mailto:validation-bounces@cabforum.org" target="_blank">validation-bounces@cabforum.org</a>>
<b>On Behalf Of </b>Ryan Sleevi via Validation<br>
<b>Sent:</b> Friday, April 24, 2020 2:57 PM<br>
<b>To:</b> Niko Carpenter <<a href="mailto:NCarpenter@securetrust.com" target="_blank">NCarpenter@securetrust.com</a>><br>
<b>Cc:</b> CABforum3 <<a href="mailto:validation@cabforum.org" target="_blank">validation@cabforum.org</a>><br>
<b>Subject:</b> Re: [cabf_validation] Clarifying Acceptable Status Codes for Following Redirects in methods 18 and 19<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">I don't disagree that it'd be a normative change, for sure. But adding the entire IANA registry is sort of like the "any other method", and much of the discussion in the validation
 WG was about concerns of using content-aware redirects (which, functionally, 300 is, as it's dependent upon the UA/client understanding the media type)<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Definitely, more feedback from more CAs would be good here. For example, 303 is not entirely unreasonable, but I think it'd have to be coupled with a more normative protocol descriptor
 ala ACME to evaluate.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">And with 308, we have to make sure the client actually understands 308 semantics, so that it doesn't fall back into a 300-style content-aware parse (for which the canonical example
 is a meta-refresh, which folks understandably wanted to prohibit)<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Fri, Apr 24, 2020 at 2:50 PM Niko Carpenter <<a href="mailto:NCarpenter@securetrust.com" target="_blank">NCarpenter@securetrust.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal"><a name="m_873828918156317444_m_552180768361112867_m_75263301363305679">I’m not opposed to restricting redirects to the 301, 302, 307, and 308 status codes. However, doing so would be a normative change,
 since 300 and 303 are not currently disallowed. Some Cas might already be following them, if they are relying on an HTTP client library to handle redirects in the manner described in RFC 7231, Section 6.4.
<u></u><u></u></a></p>
<p class="MsoNormal"><span> <u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:0.5in;text-indent:0.5in;line-height:14pt">
<span><b><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(0,143,197)">Niko Carpenter <br>
</span></b></span><span><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(89,89,91)">Software Engineer</span><u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span> <u></u><u></u></span></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><span><b><span style="font-size:12pt;color:black">From:
</span></b></span><span><span style="font-size:12pt;color:black">Ryan Sleevi <</span></span><a href="mailto:sleevi@google.com" target="_blank"><span><span style="font-size:12pt">sleevi@google.com</span></span><span></span></a><span><span style="font-size:12pt;color:black">><br>
<b>Date: </b>Friday, April 24, 2020 at 12:10<br>
<b>To: </b>Niko Carpenter <</span></span><a href="mailto:NCarpenter@securetrust.com" target="_blank"><span><span style="font-size:12pt">NCarpenter@securetrust.com</span></span><span></span></a><span><span style="font-size:12pt;color:black">>,
 Validation List <</span></span><a href="mailto:validation@cabforum.org" target="_blank"><span><span style="font-size:12pt">validation@cabforum.org</span></span><span></span></a><span><span style="font-size:12pt;color:black">><br>
<b>Subject: </b>Re: [cabf_validation] Clarifying Acceptable Status Codes for Following Redirects in methods 18 and 19</span><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span> <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span>Right, that's why I proposed 301, 302, 307, and 308. The motivation for that is basically covered in RFC 7538
 Section 1, and what you reach when you go through 7231: 305 / 306 are retired, and 300 requires parsing the body to semantically extract which choice.<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span> <u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span>On Fri, Apr 24, 2020 at 12:53 PM Niko Carpenter via Validation <</span><a href="mailto:validation@cabforum.org" target="_blank"><span>validation@cabforum.org</span><span></span></a><span>>
 wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal"><span>While I don’t think it’s worth calling out specifically in the BRs, CAs definitely should not be parsing response
 bodies to discern redirect URLs.</span><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:0.5in;line-height:14pt">
<b><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(0,143,197)">Niko Carpenter <br>
</span></b><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(89,89,91)">Software Engineer  </span><u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12pt;color:black">From:
</span></b><span style="font-size:12pt;color:black">Ryan Sleevi <</span><a href="mailto:sleevi@google.com" target="_blank"><span style="font-size:12pt">sleevi@google.com</span></a><span style="font-size:12pt;color:black">><br>
<b>Date: </b>Friday, April 24, 2020 at 10:49<br>
<b>To: </b>Niko Carpenter <</span><a href="mailto:NCarpenter@securetrust.com" target="_blank"><span style="font-size:12pt">NCarpenter@securetrust.com</span></a><span style="font-size:12pt;color:black">><br>
<b>Subject: </b>Re: [cabf_validation] Clarifying Acceptable Status Codes for Following Redirects in methods 18 and 19</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">How do you propose CAs handle 300?<u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Fri, Apr 24, 2020 at 11:44 AM Niko Carpenter <<a href="mailto:NCarpenter@securetrust.com" target="_blank">NCarpenter@securetrust.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">I think it would be best to reference the IANA registry, so that we don’t need to draft a new ballot if a new status code is created. I propose replacing the following<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">> Redirects MUST be the result of an HTTP status code result within the 3xx Redirection class of status codes, as defined in RFC 7231, Section 6.4.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">With<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">> Redirects MUST be the result of an HTTP status code result within the 3xx Redirection class of status codes, as registered in the IANA HTTP Status Code Registry.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-bottom:12pt;margin-left:0.5in;line-height:14pt">
<b><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(0,143,197)">Niko Carpenter <br>
</span></b><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(89,89,91)">Software Engineer  </span><u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12pt;color:black">From:
</span></b><span style="font-size:12pt;color:black">Ryan Sleevi <</span><a href="mailto:sleevi@google.com" target="_blank"><span style="font-size:12pt">sleevi@google.com</span></a><span style="font-size:12pt;color:black">><br>
<b>Date: </b>Thursday, April 23, 2020 at 12:02<br>
<b>To: </b>Niko Carpenter <</span><a href="mailto:NCarpenter@securetrust.com" target="_blank"><span style="font-size:12pt">NCarpenter@securetrust.com</span></a><span style="font-size:12pt;color:black">>, Validation List <</span><a href="mailto:validation@cabforum.org" target="_blank"><span style="font-size:12pt">validation@cabforum.org</span></a><span style="font-size:12pt;color:black">><br>
<b>Subject: </b>Re: [cabf_validation] Clarifying Acceptable Status Codes for Following Redirects in methods 18 and 19</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">To clarify: The "intention" aspect is because the status codes in 6.4 are used to establish a new IANA registry (in Section 8.2 of RFC 7231), which RFC 7238, Section 6 then updates.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Did you mean to reference <a href="https://scanmail.trustwave.com/?c=4062&d=7uvw3lpSQS5VjVw4EdW6XwQqhG1ZbO-KncWA0_WuLQ&s=5&u=https%3a%2f%2ftools%2eietf%2eorg%2fhtml%2frfc7538" target="_blank">https://tools.ietf.org/html/rfc7538</a> though?
 That's updated (in both the IANA registry and in the IETF) as being the standards-track version of 308.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Are you thinking it's better to clarify that 301, 302, 307, and 308 are permitted, or to reference the IANA registry so that 300 and 303 are also permitted? <u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, Apr 23, 2020 at 12:45 PM Niko Carpenter via Validation <<a href="mailto:validation@cabforum.org" target="_blank">validation@cabforum.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">Methods 3.3.2.4.18 and 3.2.2.4.19, added in ballot SC25, say "Redirects MUST be the result of an HTTP status code result within the 3xx Redirection class of status codes, as defined
 in RFC 7231, Section 6.4." While I believe the intention was that following a 308 redirect should be acceptable, RFC 7231 does not define it.  Instead, it mentions, in section 6.4.7, that it is defined in RFC 7238. I think we should clarify that following
 a 308 redirect is acceptable in a new ballot, or the spring cleanup ballot.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal" style="margin-bottom:7pt;margin-left:0.5in;line-height:14pt">
<b><span style="font-family:Arial,sans-serif;color:rgb(0,143,197)">Niko Carpenter</span></b><u></u><u></u></p>
</div>
<p class="MsoNormal">This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby
 notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material
 in its entirety, whether in electronic or hard copy format. <u></u><u></u></p>
</div>
<p class="MsoNormal">_______________________________________________<br>
Validation mailing list<br>
<a href="mailto:Validation@cabforum.org" target="_blank">Validation@cabforum.org</a><br>
<a href="https://scanmail.trustwave.com/?c=4062&d=7uvw3lpSQS5VjVw4EdW6XwQqhG1ZbO-KnZbTjKb5eQ&s=5&u=https%3a%2f%2fcabforum%2eorg%2fmailman%2flistinfo%2fvalidation" target="_blank">https://cabforum.org/mailman/listinfo/validation</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
<p class="MsoNormal">This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby
 notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material
 in its entirety, whether in electronic or hard copy format. <u></u><u></u></p>
</div>
<p class="MsoNormal">_______________________________________________<br>
Validation mailing list<br>
<a href="mailto:Validation@cabforum.org" target="_blank">Validation@cabforum.org</a><br>
<a href="https://scanmail.trustwave.com/?c=4062&d=7uvw3lpSQS5VjVw4EdW6XwQqhG1ZbO-KnZbTjKb5eQ&s=5&u=https%3a%2f%2fcabforum%2eorg%2fmailman%2flistinfo%2fvalidation" target="_blank">https://cabforum.org/mailman/listinfo/validation</a><u></u><u></u></p>
</blockquote>
</div>
</div>
<p class="MsoNormal">This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby
 notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material
 in its entirety, whether in electronic or hard copy format. <u></u><u></u></p>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information
 contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format.
</div>

</blockquote></div></div>