bug-wget
[Top][All Lists]
Advanced

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

Re: [Bug-wget] wget-1.12.1-devel: 'Unsupported scheme' and windows pathn


From: Ray Satiro
Subject: Re: [Bug-wget] wget-1.12.1-devel: 'Unsupported scheme' and windows pathnames
Date: Sat, 12 Dec 2009 22:17:32 -0800 (PST)

Hi Steven,

On windows this is valid:
C:\Users\Internet\Desktop>if exist c://file.txt echo hi
hi

Rarely have I seen something output using double forward slashes but "mixed" 
scripts could use that format although probably not intentional.

I can't find any valid single character schemes. Would it break anything to 
return false if the scheme name is only one character?  That would be stricter.

I rewrote url_has_scheme(), patch attached. This supersedes the patch I 
submitted for retr.c

Jay


--- On Sat, 12/12/09, Steven Schubiger <address@hidden> wrote:

From: Steven Schubiger <address@hidden>
Subject: Re: [Bug-wget] wget-1.12.1-devel: 'Unsupported scheme' and windows 
pathnames
To: "Ray Satiro" <address@hidden>
Cc: address@hidden
Date: Saturday, December 12, 2009, 9:14 AM

Ray Satiro <address@hidden> wrote:
> I checked the source and it appears that the 'unsupported scheme' error is 
> caused because the path on windows can be misinterpreted as a URL. This 
> traces back to retrieve_from_file() in src/retr.c. 
> 
> 1.12.1-devel retrieve_from_file() is different from 1.11.4 in the way it 
> handles checking for a URL as the input file. Changes could be made to retr.c 
> retrieve_from_file() or maybe url.c url_has_scheme(), which doesn't really 
> validate any type of scheme.
> 
> Attached is a patch that eliminates the check in retrieve_from_file() for 
> url_has_scheme() and instead checks url_parse() to see determine if the input 
> file is a URL. This is probably sufficient since url_parse() checks 
> url_scheme().

I'd prefer patching url_has_scheme() to test for schemes more strictly;
the implementation would add a check for a double slash at the end of
the scheme and colon (which are part of the URL).

Attached a patch for review.




      

Attachment: url.c.patch
Description: Text Data


reply via email to

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