- From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
- Date: Tue, 18 Feb 2020 19:08:04 +0200 (EET)
- To: Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
- CC: Kari Hurtta <hurtta-ietf@elmme-mailer.org>, HTTP Working Group <ietf-http-wg@w3.org>, Poul-Henning Kamp <phk@varnish-cache.org>
> Hi Kari,
>
> > On 17 Feb 2020, at 4:38 am, Kari Hurtta <hurtta-ietf@elmme-mailer.org> wrote:
> >
> > 4.1.6. Serializing a String
> > https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-15#section-4.1.6
> >
> >
> > Output is restricted ASCII, but this alogrithm seems not say that
> > input_string is limited to ASCII
> >
> > | Given a string as input_string, return an ASCII string suitable for
> > | use in a HTTP header value.
> > |
> > | 1. If input_string is not a sequence of characters, or contains
> > | characters in the range %x00-1f or %x7f (i.e., is not in VCHAR or
> > | SP), fail serialisation.
> >
> > In other words, should this fail serialization if input_string is not
> > ASCII string ?
>
> That's one of the effects of this step, yes. See the definition of the string data type at:
> https://httpwg.org/http-extensions/draft-ietf-httpbis-header-structure.html#string
>
>
> > Now failing is implicit, because there is just
> >
> > | 2. Append char to output.
> >
> > And if char is not ASCII then "return an ASCII string" part
> > is violated.
> >
> > / Kari Hurtta
> >
>
> --
> Mark Nottingham https://www.mnot.net/
Well, I disagree that this is ready.
4.1.5. Serializing a Decimal
https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-15#section-4.1.5
tries define rounding.
This means that input_decimal is NOT decimal as defined on
3.3.2. Decimals
https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-15#section-3.3.2
So that this is consistent
4.1.6. Serializing a String
https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-15#section-4.1.6
input_string is NOT string as defined on
3.3.3. Strings
https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-15#section-3.3.3
So let input_decimal to be some kind generic/abstract decimal number and
therefore input_string to be some kind generic/abstract string.
Make this failure more explicit. For example:
1. Convert input_string into an ASCII string ascii_string; if
conversion fails, fail serialisation.
2. If ascii_string contains characters in the range %x00-1f or
%x7f (i.e., is not in VCHAR or SP), fail serialisation.
3. Let output be an empty string.
4. Append DQUOTE to output.
5. For each character char in ascii_string:
and so on
/ Kari Hurtta
Received on Tuesday, 18 February 2020 17:08:29 UTC