Jan Dubois wrote:
> On Thu, 13 Nov 2008, Michael G Schwern wrote:
>> This is why I want CPAN to return to its common carrier policy.  Don't 
>> inspect
>> them, don't open them, don't reject them and especially don't try to fix 
>> them,
>> just leave the packages sealed.
> 
> CPAN (at least the indexing part of it) always poked inside the packages and
> verified "ownership" of namespaces.  Do you really want *anybody* to be able
> to upload a new version of your modules and have them replace your versions
> in the index?  If you don't, then you'll have to let go of this "common 
> carrier"
> idea.
> 
> Another "violation" of your common carrier ideal is that PAUSE won't index
> packages with a version number lower than the highest already released one.
> Do you want to get rid of that too?
>
> Finally, there is a difference between what you can upload to CPAN and what
> is being included in the index (although stuff not in the index is of course
> invisible to many CPAN users).

These are all related to how CPAN works or CPAN specific security holes.  Sort
of a "clear and present danger" clause with the added notion that it's a
problem created by CPAN and only PAUSE can solve the problem.

It's sort of like the post office needing to know who it's from and where it's
going... except we put that information on the inside so PAUSE has no choice
but to peek.  And we do it with incorruptible robots.

And these were pragmatic decisions made to get shit done.  They were not done
under the general purpose banner of "Think Of The Children".  Sorry, "Protect
The User".

Namespace spoofing is very clear, real and CPAN specific security problem.
Namespace protection is necessary to prevent a malicious Trojan horse.  It's a
security problem created by CPAN which should be (and can only be) solved by 
CPAN.

The version numbering thing is necessary because the index is limited to
showing just one version.  Are you going to index the latest or the highest?
PAUSE had to make a decision and went with the highest.

The difference between the CPAN index and what's on CPAN is a lamentable part
of how the CPAN index is implemented, it can only show version.  With only one
tool at its disposal, PAUSE has to take an all-or-nothing approach.  If the
index technology were improved to allow a complete index with metadata (what
search.cpan.org effectively does for itself) then we could have a complete
listing with information about the authority of each dist marked in the index.
 That would relieve a lot of problems and give PAUSE a lot of flexibility.


[1]  Someone's going to point out that an independent could create their own
index from a CPAN mirror and publish that, but it's going to fall out of sync.

-- 
Reality is that which, when you stop believing in it, doesn't go away.
    -- Phillip K. Dick

Reply via email to