ConfigurationUtils.fileFromURL mangles files with '+' (plus sign) in the name
-----------------------------------------------------------------------------
Key: CONFIGURATION-415
URL: https://issues.apache.org/jira/browse/CONFIGURATION-415
Project: Commons Configuration
Issue Type: Bug
Affects Versions: 1.6
Reporter: Brian Stiles
Attached is a sample program that demonstrates the problem. The following is
the method in ConfigurationUtils in question:
public static File fileFromURL(URL url)
{
...
return new File(URLDecoder.decode(url.getPath()));
...
}
URLDecoder (poorly named) decodes data encoded in the
application/x-www-form-urlencoded MIME format. This format is commonly used to
encode HTML form data. It is not intended for encoding URLs, though the
formats are similar.
The operative difference is that the MIME format allows the use of the plus
sign ('+') to represent spaces, whereas URLs must have spaces hex encoded
('%20'). Files may have plus signs in the name, and therefore, decoding the
plus sign as a space produces a different path.
See attached code demonstrating the problem.
Reference: http://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2.1
and http://www.ietf.org/rfc/rfc1738.txt
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.