diff --git a/index.bs b/index.bs index 2209dac..5119804 100644 --- a/index.bs +++ b/index.bs @@ -36,7 +36,6 @@ spec: ABNF; urlPrefix: https://tools.ietf.org/html/rfc5234 text: VCHAR; url: appendix-B.1 text: WSP; url: appendix-B.1 - spec: Fetch; urlPrefix: https://fetch.spec.whatwg.org type: dfn text: fetch; url: concept-fetch @@ -213,10 +212,7 @@ spec: SHA2; urlPrefix: http://csrc.nist.gov/publications/fips/fips180-4/fips-180 specified in RFC5234. [[!ABNF]] Appendix B.1 of - [[!ABNF]] defines VCHAR (printing characters). - - WSP (white space) characters are defined in Section 2.4.1 Common parser idioms of the HTML 5 specification as - White_Space characters. [[!HTML5]] + [[!ABNF]] defines VCHAR (printing characters) and WSP (white space). @@ -247,8 +243,8 @@ spec: SHA2; urlPrefix: http://csrc.nist.gov/publications/fips/fips180-4/fips-180 This metadata MUST be encoded in the same format as the `hash-source` (without the single quotes) in section 4.2 of the Content - Security Policy Level 2 specification. + href="http://www.w3.org/TR/CSP3/#framework-directive-source-list">section + 2.3.1 of the Content Security Policy Level 3 specification. [[!CSP3]] For example, given a script resource containing only the string `alert('Hello, world.');`, an author might choose SHA-384 as a hash function. @@ -451,24 +447,16 @@ spec: SHA2; urlPrefix: http://csrc.nist.gov/publications/fips/fips180-4/fips-180 valid metadata as described by the following ABNF grammar:
-      integrity-metadata = *WSP hash-with-options *(1*WSP hash-with-options ) *WSP / *WSP
-      hash-with-options  = hash-expression *("?" option-expression)
-      option-expression  = *VCHAR
-      hash-algo          = <hash-algo production from [Content Security Policy Level 2, section 4.2]>
-      base64-value       = <base64-value production from [Content Security Policy Level 2, section 4.2]>
+      integrity-metadata = *WSP hash-expression *(1*WSP hash-expression ) *WSP / *WSP
+      hash-algo          = <hash-algo production from [Content Security Policy Level 3, section 2.3.1]>
+      base64-value       = <base64-value production from [Content Security Policy Level 3, section 2.3.1]>
       hash-expression    = hash-algo "-" base64-value
   
- - `option-expression`s are associated on a per `hash-expression` basis and are - applied only to the `hash-expression` that immediately precedes it. - - In order for user agents to remain fully forwards compatible with future - options, the user agent MUST ignore all unrecognized `option-expression`s. - - Note: Note that while the `option-expression` has been reserved in the syntax, - no options have been defined. It is likely that a future version of the spec - will define a more specific syntax for options, so it is defined here as broadly - as possible. + + Note: Since no `options` are not defined (see the + [[#integrity-metadata-description]]), the above ABNF syntax does not consider + them. If `options` are defined in a future version, the ABNF syntax should be + modified accordingly. ## Handling integrity violations ## {#handling-integrity-violations}