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 su...@apache.org on 2007/10/26 08:15:56 UTC

svn commit: r588537 - in /webservices/rampart/scratch/c/saml: include/SAML.h src/assertion.c src/attr_stmt.c src/auth_des_stmt.c src/auth_smt.c src/condition.c src/stmt.c src/subject.c

Author: supun
Date: Thu Oct 25 23:15:55 2007
New Revision: 588537

URL: http://svn.apache.org/viewvc?rev=588537&view=rev
Log: (empty)

Modified:
    webservices/rampart/scratch/c/saml/include/SAML.h
    webservices/rampart/scratch/c/saml/src/assertion.c
    webservices/rampart/scratch/c/saml/src/attr_stmt.c
    webservices/rampart/scratch/c/saml/src/auth_des_stmt.c
    webservices/rampart/scratch/c/saml/src/auth_smt.c
    webservices/rampart/scratch/c/saml/src/condition.c
    webservices/rampart/scratch/c/saml/src/stmt.c
    webservices/rampart/scratch/c/saml/src/subject.c

Modified: webservices/rampart/scratch/c/saml/include/SAML.h
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/include/SAML.h?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/include/SAML.h (original)
+++ webservices/rampart/scratch/c/saml/include/SAML.h Thu Oct 25 23:15:55 2007
@@ -376,88 +376,246 @@
 	axiom_node_t *ori_xml;	
 };
 
