[
https://issues.apache.org/jira/browse/TIKA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14088286#comment-14088286
]
Hudson commented on TIKA-1387:
------------------------------
ABORTED: Integrated in tika-trunk-jdk1.7 #147 (See
[https://builds.apache.org/job/tika-trunk-jdk1.7/147/])
Fix for TIKA-1387 (thanks Uwe Schindler). Adding the Maven forbidden-apis
plugin and fixing identified errors. (tpalsulich:
http://svn.apache.org/viewvc/tika/trunk/?view=rev&rev=1616295)
* /tika/trunk/CHANGES.txt
* /tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
* /tika/trunk/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java
* /tika/trunk/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java
* /tika/trunk/tika-core/src/main/java/org/apache/tika/io/FilenameUtils.java
* /tika/trunk/tika-core/src/main/java/org/apache/tika/io/IOUtils.java
*
/tika/trunk/tika-core/src/main/java/org/apache/tika/language/LanguageProfilerBuilder.java
*
/tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
*
/tika/trunk/tika-core/src/main/java/org/apache/tika/sax/ToTextContentHandler.java
*
/tika/trunk/tika-core/src/main/java/org/apache/tika/sax/WriteOutContentHandler.java
* /tika/trunk/tika-core/src/main/java/org/apache/tika/utils/DateUtils.java
*
/tika/trunk/tika-core/src/test/java/org/apache/tika/TypeDetectionBenchmark.java
* /tika/trunk/tika-core/src/test/java/org/apache/tika/io/TailStreamTest.java
*
/tika/trunk/tika-core/src/test/java/org/apache/tika/sax/BodyContentHandlerTest.java
* /tika/trunk/tika-java7/pom.xml
* /tika/trunk/tika-parent/pom.xml
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/chm/accessor/ChmDirectoryListingSet.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/chm/accessor/ChmItsfHeader.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/chm/accessor/ChmItspHeader.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/chm/accessor/ChmLzxcControlData.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/chm/accessor/ChmPmgiHeader.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/chm/accessor/ChmPmglHeader.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/chm/core/ChmExtractor.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/html/BoilerpipeContentHandler.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iptc/IptcAnpaParser.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/AutoPageNumberUtils.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mat/MatParser.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/MboxParser.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mp3/LyricsHandler.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/odf/NSNormalizerContentHandler.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pdf/PDFParserConfig.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/RTFObjDataParser.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java
*
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/video/FLVParser.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/embedder/ExternalEmbedderTest.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestChmBlockInfo.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestChmItspHeader.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestChmLzxState.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestChmLzxcControlData.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestChmLzxcResetTable.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/chm/TestPmglHeader.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/image/ImageMetadataExtractorTest.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mp3/MpegStreamTest.java
*
/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java
* /tika/trunk/tika-server/src/main/java/org/apache/tika/server/TikaResource.java
*
/tika/trunk/tika-server/src/main/java/org/apache/tika/server/UnpackerResource.java
*
/tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataEPTest.java
*
/tika/trunk/tika-server/src/test/java/org/apache/tika/server/MetadataResourceTest.java
*
/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java
*
/tika/trunk/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java
> Add forbidden-apis checker to TIKA build
> ----------------------------------------
>
> Key: TIKA-1387
> URL: https://issues.apache.org/jira/browse/TIKA-1387
> Project: Tika
> Issue Type: Improvement
> Components: general
> Reporter: Uwe Schindler
> Assignee: Tyler Palsulich
> Fix For: 1.7
>
> Attachments: TIKA-1387.palsulich.080614.patch, TIKA-1387.patch,
> TIKA-1387.patch, TIKA-1387.patch
>
>
> Lucene and many other projects already use the forbidden-apis checker to
> prevent use of some broken classes/signatures from the JDK. These are
> especially thing using default character sets or default locales. The
> forbidden-api checker can also be used to explcitely disallow specific
> methods, if they have security issues (e.g., creating XML parsers without
> disabling external entity support).
> The attached patch adds the forbidden-api checker to the tika-parent pom file
> with default configuration.
> Running it fails with many errors in TIKA core already:
> {noformat}
> [INFO] --- forbiddenapis:1.6.1:check (default) @ tika-core ---
> [INFO] Scanning for classes to check...
> [INFO] Reading bundled API signatures: jdk-unsafe
> [INFO] Reading bundled API signatures: jdk-deprecated
> [INFO] Loading classes to check...
> [INFO] Scanning for API signatures and dependencies...
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.language.LanguageProfilerBuilder
> (LanguageProfilerBuilder.java:407)
> [ERROR] Forbidden method invocation: java.lang.String#toUpperCase() [Uses
> default locale]
> [ERROR] in org.apache.tika.io.FilenameUtils (FilenameUtils.java:68)
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:257)
> [ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:395)
> [ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:416)
> [ERROR] Forbidden method invocation:
> java.io.InputStreamReader#<init>(java.io.InputStream) [Uses default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:438)
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:532)
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:550)
> [ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:588)
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:656)
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:782)
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:851)
> [ERROR] Forbidden method invocation:
> java.io.InputStreamReader#<init>(java.io.InputStream) [Uses default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:957)
> [ERROR] Forbidden method invocation:
> java.io.OutputStreamWriter#<init>(java.io.OutputStream) [Uses default charset]
> [ERROR] in org.apache.tika.io.IOUtils (IOUtils.java:1064)
> [ERROR] Forbidden method invocation:
> java.io.OutputStreamWriter#<init>(java.io.OutputStream) [Uses default charset]
> [ERROR] in org.apache.tika.sax.WriteOutContentHandler
> (WriteOutContentHandler.java:93)
> [ERROR] Forbidden method invocation:
> java.io.InputStreamReader#<init>(java.io.InputStream) [Uses default charset]
> [ERROR] in org.apache.tika.parser.external.ExternalParser
> (ExternalParser.java:234)
> [ERROR] Forbidden method invocation:
> java.io.InputStreamReader#<init>(java.io.InputStream) [Uses default charset]
> [ERROR] in org.apache.tika.parser.external.ExternalParser$3
> (ExternalParser.java:294)
> [ERROR] Forbidden method invocation:
> java.util.Calendar#getInstance(java.util.Locale) [Uses default locale or time
> zone]
> [ERROR] in org.apache.tika.utils.DateUtils (DateUtils.java:83)
> [ERROR] Forbidden method invocation:
> java.lang.String#format(java.lang.String,java.lang.Object[]) [Uses default
> locale]
> [ERROR] in org.apache.tika.utils.DateUtils (DateUtils.java:91)
> [ERROR] Forbidden method invocation: java.lang.String#toLowerCase() [Uses
> default locale]
> [ERROR] in org.apache.tika.detect.MagicDetector (MagicDetector.java:98)
> [ERROR] Forbidden method invocation: java.lang.String#getBytes() [Uses
> default charset]
> [ERROR] in org.apache.tika.detect.MagicDetector (MagicDetector.java:100)
> [ERROR] Forbidden method invocation: java.lang.String#<init>(byte[]) [Uses
> default charset]
> [ERROR] in org.apache.tika.detect.MagicDetector (MagicDetector.java:396)
> [ERROR] Forbidden method invocation:
> java.io.OutputStreamWriter#<init>(java.io.OutputStream) [Uses default charset]
> [ERROR] in org.apache.tika.sax.ToTextContentHandler
> (ToTextContentHandler.java:60)
> [ERROR] Scanned 225 (and 356 related) class file(s) for forbidden API
> invocations (in 0.42s), 23 error(s).
> {noformat}
> We should fix those problems.
--
This message was sent by Atlassian JIRA
(v6.2#6252)