You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by ka...@apache.org on 2007/08/31 11:39:27 UTC

svn commit: r571411 - in /webservices/rampart/trunk/c/src: omxmlsec/axiom.c omxmlsec/tokens/token_encrypted_data.c util/rampart_sec_header_processor.c

Author: kaushalye
Date: Fri Aug 31 02:39:26 2007
New Revision: 571411

URL: http://svn.apache.org/viewvc?rev=571411&view=rev
Log:
Memory leak fixes
Keep session key to decrypt the encrypted signature

Modified:
    webservices/rampart/trunk/c/src/omxmlsec/axiom.c
    webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_data.c
    webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c

Modified: webservices/rampart/trunk/c/src/omxmlsec/axiom.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/axiom.c?rev=571411&r1=571410&r2=571411&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/axiom.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/axiom.c Fri Aug 31 02:39:26 2007
@@ -181,7 +181,7 @@
     axutil_qname_t *qname = NULL;
 
     ele = axiom_node_get_data_element(node, env);
-    qname = axutil_qname_create(env, attribute_name, ns /*NULL*//*OXS_WSU_XMLNS*/, NULL);
+    qname = axutil_qname_create(env, attribute_name, ns , NULL);
     attribute_value = oxs_axiom_get_attribute_val_of_node_by_qname(env, node, qname);
     axutil_qname_free(qname, env);
     qname = NULL;

Modified: webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_data.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_data.c?rev=571411&r1=571410&r2=571411&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_data.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_data.c Fri Aug 31 02:39:26 2007
@@ -59,26 +59,11 @@
     wsu_ns_obj = axiom_namespace_create(env, OXS_WSU_XMLNS, OXS_WSU);
 
 
-        if(!id){
-            id = oxs_util_generate_id(env, (axis2_char_t*)OXS_ENCDATA_ID);
-        }
-        id_attr = axiom_attribute_create(env, OXS_ATTR_ID, id, NULL /*wsu_ns_obj*/);
-        ret = axiom_element_add_attribute(encrypted_data_ele, env, id_attr, encrypted_data_node);
-#if 0    
-    if (id)
-    {
-        id_attr = axiom_attribute_create(env, OXS_ATTR_ID, id, NULL /*wsu_ns_obj*/);
-        ret = axiom_element_add_attribute(encrypted_data_ele, env, id_attr, encrypted_data_node);
-    }
-    else
-    {
-        /*TODO Get a unique value for this*/
-        axis2_char_t *id = NULL;
+    if(!id){
         id = oxs_util_generate_id(env, (axis2_char_t*)OXS_ENCDATA_ID);
-        id_attr = axiom_attribute_create(env, OXS_ATTR_ID, id, NULL/*wsu_ns_obj*/);
-        ret = axiom_element_add_attribute(encrypted_data_ele, env, id_attr, encrypted_data_node);
     }
-#endif
+    id_attr = axiom_attribute_create(env, OXS_ATTR_ID, id, NULL );
+    ret = axiom_element_add_attribute(encrypted_data_ele, env, id_attr, encrypted_data_node);
 
     return encrypted_data_node;
 

Modified: webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c?rev=571411&r1=571410&r2=571411&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c Fri Aug 31 02:39:26 2007
@@ -434,10 +434,6 @@
         id = NULL;
         */
 
-        if(decrypted_sym_key){
-            oxs_key_free(decrypted_sym_key, env);
-            decrypted_sym_key = NULL;
-        }
         AXIS2_LOG_INFO(env->log, "[rampart][shp] Node ID=%s decrypted successfuly", id);
     }/*end of For loop*/
 
@@ -448,6 +444,11 @@
     /*Free*/
     oxs_asym_ctx_free(asym_ctx, env);
     asym_ctx = NULL;
+
+    if(decrypted_sym_key){
+        oxs_key_free(decrypted_sym_key, env);
+        decrypted_sym_key = NULL;
+    }
 
     axutil_array_list_free(reference_list, env);
     reference_list = NULL;