Sorry, I don't remember if I replied to this already.


On Fri, Feb 23, 2001 at 04:54:07PM -0600, David L. Nicol wrote:
> Instead of having a custom SmokingJacket for every platform, if we set
> up the client in perl5 we're done.  D O N E done. 

Yes, but it make take a very long time and involves solving some very,
very nasty problems.  Basically, how do you reimplement rsync so it
works under all Unixen, VMS, MacOS, Win32, Amiga, etc... in a
reasonable amount of time without going insane.

What it boils down to is, I don't want to have to reimplement rsync on
VMS.  Or diff, or patch or anything.  I'll leave nasty, system
specific problems like that to someone else... like yourself! ;)

SmokingJacket and a portable rsync are orthoginal problems.  When its
ready, we can use it.  Meanwhile, I'm not going to wait for it.

Skunk Works rule of thumb, use off the shelf components whenever
possible.


Besides, we're not going to have to have custom jackets for every
platform, just a few different sample wrapper scripts which take care
of the downloading and patching part and then call SmokingJacket.
Should be only a few commands per.  Hangers for your SmokingJacket. ;)


> What if Smoke Central was a static file, say
> 
> http://tipjar.com/kcpm/SC/daily.txt
> 
> and all the client has to do is:
> 
>       cd smoking_root_directoy
>       wget -O daily.pl http://tipjar.com/kcpm/SC/daily.txt
>       perl5 daily.pl
> 
> Trust/security is provided by the static file being in a known
> place, which means that we are vulnerable to DNS-based attack, but
> nothing easier than that.  The paranoid may run this whole
> deal in a chroot sandbox containing the Minimal Required Stuff.

I'm not worried about security at this level.  Its no worse than
downloading the Perl source and building it already is.  Working on
the security and trust of the Perl sources is a whole different
project.  And its orthoginal.

Also, we can't simply patch if we can avoid it.  We have to detect
differences between the main distribution and the remote one and
remove *all* differences.  rsync does this, applying patches doesn't.
I don't want someone with an unclean dist reporting mysterious
failures.  I want the dist to clean itself out *without* having to
download the whole thing again.


PS  Everything you're bringing up is valid, but non-essential.  I don't
want to discourage you from going ahead with them as seperate
projects, especially rsync in Perl.

-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Any sufficiently encapsulated hack is no longer a hack.

Reply via email to