- From: Roman Danyliw via Datatracker <noreply@ietf.org>
- Date: Wed, 20 May 2020 13:29:44 -0700
- To: "The IESG" <iesg@ietf.org>
- Cc: draft-ietf-httpbis-header-structure@ietf.org, httpbis-chairs@ietf.org, ietf-http-wg@w3.org, Tommy Pauly <tpauly@apple.com>, tpauly@apple.com
Roman Danyliw has entered the following ballot position for draft-ietf-httpbis-header-structure-18: Discuss When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html for more information about IESG DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-httpbis-header-structure/ ---------------------------------------------------------------------- DISCUSS: ---------------------------------------------------------------------- (I appreciate that this is pseudo-code which has inherent ambiguity sometimes, so please let me know if I've interpreted it in an unintended way) ** Section 4.2.6. There appears to be an inconsistency here in my reading of the algorithm given the ABNF in Section 3.3.4 -- Let’s assume of token of input_string =“*foo” -- Step 1: pass since input_string[0] = “*” -- Step 2: Set output_string = “” -- Step 3: pass since input_string[0] = “*”, -- Step 3.1: input_string[0] is still “*” and not a tchar, “:” or “/” causing a output_string=”” to be returned This doesn’t seem correct. ** Section 4.2.7. The parsing guidance doesn’t follow for me given the ABNF in Section 3.3.5. -- Let’s assume input_string = “:cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==:”, the example in Section 3.3.5 -- Step 1: pass since input_string[0] = “:” -- Step 2: Set input_string = “cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==:” -- Step 3: pass since the last character of input_string is “:” -- Step 4: Set b64_content = “cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==” -- Step 5 says “consume the “:” character at the beginning of the input_string, but there is no such character. It was discarded in Step 2. ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- ** Section 4.1. Reading steps 1 – 6 like pseudo-code, if Step 1 is true, output_string will be undefined in Step 6. There needs to be a step 0 which reads “Let output_string be an empty string” or Step 1 needs to explicitly initialize output_string. ** Section 4.1.8. Per Step 1, “If input_bytes is not a sequence of bytes, fail serialization”, what input wouldn’t be considered as sequence of bytes? ** Section 4.2. An algorithmic style nit. In Section 4.1, the text used an “IF x ELSE IF y ELSE IF z ELSE fail” convention. Here the text is a series of simple “IF x; IF y; IF z; …” statements. ** Section 4.2. Editorial. In step 8, s/Otherwise, return output./Else, return output./
Received on Wednesday, 20 May 2020 20:29:59 UTC