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

Anthony Bryan <anthonybryan@gmail.com> Sun, 27 February 2011 05:38 UTC

Return-Path: <anthonybryan@gmail.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 9A3F53A69B6; Sat, 26 Feb 2011 21:38:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.516
X-Spam-Level:
X-Spam-Status: No, score=-3.516 tagged_above=-999 required=5 tests=[AWL=0.083, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 QvJ8BiotPVBn; Sat, 26 Feb 2011 21:38:35 -0800 (PST)
Received: from mail-ey0-f172.google.com (mail-ey0-f172.google.com [209.85.215.172]) by core3.amsl.com (Postfix) with ESMTP id E03D13A68DB; Sat, 26 Feb 2011 21:38:34 -0800 (PST)
Received: by eye13 with SMTP id 13so1150270eye.31 for <multiple recipients>; Sat, 26 Feb 2011 21:39:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=NbFf3NDpX9bZ17Ki+ibeRF93/R9cAG3VRKKfsbxd8No=; b=REfL2exfcr2RhejpScEY47qdOnefJRJxqzTZIffzr71pK1i7Njn7fRchHrf2NnnKUO EvjOKd36SmqA4qL/pPbpQlYIMDSJLETERbDoONf1dJn5JWsQJSgI3UpkIzls2QYdhI2k hbVdxqcImVv6AyMCY7uOayrsc5/XASg2C01ys=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=oaUtzEShuVP5wTiAOuW3aKpv3i6vEqrO5nH787IkXnBHz6ZVs/qKn3bjmyY/w4wlYu 2seQPrAjVmCnRkYcx53x50MmaF8USrfwCd9ZzclWGewbIH2Gwf8BgJrhwe+L47gNQAHm vkPNvRn5TnimVdACSlJEjqoRNo5757KL6RRuo=
MIME-Version: 1.0
Received: by 10.213.34.131 with SMTP id l3mr3407461ebd.8.1298785170198; Sat, 26 Feb 2011 21:39:30 -0800 (PST)
Received: by 10.213.17.148 with HTTP; Sat, 26 Feb 2011 21:39:30 -0800 (PST)
In-Reply-To: <C3E2F61E-A91C-4665-8DF4-42B58C4C0580@nostrum.com>
References: <19DDC0DF-9ECF-499A-954E-17BABF6410B5@nostrum.com> <AANLkTik3VNfsT4fY2wc8HpfidPVCshGSUW1py4Jzf==w@mail.gmail.com> <C3E2F61E-A91C-4665-8DF4-42B58C4C0580@nostrum.com>
Date: Sun, 27 Feb 2011 00:39:30 -0500
Message-ID: <AANLkTimbO9v2HWVrwiaeuaSvWvkrznxgmk6dP7fobz64@mail.gmail.com>
Subject: Re: [Gen-art] Gen-ART LC Review of draft-bryan-metalinkhttp-19
From: Anthony Bryan <anthonybryan@gmail.com>
To: Ben Campbell <ben@nostrum.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailman-Approved-At: Mon, 28 Feb 2011 07:43:11 -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: Sun, 27 Feb 2011 05:38:39 -0000

On Wed, Feb 16, 2011 at 6:15 PM, Ben Campbell <ben@nostrum.com> 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.

Apache has an option that fits. I don't know about other server
software. obviously, this would need to be added for them to be able
to be Metalink servers if they don't have it. but, at least initially,
I don't expect every web server to easily be able to also be a
Metalink server without changes.

>
> [...]
>
>>
>>> -- 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)?

I'm not sure how to word this. a non-TLS source like download.com
could be more trusted than a TLS one from denialofserviceRus.com

> [...]
>
>>> --- 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"

there is a paragraph on the Metalink server, mirror server, and
client. I think it's ok to reiterate.

paragraph 3 on Metalink servers:
Metalink servers and their associated mirror servers SHOULD all share
the same ETag policy.

paragraph 4 on Mirror servers:
HTTP mirror servers SHOULD share the same ETag policy as the
originating Metalink server.

>
> [...]
>
>
>>> -- 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.

no, it needed work.

here's our next pass
http://tools.ietf.org//rfcdiff?url1=http://tools.ietf.org/id/draft-bryan-metalinkhttp-20.txt&url2=http://www.metalinker.org/test/mh/draft-bryan-metalinkhttp-21.txt

>>> -- 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".

"ETags can not be used for verifying the integrity of the received
content. If the ETag given by the mirror server matches the ETag given
by the Metalink server, then the Metalink client assumes the responses
are valid for that object. "


>>> -- 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. "
>

perfect, thanks!




-- 
(( Anthony Bryan ... Metalink [ http://www.metalinker.org ]
  )) Easier, More Reliable, Self Healing Downloads