On Tue, Mar 30, 2010 at 14:33, Mark Phippard <[email protected]> wrote:
> On Tue, Mar 30, 2010 at 2:17 PM, Hyrum K. Wright
> <[email protected]> wrote:
>> [I'm writing this now because the thoughts are fresh, and the list archive 
>> lasts forever.  This isn't really an issue until later releases, since we've 
>> currently no way to achieve this theoretical behavior.  Feel free to 
>> comment, but it won't hurt my feelings if this languishes for a while.]
>>
>> In New York last week, we talked a little bit about Editor v2 (Ev2), and the 
>> fetching of content from the server by SHA-1.  One of the benefits of wc-ng, 
>> and something that will be enabled by Ev2, is the ability for the client to 
>> request, and the server to send, content out-of-band.  By using SHA-1 hashes 
>> for content identification, clients will only need to request content they 
>> don't already have, such as the case where a pristine store already has most 
>> of the required content for an update or a checkout.
>>
>> This works fine when the repository is considered world-readable, but what 
>> happens for a repository with path-based access control?  What will prevent 
>> a reader from requesting content via SHA-1 that is should not have access 
>> to?  Sure, the odds of randomly guessing the SHA-1 for a protected path are 
>> pretty low, but some of our more paranoid users would prefer that it isn't 
>> even a possibility.  What if said content were both readable, as well as 
>> protected by path-based authz?
>>
>> Anyway, just some thoughts, and if my logic has some gaping holes, I'd love 
>> to know about 'em!
>
> I thought the process was going to work a little differently:
>
> * Client requests checkout/update of some path
>
> * Server responds with a skeleton of paths for the client to GET.
> These paths include the SHA1 (in addition to the name).
>
> * Client can now look into his cache to skip retrieving the file
> content for any SHA1 it already has
>
> * For other items client is still fetching the file based on the path name
>
> This would not have new security ramifications that I can see.

Agreed.

The SHA-1 is simply used to eliminate/constrain paths-to-fetch.

Cheers,
-g

Reply via email to