Ignore:
Timestamp:
28/01/14 00:44:14 (7 years ago)
Author:
fielding@…
Message:

(editorial) correctly word requirements on generating lists and recipient parsing of lists; see #531

Location:
draft-ietf-httpbis/latest
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p1-messaging.html

    r2592 r2593  
    23532353         </p>
    23542354         <div id="rfc.figure.u.61"></div>
    2355          <p>Thus, a sender <em class="bcp14">MUST</em> expand the list construct as follows:
     2355         <p>In any production that uses the list construct, a sender <em class="bcp14">MUST NOT</em> generate empty list elements. In other words, a sender <em class="bcp14">MUST</em> generate lists that satisfy the following syntax:
    23562356         </p><pre class="text">  1#element =&gt; element *( OWS "," OWS element )
    23572357</pre><div id="rfc.figure.u.62"></div>
     
    23602360         <p>and for n &gt;= 1 and m &gt; 1:</p><pre class="text">  &lt;n&gt;#&lt;m&gt;element =&gt; element &lt;n-1&gt;*&lt;m-1&gt;( OWS "," OWS element )
    23612361</pre><p id="rfc.section.7.p.6">For compatibility with legacy list rules, a recipient <em class="bcp14">MUST</em> parse and ignore a reasonable number of empty list elements: enough to handle common mistakes by senders that merge values,
    2362             but not so much that they could be used as a denial of service mechanism. In other words, a recipient <em class="bcp14">MUST</em> expand the list construct as follows:
     2362            but not so much that they could be used as a denial of service mechanism. In other words, a recipient <em class="bcp14">MUST</em> accept lists that satisfy the following syntax:
    23632363         </p>
    23642364         <div id="rfc.figure.u.64"></div><pre class="text">  #element =&gt; [ ( "," / element ) *( OWS "," [ OWS element ] ) ]
     
    23782378  ","
    23792379  ",   ,"
    2380 </pre><p id="rfc.section.7.p.14"><a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;B</a> shows the collected ABNF after the list constructs have been expanded, as described above, for recipients.
     2380</pre><p id="rfc.section.7.p.14"><a href="#collected.abnf" title="Collected ABNF">Appendix&nbsp;B</a> shows the collected ABNF for recipients after the list constructs have been expanded.
    23812381         </p>
    23822382      </div>
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r2592 r2593  
    33133313<section title="ABNF list extension: #rule" anchor="abnf.extension">
    33143314<t>
    3315   A #rule extension to the ABNF rules of <xref target="RFC5234"/> is used to
    3316   improve readability in the definitions of some header field values.
    3317 </t>
    3318 <t>
    3319   A construct "#" is defined, similar to "*", for defining comma-delimited
    3320   lists of elements. The full form is "&lt;n&gt;#&lt;m&gt;element" indicating
    3321   at least &lt;n&gt; and at most &lt;m&gt; elements, each separated by a single
    3322   comma (",") and optional whitespace (OWS).   
     3315   A #rule extension to the ABNF rules of <xref target="RFC5234"/> is used to
     3316   improve readability in the definitions of some header field values.
     3317</t>
     3318<t>
     3319   A construct "#" is defined, similar to "*", for defining comma-delimited
     3320   lists of elements. The full form is "&lt;n&gt;#&lt;m&gt;element" indicating
     3321   at least &lt;n&gt; and at most &lt;m&gt; elements, each separated by a single
     3322   comma (",") and optional whitespace (OWS).   
    33233323</t>
    33243324<figure><preamble>
    3325   Thus, a sender &MUST; expand the list construct as follows:
     3325   In any production that uses the list construct, a sender &MUST-NOT;
     3326   generate empty list elements. In other words, a sender &MUST; generate
     3327   lists that satisfy the following syntax:
    33263328</preamble><artwork type="example">
    33273329  1#element =&gt; element *( OWS "," OWS element )
    33283330</artwork></figure>
    33293331<figure><preamble>
    3330   and:
     3332   and:
    33313333</preamble><artwork type="example">
    33323334  #element =&gt; [ 1#element ]
    33333335</artwork></figure>
    33343336<figure><preamble>
    3335   and for n &gt;= 1 and m &gt; 1:
     3337   and for n &gt;= 1 and m &gt; 1:
    33363338</preamble><artwork type="example">
    33373339  &lt;n&gt;#&lt;m&gt;element =&gt; element &lt;n-1&gt;*&lt;m-1&gt;( OWS "," OWS element )
    33383340</artwork></figure>
    33393341<t>
    3340   For compatibility with legacy list rules, a recipient &MUST; parse and ignore
    3341   a reasonable number of empty list elements: enough to handle common mistakes
    3342   by senders that merge values, but not so much that they could be used as a
    3343   denial of service mechanism. In other words, a recipient &MUST; expand the
    3344   list construct as follows:
     3342   For compatibility with legacy list rules, a recipient &MUST; parse and ignore
     3343   a reasonable number of empty list elements: enough to handle common mistakes
     3344   by senders that merge values, but not so much that they could be used as a
     3345   denial of service mechanism. In other words, a recipient &MUST; accept lists
     3346   that satisfy the following syntax:
    33453347</t>
    33463348<figure><artwork type="example">
     
    33503352</artwork></figure>
    33513353<t>
    3352   Empty elements do not contribute to the count of elements present.
    3353   For example, given these ABNF productions:
     3354   Empty elements do not contribute to the count of elements present.
     3355   For example, given these ABNF productions:
    33543356</t>
    33553357<figure><artwork type="example">
     
    33583360</artwork></figure>
    33593361<t>
    3360   Then the following are valid values for example-list (not including the
    3361   double quotes, which are present for delimitation only):
     3362   Then the following are valid values for example-list (not including the
     3363   double quotes, which are present for delimitation only):
    33623364</t>
    33633365<figure><artwork type="example">
     
    33673369</artwork></figure>
    33683370<t>
    3369   In contrast, the following values would be invalid, since at least one
    3370   non-empty element is required by the example-list production:
     3371   In contrast, the following values would be invalid, since at least one
     3372   non-empty element is required by the example-list production:
    33713373</t>
    33723374<figure><artwork type="example">
     
    33763378</artwork></figure>
    33773379<t>
    3378   <xref target="collected.abnf"/> shows the collected ABNF after the list
    3379   constructs have been expanded, as described above, for recipients.
     3380   <xref target="collected.abnf"/> shows the collected ABNF for recipients
     3381   after the list constructs have been expanded.
    33803382</t>
    33813383</section>
Note: See TracChangeset for help on using the changeset viewer.