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 ma...@apache.org on 2007/09/07 13:19:06 UTC
svn commit: r573545 - in /webservices/rampart/trunk/c/src:
handlers/rampart_in_handler.c util/rampart_engine.c
util/rampart_sec_header_processor.c
Author: manjula
Date: Fri Sep 7 04:19:05 2007
New Revision: 573545
URL: http://svn.apache.org/viewvc?rev=573545&view=rev
Log:
Error handling and code cleaning in rampart_engine.
Modified:
webservices/rampart/trunk/c/src/handlers/rampart_in_handler.c
webservices/rampart/trunk/c/src/util/rampart_engine.c
webservices/rampart/trunk/c/src/util/rampart_sec_header_processor.c
Modified: webservices/rampart/trunk/c/src/handlers/rampart_in_handler.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/handlers/rampart_in_handler.c?rev=573545&r1=573544&r2=573545&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/handlers/rampart_in_handler.c (original)
+++ webservices/rampart/trunk/c/src/handlers/rampart_in_handler.c Fri Sep 7 04:19:05 2007
@@ -83,7 +83,7 @@
should not process the message but return success.*/
/*This method is implemented in rampart_handler utils.*/
- if(!rampart_is_rampart_engaged(env,msg_ctx))
+ if(!rampart_is_rampart_engaged(env, msg_ctx))
{
AXIS2_LOG_INFO(env->log, "[rampart][rampart_in_handler] Rampart is not engaged. No security checks. ");
return AXIS2_SUCCESS;
@@ -101,7 +101,7 @@
if (!soap_header)
{
/*No SOAP header, so no point of proceeding*/
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_in_handler] No SOAP header found. ERROR");
+ AXIS2_LOG_INFO(env->log, "[rampart][rampart_in_handler] No SOAP header found.");
return AXIS2_SUCCESS;
}
AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[rampart][rampart_in_handler] SOAP header found");
@@ -116,12 +116,12 @@
sec_node = rampart_get_security_token(env, msg_ctx, soap_header);
- if((rampart_context_get_binding_type(rampart_context,env)) != RP_PROPERTY_TRANSPORT_BINDING)
+ if((rampart_context_get_binding_type(rampart_context, env)) != RP_PROPERTY_TRANSPORT_BINDING)
{
if(!sec_node)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[rampart][rampart_in_handler] No security header element.");
+ "[rampart][rampart_in_handler] No security header element.");
return AXIS2_FAILURE;
}
}
@@ -131,7 +131,7 @@
if(AXIS2_FAILURE == status)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "[rampart][rampart_in_handler] Unable to set the security processed results");
+ "[rampart][rampart_in_handler] Unable to set the security processed results");
}
status = rampart_shp_process_message(env, msg_ctx, rampart_context,
Modified: webservices/rampart/trunk/c/src/util/rampart_engine.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_engine.c?rev=573545&r1=573544&r2=573545&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_engine.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_engine.c Fri Sep 7 04:19:05 2007
@@ -77,7 +77,10 @@
policy = build_policy(env, msg_ctx, is_inflow);
if(!policy)
{
- AXIS2_LOG_INFO(env->log, "[rampart][engine] Policy Creation failed. ");
+ rampart_create_fault_envelope(env, RAMPART_FAULT_FAILED_CHECK,
+ "Error in the Internal configuration.", RAMPART_FAULT_IN_POLICY, msg_ctx);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Policy creation failed.");
return NULL;
}
}
@@ -85,10 +88,16 @@
{
property = axis2_msg_ctx_get_property(msg_ctx, env, RAMPART_CONTEXT);
if(property)
+ {
return (rampart_context_t *)axutil_property_get_value(property, env);
+ }
+
else
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] Cannot get saved rampart_context");
+ rampart_create_fault_envelope(env, RAMPART_FAULT_FAILED_CHECK,
+ "Error in the Internal configuration.", RAMPART_FAULT_IN_POLICY, msg_ctx);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Cannot get saved rampart_context");
return NULL;
}
}
@@ -110,28 +119,43 @@
secpolicy = rp_secpolicy_builder_build(env, policy);
if(!secpolicy)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] Cannot create security policy from policy.");
+ rampart_create_fault_envelope(env, RAMPART_FAULT_FAILED_CHECK,
+ "Error in the Internal configuration.", RAMPART_FAULT_IN_POLICY, msg_ctx);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Cannot create security policy from policy.");
+
return NULL;
}
rampart_context_set_secpolicy(rampart_context, env, secpolicy);
}
}
+
else
{
rampart_context = rampart_context_create(env);
secpolicy = rp_secpolicy_builder_build(env, policy);
if(!secpolicy)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] Cannot create security policy from policy.");
- return NULL;
+ rampart_create_fault_envelope(env, RAMPART_FAULT_FAILED_CHECK,
+ "Error in the Internal configuration.", RAMPART_FAULT_IN_POLICY, msg_ctx);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Cannot create security policy from policy.");
+
+ return NULL;
}
+
rampart_context_set_secpolicy(rampart_context, env, secpolicy);
status = set_rampart_user_properties(env, rampart_context);
+
if(status != AXIS2_SUCCESS)
{
- AXIS2_LOG_INFO(env->log, "[rampart][engine] User property creation fails ");
- return NULL;
+ rampart_create_fault_envelope(env, RAMPART_FAULT_FAILED_CHECK,
+ "Error in the Internal configuration.", RAMPART_FAULT_IN_POLICY, msg_ctx);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] rampc policies creation failed.");
+
+ return NULL;
}
}
@@ -140,20 +164,21 @@
conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx,env);
if(!conf_ctx)
{
- AXIS2_LOG_INFO(env->log, "[rampart][engine] Conf context is NULL ");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][engine] Conf context is NULL ");
return NULL;
}
ctx = axis2_conf_ctx_get_base(conf_ctx,env);
if(!ctx)
{
- AXIS2_LOG_INFO(env->log, "[rampart][engine] axis2 context is NULL ");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][engine] axis2 context is NULL ");
return NULL;
}
- property = axutil_property_create_with_args(env, /*AXIS2_SCOPE_APPLICATION,*/
- AXIS2_SCOPE_REQUEST ,AXIS2_TRUE, (void *)rampart_context_free, rampart_context);
+ property = axutil_property_create_with_args(env, AXIS2_SCOPE_REQUEST ,
+ AXIS2_TRUE, (void *)rampart_context_free, rampart_context);
axis2_ctx_set_property(ctx, env, RAMPART_CONTEXT, property);
-
}
else
{ /*Server side only*/
@@ -184,14 +209,16 @@
svc = axis2_msg_ctx_get_svc(msg_ctx,env);
if(!svc)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_neethi] Service is NULL.");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_neethi] Service is NULL.");
return NULL;
}
op = axis2_msg_ctx_get_op(msg_ctx, env);
if(!op)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] Operation is NULL.");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Operation is NULL.");
return NULL;
}
@@ -206,30 +233,36 @@
if(!msg)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] Message is NULL.");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Message is NULL.");
return NULL;
}
/*desc = axis2_svc_get_base(svc, env);*/
+
desc = axis2_msg_get_base(msg, env);
if(!desc)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] axis2 description is NULL.");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] axis2 description is NULL.");
return NULL;
}
policy_include = axis2_desc_get_policy_include(desc, env);
if(!policy_include)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] Policy include is NULL.");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Policy include is NULL.");
return NULL;
}
/*service_policy = axis2_policy_include_get_policy(policy_include, env);*/
+
service_policy = axis2_policy_include_get_effective_policy(policy_include, env);
if(!service_policy)
{
- AXIS2_LOG_INFO(env->log, "[rampart][rampart_engine] Policy is NULL.");
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[rampart][rampart_engine] Policy is NULL.");
return NULL;
}
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=573545&r1=573544&r2=573545&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 Sep 7 04:19:05 2007
@@ -60,9 +60,9 @@
if(!local_name){
return AXIS2_FALSE;
}
- if(axutil_strcmp(local_name,RAMPART_SECURITY_TIMESTAMP)==0)
+ if(axutil_strcmp(local_name, RAMPART_SECURITY_TIMESTAMP)==0)
{
- qname = axutil_qname_create(env, local_name, RAMPART_WSU_XMLNS,RAMPART_WSU);
+ qname = axutil_qname_create(env, local_name, RAMPART_WSU_XMLNS, RAMPART_WSU);
}
else if(axutil_strcmp(local_name,RAMPART_SECURITY_USERNAMETOKEN)==0)
{