You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by bl...@apache.org on 2004/07/19 13:59:54 UTC

cvs commit: xml-security/c/src/xkms/impl XKMSKeyBindingAbstractTypeImpl.cpp XKMSKeyBindingImpl.cpp

blautenb    2004/07/19 04:59:54

  Modified:    c/src/xkms/impl XKMSKeyBindingAbstractTypeImpl.cpp
                        XKMSKeyBindingImpl.cpp
  Log:
  Fix KeyBinding ordering for UseKeyWith elements
  
  Revision  Changes    Path
  1.4       +24 -4     xml-security/c/src/xkms/impl/XKMSKeyBindingAbstractTypeImpl.cpp
  
  Index: XKMSKeyBindingAbstractTypeImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-security/c/src/xkms/impl/XKMSKeyBindingAbstractTypeImpl.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XKMSKeyBindingAbstractTypeImpl.cpp	19 Jun 2004 23:05:30 -0000	1.3
  +++ XKMSKeyBindingAbstractTypeImpl.cpp	19 Jul 2004 11:59:54 -0000	1.4
  @@ -394,10 +394,30 @@
   
   	DOMElement * e = u->createBlankUseKeyWith(application, identifier);
   
  -	// Append the element
  +	// Find where to append the element
  +	DOMElement * t = findFirstElementChild(mp_keyBindingAbstractTypeElement);
  +	while (t != NULL) {
  +		if (!strEquals(getDSIGLocalName(t), XKMSConstants::s_tagKeyInfo) &&
  +			!strEquals(getXKMSLocalName(t), XKMSConstants::s_tagKeyUsage) &&
  +			!strEquals(getXKMSLocalName(t), XKMSConstants::s_tagUseKeyWith))
  +			break;
  +
  +		t = findNextElementChild(t);
  +	}
   
  -	mp_keyBindingAbstractTypeElement->appendChild(e);
  -	mp_env->doPrettyPrint(mp_keyBindingAbstractTypeElement);
  +	// Append the element
  +	if (t == NULL) {
  +		mp_keyBindingAbstractTypeElement->appendChild(e);
  +		mp_env->doPrettyPrint(mp_keyBindingAbstractTypeElement);
  +	}
  +	else {
  +		mp_keyBindingAbstractTypeElement->insertBefore(e, t);
  +		if (mp_env->getPrettyPrintFlag()) {
  +			mp_keyBindingAbstractTypeElement->insertBefore(
  +				mp_env->getParentDocument()->createTextNode(DSIGConstants::s_unicodeStrNL),
  +				t);
  +		}
  +	}
   
   	return u;
   
  
  
  
  1.3       +9 -3      xml-security/c/src/xkms/impl/XKMSKeyBindingImpl.cpp
  
  Index: XKMSKeyBindingImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-security/c/src/xkms/impl/XKMSKeyBindingImpl.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XKMSKeyBindingImpl.cpp	11 Jul 2004 12:08:12 -0000	1.2
  +++ XKMSKeyBindingImpl.cpp	19 Jul 2004 11:59:54 -0000	1.3
  @@ -45,7 +45,7 @@
   		const XSECEnv * env 
   		) :
   XKMSKeyBindingAbstractTypeImpl(env) {
  -
  +	mp_status = NULL;
   }
   
   XKMSKeyBindingImpl::XKMSKeyBindingImpl(
  @@ -54,9 +54,15 @@
   		) :
   XKMSKeyBindingAbstractTypeImpl(env, node) {
   
  +	mp_status = NULL;
   }
   
  -XKMSKeyBindingImpl::~XKMSKeyBindingImpl() {}
  +XKMSKeyBindingImpl::~XKMSKeyBindingImpl() {
  +
  +	if (mp_status != NULL)
  +		delete mp_status;
  +
  +}
   
   // --------------------------------------------------------------------------------
   //           Load from DOM