Skip to content

Commit f9a1fd6

Browse files
author
ID Bot
committed
Script updating gh-pages from 03c9d55. [ci skip]
1 parent ced031a commit f9a1fd6

6 files changed

+75
-2064
lines changed

draft-ietf-httpapi-digest-fields-problem-types.html

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,20 @@
1111
<meta content="
1212
This document specifies problem types that servers can use in responses to problems encountered while dealing with a request carrying integrity fields and integrity preference fields.
1313
" name="description">
14-
<meta content="xml2rfc 3.28.0" name="generator">
14+
<meta content="xml2rfc 3.28.1" name="generator">
1515
<meta content="next generation" name="keyword">
1616
<meta content="unicorn" name="keyword">
1717
<meta content="sparkling distributed ledger" name="keyword">
1818
<meta content="draft-ietf-httpapi-digest-fields-problem-types-latest" name="ietf.draft">
1919
<!-- Generator version information:
20-
xml2rfc 3.28.0
21-
Python 3.12.9
20+
xml2rfc 3.28.1
21+
Python 3.12.10
2222
ConfigArgParse 1.7
2323
google-i18n-address 3.1.1
2424
intervaltree 3.1.0
2525
Jinja2 3.1.6
2626
lxml 5.3.0
27-
platformdirs 4.3.6
27+
platformdirs 4.3.7
2828
pycountry 24.6.1
2929
PyYAML 6.0.2
3030
requests 2.32.3
@@ -1048,11 +1048,11 @@
10481048
<thead><tr>
10491049
<td class="left">Internet-Draft</td>
10501050
<td class="center">HTTP Problem Types for Digest Fields</td>
1051-
<td class="right">March 2025</td>
1051+
<td class="right">April 2025</td>
10521052
</tr></thead>
10531053
<tfoot><tr>
10541054
<td class="left">Kleidl, et al.</td>
1055-
<td class="center">Expires 20 September 2025</td>
1055+
<td class="center">Expires 27 October 2025</td>
10561056
<td class="right">[Page]</td>
10571057
</tr></tfoot>
10581058
</table>
@@ -1065,12 +1065,12 @@
10651065
<dd class="internet-draft">draft-ietf-httpapi-digest-fields-problem-types-latest</dd>
10661066
<dt class="label-published">Published:</dt>
10671067
<dd class="published">
1068-
<time datetime="2025-03-19" class="published">19 March 2025</time>
1068+
<time datetime="2025-04-25" class="published">25 April 2025</time>
10691069
</dd>
10701070
<dt class="label-intended-status">Intended Status:</dt>
10711071
<dd class="intended-status">Informational</dd>
10721072
<dt class="label-expires">Expires:</dt>
1073-
<dd class="expires"><time datetime="2025-09-20">20 September 2025</time></dd>
1073+
<dd class="expires"><time datetime="2025-10-27">27 October 2025</time></dd>
10741074
<dt class="label-authors">Authors:</dt>
10751075
<dd class="authors">
10761076
<div class="author">
@@ -1128,7 +1128,7 @@ <h2 id="name-status-of-this-memo">
11281128
time. It is inappropriate to use Internet-Drafts as reference
11291129
material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow"></a></p>
11301130
<p id="section-boilerplate.1-4">
1131-
This Internet-Draft will expire on 20 September 2025.<a href="#section-boilerplate.1-4" class="pilcrow"></a></p>
1131+
This Internet-Draft will expire on 27 October 2025.<a href="#section-boilerplate.1-4" class="pilcrow"></a></p>
11321132
</section>
11331133
</div>
11341134
<div id="copyright">
@@ -1213,12 +1213,15 @@ <h2 id="name-introduction">
12131213
<p id="section-1-2">For example, a request message may include content alongside <code>Content-Digest</code> and <code>Repr-Digest</code> fields that use a digest algorithm the server does not support. An application could decide to reject this request because it cannot validate the integrity. Using a problem type, the server can provide machine-readable error details to aid debugging or error reporting, as shown in the following example.<a href="#section-1-2" class="pilcrow"></a></p>
12141214
<div class="lang-http-message sourcecode" id="section-1-3">
12151215
<pre>
1216+
# NOTE: '\' line wrapping per RFC 8792
1217+
12161218
HTTP/1.1 400 Bad Request
12171219
Content-Type: application/problem+json
12181220
Want-Content-Digest: sha-512=3, sha-256=10
12191221

