Re: [Gen-art] genART review of draft-ietf-cdni-logging-15

"Francois Le Faucheur (flefauch)" <flefauch@cisco.com> Fri, 06 March 2015 16:03 UTC

Return-Path: <flefauch@cisco.com>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB5C71A0235 for <gen-art@ietfa.amsl.com>; Fri, 6 Mar 2015 08:03:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 ts13FP7Hh436 for <gen-art@ietfa.amsl.com>; Fri, 6 Mar 2015 08:03:11 -0800 (PST)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E4D91A005C for <gen-art@ietf.org>; Fri, 6 Mar 2015 08:03:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8794; q=dns/txt; s=iport; t=1425657791; x=1426867391; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=YKISupP7vBjmw3WpWQyhLG11ZUZ15YYFHFf2st3C8Wc=; b=C1kUXuElPqc1XjNgPvPJ/GWr5iS/8zsSHCCylcwPoD0l3VpIpBy0pC1w N2oB1dvmJ/41ekhgTFGEPWuiXEdU460K1vnq8FtbtA65cs1fF2io8rn1C 393+pL35kvQyS9mrS5UySUuH4SRs7Ng8cCq7m6zrVe+olXQfczH3jSHy+ Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CjCABEz/lU/4wNJK1SCoMGUloEgwa8MogmAhyBHU0BAQEBAQF8hA8BAQEDASMRRQULAgEIGAICJgICAh8RFRACBA4FiBsDCQizP5UPDYU6AQEBAQEBAQEBAQEBAQEBAQEBAQEBF4EhiXaCRIFOKTMHBIJkL4EUBYV3ihCIBYFIjV2GEiOCAR2BUG+BRH8BAQE
X-IronPort-AV: E=Sophos;i="5.11,353,1422921600"; d="scan'208";a="398351717"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by rcdn-iport-1.cisco.com with ESMTP; 06 Mar 2015 16:03:10 +0000
Received: from xhc-aln-x12.cisco.com (xhc-aln-x12.cisco.com [173.36.12.86]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id t26G3Ai7005360 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 6 Mar 2015 16:03:10 GMT
Received: from xmb-rcd-x10.cisco.com ([169.254.15.156]) by xhc-aln-x12.cisco.com ([173.36.12.86]) with mapi id 14.03.0195.001; Fri, 6 Mar 2015 10:03:10 -0600
From: "Francois Le Faucheur (flefauch)" <flefauch@cisco.com>
To: Martin Thomson <martin.thomson@gmail.com>
Thread-Topic: genART review of draft-ietf-cdni-logging-15
Thread-Index: AQHQV1gVrqOgjuH6MEutXJox6rBRUZ0OofyAgAFh/YA=
Date: Fri, 06 Mar 2015 16:03:09 +0000
Message-ID: <BE80662A-92C6-4073-8760-7D8CB0C79F19@cisco.com>
References: <CABkgnnU95w0SzS+PVZL0Lh0bCjfKr7DwYp0xajJ8-WBKnmao6w@mail.gmail.com> <CABkgnnXB73bvJ5KauMwveCNxcVof=r+ydEPZpDLCviob788exw@mail.gmail.com> <4F65313A-88D3-45AD-8B2B-A4C60714167B@cisco.com> <CABkgnnX5ZvyH1x15wK=aoGXuybQcrq2_5_gTf6-=wjaqJVcrEA@mail.gmail.com>
In-Reply-To: <CABkgnnX5ZvyH1x15wK=aoGXuybQcrq2_5_gTf6-=wjaqJVcrEA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.55.161.202]
Content-Type: text/plain; charset="utf-8"
Content-ID: <0C1441EBAE55F7449E6E7CC59878D69B@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/gen-art/mLNynpQby7HBleDR4zfPGbmJmXM>
Cc: "Francois Le Faucheur (flefauch)" <flefauch@cisco.com>, "gen-art@ietf.org" <gen-art@ietf.org>, "draft-ietf-cdni-logging.all@tools.ietf.org" <draft-ietf-cdni-logging.all@tools.ietf.org>
Subject: Re: [Gen-art] genART review of draft-ietf-cdni-logging-15
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Mar 2015 16:03:16 -0000

> On 5 Mar 2015, at 19:56, Martin Thomson <martin.thomson@gmail.com> wrote:
> 
> On 5 March 2015 at 07:21, Francois Le Faucheur (flefauch)
> <flefauch@cisco.com> wrote:
> ...
>> I have added this at the end of S3.3:
>> 
>> NEW:
>> “
>> An uCDN-side implementation of the CDNI Logging interface MUST reject a CDNI
>> Logging File that does not comply with the occurences specified above for
>> each and every directive. For example, an uCDN-side implementation of the
>> CDNI Logging interface receiving a CDNI Logging file with zero occurence of
>> the Version directive, or with two occurences of the Integrity-hash, SHOULD
>> reject this CDNI Logging File.
>> "
> 
> That SHOULD needs to be qualified somehow.  Why would an
> implementation ignore the SHOULD and not reject the file?

Sorry that was a typo. It was meant to be a MUST (like in the previous sentence). It has been updated.



