You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2016/04/22 18:41:10 UTC

[1/2] tika git commit: TIKA-1924 -- upgrade to isoparser 1.1.18. Add workaround to prevent infinite loop. Remove aspectjrt license because isoparser 1.1.18 no longer relies on it.

Repository: tika
Updated Branches:
  refs/heads/master 0dc29d08d -> c9d508dc1


TIKA-1924 -- upgrade to isoparser 1.1.18. Add workaround to prevent infinite loop.  Remove aspectjrt license because isoparser 1.1.18 no longer relies on it.


Project: http://git-wip-us.apache.org/repos/asf/tika/repo
Commit: http://git-wip-us.apache.org/repos/asf/tika/commit/2cce66dd
Tree: http://git-wip-us.apache.org/repos/asf/tika/tree/2cce66dd
Diff: http://git-wip-us.apache.org/repos/asf/tika/diff/2cce66dd

Branch: refs/heads/master
Commit: 2cce66ddde6f44c258418bc5a057ba58e6267098
Parents: 0dc29d0
Author: tballison <ta...@mitre.org>
Authored: Fri Apr 22 10:53:55 2016 -0400
Committer: tballison <ta...@mitre.org>
Committed: Fri Apr 22 10:53:55 2016 -0400

----------------------------------------------------------------------
 .../main/appended-resources/META-INF/LICENSE    | 227 -------------------
 tika-bundle/pom.xml                             |   2 +-
 .../main/appended-resources/META-INF/LICENSE    | 226 ------------------
 tika-parsers/pom.xml                            |   2 +-
 .../parser/mp4/DirectFileReadDataSource.java    |   7 +-
 .../apache/tika/parser/mp4/MP4ParserTest.java   |  12 +-
 .../test-documents/testMP4_truncated.m4a        | Bin 0 -> 74 bytes
 tika-server/pom.xml                             |  19 --
 8 files changed, 17 insertions(+), 478 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-app/src/main/appended-resources/META-INF/LICENSE
----------------------------------------------------------------------
diff --git a/tika-app/src/main/appended-resources/META-INF/LICENSE b/tika-app/src/main/appended-resources/META-INF/LICENSE
index f828d69..f63badc 100644
--- a/tika-app/src/main/appended-resources/META-INF/LICENSE
+++ b/tika-app/src/main/appended-resources/META-INF/LICENSE
@@ -896,233 +896,6 @@ juniversalchardet library (juniversalchardet)
          use the text of this Exhibit A rather than the text found in the
          Original Code Source Code for Your Modifications.]
 