12201222
{
1221-
"type": "https://iana.org/assignments/http-problem-types#digest-unsupported-algorithm",
1223+
"type": "https://iana.org/assignments/http-problem-types#\
1224+
digest-unsupported-algorithm",
12221225
"title": "hashing algorithm is not supported",
12231226
"unsupported-algorithm": "foo"
12241227
}
@@ -1235,11 +1238,12 @@ <h2 id="name-conventions-and-definitions">
12351238
"<span class="bcp14">MAY</span>", and "<span class="bcp14">OPTIONAL</span>" in this document are to be interpreted as
12361239
described in BCP 14 <span>[<a href="#RFC2119" class="cite xref">RFC2119</a>]</span> <span>[<a href="#RFC8174" class="cite xref">RFC8174</a>]</span> when, and only when, they
12371240
appear in all capitals, as shown here.<a href="#section-2-1" class="pilcrow"></a></p>
1238-
<p id="section-2-2">The terms "integrity fields" and "integrity preference fields" in this document are to be
1239-
interpreted as described in <span>[<a href="#DIGEST" class="cite xref">DIGEST</a>]</span>.<a href="#section-2-2" class="pilcrow"></a></p>
1240-
<p id="section-2-3">The term "problem type" in this document is to be
1241-
interpreted as described in <span>[<a href="#PROBLEM" class="cite xref">PROBLEM</a>]</span>.<a href="#section-2-3" class="pilcrow"></a></p>
1242-
<p id="section-2-4">The term "request", "response", "intermediary", "sender", and "server" are from <span>[<a href="#HTTP" class="cite xref">HTTP</a>]</span>.<a href="#section-2-4" class="pilcrow"></a></p>
1241+
<p id="section-2-2">Some examples in this document contain long lines that may be folded, as described in <span>[<a href="#RFC8792" class="cite xref">RFC8792</a>]</span>.<a href="#section-2-2" class="pilcrow"></a></p>
1242+
<p id="section-2-3">The terms "integrity fields" and "integrity preference fields" in this document are to be
1243+
interpreted as described in <span>[<a href="#DIGEST" class="cite xref">DIGEST</a>]</span>.<a href="#section-2-3" class="pilcrow"></a></p>
1244+
<p id="section-2-4">The term "problem type" in this document is to be
1245+
interpreted as described in <span>[<a href="#PROBLEM" class="cite xref">PROBLEM</a>]</span>.<a href="#section-2-4" class="pilcrow"></a></p>
1246+
<p id="section-2-5">The term "request", "response", "intermediary", "sender", and "server" are from <span>[<a href="#HTTP" class="cite xref">HTTP</a>]</span>.<a href="#section-2-5" class="pilcrow"></a></p>
12431247
</section>
12441248
</div>
12451249
<div id="problem-types">
@@ -1279,12 +1283,15 @@ <h3 id="name-unsupported-hashing-algorit">
12791283
<span id="name-response-advertising-the-su"></span><figure id="figure-2">
12801284
<div class="lang-http-message sourcecode" id="section-3.1-5.1">
12811285
<pre>
1286+
# NOTE: '\' line wrapping per RFC 8792
1287+
12821288
HTTP/1.1 400 Bad Request
12831289
Content-Type: application/problem+json
12841290
Want-Repr-Digest: sha-512=10, sha-256=0
12851291

12861292
{
1287-
"type": "https://iana.org/assignments/http-problem-types#digest-unsupported-algorithm",
1293+
"type": "https://iana.org/assignments/http-problem-types#\
1294+
digest-unsupported-algorithm",
12881295
"title": "Unsupported hashing algorithm",
12891296
"unsupported-algorithm": "sha-256"
12901297
}
@@ -1311,11 +1318,14 @@ <h3 id="name-unsupported-hashing-algorit">
13111318
<span id="name-response-advertising-the-sup"></span><figure id="figure-4">
13121319
<div class="lang-http-message sourcecode" id="section-3.1-9.1">
13131320
<pre>
1321+
# NOTE: '\' line wrapping per RFC 8792
1322+
13141323
HTTP/1.1 400 Bad Request
13151324
Content-Type: application/problem+json
13161325

