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

"Francois Le Faucheur (flefauch)" <> Tue, 10 March 2015 09:42 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id EFDFC1A8756 for <>; Tue, 10 Mar 2015 02:42:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -13.911
X-Spam-Status: No, score=-13.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, J_CHICKENPOX_31=0.6, 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 ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id RZLGHoxCMbBF for <>; Tue, 10 Mar 2015 02:42:01 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D51C41A874C for <>; Tue, 10 Mar 2015 02:42:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=7144; q=dns/txt; s=iport; t=1425980521; x=1427190121; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=D1leNVFgaRS8TsJWuY9DUxDRs2cL0oHEzAnTciTw1Z4=; b=HP3fue+r6vH9sRNui3qVNAv+leDbTNQtJ+geYum2+/ZaX5LWcmlnCBKz NRVRDXsx2FnCDHN0ZHoZEQtxg453SrSqFi7+KQqtZ8ZnDCXNFvvxjGama a/fIjat81UYssEP9X5AiSPn3pxynyK+GslYZx6Xaxk0WqrmDyFHUSrGgu s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.11,373,1422921600"; d="scan'208";a="402325172"
Received: from ([]) by with ESMTP; 10 Mar 2015 09:42:00 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id t2A9fx9c031713 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 10 Mar 2015 09:42:00 GMT
Received: from ([]) by ([]) with mapi id 14.03.0195.001; Tue, 10 Mar 2015 04:41:59 -0500
From: "Francois Le Faucheur (flefauch)" <>
To: Martin Thomson <>
Thread-Topic: genART review of draft-ietf-cdni-logging-15
Thread-Index: AQHQWoxMsF8c8rajIkOza8YGALyW4J0VEZwAgAC6BAA=
Date: Tue, 10 Mar 2015 09:41:59 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="utf-8"
Content-ID: <>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <>
Cc: "Francois Le Faucheur (flefauch)" <>, "" <>, "" <>
Subject: Re: [Gen-art] genART review of draft-ietf-cdni-logging-15
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 10 Mar 2015 09:42:03 -0000

> On 9 Mar 2015, at 23:36, Martin Thomson <> wrote:
>> This is to avoid defining an extra name (CDNI-LOG-FILE) and have to explain that CDNI-LOG-FILE is actually the CDNI Logging File.
>> Let me know if that is not valid.
>>> That implies that an empty file is not valid.  I'd have thought that *
>>> rather than 1* would be better.
>> A logging file with no Logging Records is considered valid and allowed, but a logging file without any directive is not considered valid.
>> This is consistent with the text that I added based on our previous discussion stating that “occurrences” for all directives need to be respected (in other words, some directives are mandatory).
> I think that you could express that better than you have.
> LoggingFile = 1*(1*DIRGROUP *RECGROUP)
> Might work.

I have updated to:


This defines the base syntax, and what defines whether/how-many/where actuel directives can be present is the “occurences” specification below (semantic dependent).

>>> S3.3 again uses wildcard rules too aggressively.  DIRNAME (not the
>>> unix command) should be defined more explicitly, even if it is just to
>>> specify what characters are allowed.  Use text to further constrain
>>> it.  As it stands, a generic processor cannot know that the name
>>> doesn't permit the inclusion of (for instance) ":" or CRLF.  A common
>>> method is to define something like this as:
>>>   DIRNAME = Version-directive / UUID-directive / ... / extension-directive
>>> More commonly, go up a level and define directive using the choice.
>>> That way, each directive can define a name and value together using
>>> ABNF.  e.g.
>>>   Version-directive = "Version" ":" HTAB "CDNI" "/" 1*DIGIT "." 1*DIGIT
>> I’ll park these ABNF comments since I got many others and will handle them together.
>>> I wouldn't be so prescriptive about the version format.  Unless there
>>> are specific semantics you want to extract from each digit.
>> Fair enough. I have relaxed it and simply made the format NHTABSTRING.
>> In the corresponding IANA section for the Version registry, I have added:
>> “
>> 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
>>   of NAMEFORMAT (see Section 3.1).  Version values corresponding to
>>   specifications produced by the IETF CDNI Working Group are to be
>>   allocated a name starting with "CDNI".  All other Version values are
>>   to be allocated a name that does not start with "CDNI”.
>> “
> Creating carve-outs in registries like that is inadvisable.  Someone
> might attach semantics to them and then you get into trouble.  See the
> RFC on x-.

I checked RFC 6648 and see your point.
So I have removed the text in IANA sections recommendation a naming structure.

>>> S3.4.1: I wouldn't worry about HTTP/2 being special here.  All that
>>> speculation is painful, especially since HTTP/2 will likely be
>>> published before this document.  Better to just cite it and avoid
>>> getting caught up in the details.
>> The thing is that there are additional things in HTTP2 that could be logged and the WG has not yet discussed whether there is real value in doing that, and how. So we do not have specific extensions for those. So we need to be clear that we “only” log the same thing for HTTP/2 as for HTTP/1.1, even if we know that one may potentially want to log more.
>> And I’d rather we don;t hold publication of this document until teh WG has worked out exactly waht to do for the few additional things specific to HTTP/2.
>> So I think the current text is quite appropriate.
> If you aren't fixing it now, fix it later and don't worry about saying
> that you will.  Because you might not.

But we are not saying that we will. We are saying that it is not addressed in this doc. It may be useful, and it may be addressed in the future. Unless I am missing something, I believe this is correct and useful.

>>> S3.4.1 citing RFC 7230 is sufficient for HTTP/1.1; and probably for
>>> HTTP in general at this moment.
>> RFC3270 itself says that HTTP1.1 is specified collectively by RFC3270, RFC3271,… RFC3275. So we may as well be consistent with that.
> We get this question all the time.  You don't need to expand, because
> RFC 7230 does that for you…

This is not a important point at all and I apologize to waste time on it. But as RFC7230 is worded, it makes it clear that it defines only one part of HTTP/1.1 and that HTTP/1.1 is defined by teh set of RFCs. 
In other words RFC7230 refers to the other RFC but it does not include them. To me HTTP/1.1 is really defined by the set of RFCs and not simply RFC7230. So I’m more comfortable referncing the set.
If you guys feel strongly to remove it, I’ll just obey.

Thanks again

>> Finally got to the bottom !
>> Thanks much for the review.
>> Francois