You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2019/09/04 16:55:01 UTC
svn commit: r1866402 - in /poi/trunk: ./ maven/ sonar/ooxml/
src/ooxml/java/org/apache/poi/ooxml/util/
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/
src/testcases/org/apache/poi/
Author: fanningpj
Date: Wed Sep 4 16:55:00 2019
New Revision: 1866402
URL: http://svn.apache.org/viewvc?rev=1866402&view=rev
Log:
[bug-63725] commons-compress 1.19
Modified:
poi/trunk/.classpath
poi/trunk/build.gradle
poi/trunk/build.xml
poi/trunk/maven/poi-ooxml.pom
poi/trunk/sonar/ooxml/pom.xml
poi/trunk/src/ooxml/java/org/apache/poi/ooxml/util/DocumentHelper.java
poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
poi/trunk/src/testcases/org/apache/poi/POIDataSamples.java
Modified: poi/trunk/.classpath
URL: http://svn.apache.org/viewvc/poi/trunk/.classpath?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/.classpath (original)
+++ poi/trunk/.classpath Wed Sep 4 16:55:00 2019
@@ -40,7 +40,7 @@
<classpathentry kind="lib" path="lib/commons-math3-3.6.1.jar"/>
<classpathentry kind="lib" path="lib/xmlunit-core-2.5.1.jar"/>
<classpathentry kind="lib" path="lib/objenesis-2.6.jar"/>
- <classpathentry kind="lib" path="lib/commons-compress-1.18.jar"/>
+ <classpathentry kind="lib" path="lib/commons-compress-1.19.jar"/>
<classpathentry kind="lib" path="lib/mockito-core-3.0.0.jar"/>
<classpathentry kind="lib" path="lib/byte-buddy-1.10.1.jar"/>
<classpathentry kind="lib" path="lib/byte-buddy-agent-1.10.1.jar"/>
Modified: poi/trunk/build.gradle
URL: http://svn.apache.org/viewvc/poi/trunk/build.gradle?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/build.gradle (original)
+++ poi/trunk/build.gradle Wed Sep 4 16:55:00 2019
@@ -233,7 +233,7 @@ project('ooxml') {
compile 'org.apache.xmlbeans:xmlbeans:3.1.0'
compile 'org.apache.commons:commons-collections4:4.4'
compile 'org.apache.commons:commons-math3:3.6.1'
- compile 'org.apache.commons:commons-compress:1.18'
+ compile 'org.apache.commons:commons-compress:1.19'
compile 'org.apache.santuario:xmlsec:2.1.2'
compile 'org.bouncycastle:bcpkix-jdk15on:1.62'
compile 'com.github.virtuald:curvesapi:1.06'
Modified: poi/trunk/build.xml
URL: http://svn.apache.org/viewvc/poi/trunk/build.xml?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/build.xml (original)
+++ poi/trunk/build.xml Wed Sep 4 16:55:00 2019
@@ -244,9 +244,9 @@ under the License.
<property name="ooxml.xmlbeans.jar" location="${ooxml.lib}/xmlbeans-3.1.0.jar"/>
<property name="ooxml.xmlbeans.url"
value="https://repository.apache.org/content/repositories/releases/org/apache/xmlbeans/xmlbeans/3.1.0/xmlbeans-3.1.0.jar"/>
- <property name="ooxml.commons-compress.jar" location="${main.lib}/commons-compress-1.18.jar"/>
+ <property name="ooxml.commons-compress.jar" location="${main.lib}/commons-compress-1.19.jar"/>
<property name="ooxml.commons-compress.url"
- value="${repository.m2}/maven2/org/apache/commons/commons-compress/1.18/commons-compress-1.18.jar"/>
+ value="${repository.m2}/maven2/org/apache/commons/commons-compress/1.19/commons-compress-1.19.jar"/>
<!-- jars in the ooxml-test-lib directory, see the fetch-ooxml-jars target-->
<property name="ooxml.test.reflections.jar" location="${ooxml.test.lib}/reflections.jar"/>
@@ -652,6 +652,7 @@ under the License.
<include name="commons-codec-1.12*"/>
<include name="commons-compress-1.16*"/>
<include name="commons-compress-1.17*"/>
+ <include name="commons-compress-1.18*"/>
<include name="commons-collections4-4.1*"/>
<include name="commons-collections4-4.2*"/>
<include name="commons-collections4-4.3*"/>
Modified: poi/trunk/maven/poi-ooxml.pom
URL: http://svn.apache.org/viewvc/poi/trunk/maven/poi-ooxml.pom?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/maven/poi-ooxml.pom (original)
+++ poi/trunk/maven/poi-ooxml.pom Wed Sep 4 16:55:00 2019
@@ -72,7 +72,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
- <version>1.18</version>
+ <version>1.19</version>
</dependency>
<dependency>
<groupId>com.github.virtuald</groupId>
Modified: poi/trunk/sonar/ooxml/pom.xml
URL: http://svn.apache.org/viewvc/poi/trunk/sonar/ooxml/pom.xml?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/sonar/ooxml/pom.xml (original)
+++ poi/trunk/sonar/ooxml/pom.xml Wed Sep 4 16:55:00 2019
@@ -152,7 +152,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
- <version>1.18</version>
+ <version>1.19</version>
</dependency>
<dependency>
<groupId>com.github.virtuald</groupId>
Modified: poi/trunk/src/ooxml/java/org/apache/poi/ooxml/util/DocumentHelper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/ooxml/util/DocumentHelper.java?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/ooxml/util/DocumentHelper.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/ooxml/util/DocumentHelper.java Wed Sep 4 16:55:00 2019
@@ -19,6 +19,7 @@ package org.apache.poi.ooxml.util;
import java.io.IOException;
import java.io.InputStream;
+import java.io.StringWriter;
import java.lang.reflect.Method;
import java.util.concurrent.TimeUnit;
@@ -27,11 +28,15 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.stream.events.Namespace;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
+import org.w3c.dom.*;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -97,6 +102,33 @@ public final class DocumentHelper {
}
}
+ public static String domToString(Node node) throws Exception {
+ TransformerFactory tf = TransformerFactory.newInstance();
+ Transformer t = tf.newTransformer();
+ t.setOutputProperty(OutputKeys.INDENT, "yes");
+ StringWriter sw = new StringWriter();
+ t.transform(new DOMSource(node), new StreamResult(sw));
+ return sw.toString();
+ }
+
+ public static Attr findIdAttr(Element e, String name) throws Exception {
+ Attr att = e.getAttributeNode("Id");
+ if(att != null && name.equals(att.getValue())) {
+ return att;
+ }
+ NodeList nl = e.getChildNodes();
+ for (int i = 0; i < nl.getLength(); i++) {
+ Node child = nl.item(i);
+ if (child instanceof Element) {
+ Attr x = findIdAttr((Element)child, name);
+ if (x != null) {
+ return x;
+ }
+ }
+ }
+ return null;
+ }
+
static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
static {
documentBuilderFactory.setNamespaceAware(true);
Modified: poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java Wed Sep 4 16:55:00 2019
@@ -70,8 +70,7 @@ import org.etsi.uri.x01903.v13.SignedSig
import org.etsi.uri.x01903.v13.SignerRoleType;
import org.w3.x2000.x09.xmldsig.DigestMethodType;
import org.w3.x2000.x09.xmldsig.X509IssuerSerialType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
+import org.w3c.dom.*;
/**
* XAdES Signature Facet. Implements XAdES v1.4.1 which is compatible with XAdES
@@ -224,10 +223,32 @@ public class XAdESSignatureFacet extends
private XMLObject addXadesObject(Document document, QualifyingPropertiesType qualifyingProperties) {
Node qualDocElSrc = qualifyingProperties.getDomNode();
Node qualDocEl = document.importNode(qualDocElSrc, true);
+ markIds(qualDocEl);
List<XMLStructure> xadesObjectContent = Arrays.asList(new DOMStructure(qualDocEl));
return getSignatureFactory().newXMLObject(xadesObjectContent, null, null, null);
}
+ private void markIds(Node node) {
+ if (node instanceof Element) {
+ markIds((Element)node);
+ } else if (node instanceof Document) {
+ markIds(((Document)node).getDocumentElement());
+ }
+ }
+
+ private void markIds(Element element) {
+ if (element != null) {
+ Attr att = element.getAttributeNode("Id");
+ if (att != null) {
+ element.setIdAttributeNode(att, true);
+ }
+ NodeList nl = element.getChildNodes();
+ for (int i = 0; i < nl.getLength(); i++) {
+ markIds(nl.item(i));
+ }
+ }
+ }
+
private Reference addXadesReference() throws XMLSignatureException {
List<Transform> transforms = singletonList(newTransform(CanonicalizationMethod.INCLUSIVE));
return newReference("#"+signatureConfig.getXadesSignatureId(), transforms, XADES_TYPE, null, null);
Modified: poi/trunk/src/testcases/org/apache/poi/POIDataSamples.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/POIDataSamples.java?rev=1866402&r1=1866401&r2=1866402&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/POIDataSamples.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/POIDataSamples.java Wed Sep 4 16:55:00 2019
@@ -116,7 +116,10 @@ public final class POIDataSamples {
return _instHSMF;
}
- public static POIDataSamples getXmlDSignInstance(){
+ public static POIDataSamples getXmlDSignInstance() {
+ if (System.getProperty(TEST_PROPERTY) == null) {
+ System.setProperty(TEST_PROPERTY, "../../test-data");
+ }
if(_instXmlDSign == null) _instXmlDSign = new POIDataSamples("xmldsign");
return _instXmlDSign;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org