Re: [Gen-art] Gen-ART LC Review of draft-bryan-metalinkhttp-19

Ben Campbell <ben@nostrum.com> Thu, 17 February 2011 20:24 UTC

Return-Path: <ben@nostrum.com>
X-Original-To: gen-art@core3.amsl.com
Delivered-To: gen-art@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3D1F03A6AAE; Thu, 17 Feb 2011 12:24:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8qsGsL23Ke1b; Thu, 17 Feb 2011 12:24:57 -0800 (PST)
Received: from nostrum.com (shaman.nostrum.com [72.232.179.90]) by core3.amsl.com (Postfix) with ESMTP id E2B083A6A00; Thu, 17 Feb 2011 12:24:56 -0800 (PST)
Received: from [10.0.1.6] (cpe-76-183-178-106.tx.res.rr.com [76.183.178.106]) (authenticated bits=0) by nostrum.com (8.14.3/8.14.3) with ESMTP id p1HKOA4M005339 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Thu, 17 Feb 2011 14:24:11 -0600 (CST) (envelope-from ben@nostrum.com)
Mime-Version: 1.0 (Apple Message framework v1082)
Content-Type: text/plain; charset="us-ascii"
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <C3E2F61E-A91C-4665-8DF4-42B58C4C0580@nostrum.com>
Date: Thu, 17 Feb 2011 14:24:11 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <FDE8D629-46FB-4BBC-AB66-CDCE053158A5@nostrum.com>
References: <19DDC0DF-9ECF-499A-954E-17BABF6410B5@nostrum.com> <AANLkTik3VNfsT4fY2wc8HpfidPVCshGSUW1py4Jzf==w@mail.gmail.com> <C3E2F61E-A91C-4665-8DF4-42B58C4C0580@nostrum.com>
To: Ben Campbell <ben@nostrum.com>
X-Mailer: Apple Mail (2.1082)
Received-SPF: pass (nostrum.com: 76.183.178.106 is authenticated by a trusted mechanism)
Cc: alexey.melnikov@isode.com, General Area Review Team <gen-art@ietf.org>, Anthony Bryan <anthonybryan@gmail.com>, The IETF <ietf@ietf.org>, draft-bryan-metalinkhttp.all@tools.ietf.org
Subject: Re: [Gen-art] Gen-ART LC Review of draft-bryan-metalinkhttp-19
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Thu, 17 Feb 2011 20:24:58 -0000

Update: I looked at the diffs for version 20, and I think the discussion below accurately reflect the changes--so please consider this a followup review of version 20.

Thanks!

Ben.

On Feb 16, 2011, at 5:15 PM, Ben Campbell wrote:

