[
https://issues.apache.org/jira/browse/CONFIGURATION-415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oliver Heger resolved CONFIGURATION-415.
----------------------------------------
Fix Version/s: 1.7
Resolution: Fixed
Fixed in subversion in revision 949393. The code in
ConfigurationUtils.fileFromURL() was replaced by code from the FileUtils class
of Commons IO.
> 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
> Assignee: Oliver Heger
> Fix For: 1.7
>
> Attachments: FileFromUrlTest.java
>
>
> 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.