Re: 0.2808_04 will not install in Strawberry Perl 5.10.0.2...

[email protected] (Nicholas Clark)
Newsgroups perl.module.build
Message-ID <[email protected]>
On Mon, Sep 15, 2008 at 11:10:29PM -0500, Ken Williams wrote:
> On Mon, Sep 15, 2008 at 10:46 PM, Jan Dubois <[email protected]> wrote:
> > On Mon, 15 Sep 2008, Ken Williams wrote:
> >> I think the correct fix for this would be to write a _quote_args()
> >> method in Module/Build/Platform/Windows.pm .  It's trying to use Unix
> >> shell semantics.  In this case, it shouldn't need to use any quotes at
> >> all, since backslashes are fine in the Windows shell.
> >
> > I suspect the quoting is there in case the path contains some whitespace,
> > e.g. as "C:\Program Files\Perl\bin\perl.exe", which would need the quotes.
> 
> Right, if it matches the (Unix-centric) regex
> /^[^\s*?!\$<>;\\|'"\[\]\{\}]+$/ then we don't do any quoting.  So
> whitespace would force quoting.
> 
> That regex has always scared me, I would rather have a list of
> known-good characters instead of known-bad ones.  I don't remember
> where I got that regex, I'm pretty sure I didn't make it up though.

Well, it's already broken as I can sneak a string ending in a newline past it,
but the shell will treat that unquoted newline as whitespace.
Not sure how I can use that to make an attack though.

Also, it doesn't contain #, so I think I can have fun with shell comments.
Nor does it contain ` or ( or ) or &

I'm sure I read somewhere that really really old shells treat ^ as a synonym
for |, but I can't find one anywhere that does.

Nicholas Clark
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.