commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Stiles (JIRA)" <j...@apache.org>
Subject [jira] Created: (CONFIGURATION-415) ConfigurationUtils.fileFromURL mangles files with '+' (plus sign) in the name
Date Wed, 19 May 2010 22:55:55 GMT
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.


Mime
View raw message