You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by gi...@apache.org on 2013/11/22 19:05:02 UTC
svn commit: r1544623 - in
/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax:
ext/ impl/processor/input/
Author: giger
Date: Fri Nov 22 18:05:02 2013
New Revision: 1544623
URL: http://svn.apache.org/r1544623
Log:
call to doFinal() should usually be the first statement in the input-processors doFinal() method so that
the processor order will be adhered.
Modified:
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java?rev=1544623&r1=1544622&r2=1544623&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/ext/ProcessorChain.java Fri Nov 22 18:05:02 2013
@@ -37,6 +37,10 @@ public interface ProcessorChain {
/**
* Will finally be called when the whole document is processed
+ * Important note: Every processor in the chain has to call doFinal() in its own doFinal() method.
+ * InputProcessors should call it before doing other stuff to keep the processing order. Remember the
+ * input-chain is in principle processed in the reverse order since we "leech" the events through the chain.
+ * So that means that we should do the same for the doFinal method, otherwise we may run into troubles.
*
* @throws XMLStreamException thrown when a streaming error occurs
* @throws XMLSecurityException thrown when a Security failure occurs
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java?rev=1544623&r1=1544622&r2=1544623&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractDecryptInputProcessor.java Fri Nov 22 18:05:02 2013
@@ -527,6 +527,8 @@ public abstract class AbstractDecryptInp
@Override
public void doFinal(InputProcessorChain inputProcessorChain) throws XMLStreamException, XMLSecurityException {
+ inputProcessorChain.doFinal();
+
//here we check if all references where processed.
if (references != null) {
Iterator<Map.Entry<String, ReferenceType>> refEntryIterator = this.references.entrySet().iterator();
@@ -537,7 +539,6 @@ public abstract class AbstractDecryptInp
}
}
}
- inputProcessorChain.doFinal();
}
/**
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java?rev=1544623&r1=1544622&r2=1544623&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/stax/impl/processor/input/AbstractSignatureReferenceVerifyInputProcessor.java Fri Nov 22 18:05:02 2013
@@ -199,7 +199,6 @@ public abstract class AbstractSignatureR
@Override
public void doFinal(InputProcessorChain inputProcessorChain) throws XMLStreamException, XMLSecurityException {
- //first call must be (order matters!):
inputProcessorChain.doFinal();
for (int i = 0; i < sameDocumentReferences.size(); i++) {