13171326
{
1318-
"type": "https://iana.org/assignments/http-problem-types#digest-unsupported-algorithm",
1327+
"type": "https://iana.org/assignments/http-problem-types#\
1328+
digest-unsupported-algorithm",
13191329
"title": "Unsupported hashing algorithm",
13201330
"unsupported-algorithm": "sha"
13211331
}
@@ -1331,7 +1341,7 @@ <h3 id="name-unsupported-hashing-algorit">
13311341
<h3 id="name-invalid-digest-value">
13321342
<a href="#section-3.2" class="section-number selfRef">3.2. </a><a href="#name-invalid-digest-value" class="section-name selfRef">Invalid Digest Value</a>
13331343
</h3>
1334-
<p id="section-3.2-1">This section defines the "https://iana.org/assignments/http-problem-types#digest-invalid-value" problem type. A server <span class="bcp14">MAY</span> use this problem type when responding to a request, whose integrity fields include a digest value, that cannot be generated by the corresponding hashing algorithm. For example, if the digest value of the <code>sha-512</code> hashing algorithm is not 64 bytes long, it cannot be a valid digest value and the server can skip computing the digest value. This problem type <span class="bcp14">MUST NOT</span> be used if the server is not able to parse the integrity fields according to <span><a href="https://rfc-editor.org/rfc/rfc8941#section-4.5" class="relref">Section 4.5</a> of [<a href="#STRUCTURED-FIELDS" class="cite xref">STRUCTURED-FIELDS</a>]</span>, for example because of a syntax error in the field value.<a href="#section-3.2-1" class="pilcrow"></a></p>
1344+
<p id="section-3.2-1">This section defines the "https://iana.org/assignments/http-problem-types#digest-invalid-value" problem type. A server <span class="bcp14">MAY</span> use this problem type when responding to a request, whose integrity fields include a digest value, that cannot be generated by the corresponding hashing algorithm. For example, if the digest value of the <code>sha-512</code> hashing algorithm is not 64 bytes long, it cannot be a valid digest value and the server can skip computing the digest value. This problem type <span class="bcp14">MUST NOT</span> be used if the server is not able to parse the integrity fields according to <span><a href="https://rfc-editor.org/rfc/rfc9651#section-4.5" class="relref">Section 4.5</a> of [<a href="#STRUCTURED-FIELDS" class="cite xref">STRUCTURED-FIELDS</a>]</span>, for example because of a syntax error in the field value.<a href="#section-3.2-1" class="pilcrow"></a></p>
13351345
<p id="section-3.2-2">The server <span class="bcp14">SHOULD</span> include a human-readable description why the value is considered invalid in the <code>title</code> member.<a href="#section-3.2-2" class="pilcrow"></a></p>
13361346
<p id="section-3.2-3">The following example shows a request with the content <code>{"hello": "world"}</code> (plus LF), but the digest has been truncated. The subsequent response indicates the invalid SHA-512 digest.<a href="#section-3.2-3" class="pilcrow"></a></p>
13371347
<span id="name-a-request-with-a-sha-512-in"></span><figure id="figure-5">
@@ -1351,11 +1361,14 @@ <h3 id="name-invalid-digest-value">
13511361
<span id="name-response-indicating-that-th"></span><figure id="figure-6">
13521362
<div class="lang-http-message sourcecode" id="section-3.2-5.1">
13531363
<pre>
1364+
# NOTE: '\' line wrapping per RFC 8792
1365+
13541366
HTTP/1.1 400 Bad Request
13551367
Content-Type: application/problem+json
13561368

13571369
{
1358-
"type": "https://iana.org/assignments/http-problem-types#digest-invalid-value",
1370+
"type": "https://iana.org/assignments/http-problem-types#\
1371+
digest-invalid-value",
13591372
"title": "digest value for sha-512 is not 64 bytes long"
13601373
}
13611374
</pre>
@@ -1372,7 +1385,7 @@ <h3 id="name-mismatching-digest-value">
13721385
<a href="#section-3.3" class="section-number selfRef">3.3. </a><a href="#name-mismatching-digest-value" class="section-name selfRef">Mismatching Digest Value</a>
13731386
</h3>
13741387
<p id="section-3.3-1">This section defines the "https://iana.org/assignments/http-problem-types#digest-mismatching-value" problem type. A server <span class="bcp14">MAY</span> use this problem type when responding to a request, whose integrity fields include a digest value that does not match the digest value that the server calculated for the request content or representation.<a href="#section-3.3-1" class="pilcrow"></a></p>
1375-
<p id="section-3.3-2">Two problem type extension members are defined: the <code>algorithm</code> and <code>provided-digest</code> members. A response using this problem type <span class="bcp14">SHOULD</span> populate all members, with the value of <code>algorithm</code> being the algorithm key of the used hashing algorithm and the value of <code>provided-digest</code> being the digest value taken from the request's integrity fields. The digest value <span class="bcp14">MUST</span> be serialized as byte sequences as described in <span><a href="https://rfc-editor.org/rfc/rfc8941#section-4.1.8" class="relref">Section 4.1.8</a> of [<a href="#STRUCTURED-FIELDS" class="cite xref">STRUCTURED-FIELDS</a>]</span>.<a href="#section-3.3-2" class="pilcrow"></a></p>
1388+
<p id="section-3.3-2">Two problem type extension members are defined: the <code>algorithm</code> and <code>provided-digest</code> members. A response using this problem type <span class="bcp14">SHOULD</span> populate all members, with the value of <code>algorithm</code> being the algorithm key of the used hashing algorithm and the value of <code>provided-digest</code> being the digest value taken from the request's integrity fields. The digest value <span class="bcp14">MUST</span> be serialized as byte sequences as described in <span><a href="https://rfc-editor.org/rfc/rfc9651#section-4.1.8" class="relref">Section 4.1.8</a> of [<a href="#STRUCTURED-FIELDS" class="cite xref">STRUCTURED-FIELDS</a>]</span>.<a href="#section-3.3-2" class="pilcrow"></a></p>
13761389
<p id="section-3.3-3">The following example shows a request with the content <code>{"hello": "woXYZ"}</code> (plus LF), but the representation digest for <code>{"hello": "world"}</code> (plus LF). The subsequent response indicates the mismatching SHA-256 digest values.<a href="#section-3.3-3" class="pilcrow"></a></p>
13771390
<span id="name-a-request-with-a-sha-256-int"></span><figure id="figure-7">
13781391
<div class="lang-http-message sourcecode" id="section-3.3-4.1">
@@ -1391,11 +1404,14 @@ <h3 id="name-mismatching-digest-value">
13911404
<span id="name-response-indicating-the-mis"></span><figure id="figure-8">
13921405
<div class="lang-http-message sourcecode" id="section-3.3-5.1">
13931406
<pre>
1407+
# NOTE: '\' line wrapping per RFC 8792
1408+
13941409
HTTP/1.1 400 Bad Request
13951410
Content-Type: application/problem+json
13961411