> 
> 
>> And also edited the end of S3.4 as per the following:
>> 
>> OLD:
>> "
>> An uCDN-side implementation of the CDNI Logging interface MUST be
>>   able to accept CDNI Logging Files with CDNI Logging Records of
>>   Record-Type "cdni_http_request_v1" containing any CDNI Logging Field
>>   defined in Section 3.4.1 as long as the CDNI Logging Record and the
>>   CDNI Logging File are compliant with the present document.
>> “
>> NEW:
>> “
>> An uCDN-side implementation of the CDNI Logging interface MUST be
>>   able to accept CDNI Logging Files with CDNI Logging Records of
>>   Record-Type "cdni_http_request_v1" containing any CDNI Logging Field
>>   defined in Section 3.4.1 as long as the CDNI Logging Record and the
>>   CDNI Logging File are compliant with the present document.
>> 
>> In case, an uCDN-side implementation of the CDNI Logging interface receives
>> a CDNI Logging File with HTTP Request Logging Records that do not contain
>> field values for exactly the set of field names actually listed in the
>> preceding “Fields” directive, the implementation SHOULD reject those HTTP
>> Request Logging Records, and SHOULD accept the other HTTP Request Logging
>> Records .
>> "
> 
> Again, SHOULD is weak without some support.

I can’t really think of a good reason to not do that, so those have been turned into MUST.

> 
>> NEW:
>> “
>> The entity transmitting a CDNI Logging File as per the present document MUST
>> set the value to "CDNI/1.0”. In the future, other versions of CDNI Logging
>> File might be specified; those would use a value different to "CDNI/1.0”
>> allowing the entity receiving the CDNI Logging File to identify the
>> corresponding version.
>> "
> 
> This doesn't tell a receiver what to do with "CDNI/1.1".  It needs to do that.

This discussion made me realise that we need a registry for Versions. Thank you.

I have added a new registry:

NEW:
“
6.2.  CDNI Logging File Version Registry

   The IANA is requested to create a new registry, CDNI Logging File
   Version.

   The initial contents of the CDNI Logging Logging File Version
   registry comprise the value "CDNI/1.0" specified in Section 3.3 of
   the present document, and are as follows:

    +-----------------+-----------+----------------------------------+
    | Version         | Reference |        Description               |
    +-----------------+-----------+----------------------------------+
    | CDNI/1.0      | RFC xxxx  | CDNI Logging File version 1.0    |
    |                      |           | as specified in RFC xxxx         |
    +-----------------+-----------+----------------------------------+

                                 Figure 9

   [Instructions to IANA: Replace "RFC xxxx" above by the RFC number of
   the present document]

   Within the registry, Version values are to be allocated by IANA
   according to the "Specification Required" policy specified in
   [RFC5226].  Version values are to be allocated by IANA with a format
   as specified for the Version directive in Section 3.3.
"



and added this text:

NEW:
"
An entity receiving a CDNI Logging File with a value set to "CDNI/1.0” MUST process the CDNI Logging File as per the present document. An entity receiving a CDNI Logging File with a value set to a different value MUST process the CDNI Logging File as per the specification referenced in the CDNI Logging File Version registry (see section 6.2) if the implementation supports this specification and MUST reject the CDNI Logging File otherwise.
“


I’ll wait to hear from you, and if you’re OK with taht I’ll reach out to the IANA to notify them about the extra registry to be created.



> 
>> NEW:
>> "
>> The general TLS usage guidance in [I-D.ietf-uta-tls-bcp] SHOULD be
>>   followed.
>> “
> 
> In this case, a SHOULD is OK, I suppose.
> 
>> S 3.4.1
>>  o  cs(<HTTP-header-name>):
>> HTTP header fields, esp. in HTTP/2 can contain HTAB, even if that
>> isn't permitted by the grammar.  You probably want to describe how
>> that is handled.
>> 
>> 
>> Since the value of the HTTP header is encoded as a “quoted string”
>> (QSTRING), is it not OK to have a HTAB within the HTTP header value as long
>> as it is properly bracketed by the Quotes?
> 
> Header field *names* aren't quoted.
> 

Oh, I see , invalid HTAB inside the HTTP header name itself.

> My point was that even though this is a bug in the sender, you are
> going to see these in the wild and they are going to screw up the
> logging file.

I have added this:

NEW:
“
The entity transmitting the CDNI Logging File MUST ensure that the <HTTP-header-name> of the cs(<HTTP-header-name) listed in the Fields directive comply with HTTP specifications and, in particular, does not include any HTAB, since this would prevent proper parsing of the Fields directive by the entity receiving the CDNI Logging File.
" 


> 
>> The document says that "client-side implementation of the CDNI Logging
>> interface MAY pull, at its convenience, a CDNI Logging File “ using standard
>> HTTP. Since range request is just a standard HTTP mechanism, the clien-side
>> may use it if it sees fit.
>> Do you feel it is worth specifically calling out that range requests can be
>> used?
>> No problem in doing that if you feel it is useful.
> 
> Nah, that's OK.

Thanks for helping improve our document.

Francois