+AXIS2_EXTERN saml_assertion_t *AXIS2_CALL 
+saml_assertion_create(axutil_env_t *env);
 
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_uninit(saml_assertion_t *assertion, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_init(saml_assertion_t *assertion, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_build(saml_assertion_t *assertion, axiom_node_t *node, axutil_env_t *env);
-AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_assertion_to_om(saml_assertion_t *assertion, axiom_node_t *node, axutil_env_t *env);
-AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_assetion_get_conditions(saml_assertion_t *a, axutil_env_t *env);
-AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_assertion_get_statements(saml_assertion_t *a, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_set_conditions(saml_assertion_t *a, axutil_env_t *env, axutil_array_list_t *list);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_add_condition(saml_assertion_t *a, axutil_env_t *env, saml_condition_t *cond);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_remove_condition(saml_assertion_t *a, axutil_env_t *env, int index);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_set_statements(saml_assertion_t *a, axutil_env_t *env, axutil_array_list_t *list);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_add_statement(saml_assertion_t *a, axutil_env_t *env, saml_stmt_t *stmt);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_remove_statement(saml_assertion_t *a, axutil_env_t *env, int index);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_set_minor_version(saml_assertion_t *a, axutil_env_t *env, int version);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_set_issuer(saml_assertion_t *a, axutil_env_t *env, axis2_char_t *issuer);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_set_issue_instant(saml_assertion_t *a, axutil_env_t *env, axutil_date_time_t *instant);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_set_not_before(saml_assertion_t *a, axutil_env_t *env, axutil_date_time_t *time);
-AXIS2_EXTERN int AXIS2_CALL saml_assertion_set_not_on_or_after(saml_assertion_t *a, axutil_env_t *env, axutil_date_time_t *time);
-AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_assertion_get_issuer(saml_assertion_t *a, axutil_env_t *env);
-AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL saml_assertion_get_issue_instant(saml_assertion_t *a, axutil_env_t *env);
-AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL saml_assertion_get_not_before(saml_assertion_t *a, axutil_env_t *env);
-AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL saml_assertion_get_not_on_or_after(saml_assertion_t *a, axutil_env_t *env);
+AXIS2_EXTERN void AXIS2_CALL 
+saml_assertion_free(saml_assertion_t *assertion, axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_build(saml_assertion_t *assertion, 
+					 axiom_node_t *node, axutil_env_t *env);
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
+saml_assertion_to_om(saml_assertion_t *assertion, 
+					 axiom_node_t *node, axutil_env_t *env);
+
+AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
+saml_assetion_get_conditions(saml_assertion_t *a, axutil_env_t *env);
+
+AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
+saml_assertion_get_statements(saml_assertion_t *a, axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_set_conditions(saml_assertion_t *a, 
+							  axutil_env_t *env, axutil_array_list_t *list);
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_add_condition(saml_assertion_t *a, 
+							 axutil_env_t *env, saml_condition_t *cond);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_remove_condition(saml_assertion_t *a, 
+								axutil_env_t *env, int index);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_set_statements(saml_assertion_t *a, 
+							  axutil_env_t *env, axutil_array_list_t *list);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_add_statement(saml_assertion_t *a, 
+							 axutil_env_t *env, saml_stmt_t *stmt);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_remove_statement(saml_assertion_t *a, 
+								axutil_env_t *env, int index);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_set_minor_version(saml_assertion_t *a, 
+								 axutil_env_t *env, int version);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_set_issuer(saml_assertion_t *a, 
+						  axutil_env_t *env, axis2_char_t *issuer);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_set_issue_instant(saml_assertion_t *a, 
+								 axutil_env_t *env, axutil_date_time_t *instant);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_set_not_before(saml_assertion_t *a, 
+							  axutil_env_t *env, axutil_date_time_t *time);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_assertion_set_not_on_or_after(saml_assertion_t *a, 
+								   axutil_env_t *env, axutil_date_time_t *time);
+
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
+saml_assertion_get_issuer(saml_assertion_t *a, axutil_env_t *env);
+
+AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL 
+saml_assertion_get_issue_instant(saml_assertion_t *a, axutil_env_t *env);
+
+AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL 
+saml_assertion_get_not_before(saml_assertion_t *a, axutil_env_t *env);
+
+AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL 
+saml_assertion_get_not_on_or_after(saml_assertion_t *a, axutil_env_t *env);
 
 /*AXIS2_EXTERN int AXIS2_CALL saml_assertion_is_signed(saml_assertion_t *a, axutil_env_t *env);
 AXIS2_EXTERN int AXIS2_CALL saml_assertion_signature_verify(saml_assertion_t *a, axutil_env_t *env, oxs_sign_ctx_t *sign_ctx);
 AXIS2_EXTERN int AXIS2_CALL saml_assertion_sign(saml_assertion_t *a, axutil_env_t *env, oxs_sign_ctx_t *sign_ctx);
 AXIS2_EXTERN int AXIS2_CALL saml_assertion_unsign(saml_assertion_t *a, axutil_env_t *env);*/
 
-AXIS2_EXTERN saml_stmt_t * AXIS2_CALL saml_stmt_create(axutil_env_t *env);
-AXIS2_EXTERN void AXIS2_CALL saml_stmt_free(saml_stmt_t *stmt, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_stmt_build(saml_stmt_t *stmt, axiom_node_t *node, axutil_env_t *env);
-AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_stmt_to_om(saml_stmt_t *stmt, axiom_node_t *parent, axutil_env_t *env);
-AXIS2_EXTERN saml_stmt_type_t AXIS2_CALL saml_stmt_get_type(saml_stmt_t *stmt, axutil_env_t *env);
-AXIS2_EXTERN saml_stmt_t * AXIS2_CALL saml_stmt_get_stmt(saml_stmt_t *stmt, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_stmt_set_type(saml_stmt_t *stmt, axutil_env_t *env, saml_stmt_type_t type);
-AXIS2_EXTERN int AXIS2_CALL saml_stmt_set_stmt(saml_stmt_t *stmt, axutil_env_t *env, void *st, saml_stmt_type_t type);
+AXIS2_EXTERN saml_stmt_t * AXIS2_CALL 
+saml_stmt_create(axutil_env_t *env);
+
+AXIS2_EXTERN void AXIS2_CALL 
+saml_stmt_free(saml_stmt_t *stmt, axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_stmt_build(saml_stmt_t *stmt, axiom_node_t *node, axutil_env_t *env);
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
+saml_stmt_to_om(saml_stmt_t *stmt, axiom_node_t *parent, axutil_env_t *env);
+
+AXIS2_EXTERN saml_stmt_type_t AXIS2_CALL 
+saml_stmt_get_type(saml_stmt_t *stmt, axutil_env_t *env);
+
+AXIS2_EXTERN saml_stmt_t * AXIS2_CALL 
+saml_stmt_get_stmt(saml_stmt_t *stmt, axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_stmt_set_type(saml_stmt_t *stmt, axutil_env_t *env, saml_stmt_type_t type);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_stmt_set_stmt(saml_stmt_t *stmt, axutil_env_t *env, 
+				   void *st, saml_stmt_type_t type);
+
 
 
 /*AXIS2_EXTERN int AXIS2_CALL saml_id_init(saml_id_t *id, axutil_env_t *env);*/
 AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_id_generate_random_bytes(axutil_env_t *env);
 /*AXIS2_EXTERN void AXIS2_CALL saml_id_uninit(saml_id_t *id, axutil_env_t *env);*/
 
-AXIS2_EXTERN saml_auth_binding_t * AXIS2_CALL saml_auth_binding_create(axutil_env_t *env);
-AXIS2_EXTERN void AXIS2_CALL saml_auth_binding_free(saml_auth_binding_t *auth_bind, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_auth_binding_build(saml_auth_binding_t *auth_bind, axiom_node_t *node, axutil_env_t *env);
-AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_auth_binding_to_om(saml_auth_binding_t *auth_binding, axiom_node_t *parent, axutil_env_t *env);
-AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_auth_binding_get_authoity_kind(saml_auth_binding_t *auth_binding, axutil_env_t *env);
-AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_auth_binding_get_binding(saml_auth_binding_t *auth_binding, axutil_env_t *env);
-AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_auth_binding_get_location(saml_auth_binding_t *auth_binding, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_auth_binding_set_authority_kind(saml_auth_binding_t *auth_binding, axutil_env_t *env, axis2_char_t *auth_kind);
-AXIS2_EXTERN int AXIS2_CALL saml_auth_binding_set_binding(saml_auth_binding_t *auth_binding, axutil_env_t *env, axis2_char_t *binding);
-AXIS2_EXTERN int AXIS2_CALL saml_auth_binding_set_location(saml_auth_binding_t *auth_binding, axutil_env_t *env, axis2_char_t *location);
-
-
-AXIS2_EXTERN saml_subject_locality_t * AXIS2_CALL saml_subject_locality_create(axutil_env_t *env);
-AXIS2_EXTERN void AXIS2_CALL saml_subject_locality_free(saml_subject_locality_t *sub_locality, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_locality_build(saml_subject_locality_t *sub_locality, axiom_node_t *node, axutil_env_t *env);
-AXIS2_EXTERN axiom_node_t *AXIS2_CALL saml_subject_locality_to_om(saml_subject_locality_t *sub_locality, axiom_node_t *parent, axutil_env_t *env);
-AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_subject_locality_get_ip(saml_subject_locality_t *sub_locality, axutil_env_t *env);
-AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_subject_locality_get_dns(saml_subject_locality_t *sub_locality, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_locality_set_ip(saml_subject_locality_t *sub_locality, axutil_env_t *env, axis2_char_t *ip);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_locality_set_dns(saml_subject_locality_t *sub_locality, axutil_env_t *env, axis2_char_t *dns);
-
-AXIS2_EXTERN saml_subject_t * AXIS2_CALL saml_subject_create(axutil_env_t *env);
-AXIS2_EXTERN void AXIS2_CALL saml_subject_free(saml_subject_t *subject, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_build(saml_subject_t *subject, axiom_node_t *node, axutil_env_t *env);
-AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_subject_to_om(saml_subject_t *subject, axiom_node_t *parent, axutil_env_t *env);
-AXIS2_EXTERN saml_named_id_t * AXIS2_CALL saml_subject_get_named_id(saml_subject_t *subject, axutil_env_t *env);
-AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_subject_get_confirmation_methods(saml_subject_t *subject, axutil_env_t *env);
-AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_subject_get_confirmation_data(saml_subject_t *subject, axutil_env_t *env);
-AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_subject_get_key_info(saml_subject_t *subject, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_set_named_id(saml_subject_t *subject, axutil_env_t *env, saml_named_id_t *named_id);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_set_confirmation_methods(saml_subject_t *subject, axutil_env_t *env, axutil_array_list_t *list);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_add_confirmation(saml_subject_t *subject, axutil_env_t *env, axis2_char_t *sub_confirmation);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_remove_subject_confiirmation(saml_subject_t *subject, axutil_env_t *env, int index);
-AXIS2_EXTERN int AXIS2_CALL saml_subject_set_key_info(saml_subject_t *subject, axutil_env_t *env, axiom_node_t *node);
 
 
+AXIS2_EXTERN saml_auth_binding_t * AXIS2_CALL 
+saml_auth_binding_create(axutil_env_t *env);
+
+AXIS2_EXTERN void AXIS2_CALL 
+saml_auth_binding_free(saml_auth_binding_t *auth_bind, axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_auth_binding_build(saml_auth_binding_t *auth_bind, 
+						axiom_node_t *node, axutil_env_t *env);
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
+saml_auth_binding_to_om(saml_auth_binding_t *auth_binding, 
+						axiom_node_t *parent, axutil_env_t *env);
+
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
+saml_auth_binding_get_authoity_kind(saml_auth_binding_t *auth_binding, 
+									axutil_env_t *env);
+
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
+saml_auth_binding_get_binding(saml_auth_binding_t *auth_binding, 
+							  axutil_env_t *env);
+
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
+saml_auth_binding_get_location(saml_auth_binding_t *auth_binding, 
+							   axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_auth_binding_set_authority_kind(saml_auth_binding_t *auth_binding, 
+									 axutil_env_t *env, axis2_char_t *auth_kind);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_auth_binding_set_binding(saml_auth_binding_t *auth_binding, 
+							  axutil_env_t *env, axis2_char_t *binding);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_auth_binding_set_location(saml_auth_binding_t *auth_binding, 
+							   axutil_env_t *env, axis2_char_t *location);
+
+
+AXIS2_EXTERN saml_subject_locality_t * AXIS2_CALL 
+saml_subject_locality_create(axutil_env_t *env);
+
+AXIS2_EXTERN void AXIS2_CALL 
+saml_subject_locality_free(saml_subject_locality_t *sub_locality, 
+						   axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_locality_build(saml_subject_locality_t *sub_locality, 
+							axiom_node_t *node, axutil_env_t *env);
+
+AXIS2_EXTERN axiom_node_t *AXIS2_CALL 
+saml_subject_locality_to_om(saml_subject_locality_t *sub_locality, 
+							axiom_node_t *parent, axutil_env_t *env);
+
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
+saml_subject_locality_get_ip(saml_subject_locality_t *sub_locality, 
+							 axutil_env_t *env);
+
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL 
+saml_subject_locality_get_dns(saml_subject_locality_t *sub_locality, 
+							  axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_locality_set_ip(saml_subject_locality_t *sub_locality, 
+							 axutil_env_t *env, axis2_char_t *ip);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_locality_set_dns(saml_subject_locality_t *sub_locality, 
+							  axutil_env_t *env, axis2_char_t *dns);
+
+
+
+AXIS2_EXTERN saml_subject_t * AXIS2_CALL 
+saml_subject_create(axutil_env_t *env);
+
+AXIS2_EXTERN void AXIS2_CALL 
+saml_subject_free(saml_subject_t *subject, axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_build(saml_subject_t *subject, 
+				   axiom_node_t *node, axutil_env_t *env);
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
+saml_subject_to_om(saml_subject_t *subject, 
+				   axiom_node_t *parent, axutil_env_t *env);
+
+AXIS2_EXTERN saml_named_id_t * AXIS2_CALL 
+saml_subject_get_named_id(saml_subject_t *subject, axutil_env_t *env);
+
+AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL 
+saml_subject_get_confirmation_methods(saml_subject_t *subject, 
+									  axutil_env_t *env);
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
+saml_subject_get_confirmation_data(saml_subject_t *subject, axutil_env_t *env);
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL 
+saml_subject_get_key_info(saml_subject_t *subject, axutil_env_t *env);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_set_named_id(saml_subject_t *subject, 
+						  axutil_env_t *env, saml_named_id_t *named_id);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_set_confirmation_methods(saml_subject_t *subject, 
+									  axutil_env_t *env, 
+									  axutil_array_list_t *list);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_add_confirmation(saml_subject_t *subject, 
+							  axutil_env_t *env, 
+							  axis2_char_t *sub_confirmation);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_remove_subject_confiirmation(saml_subject_t *subject, 
+										  axutil_env_t *env, int index);
+
+AXIS2_EXTERN int AXIS2_CALL 
+saml_subject_set_key_info(saml_subject_t *subject, 
+						  axutil_env_t *env, axiom_node_t *node);
+
 AXIS2_EXTERN int AXIS2_CALL saml_subject_stmt_build(saml_subject_stmt_t *subject_stmt, axiom_node_t *node, axutil_env_t *env);
 AXIS2_EXTERN void AXIS2_CALL saml_subject_stmt_free(saml_subject_stmt_t *subject_stmt, axutil_env_t *env);
 AXIS2_EXTERN saml_subject_stmt_t * AXIS2_CALL saml_subject_stmt_create(axutil_env_t *env);
 AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_subject_stmt_to_om(saml_subject_stmt_t *subject_stmt, axiom_node_t *parent, axutil_env_t *env);
+AXIS2_EXTERN int AXIS2_CALL saml_subject_stmt_set_subject(saml_subject_stmt_t *subject_stmt, axutil_env_t *env, saml_subject_t *subject);
+AXIS2_EXTERN saml_subject_t * AXIS2_CALL saml_subject_stmt_get_subject(saml_subject_stmt_t *subject_stmt, axutil_env_t *env);
 
 AXIS2_EXTERN saml_auth_desicion_stmt_t * AXIS2_CALL saml_auth_desicion_stmt_create(axutil_env_t *env);
 AXIS2_EXTERN void AXIS2_CALL saml_auth_desicion_stmt_free(saml_auth_desicion_stmt_t *auth_des_stmt, axutil_env_t *env);
@@ -517,11 +675,19 @@
 AXIS2_EXTERN axiom_node_t *AXIS2_CALL saml_audi_restriction_cond_to_om(saml_audi_restriction_cond_t *cond, axiom_node_t *parent, axutil_env_t * env);
 AXIS2_EXTERN void AXIS2_CALL saml_audi_restriction_cond_free(saml_audi_restriction_cond_t *arc, axutil_env_t * env);
 AXIS2_EXTERN saml_audi_restriction_cond_t * AXIS2_CALL saml_audi_restriction_cond_create(axutil_env_t *env);
+AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_audi_restriction_cond_get_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env);
+AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_set_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env, axutil_array_list_t *list);
+AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_remove_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env, int index);
+AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_add_audience(saml_audi_restriction_cond_t *cond, axutil_env_t * env, axis2_char_t *audience);
 
 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_audi_restriction_cond_get_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env);
 AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_set_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env, axutil_array_list_t *list);
 AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_remove_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env, int index);
 AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_add_audience(saml_audi_restriction_cond_t *cond, axutil_env_t * env, axis2_char_t *audience);
+AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_audi_restriction_cond_get_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env);
+AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_set_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env, axutil_array_list_t *list);
+AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_remove_audiences(saml_audi_restriction_cond_t *cond, axutil_env_t * env, int index);
+AXIS2_EXTERN int AXIS2_CALL saml_audi_restriction_cond_add_audience(saml_audi_restriction_cond_t *cond, axutil_env_t * env, axis2_char_t *audience);
 
 AXIS2_EXTERN saml_action_t * AXIS2_CALL saml_action_create(axutil_env_t *env);
 AXIS2_EXTERN void AXIS2_CALL saml_action_free(saml_action_t *action, axutil_env_t *env);
@@ -536,11 +702,23 @@
 AXIS2_EXTERN void AXIS2_CALL saml_evidence_free(saml_evidence_t *evidence, axutil_env_t *env);
 AXIS2_EXTERN int AXIS2_CALL saml_evidence_build(saml_evidence_t *evidence, axiom_node_t *node, axutil_env_t *env);
 AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_evidence_to_om(saml_evidence_t *evidence, axiom_node_t *parent, axutil_env_t *env);
+AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_evidence_get_assertions(saml_evidence_t *evidence, axutil_env_t *env);
+AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL saml_evidence_get_assertion_ids(saml_evidence_t *evidence, axutil_env_t *env);
+AXIS2_EXTERN int AXIS2_CALL saml_evidence_set_assertions(saml_evidence_t *evidence, axutil_env_t * env, axutil_array_list_t *list);
+AXIS2_EXTERN int AXIS2_CALL saml_evidence_remove_assertion(saml_evidence_t *evidence, axutil_env_t * env, int index);
+AXIS2_EXTERN int AXIS2_CALL saml_evidence_add_assertion(saml_evidence_t *evidence, axutil_env_t * env, saml_assertion_t *assertion);
+AXIS2_EXTERN int AXIS2_CALL saml_evidence_set_assertion_ids(saml_evidence_t *evidence, axutil_env_t * env, axutil_array_list_t *list);
+AXIS2_EXTERN int AXIS2_CALL saml_evidence_remove_assertion_id(saml_evidence_t *evidence, axutil_env_t * env, int index);
+AXIS2_EXTERN int AXIS2_CALL saml_evidence_add_assertion_id(saml_evidence_t *evidence, axutil_env_t * env, axis2_char_t *assertion_id);
 
-AXIS2_EXTERN int AXIS2_CALL saml_attr_desig_init(saml_attr_desig_t *attr_desig, axutil_env_t *env);
-AXIS2_EXTERN int AXIS2_CALL saml_attr_desig_uninit(saml_attr_desig_t *attr_desig, axutil_env_t *env);
+AXIS2_EXTERN saml_attr_desig_t * AXIS2_CALL saml_attr_desig_create(axutil_env_t *env);
+AXIS2_EXTERN void AXIS2_CALL saml_attr_desig_free(saml_attr_desig_t *attr_desig, axutil_env_t *env);
 AXIS2_EXTERN int AXIS2_CALL saml_attr_desig_build(saml_attr_desig_t *attr_desig, axiom_node_t *node, axutil_env_t *env);
 AXIS2_EXTERN axiom_node_t * AXIS2_CALL saml_attr_desig_to_om(saml_attr_desig_t *attr_desig, axiom_node_t *parent, axutil_env_t *env);
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_attr_desig_get_name(saml_attr_desig_t *attr_desig, axutil_env_t *env);
+AXIS2_EXTERN axis2_char_t * AXIS2_CALL saml_attr_desig_get_namespace(saml_attr_desig_t *attr_desig, axutil_env_t *env);
+AXIS2_EXTERN int AXIS2_CALL saml_attr_desig_set_name(saml_attr_desig_t *attr_desig, axutil_env_t *env, axis2_char_t *name);
+AXIS2_EXTERN int AXIS2_CALL saml_attr_desig_set_namespace(saml_attr_desig_t *attr_desig, axutil_env_t *env, axis2_char_t *name_space);
 
 AXIS2_EXTERN saml_attr_t * AXIS2_CALL saml_attr_create(axutil_env_t *env);
 AXIS2_EXTERN void AXIS2_CALL saml_attr_free(saml_attr_t *attr, axutil_env_t *env);

Modified: webservices/rampart/scratch/c/saml/src/assertion.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/src/assertion.c?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/src/assertion.c (original)
+++ webservices/rampart/scratch/c/saml/src/assertion.c Thu Oct 25 23:15:55 2007
@@ -18,24 +18,28 @@
 #include <SAML.h>
 
 
-AXIS2_EXTERN int AXIS2_CALL 
-saml_assertion_init(saml_assertion_t *assertion, axutil_env_t *env)
+AXIS2_EXTERN saml_assertion_t * AXIS2_CALL 
+saml_assertion_create(axutil_env_t *env)
 {		
-	assertion->major_version = NULL;
-	assertion->minor_version = NULL;
-	assertion->not_before = NULL;
-	assertion->not_on_or_after = NULL;
-	assertion->assertion_id = NULL;
-	assertion->conditions = NULL;
-	assertion->statements = axutil_array_list_create(env, (SAML_ARRAY_LIST_DEF) * 2);
-	assertion->issuer = NULL;
-	assertion->issue_instant = NULL;
-	assertion->signature = NULL;
-	return AXIS2_SUCCESS;
+	saml_assertion_t *assertion = AXIS2_MALLOC(env->allocator, sizeof(saml_assertion_t));
+	if (assertion)
+	{
+		assertion->major_version = NULL;
+		assertion->minor_version = NULL;
+		assertion->not_before = NULL;
+		assertion->not_on_or_after = NULL;
+		assertion->assertion_id = NULL;
+		assertion->conditions = NULL;
+		assertion->statements = axutil_array_list_create(env, (SAML_ARRAY_LIST_DEF) * 2);
+		assertion->issuer = NULL;
+		assertion->issue_instant = NULL;
+		assertion->signature = NULL;
+	}
+	return assertion;
 }
 
-AXIS2_EXTERN int AXIS2_CALL 
-saml_assertion_uninit(saml_assertion_t *assertion, axutil_env_t *env)
+AXIS2_EXTERN void AXIS2_CALL 
+saml_assertion_free(saml_assertion_t *assertion, axutil_env_t *env)
 {	
 	int i = 0, size = 0;
 	if (assertion->major_version)
@@ -103,7 +107,7 @@
 	{
 		assertion->signature = NULL;
 	}
-	return AXIS2_SUCCESS;
+	AXIS2_FREE(env->allocator, assertion);
 }
 
 AXIS2_EXTERN int AXIS2_CALL 
@@ -148,7 +152,7 @@
 		{			
 			cn = axiom_child_element_iterator_next(ci, env);
 			ce = axiom_node_get_data_element(cn, env);			
-			if (!axutil_strcmp(axiom_element_get_localname(ce, env), SAML_CONDITIONS))
+			if (0 == axutil_strcmp(axiom_element_get_localname(ce, env), SAML_CONDITIONS))
 			{
 				attr_val = axiom_element_get_attribute_value_by_name(ce, env, SAML_NOT_BEFORE);
 				if (attr_val)
@@ -167,7 +171,7 @@
 					assertion->conditions = axutil_array_list_create(env, SAML_ARRAY_LIST_DEF);
 					while(AXIS2_TRUE == axiom_child_element_iterator_has_next(cci, env))
 					{
-						ccn = axiom_child_element_iterator_next(cci, env);						
+						ccn = axiom_child_element_iterator_next(ci, env);						
 						cond = saml_condition_create(env);
 						if(saml_condition_build(cond, ccn, env))
 						{
@@ -178,26 +182,26 @@
 							saml_condition_free(cond, env);
 						}
 					}
-					axiom_child_element_iterator_free(cci, env);
+					/*axiom_child_element_iterator_free(cci, env);*/
 				}
 			}
-			else if (!axutil_strcmp(axiom_element_get_localname(ce, env), SAML_ADVICE))
+			else if (0 == axutil_strcmp(axiom_element_get_localname(ce, env), SAML_ADVICE))
 			{	
 				
 			}
-			else if (!axutil_strcmp(axiom_element_get_localname(ce, env), SAML_SIGNATURE))
+			else if (0 == axutil_strcmp(axiom_element_get_localname(ce, env), SAML_SIGNATURE))
 			{	
 				assertion->signature = cn;										
 			}
 			else 
 			{
-				if ((cci = axiom_element_get_child_elements(element, env, node)) != NULL)
+				/*if ((cci = axiom_element_get_child_elements(element, env, node)) != NULL)
 				{
 					while(AXIS2_TRUE == axiom_child_element_iterator_has_next(cci, env))
 					{
-						ccn = axiom_child_element_iterator_next(cci, env);						
+						ccn = axiom_child_element_iterator_next(cci, env);*/						
 						stmt = saml_stmt_create(env);
-						if(saml_stmt_build(stmt, ccn, env))
+						if(saml_stmt_build(stmt, cn, env))
 						{
 							axutil_array_list_add(assertion->statements, env, stmt);
 						}
@@ -205,9 +209,9 @@
 						{
 							saml_stmt_free(stmt, env);
 						}
-					}
-					axiom_child_element_iterator_free(cci, env);
-				}				
+					/*}*/
+					/*axiom_child_element_iterator_free(cci, env);*/
+				/*}				*/
 			}
 		}
 	}	
@@ -520,32 +524,16 @@
 {
 	return a->not_on_or_after;
 }
-
 /*
 AXIS2_EXTERN int AXIS2_CALL 
 saml_assertion_unsign(saml_assertion_t *a, axutil_env_t *env)
 {
-	if (a->sign_ctx)
-	{
-		oxs_sign_ctx_free(a->sign_ctx, env);
-	}
 	a->sign_ctx = NULL;
 	return AXIS2_SUCCESS;
 }
 
 AXIS2_EXTERN int AXIS2_CALL
 saml_assertion_sign(saml_assertion_t *a, axutil_env_t *env, oxs_sign_ctx_t *sign_ctx)
-{
-	if (a->sign_ctx)
-	{
-		oxs_sign_ctx_free(a->sign_ctx, env);
-	}
-	a->sign_ctx = sign_ctx;
-	return AXIS2_SUCCESS;
-}
-
-AXIS2_EXTERN int AXIS2_CALL
-saml_assertion_sign_with_defaults(saml_assertion_t *a, axutil_env_t *env, oxs_sign_ctx_t *sign_ctx)
 {
 	if (a->sign_ctx)
 	{

Modified: webservices/rampart/scratch/c/saml/src/attr_stmt.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/src/attr_stmt.c?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/src/attr_stmt.c (original)
+++ webservices/rampart/scratch/c/saml/src/attr_stmt.c Thu Oct 25 23:15:55 2007
@@ -17,16 +17,20 @@
 
 #include <SAML.h>
 
-AXIS2_EXTERN int AXIS2_CALL 
-saml_attr_desig_init(saml_attr_desig_t *attr_desig, axutil_env_t *env)
+AXIS2_EXTERN saml_attr_desig_t * AXIS2_CALL 
+saml_attr_desig_create(axutil_env_t *env)
 {
-	attr_desig->attr_name = NULL;
-	attr_desig->attr_nmsp = NULL;
-	return AXIS2_SUCCESS;
+	saml_attr_desig_t *attr_desig = AXIS2_MALLOC(env->allocator, sizeof(saml_attr_desig_t));
+	if (attr_desig)
+	{
+		attr_desig->attr_name = NULL;
+		attr_desig->attr_nmsp = NULL;
+	}
+	return attr_desig;
 }
 
-AXIS2_EXTERN int AXIS2_CALL 
-saml_attr_desig_uninit(saml_attr_desig_t *attr_desig, axutil_env_t *env)
+AXIS2_EXTERN void AXIS2_CALL 
+saml_attr_desig_free(saml_attr_desig_t *attr_desig, axutil_env_t *env)
 {
 	if (attr_desig->attr_name)
 	{
@@ -36,7 +40,7 @@
 	{
 		AXIS2_FREE(env->allocator, attr_desig->attr_nmsp);
 	}
-	return AXIS2_SUCCESS;
+	AXIS2_FREE(env->allocator, attr_desig);
 }
 
 AXIS2_EXTERN int AXIS2_CALL 
@@ -63,10 +67,10 @@
         axutil_hash_this(hi, NULL, NULL, &v);
 		if (v)
 		{
-			axis2_char_t *attr_val = NULL;
+			axis2_char_t *attr_name = NULL;
 			axiom_attribute_t *attr = (axiom_attribute_t*)v;			
-			attr_val = axiom_attribute_get_value(attr, env);			
-			if (0 != axutil_strcmp(attr_val, SAML_ATTRIBUTE_NAME) && 0 != axutil_strcmp(attr_val, SAML_ATTRIBUTE_NAMESPACE))
+			attr_name = axiom_attribute_get_localname(attr, env);			
+			if (0 != axutil_strcmp(attr_name, SAML_ATTRIBUTE_NAME) && 0 != axutil_strcmp(attr_name, SAML_ATTRIBUTE_NAMESPACE))
 			{
 				return AXIS2_FALSE;
 			}           	

Modified: webservices/rampart/scratch/c/saml/src/auth_des_stmt.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/src/auth_des_stmt.c?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/src/auth_des_stmt.c (original)
+++ webservices/rampart/scratch/c/saml/src/auth_des_stmt.c Thu Oct 25 23:15:55 2007
@@ -165,7 +165,7 @@
 			assertion = axutil_array_list_get(evidence->assertions, env, i);
 			if (assertion)
 			{
-				saml_assertion_uninit(assertion, env);
+				saml_assertion_free(assertion, env);
 				AXIS2_FREE(env->allocator, assertion);
 			}
 		}
@@ -449,10 +449,10 @@
         axutil_hash_this(hi, NULL, NULL, &v);
 		if (v)
 		{
-			axis2_char_t *attr_name = NULL;
+			axis2_char_t *attr_val = NULL;
 			axiom_attribute_t *attr = (axiom_attribute_t*)v;			
-			attr_name = axiom_attribute_get_localname(attr, env);			
-			if (0 != axutil_strcmp(attr_name, SAML_RESOURCE) && 0 != axutil_strcmp(attr_name, SAML_DECISION))
+			attr_val = axiom_attribute_get_localname(attr, env);			
+			if (0 != axutil_strcmp(attr_val, SAML_RESOURCE) && 0 != axutil_strcmp(attr_val, SAML_DECISION))
 			{
 				return AXIS2_FALSE;
 			}           	

Modified: webservices/rampart/scratch/c/saml/src/auth_smt.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/src/auth_smt.c?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/src/auth_smt.c (original)
+++ webservices/rampart/scratch/c/saml/src/auth_smt.c Thu Oct 25 23:15:55 2007
@@ -99,22 +99,26 @@
 		{
 			cn = axiom_child_element_iterator_next(ci, env);
 			ce = axiom_node_get_data_element(cn, env);
-			if (strcmp(axiom_element_get_localname(ce, env), SAML_SUBJECT) == 0)
+			if (axutil_strcmp(axiom_element_get_localname(ce, env), SAML_SUBJECT) == 0)
 			{
 				auth_stmt->subject = saml_subject_create(env);
 				saml_subject_build(auth_stmt->subject, cn, env);
 			}
-			else if (strcmp(axiom_element_get_localname(ce, env), SAML_SUBJECT_LOCALITY) == 0)
+			else if (axutil_strcmp(axiom_element_get_localname(ce, env), SAML_SUBJECT_LOCALITY) == 0)
 			{
 				/*auth_stmt->sub_locality = saml_subject_locality_create(env);
 				saml_subject_locality_build(auth_stmt->sub_locality, cn, env);*/
 				auth_stmt->ip = axiom_element_get_attribute_value_by_name(ce, env, SAML_IP_ADDRESS);
 				auth_stmt->dns = axiom_element_get_attribute_value_by_name(ce, env, SAML_DNS_ADDRESS);
 			}
-			else if (strcmp(axiom_element_get_localname(ce, env), SAML_AUTHORITY_BINDING) == 0)
+			else if (axutil_strcmp(axiom_element_get_localname(ce, env), SAML_AUTHORITY_BINDING) == 0)
 			{
 				auth_bind = saml_auth_binding_create(env);
 				saml_auth_binding_build(auth_bind, cn, env);
+				if (!auth_stmt->auth_binding)
+				{
+					auth_stmt->auth_binding = axutil_array_list_create(env, SAML_ARRAY_LIST_DEF * 2);
+				}
 				axutil_array_list_add(auth_stmt->auth_binding, env, auth_bind);
 			}
 			else
@@ -127,7 +131,7 @@
 	{
 		return AXIS2_FAILURE;
 	}
-	return AXIS2_FAILURE;
+	return AXIS2_SUCCESS;
 }
 
 AXIS2_EXTERN axiom_node_t *AXIS2_CALL 
@@ -382,11 +386,11 @@
 			axiom_attribute_t *attr = (axiom_attribute_t*)v;			
 			attr_val = axiom_attribute_get_value(attr, env);			
 			attr_lname = axiom_attribute_get_localname(attr, env);
-			if (!axutil_strcmp(attr_lname, SAML_IP_ADDRESS))
+			if (0 == axutil_strcmp(attr_lname, SAML_IP_ADDRESS))
 			{
 				sub_locality->ip = attr_val;
 			}        
-			else if (!axutil_strcmp(attr_lname, SAML_DNS_ADDRESS))
+			else if (0 == axutil_strcmp(attr_lname, SAML_DNS_ADDRESS))
 			{
 				sub_locality->dns = attr_val;				
 			}      			

Modified: webservices/rampart/scratch/c/saml/src/condition.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/src/condition.c?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/src/condition.c (original)
+++ webservices/rampart/scratch/c/saml/src/condition.c Thu Oct 25 23:15:55 2007
@@ -206,7 +206,7 @@
 		return AXIS2_FAILURE;
 	}
 	locname = axiom_element_get_localname(element, env);
-	if (!axutil_strcmp(locname, SAML_AUDIENCE_RESTRICTION_CONDITION))
+	if (0 == axutil_strcmp(locname, SAML_AUDIENCE_RESTRICTION_CONDITION))
 	{
 		return saml_audi_restriction_cond_build(cond->cond, node, env);
 	}

Modified: webservices/rampart/scratch/c/saml/src/stmt.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/src/stmt.c?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/src/stmt.c (original)
+++ webservices/rampart/scratch/c/saml/src/stmt.c Thu Oct 25 23:15:55 2007
@@ -66,24 +66,28 @@
 		return AXIS2_FAILURE;
 	}
 	locname = axiom_element_get_localname(element, env);
-	if (!axutil_strcmp(locname, SAML_AUTHENTICATION_STATEMENT))
+	if (0 == strcmp(locname, SAML_AUTHENTICATION_STATEMENT))
 	{
 		stmt->stmt = saml_auth_stmt_create(env);
+		stmt->type = SAML_STMT_AUTHENTICATIONSTATEMENT;
 		return saml_auth_stmt_build(stmt->stmt, node, env);		
 	}
-	else if (!axutil_strcmp(locname, SAML_AUTHORIZATION_DECISION_STATEMENT))
+	else if (0 == strcmp(locname, SAML_AUTHORIZATION_DECISION_STATEMENT))
 	{
 		stmt->stmt = saml_auth_desicion_stmt_create(env);
+		stmt->type = SAML_STMT_AUTHORIZATIONDECISIONSTATEMENT;
 		return saml_auth_desicion_stmt_build(stmt->stmt, node,env);		
 	}
-	else if (!axutil_strcmp(locname, SAML_ATTRIBUTE_STATEMENT))
+	else if (0 == strcmp(locname, SAML_ATTRIBUTE_STATEMENT))
 	{
 		stmt->stmt = saml_attr_stmt_create(env);
+		stmt->type = SAML_STMT_ATTRIBUTESTATEMENT;
 		return saml_attr_stmt_build(stmt->stmt, node, env);		
 	}
-	else if (!axutil_strcmp(locname, SAML_SUBJECT_STATEMENT))
+	else if (0 == strcmp(locname, SAML_SUBJECT_STATEMENT))
 	{
-		stmt->stmt = saml_subject_create(env);
+		stmt->stmt = saml_subject_stmt_create(env);
+		stmt->type = SAML_STMT_SUBJECTSTATEMENT;
 		return saml_subject_stmt_build(stmt->stmt, node, env);		
 	}
 	return AXIS2_SUCCESS;	
@@ -97,16 +101,16 @@
 		return saml_auth_stmt_to_om(stmt->stmt, parent, env);		
 	}
 	else if (stmt->type == SAML_STMT_AUTHORIZATIONDECISIONSTATEMENT)
-	{
+	{		
 		return saml_auth_desicion_stmt_to_om(stmt->stmt, parent,env);		
 	}
 	else if (stmt->type == SAML_STMT_ATTRIBUTESTATEMENT)
-	{
+	{		
 		return saml_attr_stmt_to_om(stmt->stmt, parent, env);		
 	}
 	else if (stmt->type == SAML_STMT_SUBJECTSTATEMENT)
-	{
-		saml_subject_stmt_to_om(stmt->stmt, parent, env);		
+	{		
+		return saml_subject_stmt_to_om(stmt->stmt, parent, env);		
 	}
 	return NULL;
 }

Modified: webservices/rampart/scratch/c/saml/src/subject.c
URL: http://svn.apache.org/viewvc/webservices/rampart/scratch/c/saml/src/subject.c?rev=588537&r1=588536&r2=588537&view=diff
==============================================================================
--- webservices/rampart/scratch/c/saml/src/subject.c (original)
+++ webservices/rampart/scratch/c/saml/src/subject.c Thu Oct 25 23:15:55 2007
@@ -88,17 +88,17 @@
 		void *v = NULL;
         axutil_hash_this(hi, NULL, NULL, &v);
 		if (v)
-		{
-			axis2_char_t *attr_val = NULL;
+		{			
+			axis2_char_t *local_name = NULL;
 			axiom_attribute_t *attr = (axiom_attribute_t*)v;			
-			attr_val = axiom_attribute_get_value(attr, env);			
-			if (!axutil_strcmp(attr_val, SAML_NAME_QUALIFIER))
+			local_name = axiom_attribute_get_localname(attr, env);			
+			if (0 == axutil_strcmp(local_name, SAML_NAME_QUALIFIER))
 			{
-				named_id->name_qualifier = attr_val;
+				named_id->name_qualifier = axiom_attribute_get_value(attr, env);
 			}        
-			else if (!axutil_strcmp(attr_val, SAML_FORMAT))
+			else if (0 == axutil_strcmp(local_name, SAML_FORMAT))
 			{
-				named_id->format = attr_val;
+				named_id->format = axiom_attribute_get_value(attr, env);
 			}      			
 			else 
 			{				
@@ -241,61 +241,55 @@
 				   axutil_env_t *env)
 {
 	axiom_element_t *element = NULL;
-	axiom_child_element_iterator_t *ci = NULL;
+	axiom_node_t *cn = NULL, *ccn = NULL;
+	axiom_element_t *ce = NULL, *cce = NULL;
+	saml_auth_binding_t *auth_bind = NULL;
+	char *child_name = NULL;
+	axiom_child_element_iterator_t *ci = NULL, *cci = NULL;
+	short is_named_id = AXIS2_FALSE;
 	if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT || (element = (axiom_element_t *)axiom_node_get_data_element(node, env)) == NULL)
 	{
 		return AXIS2_FAILURE;
 	}			
 	ci = axiom_element_get_child_elements(element, env, node);
 	if (ci)
-	{
-		axiom_node_t *child_node = NULL;
-		axiom_element_t *child_element = NULL;
-		saml_auth_binding_t *auth_bind = NULL;
-		char *child_name = NULL;
-		if (AXIS2_TRUE == axiom_child_element_iterator_has_next(ci, env))
-        {   
-			short is_named_id = AXIS2_FALSE;
-			axiom_child_element_iterator_t *conf_ci = NULL;
-			axiom_node_t *conf_child_node = NULL;
-			axiom_element_t *conf_child_element = NULL;
-			child_node = axiom_child_element_iterator_next(ci, env);
-            element = (axiom_element_t *)axiom_node_get_data_element(node, env);			            						
-			if (element != NULL && axutil_strcmp(axiom_element_get_localname(element, env), SAML_NAME_IDENTIFIER) == 0)
+	{				
+		while (AXIS2_TRUE == axiom_child_element_iterator_has_next(ci, env))
+		{  					
+			cn = axiom_child_element_iterator_next(ci, env);
+            ce = axiom_node_get_data_element(cn, env);			            						
+			if (0 == axutil_strcmp(axiom_element_get_localname(ce, env), SAML_NAME_IDENTIFIER))
 			{
 				if (!subject->named_id)
 				{
 					subject->named_id = saml_named_id_create(env);
 				}
-				saml_named_id_build(subject->named_id, child_node, env);							
-				element = NULL;
-				if (AXIS2_TRUE == axiom_child_element_iterator_has_next(ci, env))
-				{
-					child_node = axiom_child_element_iterator_next(ci, env);
-					element = (axiom_element_t *)axiom_node_get_data_element(node, env);			            						
-				}
+				saml_named_id_build(subject->named_id, cn, env);							
 			}
-			if (element != NULL && axutil_strcmp(axiom_element_get_localname(element, env), SAML_SUBJECT_CONFIRMATION) == 0)
+			if (0 == axutil_strcmp(axiom_element_get_localname(ce, env), SAML_SUBJECT_CONFIRMATION))
 			{
-				conf_ci = axiom_element_get_child_elements(element, env, node); 
-				if (conf_ci)
+				cci = axiom_element_get_child_elements(ce, env, cn); 
+				if (cci)
 				{
-					while (AXIS2_TRUE == axiom_child_element_iterator_has_next(conf_ci, env))
+					while (AXIS2_TRUE == axiom_child_element_iterator_has_next(cci, env))
 					{											
-						conf_child_node = axiom_child_element_iterator_next(conf_ci, env);
-						conf_child_element = axiom_node_get_data_element(conf_child_node, env);
-
-						if (0 == axutil_strcmp(axiom_element_get_localname(conf_child_element, env), SAML_CONFIRMATION_METHOD))
+						ccn = axiom_child_element_iterator_next(cci, env);
+						cce = axiom_node_get_data_element(ccn, env);
+						if (0 == axutil_strcmp(axiom_element_get_localname(cce, env), SAML_CONFIRMATION_METHOD))
 						{
-							axutil_array_list_add(subject->confirmation_methods, env, axiom_element_get_text(conf_child_element, env, conf_child_node));
+							if (!subject->confirmation_methods)
+							{
+								subject->confirmation_methods = axutil_array_list_create(env, SAML_ARRAY_LIST_DEF);
+							}
+							axutil_array_list_add(subject->confirmation_methods, env, axiom_element_get_text(cce, env, ccn));
 						}
-						else if (0 == axutil_strcmp(axiom_element_get_localname(conf_child_element, env), SAML_SUBJECT_CONFIRMATION_DATA))
+						else if (0 == axutil_strcmp(axiom_element_get_localname(cce, env), SAML_SUBJECT_CONFIRMATION_DATA))
 						{
-							subject->confirmation_data = conf_child_node;
+							subject->confirmation_data = ccn;
 						}
-						else if (0 == axutil_strcmp(axiom_element_get_localname(conf_child_element, env), SAML_KEY_INFO))
+						else if (0 == axutil_strcmp(axiom_element_get_localname(cce, env), SAML_KEY_INFO))
 						{
-							subject->key_info = conf_child_node;
+							subject->key_info = ccn;
 						}
 						else
 						{