13971412
{
1398-
"type": "https://iana.org/assignments/http-problem-types#digest-mismatching-value",
1413+
"type": "https://iana.org/assignments/http-problem-types#\
1414+
digest-mismatching-value",
13991415
"title": "digest value from request does not match expected value",
14001416
"algorithm": "sha-256",
14011417
"provided-digest": ":RK/0qy18MlBSVnWgjwz6lZEWjP/lF5HF9bvEF8FabDg=:"
@@ -1543,9 +1559,13 @@ <h2 id="name-normative-references">
15431559
<dd>
15441560
<span class="refAuthor">Leiba, B.</span>, <span class="refTitle">"Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words"</span>, <span class="seriesInfo">BCP 14</span>, <span class="seriesInfo">RFC 8174</span>, <span class="seriesInfo">DOI 10.17487/RFC8174</span>, <time datetime="2017-05" class="refDate">May 2017</time>, <span>&lt;<a href="https://www.rfc-editor.org/rfc/rfc8174">https://www.rfc-editor.org/rfc/rfc8174</a>&gt;</span>. </dd>
15451561
<dd class="break"></dd>
1562+
<dt id="RFC8792">[RFC8792]</dt>
1563+
<dd>
1564+
<span class="refAuthor">Watsen, K.</span>, <span class="refAuthor">Auerswald, E.</span>, <span class="refAuthor">Farrel, A.</span>, and <span class="refAuthor">Q. Wu</span>, <span class="refTitle">"Handling Long Lines in Content of Internet-Drafts and RFCs"</span>, <span class="seriesInfo">RFC 8792</span>, <span class="seriesInfo">DOI 10.17487/RFC8792</span>, <time datetime="2020-06" class="refDate">June 2020</time>, <span>&lt;<a href="https://www.rfc-editor.org/rfc/rfc8792">https://www.rfc-editor.org/rfc/rfc8792</a>&gt;</span>. </dd>
1565+
<dd class="break"></dd>
15461566
<dt id="STRUCTURED-FIELDS">[STRUCTURED-FIELDS]</dt>
15471567
<dd>
1548-
<span class="refAuthor">Nottingham, M.</span> and <span class="refAuthor">P. Kamp</span>, <span class="refTitle">"Structured Field Values for HTTP"</span>, <span class="seriesInfo">RFC 8941</span>, <span class="seriesInfo">DOI 10.17487/RFC8941</span>, <time datetime="2021-02" class="refDate">February 2021</time>, <span>&lt;<a href="https://www.rfc-editor.org/rfc/rfc8941">https://www.rfc-editor.org/rfc/rfc8941</a>&gt;</span>. </dd>
1568+
<span class="refAuthor">Nottingham, M.</span> and <span class="refAuthor">P. Kamp</span>, <span class="refTitle">"Structured Field Values for HTTP"</span>, <span class="seriesInfo">RFC 9651</span>, <span class="seriesInfo">DOI 10.17487/RFC9651</span>, <time datetime="2024-09" class="refDate">September 2024</time>, <span>&lt;<a href="https://www.rfc-editor.org/rfc/rfc9651">https://www.rfc-editor.org/rfc/rfc9651</a>&gt;</span>. </dd>
15491569
<dd class="break"></dd>
15501570
</dl>
15511571
</section>

0 commit comments

Comments
 (0)