-AspectJ runtime library (aspectjrt)
-
-    Eclipse Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
-    THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-    1. DEFINITIONS
-
-    "Contribution" means:
-
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
-    b) in the case of each subsequent Contributor:
-
-       i) changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from and
-       are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
-
-    "Contributor" means any person or entity that distributes the Program.
-
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone or
-    when combined with the Program.
-
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
-
-    "Recipient" means anyone who receives the Program under this Agreement,
-    including all Contributors.
-
-    2. GRANT OF RIGHTS
-
-    a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license to
-       reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
-    b) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity. Each
-       Contributor disclaims any liability to Recipient for claims brought by
-       any other entity based on infringement of intellectual property rights
-       or otherwise. As a condition to exercising the rights and licenses
-       granted hereunder, each Recipient hereby assumes sole responsibility
-       to secure any other intellectual property rights needed, if any. For
-       example, if a third party patent license is required to allow Recipient
-       to distribute the Program, it is Recipient's responsibility to acquire
-       that license before distributing the Program.
-
-    d) Each Contributor represents that to its knowledge it has sufficient
-       copyright rights in its Contribution, if any, to grant the copyright
-       license set forth in this Agreement.
-
-    3. REQUIREMENTS
-
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
-
-    a) it complies with the terms and conditions of this Agreement; and
-
-    b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
-
-    When the Program is made available in source code form:
-
-    a) it must be made available under this Agreement; and
-
-    b) a copy of this Agreement must be included with each copy of the
-       Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
-
-    4. COMMERCIAL DISTRIBUTION
-
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program in
-    a commercial product offering, such Contributor ("Commercial Contributor")
-    hereby agrees to defend and indemnify every other Contributor
-    ("Indemnified Contributor") against any losses, damages and costs
-    (collectively "Losses") arising from claims, lawsuits and other legal
-    actions brought by a third party against the Indemnified Contributor to
-    the extent caused by the acts or omissions of such Commercial Contributor
-    in connection with its distribution of the Program in a commercial
-    product offering. The obligations in this section do not apply to any
-    claims or Losses relating to any actual or alleged intellectual property
-    infringement. In order to qualify, an Indemnified Contributor must:
-    a) promptly notify the Commercial Contributor in writing of such claim,
-    and b) allow the Commercial Contributor to control, and cooperate with
-    the Commercial Contributor in, the defense and any related settlement
-    negotiations. The Indemnified Contributor may participate in any such
-    claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance claims,
-    or offers warranties related to Product X, those performance claims and
-    warranties are such Commercial Contributor's responsibility alone. Under
-    this section, the Commercial Contributor would have to defend claims
-    against the other Contributors related to those performance claims and
-    warranties, and if a court requires any other Contributor to pay any
-    damages as a result, the Commercial Contributor must pay those damages.
-
-    5. NO WARRANTY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
-    EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
-    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining
-    the appropriateness of using and distributing the Program and assumes all
-    risks associated with its exercise of rights under this Agreement ,
-    including but not limited to the risks and costs of program errors,
-    compliance with applicable laws, damage to or loss of data, programs or
-    equipment, and unavailability or interruption of operations.
-
-    6. DISCLAIMER OF LIABILITY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-    7. GENERAL
-
-    If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further action
-    by the parties hereto, such provision shall be reformed to the minimum
-    extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against any entity (including
-    a cross-claim or counterclaim in a lawsuit) alleging that the Program
-    itself (excluding combinations of the Program with other software or
-    hardware) infringes such Recipient's patent(s), then such Recipient's
-    rights granted under Section 2(b) shall terminate as of the date such
-    litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. The Eclipse Foundation is the initial Agreement
-    Steward. The Eclipse Foundation may assign the responsibility to serve as
-    the Agreement Steward to a suitable separate entity. Each new version of
-    the Agreement will be given a distinguishing version number. The Program
-    (including Contributions) may always be distributed subject to the version
-    of the Agreement under which it was received. In addition, after a new
-    version of the Agreement is published, Contributor may elect to distribute
-    the Program (including its Contributions) under the new version. Except as
-    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-    rights or licenses to the intellectual property of any Contributor under
-    this Agreement, whether expressly, by implication, estoppel or otherwise.
-    All rights in the Program not expressly granted under this Agreement
-    are reserved.
-
-    This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights to
-    a jury trial in any resulting litigation.
-
 Sqlite (included in the "provided" org.xerial's sqlite-jdbc)
     Sqlite is in the Public Domain.  For details
     see: https://www.sqlite.org/copyright.html

http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/tika-bundle/pom.xml b/tika-bundle/pom.xml
index 5b8f214..f7d119d 100644
--- a/tika-bundle/pom.xml
+++ b/tika-bundle/pom.xml
@@ -137,7 +137,7 @@
               asm,
               juniversalchardet,
               vorbis-java-core, vorbis-java-tika,
-              isoparser, aspectjrt,
+              isoparser,
               metadata-extractor, xmpcore, json-simple,
               boilerpipe, rome, rome-utils, opennlp-tools, opennlp-maxent,
               geoapi, sis-metadata, sis-netcdf, sis-utility,

http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-bundle/src/main/appended-resources/META-INF/LICENSE
----------------------------------------------------------------------
diff --git a/tika-bundle/src/main/appended-resources/META-INF/LICENSE b/tika-bundle/src/main/appended-resources/META-INF/LICENSE
index d819fc2..c008bda 100644
--- a/tika-bundle/src/main/appended-resources/META-INF/LICENSE
+++ b/tika-bundle/src/main/appended-resources/META-INF/LICENSE
@@ -864,229 +864,3 @@ juniversalchardet library (juniversalchardet)
          use the text of this Exhibit A rather than the text found in the
          Original Code Source Code for Your Modifications.]
 
