You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ma...@apache.org on 2007/07/10 14:08:35 UTC
svn commit: r554918 - in /webservices/axis2/trunk/c/neethi: include/
src/secpolicy/model/
Author: manjula
Date: Tue Jul 10 05:08:34 2007
New Revision: 554918
URL: http://svn.apache.org/viewvc?view=rev&rev=554918
Log:
Adding ref count to fix memory leaks.
Modified:
webservices/axis2/trunk/c/neethi/include/rp_asymmetric_binding.h
webservices/axis2/trunk/c/neethi/include/rp_https_token.h
webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h
webservices/axis2/trunk/c/neethi/include/rp_security_context_token.h
webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_elements.h
webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_parts.h
webservices/axis2/trunk/c/neethi/include/rp_symmetric_binding.h
webservices/axis2/trunk/c/neethi/include/rp_transport_binding.h
webservices/axis2/trunk/c/neethi/include/rp_wss11.h
webservices/axis2/trunk/c/neethi/src/secpolicy/model/asymmetric_binding.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/https_token.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/security_context_token.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_elements.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_parts.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/symmetric_binding.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/transport_binding.c
webservices/axis2/trunk/c/neethi/src/secpolicy/model/wss11.c
Modified: webservices/axis2/trunk/c/neethi/include/rp_asymmetric_binding.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_asymmetric_binding.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_asymmetric_binding.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_asymmetric_binding.h Tue Jul 10 05:08:34 2007
@@ -74,6 +74,12 @@
rp_asymmetric_binding_t *asymmetric_binding,
const axutil_env_t *env);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_asymmetric_binding_increment_ref(
+ rp_asymmetric_binding_t *asymmetric_binding,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
#endif
Modified: webservices/axis2/trunk/c/neethi/include/rp_https_token.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_https_token.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_https_token.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_https_token.h Tue Jul 10 05:08:34 2007
@@ -65,6 +65,12 @@
const axutil_env_t *env,
axis2_bool_t require_client_certificate);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_https_token_increment_ref(
+ rp_https_token_t *https_token,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
#endif
Modified: webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h Tue Jul 10 05:08:34 2007
@@ -137,6 +137,11 @@
const axutil_env_t *env,
axis2_char_t *rd_val);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_rampart_config_increment_ref(
+ rp_rampart_config_t *rampart_config,
+ const axutil_env_t *env);
+
#ifdef __cplusplus
}
Modified: webservices/axis2/trunk/c/neethi/include/rp_security_context_token.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_security_context_token.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_security_context_token.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_security_context_token.h Tue Jul 10 05:08:34 2007
@@ -83,6 +83,12 @@
const axutil_env_t *env,
axis2_bool_t sc10_security_context_token);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_security_context_token_increment_ref(
+ rp_security_context_token_t *security_context_token,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
#endif
Modified: webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_elements.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_elements.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_elements.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_elements.h Tue Jul 10 05:08:34 2007
@@ -68,6 +68,12 @@
const axutil_env_t *env,
axis2_char_t *xpath_version);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_signed_encrypted_elements_increment_ref(
+ rp_signed_encrypted_elements_t *signed_encrypted_elements,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
Modified: webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_parts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_parts.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_parts.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_signed_encrypted_parts.h Tue Jul 10 05:08:34 2007
@@ -68,6 +68,12 @@
const axutil_env_t *env,
rp_header_t *header);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_signed_encrypted_parts_increment_ref(
+ rp_signed_encrypted_parts_t *signed_encrypted_parts,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
#endif
Modified: webservices/axis2/trunk/c/neethi/include/rp_symmetric_binding.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_symmetric_binding.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_symmetric_binding.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_symmetric_binding.h Tue Jul 10 05:08:34 2007
@@ -85,6 +85,12 @@
rp_symmetric_binding_t *symmetric_binding,
const axutil_env_t *env);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_symmetric_binding_increment_ref(
+ rp_symmetric_binding_t *symmetric_binding,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
#endif
Modified: webservices/axis2/trunk/c/neethi/include/rp_transport_binding.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_transport_binding.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_transport_binding.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_transport_binding.h Tue Jul 10 05:08:34 2007
@@ -63,6 +63,12 @@
rp_transport_binding_t *transport_binding,
const axutil_env_t *env);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_transport_binding_increment_ref(
+ rp_transport_binding_t *tansport_binding,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
#endif
Modified: webservices/axis2/trunk/c/neethi/include/rp_wss11.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_wss11.h?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_wss11.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_wss11.h Tue Jul 10 05:08:34 2007
@@ -101,6 +101,12 @@
rp_wss11_get_require_signature_confirmation(rp_wss11_t *wss11,
const axutil_env_t *env);
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ rp_wss11_increment_ref(
+ rp_wss11_t *wss11,
+ const axutil_env_t *env);
+
+
#ifdef __cplusplus
}
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/asymmetric_binding.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/asymmetric_binding.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/asymmetric_binding.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/asymmetric_binding.c Tue Jul 10 05:08:34 2007
@@ -23,6 +23,7 @@
rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons;
rp_property_t *initiator_token;
rp_property_t *recipient_token;
+ int ref;
};
AXIS2_EXTERN rp_asymmetric_binding_t *AXIS2_CALL
@@ -43,7 +44,8 @@
asymmetric_binding->symmetric_asymmetric_binding_commons = NULL;
asymmetric_binding->initiator_token = NULL;
asymmetric_binding->recipient_token = NULL;
-
+ asymmetric_binding->ref = 0;
+
return asymmetric_binding;
}
@@ -57,6 +59,12 @@
if(asymmetric_binding)
{
+
+ if (--(asymmetric_binding->ref) > 0)
+ {
+ return;
+ }
+
if(asymmetric_binding->symmetric_asymmetric_binding_commons)
{
rp_symmetric_asymmetric_binding_commons_free(
@@ -157,3 +165,14 @@
return asymmetric_binding->recipient_token;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_asymmetric_binding_increment_ref(
+ rp_asymmetric_binding_t *asymmetric_binding,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ asymmetric_binding->ref++;
+ return AXIS2_SUCCESS;
+}
+
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/https_token.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/https_token.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/https_token.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/https_token.c Tue Jul 10 05:08:34 2007
@@ -23,6 +23,7 @@
axis2_char_t *inclusion;
axis2_bool_t derivedkeys;
axis2_bool_t require_client_certificate;
+ int ref;
};
AXIS2_EXTERN rp_https_token_t *AXIS2_CALL
@@ -43,7 +44,8 @@
https_token->inclusion = RP_INCLUDE_ALWAYS;
https_token->derivedkeys = AXIS2_FALSE;
https_token->require_client_certificate = AXIS2_FALSE;
-
+ https_token->ref = 0;
+
return https_token;
}
@@ -56,6 +58,10 @@
if(https_token)
{
+ if (--(https_token->ref) > 0)
+ {
+ return;
+ }
AXIS2_FREE(env->allocator, https_token);
https_token = NULL;
}
@@ -131,3 +137,14 @@
return AXIS2_SUCCESS;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_https_token_increment_ref(
+ rp_https_token_t *https_token,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ https_token->ref++;
+ return AXIS2_SUCCESS;
+}
+
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c Tue Jul 10 05:08:34 2007
@@ -30,6 +30,7 @@
axis2_char_t *certificate_file;
axis2_char_t *private_key_file;
axis2_char_t *rd_val;
+ int ref;
};
AXIS2_EXTERN rp_rampart_config_t *AXIS2_CALL
@@ -57,6 +58,8 @@
rampart_config->password_type = NULL;
rampart_config->time_to_live = NULL;
rampart_config->rd_val = NULL;
+ rampart_config->ref = 0;
+
return rampart_config;
}
@@ -68,6 +71,11 @@
if(rampart_config)
{
+ if (--(rampart_config->ref) > 0)
+ {
+ return;
+ }
+
AXIS2_FREE(env->allocator,rampart_config);
rampart_config = NULL;
}
@@ -297,6 +305,16 @@
AXIS2_PARAM_CHECK(env->error, rd_val, AXIS2_FAILURE);
rampart_config->rd_val = rd_val;
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_rampart_config_increment_ref(
+ rp_rampart_config_t *rampart_config,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ rampart_config->ref++;
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/security_context_token.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/security_context_token.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/security_context_token.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/security_context_token.c Tue Jul 10 05:08:34 2007
@@ -25,6 +25,7 @@
axis2_bool_t derivedkeys;
axis2_bool_t require_external_uri_ref;
axis2_bool_t sc10_security_context_token;
+ int ref;
};
AXIS2_EXTERN rp_security_context_token_t *AXIS2_CALL
@@ -46,7 +47,8 @@
security_context_token->derivedkeys = AXIS2_FALSE;
security_context_token->require_external_uri_ref = AXIS2_FALSE;
security_context_token->sc10_security_context_token = AXIS2_FALSE;
-
+ security_context_token->ref = 0;
+
return security_context_token;
}
@@ -60,6 +62,11 @@
if(security_context_token)
{
+ if (--(security_context_token->ref) > 0)
+ {
+ return;
+ }
+
AXIS2_FREE(env->allocator, security_context_token);
security_context_token = NULL;
}
@@ -164,3 +171,14 @@
return AXIS2_SUCCESS;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_security_context_token_increment_ref(
+ rp_security_context_token_t *security_context_token,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ security_context_token->ref++;
+ return AXIS2_SUCCESS;
+}
+
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_elements.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_elements.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_elements.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_elements.c Tue Jul 10 05:08:34 2007
@@ -24,6 +24,7 @@
axis2_bool_t signedelements;
axutil_array_list_t *xpath_expressions;
axis2_char_t *xpath_version;
+ int ref;
};
@@ -53,6 +54,7 @@
}
signed_encrypted_elements->xpath_version = NULL;
+ signed_encrypted_elements->ref = 0;
return signed_encrypted_elements;
@@ -66,6 +68,10 @@
if(signed_encrypted_elements)
{
+ if (--(signed_encrypted_elements->ref) > 0)
+ {
+ return;
+ }
if(signed_encrypted_elements->xpath_expressions)
{
@@ -159,3 +165,14 @@
signed_encrypted_elements->xpath_version = xpath_version;
return AXIS2_SUCCESS;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_signed_encrypted_elements_increment_ref(
+ rp_signed_encrypted_elements_t *signed_encrypted_elements,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ signed_encrypted_elements->ref++;
+ return AXIS2_SUCCESS;
+}
+
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_parts.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_parts.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_parts.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/signed_encrypted_parts.c Tue Jul 10 05:08:34 2007
@@ -24,7 +24,7 @@
axis2_bool_t body;
axis2_bool_t signedparts;
axutil_array_list_t *headers;
-
+ int ref;
};
AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL
@@ -64,7 +64,10 @@
if(signed_encrypted_parts)
{
-
+ if (--(signed_encrypted_parts->ref) > 0)
+ {
+ return;
+ }
if(signed_encrypted_parts->headers)
{
int i = 0;
@@ -81,6 +84,7 @@
}
axutil_array_list_free(signed_encrypted_parts->headers, env);
signed_encrypted_parts->headers = NULL;
+ signed_encrypted_parts->ref = 0;
}
AXIS2_FREE(env->allocator,signed_encrypted_parts);
@@ -156,3 +160,13 @@
return AXIS2_SUCCESS;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_signed_encrypted_parts_increment_ref(
+ rp_signed_encrypted_parts_t *signed_encrypted_parts,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ signed_encrypted_parts->ref++;
+ return AXIS2_SUCCESS;
+}
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/symmetric_binding.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/symmetric_binding.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/symmetric_binding.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/symmetric_binding.c Tue Jul 10 05:08:34 2007
@@ -25,6 +25,7 @@
rp_property_t *protection_token;
rp_property_t *signature_token;
rp_property_t *encryption_token;
+ int ref;
};
AXIS2_EXTERN rp_symmetric_binding_t *AXIS2_CALL
@@ -46,7 +47,8 @@
symmetric_binding->protection_token = NULL;
symmetric_binding->signature_token = NULL;
symmetric_binding->encryption_token = NULL;
-
+ symmetric_binding->ref = 0;
+
return symmetric_binding;
}
@@ -59,6 +61,11 @@
if(symmetric_binding)
{
+ if (--(symmetric_binding->ref) > 0)
+ {
+ return;
+ }
+
if(symmetric_binding->symmetric_asymmetric_binding_commons)
{
rp_symmetric_asymmetric_binding_commons_free(
@@ -203,3 +210,14 @@
return symmetric_binding->signature_token;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_symmetric_binding_increment_ref(
+ rp_symmetric_binding_t *symmetric_binding,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ symmetric_binding->ref++;
+ return AXIS2_SUCCESS;
+}
+
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/transport_binding.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/transport_binding.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/transport_binding.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/transport_binding.c Tue Jul 10 05:08:34 2007
@@ -23,6 +23,7 @@
{
rp_binding_commons_t *binding_commons;
rp_property_t *transport_token;
+ int ref;
};
AXIS2_EXTERN rp_transport_binding_t *AXIS2_CALL
@@ -42,7 +43,8 @@
}
transport_binding->binding_commons = NULL;
transport_binding->transport_token = NULL;
-
+ transport_binding->ref = 0;
+
return transport_binding;
}
@@ -56,6 +58,10 @@
if(transport_binding)
{
+ if (--(transport_binding->ref) > 0)
+ {
+ return;
+ }
if(transport_binding->binding_commons)
{
rp_binding_commons_free(transport_binding->binding_commons,env);
@@ -122,3 +128,14 @@
transport_binding->transport_token = transport_token;
return AXIS2_SUCCESS;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_transport_binding_increment_ref(
+ rp_transport_binding_t *transport_binding,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ transport_binding->ref++;
+ return AXIS2_SUCCESS;
+}
+
Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/wss11.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/wss11.c?view=diff&rev=554918&r1=554917&r2=554918
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/wss11.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/wss11.c Tue Jul 10 05:08:34 2007
@@ -29,6 +29,7 @@
axis2_bool_t must_support_ref_encryptedkey;
axis2_bool_t require_signature_confirmation;
axis2_bool_t must_support_direct_reference;
+ int ref;
};
AXIS2_EXTERN rp_wss11_t *AXIS2_CALL
@@ -54,6 +55,7 @@
wss11->must_support_ref_encryptedkey = AXIS2_FALSE;
wss11->require_signature_confirmation = AXIS2_FALSE;
wss11->must_support_direct_reference = AXIS2_TRUE;
+ wss11->ref = 0;
return wss11;
@@ -67,6 +69,10 @@
if(wss11)
{
+ if (--(wss11->ref) > 0)
+ {
+ return;
+ }
AXIS2_FREE(env->allocator, wss11);
wss11 = NULL;
}
@@ -228,3 +234,14 @@
return AXIS2_SUCCESS;
}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_wss11_increment_ref(
+ rp_wss11_t *wss11,
+ const axutil_env_t *env)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ wss11->ref++;
+ return AXIS2_SUCCESS;
+}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org