> Thanks for the quick response. I haven't had a chance to look at the new version yet, but here are my responses to your email comments. I removed sections where I had no further (non-trivial) comment. Please consider any removed parts to be the same as an "Okay" response.
> 
> Thanks!
> 
> Ben.
> 
> On Feb 14, 2011, at 4:43 PM, Anthony Bryan wrote:
> 
> [...]
> 
>> was there supposed to be a comment along with
>> 
>> -- section 2, 4th paragraph: "HTTP mirror servers SHOULD share the
>> same ETag policy as the originating Metalink server."
>> ?
> 
> I responded to this one below.
> 
>> 
>> On Fri, Feb 11, 2011 at 6:46 PM, Ben Campbell <ben@nostrum.com> wrote:
> 
> [...]
> 
>>> 
>>> -- Section 1, paragraph 1, first sentence:
>>> 
>>> Is this really intended as an alternative to Metalink/XML? It seems like more of a complementary approach than an alternative one.
>> 
>> well...you could use either, or both :)
>> 
>> "Metalink/HTTP is an alternative and complementary representation of
>> Metalink information,"...
>> ?
> 
> WFM
> 
>> 
>>> -- section 2, third paragraph:
>>> 
>>> If they must have the same eTag policy, should this document not specify at least one mandatory-to-implement policy?
>> 
>> SHOULD share the same ETag policy.
>> 
>> I added:
>> 
>> "It is up to the administrator of the Metalink server to communicate
>> the details of the shared ETag policy to the administrators of the
>> mirror servers so that the mirror servers can be configured with the
>> same ETag policy."
> 
> My comment was about policy implementation, not policy configuration. 
> 
> Do you expect the method to generate ETags to be configurable in most implementations? Is that the case among common HTTP servers today? (That's not rhetorical--I don't know the answer.) And even if it is, is there a risk that there won't be a common selection between implementations? It doesn't help to tell an administrator to select a certain policy unless his software can actually do it. If there was a mandatory-to-implement policy, then that shouldn't happen.
> 
> 
> [...]
> 
>> 
>>> -- section 10.2:
>>> 
>>> What can an implementor do to mitigate spoofing?
>> 
>> nothing, I'm aware of?
>> 
>> added:
>> As with all downloads, users should only download from trusted sources.
> 
> Hmm. What does "trusted" mean in context? Does that have implications on authentication of the source and integrity protection of the download session? (i.e. TLS)?
> 
> [...]
> 
>>> --- Nits/editorial comments:
>>> 
>>> -- section 2, 4th paragraph: "HTTP mirror servers SHOULD share the same ETag policy as the originating Metalink server."
>> 
>> what's wrong here?
> 
> Oops, sorry, cut-and-paste error. My comment was "This seems redundant with a similar statement in the previous paragraph"
> 
> [...]
> 
> 
>>> -- section 7.1.1, general:
>>> 
>>> This whole section switches to an almost stream-of-consciousness style. It has very long sentences with many comma separated clauses that are hard to follow. It really needs to be rewritten to be more readable and precise.
>> 
>> hahaha :)
>> 
>> this is my fault as a bad editor & a non-native English speaker co-author.
>> 
> 
> On reflection, I think my comment was a little harsh. But another pass with some attention to style in the section would help.
> 
> 
>>> -- section 7.1.1, paragraph 3:
>>> 
>>> Paragraph seems self contradictory. How is guaranteeing correct content different than verifying integrity?
>> 
>> the server sends the correct content  but there can be errors during transfer.
>> 
>> maybe this is not explicit enough. might need to condense some of this down.
> 
>> earlier we state:
>> Error detection requires Instance Digests to detect errors in transfer
>> after the transfers have completed.
>> 
> 
> I think a rewording would help, as I took "guaranteeing correct content" to mean "guaranteeing the client receives correct content" rather than "guaranteeing the server sends correct content".
> 
> [...]
> 
>> 
>>> -- section 7.1.2, 2nd paragraph: "If the object cryptographic hash does not match the Instance Digest then fetch the Metalink/XML if available, where partial file cryptographic hashes can be found, allowing detection of which server returned incorrect data."
>>> 
>>> I can't parse this sentence.
>> 
>>  If the cryptographic hash of the object does not match the Instance
>>  Digest from the Metalink server, then the client SHOULD fetch the
>>  Metalink/XML (if available) that could contain partial file
>>  cryptographic hashes which will allow detection of which mirror
>>  server returned incorrect data.  Metalink clients SHOULD figure out
>>  what ranges of the downloaded data can be recovered and what needs to
>>  be fetched again.
> 
> That's better, but how about breaking it up a bit more, as in the following:
> 
> "  If the cryptographic hash of the object does not match the Instance Digest from the Metalink server, then the client SHOULD fetch the Metalink/XML (if available). This may contain partial file cryptographic hashes which will allow detection of which mirror server returned incorrect data.  Metalink clients SHOULD use the Metalink/XML data to figure out what ranges of the downloaded data can be recovered and what needs to be fetched again. "
> 
> [...]
> 
>> 
>>> -- section 10.2 "In that case, this could deceive unaware downloaders that they are downloading a malicious or worthless file."
>>> 
>>> Sentence does not make sense. Does the attacker with to deceive them into downloading a malicious file, or convince them that they are when they are not?
>> 
>> "In that case, this could deceive unaware downloaders into downloading
>> a malicious or worthless file."
>> 
> 
> WFM