-AspectJ runtime library (aspectjrt)
-
-    Eclipse Public License - v 1.0
-
-    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
-    THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
-
-    1. DEFINITIONS
-
-    "Contribution" means:
-
-    a) in the case of the initial Contributor, the initial code and
-       documentation distributed under this Agreement, and
-
-    b) in the case of each subsequent Contributor:
-
-       i) changes to the Program, and
-
-       ii) additions to the Program;
-
-       where such changes and/or additions to the Program originate from and
-       are distributed by that particular Contributor. A Contribution
-       'originates' from a Contributor if it was added to the Program by
-       such Contributor itself or anyone acting on such Contributor's behalf.
-       Contributions do not include additions to the Program which: (i) are
-       separate modules of software distributed in conjunction with the
-       Program under their own license agreement, and (ii) are not derivative
-       works of the Program.
-
-    "Contributor" means any person or entity that distributes the Program.
-
-    "Licensed Patents " mean patent claims licensable by a Contributor which
-    are necessarily infringed by the use or sale of its Contribution alone or
-    when combined with the Program.
-
-    "Program" means the Contributions distributed in accordance with this
-    Agreement.
-
-    "Recipient" means anyone who receives the Program under this Agreement,
-    including all Contributors.
-
-    2. GRANT OF RIGHTS
-
-    a) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free copyright license to
-       reproduce, prepare derivative works of, publicly display, publicly
-       perform, distribute and sublicense the Contribution of such
-       Contributor, if any, and such derivative works, in source code and
-       object code form.
-
-    b) Subject to the terms of this Agreement, each Contributor hereby grants
-       Recipient a non-exclusive, worldwide, royalty-free patent license under
-       Licensed Patents to make, use, sell, offer to sell, import and
-       otherwise transfer the Contribution of such Contributor, if any, in
-       source code and object code form. This patent license shall apply to
-       the combination of the Contribution and the Program if, at the time
-       the Contribution is added by the Contributor, such addition of the
-       Contribution causes such combination to be covered by the Licensed
-       Patents. The patent license shall not apply to any other combinations
-       which include the Contribution. No hardware per se is licensed hereunder.
-
-    c) Recipient understands that although each Contributor grants the
-       licenses to its Contributions set forth herein, no assurances are
-       provided by any Contributor that the Program does not infringe the
-       patent or other intellectual property rights of any other entity. Each
-       Contributor disclaims any liability to Recipient for claims brought by
-       any other entity based on infringement of intellectual property rights
-       or otherwise. As a condition to exercising the rights and licenses
-       granted hereunder, each Recipient hereby assumes sole responsibility
-       to secure any other intellectual property rights needed, if any. For
-       example, if a third party patent license is required to allow Recipient
-       to distribute the Program, it is Recipient's responsibility to acquire
-       that license before distributing the Program.
-
-    d) Each Contributor represents that to its knowledge it has sufficient
-       copyright rights in its Contribution, if any, to grant the copyright
-       license set forth in this Agreement.
-
-    3. REQUIREMENTS
-
-    A Contributor may choose to distribute the Program in object code form
-    under its own license agreement, provided that:
-
-    a) it complies with the terms and conditions of this Agreement; and
-
-    b) its license agreement:
-
-       i)   effectively disclaims on behalf of all Contributors all warranties
-            and conditions, express and implied, including warranties or
-            conditions of title and non-infringement, and implied warranties
-            or conditions of merchantability and fitness for a particular
-            purpose;
-
-       ii)  effectively excludes on behalf of all Contributors all liability
-            for damages, including direct, indirect, special, incidental and
-            consequential damages, such as lost profits;
-
-       iii) states that any provisions which differ from this Agreement are
-            offered by that Contributor alone and not by any other party; and
-
-       iv)  states that source code for the Program is available from such
-            Contributor, and informs licensees how to obtain it in a
-            reasonable manner on or through a medium customarily used for
-            software exchange.
-
-    When the Program is made available in source code form:
-
-    a) it must be made available under this Agreement; and
-
-    b) a copy of this Agreement must be included with each copy of the
-       Program.
-
-    Contributors may not remove or alter any copyright notices contained
-    within the Program.
-
-    Each Contributor must identify itself as the originator of its
-    Contribution, if any, in a manner that reasonably allows subsequent
-    Recipients to identify the originator of the Contribution.
-
-    4. COMMERCIAL DISTRIBUTION
-
-    Commercial distributors of software may accept certain responsibilities
-    with respect to end users, business partners and the like. While this
-    license is intended to facilitate the commercial use of the Program,
-    the Contributor who includes the Program in a commercial product offering
-    should do so in a manner which does not create potential liability for
-    other Contributors. Therefore, if a Contributor includes the Program in
-    a commercial product offering, such Contributor ("Commercial Contributor")
-    hereby agrees to defend and indemnify every other Contributor
-    ("Indemnified Contributor") against any losses, damages and costs
-    (collectively "Losses") arising from claims, lawsuits and other legal
-    actions brought by a third party against the Indemnified Contributor to
-    the extent caused by the acts or omissions of such Commercial Contributor
-    in connection with its distribution of the Program in a commercial
-    product offering. The obligations in this section do not apply to any
-    claims or Losses relating to any actual or alleged intellectual property
-    infringement. In order to qualify, an Indemnified Contributor must:
-    a) promptly notify the Commercial Contributor in writing of such claim,
-    and b) allow the Commercial Contributor to control, and cooperate with
-    the Commercial Contributor in, the defense and any related settlement
-    negotiations. The Indemnified Contributor may participate in any such
-    claim at its own expense.
-
-    For example, a Contributor might include the Program in a commercial
-    product offering, Product X. That Contributor is then a Commercial
-    Contributor. If that Commercial Contributor then makes performance claims,
-    or offers warranties related to Product X, those performance claims and
-    warranties are such Commercial Contributor's responsibility alone. Under
-    this section, the Commercial Contributor would have to defend claims
-    against the other Contributors related to those performance claims and
-    warranties, and if a court requires any other Contributor to pay any
-    damages as a result, the Commercial Contributor must pay those damages.
-
-    5. NO WARRANTY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
-    ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
-    EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
-    CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
-    PARTICULAR PURPOSE. Each Recipient is solely responsible for determining
-    the appropriateness of using and distributing the Program and assumes all
-    risks associated with its exercise of rights under this Agreement ,
-    including but not limited to the risks and costs of program errors,
-    compliance with applicable laws, damage to or loss of data, programs or
-    equipment, and unavailability or interruption of operations.
-
-    6. DISCLAIMER OF LIABILITY
-
-    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
-    ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-    WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-    DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-    HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-    7. GENERAL
-
-    If any provision of this Agreement is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this Agreement, and without further action
-    by the parties hereto, such provision shall be reformed to the minimum
-    extent necessary to make such provision valid and enforceable.
-
-    If Recipient institutes patent litigation against any entity (including
-    a cross-claim or counterclaim in a lawsuit) alleging that the Program
-    itself (excluding combinations of the Program with other software or
-    hardware) infringes such Recipient's patent(s), then such Recipient's
-    rights granted under Section 2(b) shall terminate as of the date such
-    litigation is filed.
-
-    All Recipient's rights under this Agreement shall terminate if it fails
-    to comply with any of the material terms or conditions of this Agreement
-    and does not cure such failure in a reasonable period of time after
-    becoming aware of such noncompliance. If all Recipient's rights under
-    this Agreement terminate, Recipient agrees to cease use and distribution
-    of the Program as soon as reasonably practicable. However, Recipient's
-    obligations under this Agreement and any licenses granted by Recipient
-    relating to the Program shall continue and survive.
-
-    Everyone is permitted to copy and distribute copies of this Agreement,
-    but in order to avoid inconsistency the Agreement is copyrighted and may
-    only be modified in the following manner. The Agreement Steward reserves
-    the right to publish new versions (including revisions) of this Agreement
-    from time to time. No one other than the Agreement Steward has the right
-    to modify this Agreement. The Eclipse Foundation is the initial Agreement
-    Steward. The Eclipse Foundation may assign the responsibility to serve as
-    the Agreement Steward to a suitable separate entity. Each new version of
-    the Agreement will be given a distinguishing version number. The Program
-    (including Contributions) may always be distributed subject to the version
-    of the Agreement under which it was received. In addition, after a new
-    version of the Agreement is published, Contributor may elect to distribute
-    the Program (including its Contributions) under the new version. Except as
-    expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-    rights or licenses to the intellectual property of any Contributor under
-    this Agreement, whether expressly, by implication, estoppel or otherwise.
-    All rights in the Program not expressly granted under this Agreement
-    are reserved.
-
-    This Agreement is governed by the laws of the State of New York and the
-    intellectual property laws of the United States of America. No party to
-    this Agreement will bring a legal action under this Agreement more than
-    one year after the cause of action arose. Each party waives its rights to
-    a jury trial in any resulting litigation.

