chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [patch] disallow slashes in egg names, ignore . an


From: John Cowan
Subject: Re: [Chicken-hackers] [patch] disallow slashes in egg names, ignore . and ..
Date: Sat, 25 Feb 2012 14:27:52 -0500
User-agent: Mutt/1.5.18 (2008-05-17)

Peter Bex scripsit:

> Is it an issue at all?  Did you test it?

I'm not sure what you mean by "testing it".  If you attempt to create
a directory named, say, "scheme++" on a Windows system (except under
Cygwin 1.7, where there is a workaround) it will fail.  So if you
attempt to install such an egg from a henrietta instance and you're
on Windows, you are out of luck with that egg.  It simply can't be
installed.

IMO, the best way to solve this problem is to prevent the (further)
creation of such eggs.

> The locate-egg/local procedure in setup-download.scm contains various
> checks like whether the target directory exists and actually is a
> directory.  I'm pretty sure that crapload of reserved names Windows
> has are mostly device aliases, which means they're not directories.
> Hence, it will already DTRT.

You seem to be still talking about the client side.  Again, I am
talking about the server side.  Right now, you can create an egg called
"aux.macros" and non-Windows installations can safely download it, but
on Windows installations it will fail for the same reasons that the
"scheme++" egg will.

> If you managed to get a local copy of an egg with a particular name,
> by definition it means that that name is allowed under your OS;
> it doesn't make sense to check that against a blacklist (which by
> definition will always be incomplete).

Which is why I want the blacklisting to be done *on the server side*.

> Also, what if Redmond decides to fix their OS and get rid of these
> reserved names?  We'd be stuck with their shitty legacy ~forever.

They are the ones stuck with it.  There is code that relies on being
able to open "con" and "lpt0" and "nul" no matter what the current
directory is, and they are committed to supporting that code forever.

> If you're saying a backslash should be disallowed just like a regular
> slash, I think that's acceptable.  Other than that, we should disallow
> these egg names only if it's really a problem.

It isn't a problem today, but that's because it so happens that nobody
has created an egg with a restricted character in it yet, except for
"hfs+" which happens not to be useful on Windows.  I want to prevent it from
being a problem in future.  There is nothing bizarre about this, and
most people won't even bump up against the restrictions anyway.

> I might want to call it "hfs+".  You never know what someone wants to
> call their egg, so let's not unneccessary restrictions.

I'm all for eliminating unnecessary restrictions.  I just happen to
think this one is necessary if Windows installs of Chicken are not to be
second-class citizens (which they are in some ways already).

-- 
"Repeat this until 'update-mounts -v' shows no updates.         John Cowan
You may well have to log in to particular machines, hunt down   address@hidden
people who still have processes running, and kill them."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]