Author: nick
Date: Thu Jan 15 23:58:52 2015
New Revision: 1652315
URL: http://svn.apache.org/r1652315
Log:
TIKA-1028 Have PackageParser report encrypted zips via
EncryptedDocumentException rather than commons compress
UnsupportedZipFeatureException
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java?rev=1652315&r1=1652314&r2=1652315&view=diff
==============================================================================
---
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
(original)
+++
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
Thu Jan 15 23:58:52 2015
@@ -33,7 +33,10 @@ import org.apache.commons.compress.archi
import org.apache.commons.compress.archivers.jar.JarArchiveInputStream;
import org.apache.commons.compress.archivers.sevenz.SevenZFile;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
+import
org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException;
+import
org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException.Feature;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
+import org.apache.tika.exception.EncryptedDocumentException;
import org.apache.tika.exception.TikaException;
import org.apache.tika.extractor.EmbeddedDocumentExtractor;
import org.apache.tika.extractor.ParsingEmbeddedDocumentExtractor;
@@ -161,6 +164,12 @@ public class PackageParser extends Abstr
}
entry = ais.getNextEntry();
}
+ } catch (UnsupportedZipFeatureException zfe) {
+ // If it's an encrypted document of unknown password, report as
such
+ if (zfe.getFeature() == Feature.ENCRYPTION) {
+ throw new EncryptedDocumentException(zfe);
+ }
+ // Otherwise fall through to raise the exception as normal
} finally {
ais.close();
tmp.close();