On UUID's and MC file names

Jerome Peace peace_the_dreamer at yahoo.com
Fri Jun 22 04:34:50 UTC 2007


On UUID's and MC file names

Hi Bert,

This is getting interesting.

>No. The package name is stored *inside* the MCZ.

>> So a mischief maker could rename things so that
>> Package-puck.30.mcz  was the ancestor of
>> Package-puck.29.mcz instead of the expected other
way
>> around?
>>
>> On the other hand Package-puck.3.mcz duplicated and
>> renamed to egakcaP-puck.3.mcz would not be
recognized
>> by MC as the same?

So your saying that the mischievous puck** could
actually have egakcaP-puck.3.mcz
in his repository and it would be understood by MC to
be Package-puck.3.mcz.

So does that mean that when MC opens a repository it
reads ALL the files to see whats there?
What does it use the file names for if anything?

Yours in curiosity and service, --Jerome Peace

**Mischief-makers are often superprogrammers in
learning mode. See the apple folklore:
http://www.folklore.org/StoryView.py?project=Macintosh&story=Make_a_Mess,_Clean_it_Up!.txt

Or sometimes they are release team members with the
best of intentions just running into Murphy's Law.




>
>Bert Freudenberg bert at freudenbergs.de 
>Fri Jun 22 00:34:10 UTC 2007 
>

>On Jun 22, 2007, at 1:06 , Jerome Peace wrote:
>
>> Hi Bert,
>>
>> Thanks for the interesting response.
>>
>> ***
>>> [V3dot10] Re: RV: Do in a workspace and say if
could
>> build
>>>
>>>
>>> Bert Freudenberg bert at freudenbergs.de
>>> Thu Jun 21 00:11:25 UTC 2007
>>>
>>> On Jun 21, 2007, at 1:51 , Jerome Peace wrote:
>>>

>
>>>> I wonder what it would take to train MC to work
>> with the second.
>>>
>>> That's trivial. Since MC does not place meaning on
>> the version name
>>> you can just pre-populate the version name input
>> field of the version
>>> save dialog with whatever suits you.
>>
>> Huh? Wow.
>>
>> Does this mean I could rename the file and MC would
>> still recognize it for what it is?
>> Oh,. you said version name. So you mean that the
>> packagename portion is still significant but I can
>> play around with the version names and MC will pay
no
>> attention.
>
>No. The package name is stored *inside* the MCZ.
>
>> So a mischief maker could rename things so that
>> Package-puck.30.mcz  was the ancestor of
>> Package-puck.29.mcz instead of the expected other
way
>> around?
>>
>> On the other hand Package-puck.3.mcz duplicated and
>> renamed to egakcaP-puck.3.mcz would not be
recognized
>> by MC as the same?
>>
>>
>>>
>>> Actually, maybe having readable version file names
is
>> a problem in
>>> itself. It gives the illusion that these have any
>> meaning to MC.
>>> Other systems like git avoid the problem by just
>> using UUIDs as
>>> filenames.
>>
>> And how would you know when mischief had happened
>> then?
>
>MC is not designed to prevent mischief, though the
UUIDs prevent  
>accidental mistakes. For actual security, one could
for example use  
>the hash of the entire package contents as
identifier, making it  
>unforgeable.
>

Ok. That would secure things. 

What I was trying to say was:

 How would a human while looking at a file-list get a
hint that things had gone wrong like the current
problem. I was more interested in an early and
observable warning than a machine testable security
assurance.

The context (which I didn't make clear) was the good
intentioned but off track repository maintainer and
the need for the repository to be ok-to-use (vs
not-ok-to-use). To see that early is worth a days,
maybe a weeks work.  


Cheers, -Jer



 
____________________________________________________________________________________
8:00? 8:25? 8:40? Find a flick in no time 
with the Yahoo! Search movie showtime shortcut.
http://tools.search.yahoo.com/shortcuts/#news



More information about the Squeak-dev mailing list