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
                                                {


Reply via email to