maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Glick (JIRA)" <>
Subject [jira] Commented: (MINDEXER-13) *.gz index not loadable using default LightweightHttpWagon
Date Fri, 25 Mar 2011 21:12:22 GMT


Jesse Glick commented on MINDEXER-13:

Something else I just noticed: {{IndexDataReader.readIndex}} reads and discards the first
byte of the (uncompressed) stream, without checking that it is in fact {{IndexDataWriter.VERSION}}.
Fixing this to throw an {{IOException}} for anything else would be a good idea in combination
with my current patch, which just creates a {{DataInputStream}} from the raw input if it is
not in GZIP format but cannot easily check that the input _is_ anything in particular: at
least the reader upon being given random garbage would at least fail promptly in the common
case that the first byte is not 0x01. (Would have been better for the index format to use
a real magic number, but too late for that.)

> *.gz index not loadable using default LightweightHttpWagon
> ----------------------------------------------------------
>                 Key: MINDEXER-13
>                 URL:
>             Project: Maven Indexer
>          Issue Type: Bug
>    Affects Versions: 4.0.0
>         Environment: Ubuntu, JDK 6u24
>            Reporter: Jesse Glick
>         Attachments: MINDEXER.diff
> If you create a new-style index (without {{--legacy}}), publish on an HTTP server (Apache
2.2.9 in my case), and try to download the remote index from a client using the default {{LightweightHttpWagon}},
the download fails.
> The wagon upon seeing {{Content-Encoding: gzip}} automatically decompresses the index
and serves the raw data. {{IndexDataReader}} then passes this to {{GZIPInputStream}} which
chokes. (MINDEXER-12 then conceals the actual problem and makes it look like the indexer only
accepts the legacy format.)
> Have a patch which seems to work. Probably {{DownloadRemoteIndexerManagerTest}} needs
to be enhanced to check this case; I am not very familiar with Jetty so I have not tried this
> (Nexus sends {{Content-Type: application/x-compressed}} but no content encoding so the
problem is not visible when using a Nexus mirror.)

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message