http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-parsers/pom.xml
----------------------------------------------------------------------
diff --git a/tika-parsers/pom.xml b/tika-parsers/pom.xml
index ec89cc0..bca5ef9 100644
--- a/tika-parsers/pom.xml
+++ b/tika-parsers/pom.xml
@@ -203,7 +203,7 @@
     <dependency>
       <groupId>com.googlecode.mp4parser</groupId>
       <artifactId>isoparser</artifactId>
-      <version>1.1.7</version>
+      <version>1.1.18</version>
     </dependency>
     <dependency>
       <groupId>com.drewnoakes</groupId>

http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-parsers/src/main/java/org/apache/tika/parser/mp4/DirectFileReadDataSource.java
----------------------------------------------------------------------
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mp4/DirectFileReadDataSource.java b/tika-parsers/src/main/java/org/apache/tika/parser/mp4/DirectFileReadDataSource.java
index bea50a0..4e2c1ba 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mp4/DirectFileReadDataSource.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mp4/DirectFileReadDataSource.java
@@ -16,7 +16,7 @@
  */
 package org.apache.tika.parser.mp4;
 
-import com.googlecode.mp4parser.DataSource;
+import static com.googlecode.mp4parser.util.CastUtils.l2i;
 
 import java.io.File;
 import java.io.IOException;
