diff options
Diffstat (limited to 'netx/net/sourceforge/jnlp/cache/ResourceTracker.java')
-rw-r--r-- | netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java index 9e033cf..a09f1c5 100644 --- a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java +++ b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java @@ -656,7 +656,11 @@ public class ResourceTracker { boolean packgz = "pack200-gzip".equals(contentEncoding) || realLocation.getPath().endsWith(".pack.gz"); boolean gzip = "gzip".equals(contentEncoding); - + + // It's important to check packgz first. If a stream is both + // pack200 and gz encoded, then con.getContentEncoding() could + // return ".gz", so if we check gzip first, we would end up + // treating a pack200 file as a jar file. if (packgz) { downloadLocation = new URL(downloadLocation.toString() + ".pack.gz"); } else if (gzip) { |