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.

Reply via email to