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/21 12:55:11 UTC
svn commit: r568057 - in /webservices/rampart/trunk/c/src:
omxmlsec/asym_ctx.c omxmlsec/ctx.c omxmlsec/key.c util/rampart_encryption.c
util/rampart_sec_header_processor.c
Author: kaushalye
Date: Tue Aug 21 03:55:05 2007
New Revision: 568057
URL: http://svn.apache.org/viewvc?rev=568057&view=rev
Log:
We kepe only one session key for all the symmetric encryptions for efficiency.
Thus the oxs_ctx doesn't free session key.
This is different to rampart context, in which keeps it's own session key.
Modified:
webservices/rampart/trunk/c/src/omxmlsec/asym_ctx.c
webservices/rampart/trunk/c/src/omxmlsec/ctx.c
webservices/rampart/trunk/c/src/omxmlsec/key.c
webservices/rampart/trunk/c/src/util/rampart_encryption.c
webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
Modified: webservices/rampart/trunk/c/src/omxmlsec/asym_ctx.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/asym_ctx.c?rev=568057&r1=568056&r2=568057&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/asym_ctx.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/asym_ctx.c Tue Aug 21 03:55:05 2007
@@ -335,6 +335,12 @@
oxs_x509_cert_free(asym_ctx->certificate, env);
asym_ctx->certificate = NULL;
}
+
+ if (asym_ctx->private_key)
+ {
+ openssl_pkey_free(asym_ctx->private_key, env);
+ asym_ctx->private_key = NULL;
+ }
AXIS2_FREE(env->allocator, asym_ctx);
asym_ctx = NULL;
Modified: webservices/rampart/trunk/c/src/omxmlsec/ctx.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/ctx.c?rev=568057&r1=568056&r2=568057&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/ctx.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/ctx.c Tue Aug 21 03:55:05 2007
@@ -135,7 +135,10 @@
}
/*TODO free nodes and key*/
-
+ /*if(ctx->key){
+ oxs_key_free(ctx->key, env);
+ ctx->key = NULL;
+ }*/
AXIS2_FREE(env->allocator, ctx);
ctx = NULL;
@@ -310,11 +313,11 @@
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- if (ctx->key)
+ /* if (ctx->key)
{
- AXIS2_FREE(env->allocator, ctx->key);
+ oxs_key_free(ctx->key, env);
ctx->key = NULL;
- }
+ }*/
ctx->key = key;
return AXIS2_SUCCESS;
Modified: webservices/rampart/trunk/c/src/omxmlsec/key.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/key.c?rev=568057&r1=568056&r2=568057&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/key.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/key.c Tue Aug 21 03:55:05 2007
@@ -141,7 +141,7 @@
oxs_key_get_buffer(key, env),
axutil_strdup(env, key->name),
key->usage);
- return key;
+ return new_key;
}
AXIS2_EXTERN oxs_key_t *AXIS2_CALL
@@ -174,7 +174,7 @@
const axutil_env_t *env)
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+
oxs_buffer_free(key->buf, env);
key->buf = NULL;
AXIS2_FREE(env->allocator, key->name);
@@ -278,7 +278,7 @@
ret = oxs_key_populate(key, env,
- oxs_buffer_get_data(key_buf, env), NULL,
+ oxs_buffer_get_data(key_buf, env), "for-algo",
oxs_buffer_get_size(key_buf, env), OXS_KEY_USAGE_NONE);
oxs_buffer_free(key_buf, env);
Modified: webservices/rampart/trunk/c/src/util/rampart_encryption.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_encryption.c?rev=568057&r1=568056&r2=568057&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_encryption.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_encryption.c Tue Aug 21 03:55:05 2007
@@ -182,6 +182,7 @@
return AXIS2_FAILURE;
}
+ /*Key will be duplicated inside the function. So no worries freeing it here*/
rampart_context_set_session_key(rampart_context, env, session_key);
/*Create a list to store EncDataIds. This will be used in building the ReferenceList*/
@@ -329,6 +330,9 @@
}
oxs_asym_ctx_free(asym_ctx, env);
asym_ctx = NULL;
+
+ oxs_key_free(session_key, env);
+ session_key = NULL;
return AXIS2_SUCCESS;
}
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=568057&r1=568056&r2=568057&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 Tue Aug 21 03:55:05 2007
@@ -441,8 +441,8 @@
/*Free*/
oxs_asym_ctx_free(asym_ctx, env);
asym_ctx = NULL;
- oxs_key_free(decrypted_sym_key, env);
- decrypted_sym_key = NULL;
+ /*oxs_key_free(decrypted_sym_key, env);
+ decrypted_sym_key = NULL;*/
return AXIS2_SUCCESS;
}