@@ -24,7 +24,7 @@ import java.io.RandomAccessFile;
 import java.nio.ByteBuffer;
 import java.nio.channels.WritableByteChannel;
 
-import static com.googlecode.mp4parser.util.CastUtils.l2i;
+import com.googlecode.mp4parser.DataSource;
 
 /**
  * A {@link DataSource} implementation that relies on direct reads from a {@link RandomAccessFile}.
@@ -59,6 +59,9 @@ public class DirectFileReadDataSource implements DataSource {
             }
             byteBuffer.put(buf, 0, bytesRead);
         }
+        if (bytesRead < 0 && position() == size() && byteBuffer.hasRemaining()) {
+            throw new IOException("End of stream reached earlier than expected");
+        }
         return ((bytesRead < 0) && (totalRead == 0)) ? -1 : totalRead;
     }
 

http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-parsers/src/test/java/org/apache/tika/parser/mp4/MP4ParserTest.java
----------------------------------------------------------------------
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mp4/MP4ParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mp4/MP4ParserTest.java
index d4dc394..90476c6 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mp4/MP4ParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mp4/MP4ParserTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.tika.parser.mp4;
 
-import static org.apache.tika.TikaTest.assertContains;
 import static org.junit.Assert.assertEquals;
 
 import java.io.InputStream;
 
+import org.apache.tika.TikaTest;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.TikaCoreProperties;
@@ -36,7 +36,7 @@ import org.xml.sax.ContentHandler;
 /**
  * Test case for parsing mp4 files.
  */
