ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée (JIRA) <j...@apache.org>
Subject [jira] [Resolved] (IVY-1060) ApacheURLLister.retrieveListing() fails if the encoding of the URL list is different from the default encoding
Date Wed, 15 Aug 2012 15:42:38 GMT

     [ https://issues.apache.org/jira/browse/IVY-1060?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Nicolas Lalevée resolved IVY-1060.
----------------------------------

       Resolution: Fixed
    Fix Version/s: trunk
                   2.3.0
         Assignee: Nicolas Lalevée

patch applied, thanks !
                
> ApacheURLLister.retrieveListing() fails if the encoding of the URL list is different
from the default encoding
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-1060
>                 URL: https://issues.apache.org/jira/browse/IVY-1060
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0, 2.1.0, 2.3.0-RC1
>         Environment: OS: z/OS 1.9
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build pmz3160sr3-20081108_01(SR3))
>            Reporter: Robin Fernandes
>            Assignee: Nicolas Lalevée
>              Labels: patch
>             Fix For: 2.3.0, trunk
>
>         Attachments: patch.ivy.URLListerEncoding.diff
>
>
> ApacheURLLister.retrieveListing() assumes that the list of URLs is encoded in the same
encoding as the system's default encoding.
> The problematic code is:
> {code}
> BufferedReader r = new BufferedReader(new InputStreamReader(URLHandlerRegistry.getDefault().openStream(url)));
> String htmlText = FileUtil.readEntirely(r);
> {code}
> FileUtil.readEntirely() converts the the content of the BufferedReader r to a String.
Because no encoding is specified in the InputStreamReader constructor, the default encoding
is used. If the default encoding does not match the actual encoding of the data read from
url,  htmlText ends up as a garbage String and the URL pattern matcher fails.
> This causes an issue on z/OS, where the default encoding is EBCDIC (e.g. IBM-1047) but
the data containing the list of URLs is typically retrieved from the network as ASCII (ISO-8559-1).
> A workaround could be to specify the system property -Dfile.encoding=ISO-8559-1 on the
command line, but this is a bit of a big hammer. In particular, it is not suitable when Ivy
is used within an application where we don't to assume all input is ISO-8559-1.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message