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

Ben Campbell <ben@nostrum.com> Wed, 16 February 2011 23:16 UTC

Return-Path: <ben@nostrum.com>
X-Original-To: ietf@core3.amsl.com
Delivered-To: ietf@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 620543A6CE4; Wed, 16 Feb 2011 15:16:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.6
X-Spam-Level:
X-Spam-Status: No, score=-102.6 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 fqGyrm5us1CG; Wed, 16 Feb 2011 15:16:13 -0800 (PST)
Received: from nostrum.com (shaman.nostrum.com [72.232.179.90]) by core3.amsl.com (Postfix) with ESMTP id 3B52B3A6AD5; Wed, 16 Feb 2011 15:16:13 -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 p1GNFNio011109 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 16 Feb 2011 17:15:24 -0600 (CST) (envelope-from ben@nostrum.com)
Subject: Re: [Gen-art] Gen-ART LC Review of draft-bryan-metalinkhttp-19
Mime-Version: 1.0 (Apple Message framework v1082)
Content-Type: text/plain; charset="us-ascii"
From: Ben Campbell <ben@nostrum.com>
In-Reply-To: <AANLkTik3VNfsT4fY2wc8HpfidPVCshGSUW1py4Jzf==w@mail.gmail.com>
Date: Wed, 16 Feb 2011 17:15:23 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <C3E2F61E-A91C-4665-8DF4-42B58C4C0580@nostrum.com>
References: <19DDC0DF-9ECF-499A-954E-17BABF6410B5@nostrum.com> <AANLkTik3VNfsT4fY2wc8HpfidPVCshGSUW1py4Jzf==w@mail.gmail.com>
To: Anthony Bryan <anthonybryan@gmail.com>
X-Mailer: Apple Mail (2.1082)
Received-SPF: pass (nostrum.com: 76.183.178.106 is authenticated by a trusted mechanism)
X-Mailman-Approved-At: Thu, 17 Feb 2011 08:05:57 -0800
Cc: alexey.melnikov@isode.com, General Area Review Team <gen-art@ietf.org>, The IETF <ietf@ietf.org>, draft-bryan-metalinkhttp.all@tools.ietf.org
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Feb 2011 23:16:14 -0000

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