Re: draft-ietf-httpbis-header-structure-15.txt, 4.1.6. Serializing a String

Kari Hurtta <hurtta-ietf@elmme-mailer.org> Tue, 18 February 2020 17:11 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C7D2D120072 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 18 Feb 2020 09:11:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.65
X-Spam-Level:
X-Spam-Status: No, score=-2.65 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eJ8_u-VENLhw for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 18 Feb 2020 09:11:55 -0800 (PST)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 63199120020 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 18 Feb 2020 09:11:55 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1j46MN-0007IU-L9 for ietf-http-wg-dist@listhub.w3.org; Tue, 18 Feb 2020 17:08:35 +0000
Resent-Date: Tue, 18 Feb 2020 17:08:35 +0000
Resent-Message-Id: <E1j46MN-0007IU-L9@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <khurtta@welho.com>) id 1j46MH-0007Hj-HS for ietf-http-wg@listhub.w3.org; Tue, 18 Feb 2020 17:08:29 +0000
Received: from welho-filter1.welho.com ([83.102.41.23]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <khurtta@welho.com>) id 1j46MF-0001xD-DT for ietf-http-wg@w3.org; Tue, 18 Feb 2020 17:08:29 +0000
Received: from localhost (localhost [127.0.0.1]) by welho-filter1.welho.com (Postfix) with ESMTP id 8AAB4CA2E; Tue, 18 Feb 2020 19:08:13 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp2.welho.com ([IPv6:::ffff:83.102.41.85]) by localhost (welho-filter1.welho.com [::ffff:83.102.41.23]) (amavisd-new, port 10024) with ESMTP id YUFmvz6H_81c; Tue, 18 Feb 2020 19:08:12 +0200 (EET)
Received: from kasvihuone.keh.iki.fi (89-27-39-95.bb.dnainternet.fi [89.27.39.95]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp2.welho.com (Postfix) with ESMTPS id 0667E72; Tue, 18 Feb 2020 19:08:04 +0200 (EET)
In-Reply-To: <952D5261-26B7-419E-8987-FA10125C63A4@mnot.net>
References: <158028031175.4610.9085377324549619919@ietfa.amsl.com> <20200216173823.C7E9B45BF3@welho-filter4.welho.com> <952D5261-26B7-419E-8987-FA10125C63A4@mnot.net>
To: Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
Date: Tue, 18 Feb 2020 19:08:04 +0200
From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
CC: Kari Hurtta <hurtta-ietf@elmme-mailer.org>, HTTP Working Group <ietf-http-wg@w3.org>, Poul-Henning Kamp <phk@varnish-cache.org>
X-Mailer: ELM [version ME+ 2.5 PLalpha51]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20200218170813.8AAB4CA2E@welho-filter1.welho.com>
Received-SPF: none client-ip=83.102.41.23; envelope-from=khurtta@welho.com; helo=welho-filter1.welho.com
X-W3C-Hub-Spam-Status: No, score=-5.3
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1j46MF-0001xD-DT 6d164b28642d4000685ee26e9c388abd
X-Original-To: ietf-http-wg@w3.org
Subject: Re: draft-ietf-httpbis-header-structure-15.txt, 4.1.6. Serializing a String
Archived-At: <https://www.w3.org/mid/20200218170813.8AAB4CA2E@welho-filter1.welho.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/37365
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

> 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