-public class MP4ParserTest {
+public class MP4ParserTest extends TikaTest {
     /**
      * Test that we can extract information from
      *  a M4A MP4 Audio file
@@ -105,4 +105,12 @@ public class MP4ParserTest {
     
     // TODO Test a MP4 Video file
     // TODO Test an old QuickTime Video File
+    @Test(timeout = 30000)
+    public void testInfiniteLoop() throws Exception {
+        //test that a truncated mp4 doesn't cause an infinite loop
+        //TIKA-1931 and TIKA-1924
+        XMLResult r = getXML("testMP4_truncated.m4a");
+        assertEquals("audio/mp4", r.metadata.get(Metadata.CONTENT_TYPE));
+        assertEquals("M4A", r.metadata.get(XMPDM.AUDIO_COMPRESSOR));
+    }
 }

http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-parsers/src/test/resources/test-documents/testMP4_truncated.m4a
----------------------------------------------------------------------
diff --git a/tika-parsers/src/test/resources/test-documents/testMP4_truncated.m4a b/tika-parsers/src/test/resources/test-documents/testMP4_truncated.m4a
new file mode 100644
index 0000000..31fdef4
Binary files /dev/null and b/tika-parsers/src/test/resources/test-documents/testMP4_truncated.m4a differ

http://git-wip-us.apache.org/repos/asf/tika/blob/2cce66dd/tika-server/pom.xml
----------------------------------------------------------------------
diff --git a/tika-server/pom.xml b/tika-server/pom.xml
index 95d4615..d2ebf09 100644
--- a/tika-server/pom.xml
+++ b/tika-server/pom.xml
@@ -266,25 +266,6 @@
           </excludes>
         </configuration>
       </plugin>
-      <plugin>
-        <groupId>com.qmino</groupId>
-        <artifactId>miredot-maven-plugin</artifactId>
-        <version>1.4</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>restdoc</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <licence>
-            <!-- Miredot license key valid until August 1st, 2016 when we can apply for a new one - http://s.apache.org/oE -->
-            UHJvamVjdHxvcmcuYXBhY2hlLnRpa2EudGlrYS1zZXJ2ZXJ8MjAxNi0wOC0wMXx0cnVlI01Dd0NGRklXRzRqRmNTZXNJb2laRElKZVF4RXpieUNTQWhSMHBmTzZCMUdMbDBPQ1B1WmJYQ3NpZElZSCtRPT0=
-          </licence>
-          <!-- insert other configuration here (optional) -->
-        </configuration>
-      </plugin>
     </plugins>
   </build>
   <profiles>


[2/2] tika git commit: TIKA-1924 -- add back qmino from last commit and clean up earlier work on ParseContext.

Posted by ta...@apache.org.
TIKA-1924 -- add back qmino from last commit and clean up earlier work on ParseContext.


Project: http://git-wip-us.apache.org/repos/asf/tika/repo
Commit: http://git-wip-us.apache.org/repos/asf/tika/commit/c9d508dc
Tree: http://git-wip-us.apache.org/repos/asf/tika/tree/c9d508dc
Diff: http://git-wip-us.apache.org/repos/asf/tika/diff/c9d508dc

Branch: refs/heads/master
Commit: c9d508dc184244bdc08657e7da2f33b9a1fd6bd2
Parents: 2cce66d
Author: tballison <ta...@mitre.org>
Authored: Fri Apr 22 12:40:22 2016 -0400
Committer: tballison <ta...@mitre.org>
Committed: Fri Apr 22 12:40:22 2016 -0400

----------------------------------------------------------------------
 .../org/apache/tika/parser/NetworkParser.java   |  4 +-
 .../org/apache/tika/parser/ParseContext.java    | 87 ++++++++++----------
 .../ooxml/XSSFExcelExtractorDecorator.java      |  1 +
 tika-server/pom.xml                             | 19 +++++
 4 files changed, 68 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tika/blob/c9d508dc/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
----------------------------------------------------------------------
diff --git a/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java b/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
index 0130005..0f338b7 100644
--- a/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
+++ b/tika-core/src/main/java/org/apache/tika/parser/NetworkParser.java
@@ -34,6 +34,7 @@ import org.apache.tika.io.TemporaryResources;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.mime.MediaType;
+import org.apache.tika.sax.OfflineContentHandler;
 import org.apache.tika.sax.TaggedContentHandler;
 import org.apache.tika.sax.TeeContentHandler;
 import org.xml.sax.Attributes;
@@ -121,7 +122,8 @@ public class NetworkParser extends AbstractParser {
             Thread thread = new Thread(this, "Tika network parser");
             thread.start();
 
-            TaggedContentHandler tagged = new TaggedContentHandler(handler);
+            TaggedContentHandler tagged = new TaggedContentHandler(
+                    new OfflineContentHandler(handler));
             try {
                 context.getSAXParser().parse(
                         stream, new TeeContentHandler(

http://git-wip-us.apache.org/repos/asf/tika/blob/c9d508dc/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java
----------------------------------------------------------------------
diff --git a/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java b/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java
index 9863cbf..f3f58ed 100644
--- a/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java
+++ b/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java
@@ -53,12 +53,21 @@ public class ParseContext implements Serializable {
     /** Map of objects in this context */
     private final Map<String, Object> context = new HashMap<String, Object>();
 
-    public static final EntityResolver IGNORING_ENTITY_RESOLVER = new EntityResolver() {
+    public static final EntityResolver IGNORING_SAX_ENTITY_RESOLVER = new EntityResolver() {
         public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
             return new InputSource(new StringReader(""));
         }
     };
 
+    public static final XMLResolver IGNORING_STAX_ENTITY_RESOLVER =
+            new XMLResolver() {
+                @Override
+                public Object resolveEntity(String publicID, String systemID, String baseURI, String namespace) throws
+                        XMLStreamException {
+                    return "";
+                }
+            };
+
     /**
      * Adds the given value to the context as an implementation of the given
      * interface.
@@ -174,13 +183,15 @@ public class ParseContext implements Serializable {
     private DocumentBuilderFactory getDocumentBuilderFactory() {
         //borrowed from Apache POI
         DocumentBuilderFactory documentBuilderFactory = get(DocumentBuilderFactory.class);
-        if (documentBuilderFactory == null) {
-            documentBuilderFactory = DocumentBuilderFactory.newInstance();
+        if (documentBuilderFactory != null) {
+            return documentBuilderFactory;
         }
+        documentBuilderFactory = DocumentBuilderFactory.newInstance();
         documentBuilderFactory.setNamespaceAware(true);
         documentBuilderFactory.setValidating(false);
-        trySetSAXFeature(documentBuilderFactory, XMLConstants.FEATURE_SECURE_PROCESSING, true);
-        trySetXercesSecurityManager(documentBuilderFactory);
+        tryToSetSAXFeatureOnDOMFactory(documentBuilderFactory,
+            XMLConstants.FEATURE_SECURE_PROCESSING, true);
+        tryToSetXercesManager(documentBuilderFactory);
         return documentBuilderFactory;
     }
 
@@ -188,7 +199,7 @@ public class ParseContext implements Serializable {
      * Returns the DOM builder specified in this parsing context.
      * If a builder is not explicitly specified, then a builder
      * instance is created and returned. The builder instance is
-     * configured to apply an {@link #IGNORING_ENTITY_RESOLVER},
+     * configured to apply an {@link #IGNORING_SAX_ENTITY_RESOLVER},
      * and it sets the ErrorHandler to <code>null</code>.
      *
      * @since Apache Tika 1.13
@@ -202,7 +213,7 @@ public class ParseContext implements Serializable {
         try {
             DocumentBuilderFactory documentBuilderFactory = getDocumentBuilderFactory();
             documentBuilder = documentBuilderFactory.newDocumentBuilder();
-            documentBuilder.setEntityResolver(IGNORING_ENTITY_RESOLVER);
+            documentBuilder.setEntityResolver(IGNORING_SAX_ENTITY_RESOLVER);
             documentBuilder.setErrorHandler(null);
             return documentBuilder;
         } catch (ParserConfigurationException e) {
@@ -210,14 +221,38 @@ public class ParseContext implements Serializable {
         }
     }
 
-    private static void trySetSAXFeature(DocumentBuilderFactory dbf, String feature, boolean value) {
+    /**
+     * Returns the StAX input factory specified in this parsing context.
+     * If a factory is not explicitly specified, then a default factory
+     * instance is created and returned. The default factory instance is
+     * configured to be namespace-aware and to apply reasonable security
+     * using the {@link #IGNORING_STAX_ENTITY_RESOLVER}.
+     *
+     * @since Apache Tika 1.13
+     * @return StAX input factory
+     */
+    public XMLInputFactory getXMLInputFactory() {
+        XMLInputFactory factory = get(XMLInputFactory.class);
+        if (factory != null) {
+            return factory;
+        }
+        factory = XMLInputFactory.newFactory();
+
+        tryToSetStaxProperty(factory, XMLInputFactory.IS_NAMESPACE_AWARE, true);
+        tryToSetStaxProperty(factory, XMLInputFactory.IS_VALIDATING, false);
+
+        factory.setXMLResolver(IGNORING_STAX_ENTITY_RESOLVER);
+        return factory;
+    }
+
+    private static void tryToSetSAXFeatureOnDOMFactory(DocumentBuilderFactory dbf, String feature, boolean value) {
         try {
             dbf.setFeature(feature, value);
         } catch (Exception|AbstractMethodError e) {
         }
     }
 
-    private static void trySetXercesSecurityManager(DocumentBuilderFactory dbf) {
+    private static void tryToSetXercesManager(DocumentBuilderFactory dbf) {
         // Try built-in JVM one first, standalone if not
         for (String securityManagerClassName : new String[] {
                 "com.sun.org.apache.xerces.internal.util.SecurityManager",
@@ -235,39 +270,7 @@ public class ParseContext implements Serializable {
         }
     }
 
-    /**
-     * Returns the StAX input factory specified in this parsing context.
-     * If a factory is not explicitly specified, then a default factory
-     * instance is created and returned. The default factory instance is
-     * configured to be namespace-aware and to apply reasonable security
-     * features -- don't support dtd, ignore external entities, null XMLResolver.
-     *
-     * @since Apache Tika 1.13
-     * @return StAX input factory
-     */
-    public XMLInputFactory getXMLInputFactory() {
-        XMLInputFactory factory = get(XMLInputFactory.class);
-        if (factory != null) {
-            return factory;
-        }
-        factory = XMLInputFactory.newFactory();
-
-        tryToSetProperty(factory, XMLInputFactory.IS_NAMESPACE_AWARE, true);
-        tryToSetProperty(factory, XMLInputFactory.IS_VALIDATING, false);
-
-        tryToSetProperty(factory, XMLInputFactory.SUPPORT_DTD, false);
-        tryToSetProperty(factory, XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
-        factory.setXMLResolver(new XMLResolver() {
-            @Override
-            public Object resolveEntity(String publicID, String systemID, String baseURI, String namespace) throws
-                    XMLStreamException {
-                return null;
-            }
-        });
-        return factory;
-    }
-
-    private void tryToSetProperty(XMLInputFactory factory, String key, boolean value) {
+    private void tryToSetStaxProperty(XMLInputFactory factory, String key, boolean value) {
         try {
             factory.setProperty(key, value);
         } catch (IllegalArgumentException e) {

http://git-wip-us.apache.org/repos/asf/tika/blob/c9d508dc/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java
----------------------------------------------------------------------
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java
index 0e44abd..f9bc12f 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java
@@ -190,6 +190,7 @@ public class XSSFExcelExtractorDecorator extends AbstractOOXMLExtractor {
         try {
             SAXParser saxParser = parseContext.getSAXParser();
             XMLReader sheetParser = saxParser.getXMLReader();
+            sheetParser.setEntityResolver(ParseContext.IGNORING_SAX_ENTITY_RESOLVER);
             XSSFSheetInterestingPartsCapturer handler =
                     new XSSFSheetInterestingPartsCapturer(new XSSFSheetXMLHandler(
                             styles, comments, strings, sheetContentsExtractor, formatter, false));

http://git-wip-us.apache.org/repos/asf/tika/blob/c9d508dc/tika-server/pom.xml
----------------------------------------------------------------------
diff --git a/tika-server/pom.xml b/tika-server/pom.xml
index d2ebf09..0d84b76 100644
--- a/tika-server/pom.xml
+++ b/tika-server/pom.xml
@@ -289,6 +289,25 @@
               </execution>
             </executions>
           </plugin>
+          <plugin>
+            <groupId>com.qmino</groupId>
+            <artifactId>miredot-maven-plugin</artifactId>
+            <version>1.4</version>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>restdoc</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <licence>
+                <!-- Miredot license key valid until August 1st, 2016 when we can apply for a new one - http://s.apache.org/oE -->
+                UHJvamVjdHxvcmcuYXBhY2hlLnRpa2EudGlrYS1zZXJ2ZXJ8MjAxNi0wOC0wMXx0cnVlI01Dd0NGRklXRzRqRmNTZXNJb2laRElKZVF4RXpieUNTQWhSMHBmTzZCMUdMbDBPQ1B1WmJYQ3NpZElZSCtRPT0=
+              </licence>
+              <!-- insert other configuration here (optional) -->
+            </configuration>
+          </plugin>
         </plugins>
       </build>
     </profile>