Author: milinda
Date: Sun Dec 16 07:11:15 2007
New Revision: 604633

URL: http://svn.apache.org/viewvc?rev=604633&view=rev
Log:
Modified to increase the felexibility given to user

Added:
    webservices/rampart/scratch/c/trust/c/include/trust_claims.h
    webservices/rampart/scratch/c/trust/c/include/trust_entropy.h
    webservices/rampart/scratch/c/trust/c/include/trust_life_time.h
    webservices/rampart/scratch/c/trust/c/include/trust_rst.h
    webservices/rampart/scratch/c/trust/c/include/trust_rstr.h
Modified:
    webservices/rampart/scratch/c/trust/c/include/trust_context.h
    webservices/rampart/scratch/c/trust/c/include/trust_sts_client.h
    webservices/rampart/scratch/c/trust/c/include/trust_util.h

Added: webservices/rampart/scratch/c/trust/c/include/trust_claims.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_claims.h?rev=604633&view=auto
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_claims.h (added)
+++ webservices/rampart/scratch/c/trust/c/include/trust_claims.h Sun Dec 16 
07:11:15 2007
@@ -0,0 +1,94 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+#ifndef TRUST_CLAIMS_H
+#define TRUST_CLAIMS_H
+
+#include <axutil_utils.h>
+#include <axiom.h>
+
+#include <trust_constants.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    
+    typedef struct trust_claims trust_claims_t;
+    
+    AXIS2_EXTERN trust_claims_t * AXIS2_CALL
+    trust_claims_create(
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN  axis2_status_t AXIS2_CALL
+    trust_claims_free(
+        trust_claims_t *claims,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_claims_deserialize(
+        trust_claims_t *claims,
+        const axutil_env_t *env,
+        axiom_node_t *claims_node);
+    
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_claims_serialize(
+        trust_claims_t *claims,
+        const axutil_env_t *env,
+        axiom_node_t *parent);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_claims_set_children(
+        trust_claims_t *claims,
+        const axutil_env_t *env,
+        axiom_children_iterator_t *children);
+    
+    AXIS2_EXTERN axiom_children_iterator_t * AXIS2_CALL
+    trust_claims_get_children(
+        trust_claims_t *claims,
+        const axutil_env_t *env);
+    
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_claims_set_attr_dialect(
+        trust_claims_t *claims,
+        const axutil_env_t *env,
+        axis2_char_t *dialect_attr);
+
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_claims_get_attr_dialect(
+        trust_claims_t *claims,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_claims_set_wst_ns_uri(
+        trust_claims_t *claims,
+        const axutil_env_t *env,
+        axis2_char_t *wst_ns_uri);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    trust_claims_get_wst_ns_uri(
+        trust_claims_t *claims,
+        const axutil_env_t *env);
+        
+            
+    
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*TRUST_CLAIMS_H*/

Modified: webservices/rampart/scratch/c/trust/c/include/trust_context.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_context.h?rev=604633&r1=604632&r2=604633&view=diff
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_context.h (original)
+++ webservices/rampart/scratch/c/trust/c/include/trust_context.h Sun Dec 16 
07:11:15 2007
@@ -34,6 +34,8 @@
 #include <axis2_msg_ctx.h>
 #include <axis2_addr.h>
 #include <trust_constants.h>
+#include <trust_rst.h>
+#include <trust_rstr.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -43,154 +45,71 @@
     typedef struct trust_context trust_context_t;
 
     AXIS2_EXTERN trust_context_t *AXIS2_CALL
-    trust_context_create(
-        const axutil_env_t * env,
-        axis2_msg_ctx_t * in_msg_ctx);
-
-    AXIS2_EXTERN void AXIS2_CALL
-    trust_context_free(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_applies_to(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-
-    trust_context_process_request_context(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_request_type(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_applies_to(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_life_time(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_claims(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_entorpy(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_token_type(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_entropy(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_key_type(
-        trust_context_t * data,
-        const axutil_env_t * env);
+            trust_context_create(
+            const axutil_env_t * env);
+    
+    AXIS2_EXTERN  void AXIS2_CALL
+            trust_context_free(            
+            const axutil_env_t * env,
+            trust_context_t *trust_context);
     
+    
+    /*Populate RST_CONTEXT : Often used in STS/IP side */
     AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_process_key_size(
-        trust_context_t * data,
-        const axutil_env_t * env);
-    
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-    trust_context_get_token_type(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
+            trust_context_process_rst(
+            const axutil_env_t * env,
+            trust_context_t *trust_context,
+            axis2_msg_ctx_t * in_msg_ctx);
     
+    /*Populate RSTR_CONTEXT : Often used in Token Requestor side*/
     AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_set_token_type(
-        trust_context_t * trust_context,
-        const axutil_env_t * env,
-        axis2_char_t *token_type);
+            trust_context_process_rstr(
+            const axutil_env_t * env,
+            trust_context_t *trust_context,
+            axis2_msg_ctx_t * in_msg_ctx);
     
-    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
-    trust_context_get_rst_node(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
+    /*Build RST Node from created RST_CONTEXT */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+            trust_context_build_rst_node(
+            const axutil_env_t * env,
+            trust_context_t *trust_context);
     
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_set_rst_node(
-            trust_context_t * trust_context,
+    /*Build RSTR Node from created RSTR_CONTEXT */
+    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
+            trust_context_build_rstr_node(
             const axutil_env_t * env,
-            axiom_node_t *rst_node);
+            trust_context_t *trust_context);
     
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-    trust_context_get_request_type(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
     
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    trust_context_set_request_type(
-        trust_context_t * trust_context,
+    /*Get Populated RST_CONTEXT */
+    AXIS2_EXTERN trust_rst_t* AXIS2_CALL
+        trust_context_get_rst(
         const axutil_env_t * env,
-        axis2_char_t *request_type);
-
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-    trust_context_get_soap_ns(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-    trust_context_get_wst_ns(
-        trust_context_t * trust_context,
-        const axutil_env_t * env);
+        trust_context_t *trust_context);
     
-    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
-    trust_context_get_appliesto_address(
-            trust_context_t *trust_context,
-            const axutil_env_t *env);
+    /*Get Populated RSTR_CONTEXT */
+    AXIS2_EXTERN trust_rstr_t* AXIS2_CALL
+        trust_context_get_rstr(
+        const axutil_env_t * env,
+        trust_context_t *trust_context);
     
-    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
-    trust_context_get_appliesto_epr_node(
-            trust_context_t *trust_context,
-            const axutil_env_t *env);
-
-    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
-    trust_context_get_rst_context_attr(
+    /*Set RST_CONTEXT */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+            trust_context_set_rst(
+            const axutil_env_t * env,
             trust_context_t *trust_context,
-            const axutil_env_t *env);
+            trust_rst_t *rst);
     
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-    trust_context_get_key_type(
-            trust_context_t *trust_context,
-            const axutil_env_t *env);
-
-    AXIS2_EXTERN int AXIS2_CALL
-    trust_context_get_key_size(
+    /*Set RSTR_CONTEXT */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+            trust_context_set_rstr(
+            const axutil_env_t * env,
             trust_context_t *trust_context,
-            const axutil_env_t *env);
+            trust_rstr_t *rstr);
     
-    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
-    trust_context_get_request_entropy(
-            trust_context_t *trust_context,
-            const axutil_env_t *env);
     
-    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
-    trust_context_get_claims_node(
-            trust_context_t *trust_context,
-            const axutil_env_t *env);
+ 
     
-    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
-    trust_context_get_claims_dialect(
-            trust_context_t * trust_context,
-            const axutil_env_t *env);
-
 #ifdef __cplusplus
 }
 #endif

Added: webservices/rampart/scratch/c/trust/c/include/trust_entropy.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_entropy.h?rev=604633&view=auto
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_entropy.h (added)
+++ webservices/rampart/scratch/c/trust/c/include/trust_entropy.h Sun Dec 16 
07:11:15 2007
@@ -0,0 +1,114 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+#ifndef TRUST_ENTROPY_H
+#define        TRUST_ENTROPY_H
+
+#include <axutil_utils.h>
+#include <axutil_utils.h>
+#include <axutil_string.h>
+#include <axutil_base64.h>
+#include <axiom_soap.h>
+#include <axiom.h>
+#include <trust_constants.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    
+    #define BIN_SEC_ASSYM   
"http://schemas.xmlsoap.org/ws/2005/02/trust/AsymmetricKey";
+    #define BIN_SEC_SYM     
"http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey";
+    #define BIN_SEC_NONCE   
"http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce";    
+
+    typedef enum
+    {
+        BIN_SEC_TYPE_ERROR = -1,
+        ASYMMETRIC ,
+        SYMMETRIC,
+        NONCE
+    }trust_bin_sec_type_t;
+
+    typedef struct trust_entropy trust_entropy_t;
+
+    #define TRUST_BIN_SEC_TYPE_ATTR "Type"
+            
+    AXIS2_EXTERN trust_entropy_t * AXIS2_CALL
+    trust_entropy_create(
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_entropy_free(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_entropy_deserialize(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env,
+        axiom_node_t *entropy_node);
+    
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_entropy_serialize(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env,
+        axiom_node_t *parent);
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_entropy_get_binary_secret(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+        trust_entropy_get_str_for_bin_sec_type(
+        trust_bin_sec_type_t type,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_entropy_set_binary_secret(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env,
+        axis2_char_t *bin_sec);
+    
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_entropy_get_other(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_entropy_set_other(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env,
+        axiom_node_t *other_node);
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_entropy_get_ns_uri(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_entropy_set_ns_uri(
+        trust_entropy_t *entropy,
+        const axutil_env_t *env,
+        axis2_char_t *ns_uri);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif                          /* _TRUST_ENTROPY_H */

Added: webservices/rampart/scratch/c/trust/c/include/trust_life_time.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_life_time.h?rev=604633&view=auto
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_life_time.h (added)
+++ webservices/rampart/scratch/c/trust/c/include/trust_life_time.h Sun Dec 16 
07:11:15 2007
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef TRUST_LIFETIME_H
+#define TRUST_LIFETIME_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <axutil_utils.h>
+#include <axutil_string.h>
+#include <axutil_base64.h>
+#include <axiom_soap.h>
+#include <axiom.h>
+#include <axis2_msg_ctx.h>
+#include <axis2_addr.h>
+
+#include <trust_constants.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    
+    typedef struct trust_life_time trust_life_time_t;
+    
+    AXIS2_EXTERN trust_life_time_t * AXIS2_CALL
+    trust_life_time_create(
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_life_time_free(
+        trust_life_time_t *life_time,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_life_time_deserialize(
+        trust_life_time_t *life_time,
+        const axutil_env_t *env,
+        axiom_node_t *life_time_node);
+    
+    AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+    trust_life_time_serialize(
+        trust_life_time_t *life_time,
+        const axutil_env_t *env,
+        axiom_node_t *parent);
+    
+    AXIS2_EXTERN int AXIS2_CALL
+    trust_life_time_get_ttl(
+        trust_life_time_t *life_time,
+        const axutil_env_t *env);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_life_time_set_ttl(
+            trust_life_time_t *life_time,
+            const axutil_env_t *env,
+            int ttl);        
+
+    AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL
+    trust_life_time_get_created(
+            trust_life_time_t *life_time,
+            const axutil_env_t *env);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_life_time_set_created(
+            trust_life_time_t *life_time,
+            const axutil_env_t *env,
+            axutil_date_time_t *created);
+
+    AXIS2_EXTERN axutil_date_time_t * AXIS2_CALL
+    trust_life_time_get_expires(
+            trust_life_time_t *life_time,
+            const axutil_env_t *env);
+
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_life_time_set_expires(
+            trust_life_time_t *life_time,
+            const axutil_env_t *env,
+            axutil_date_time_t *expires);
+
+
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_life_time_get_ns_uri(
+            trust_life_time_t *life_time,
+            const axutil_env_t *env);
+
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_life_time_set_ns_uri(
+            trust_life_time_t *life_time,
+            const axutil_env_t *env,
+            axis2_char_t *ns_uri);
+
+    
+#ifdef __cplusplus
+}
+#endif
+#endif 

Added: webservices/rampart/scratch/c/trust/c/include/trust_rst.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_rst.h?rev=604633&view=auto
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_rst.h (added)
+++ webservices/rampart/scratch/c/trust/c/include/trust_rst.h Sun Dec 16 
07:11:15 2007
@@ -0,0 +1,198 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef TRUST_RST_H
+#define TRUST_RST_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <axutil_utils.h>
+#include <axutil_base64.h>
+#include <axiom_soap.h>
+#include <axiom.h>
+#include <trust_constants.h>
+#include <trust_entropy.h>
+#include <trust_claims.h>
+#include <trust_life_time.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    
+   typedef struct trust_rst trust_rst_t;
+    
+   /* Create RST Context*/
+   AXIS2_EXTERN trust_rst_t * AXIS2_CALL
+   trust_rst_create(
+           int trust_version,
+           const axutil_env_t *env);
+    
+    /* Populate RST Context from axiom_node*/
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_populate_rst(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axiom_node_t *rst_node
+        /*axis2_msg_ctx_t *in_msg_ctx*/);
+    
+    /*Build RST message from the created RST Context */
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_rst_build_rst(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axiom_node_t *parent);
+    
+    /* Getters & Setters */
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rst_get_attr_context(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_attr_context(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axis2_char_t *attr_context);
+    
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rst_get_token_type(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_token_type(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axis2_char_t *token_type);
+    
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rst_get_request_type(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_request_type(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axis2_char_t *request_type);
+    
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rst_get_applies_to_addr(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_appliesto(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axis2_char_t *applies_to_addr);
+    
+    
+    AXIS2_EXTERN trust_claims_t * AXIS2_CALL
+    trust_rst_get_claims(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_claims(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        trust_claims_t *claims);
+    
+    AXIS2_EXTERN trust_entropy_t * AXIS2_CALL
+    trust_rst_get_entropy(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_entropy(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        trust_entropy_t *entropy);
+    
+    
+    AXIS2_EXTERN  trust_life_time_t * AXIS2_CALL
+    trust_rst_get_life_time(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_life_time(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        trust_life_time_t *life_time);
+    
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_key_type(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axis2_char_t *key_type);
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rst_get_key_type(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+      
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_key_size(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        int key_size);
+    
+    AXIS2_EXTERN int AXIS2_CALL
+    trust_rst_get_key_size(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+
+    
+    
+    /*Trust Version 1 -2005/02 - http://schemas.xmlsoap.org/ws/2005/02/trust */
+    /*Trust Version 2 -2005/12 - 
http://docs.oasis-open.org/ws-sx/ws-trust/200512 */
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rst_get_wst_ns_uri(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rst_set_wst_ns_uri(
+        trust_rst_t *rst,
+        const axutil_env_t *env,
+        axis2_char_t *wst_ns_uri);
+    
+    
+    
+    
+    AXIS2_EXTERN void AXIS2_CALL
+    trust_rst_free(
+        trust_rst_t *rst,
+        const axutil_env_t *env);
+    
+    
+#ifdef __cplusplus
+}
+#endif
+
+#endif 
+

Added: webservices/rampart/scratch/c/trust/c/include/trust_rstr.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_rstr.h?rev=604633&view=auto
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_rstr.h (added)
+++ webservices/rampart/scratch/c/trust/c/include/trust_rstr.h Sun Dec 16 
07:11:15 2007
@@ -0,0 +1,179 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef TRUST_RSTR_H
+#define TRUST_RSTR_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <axutil_utils.h>
+#include <axutil_string.h>
+#include <axutil_base64.h>
+#include <axiom_soap.h>
+#include <axiom.h>
+#include <trust_constants.h>
+#include <trust_entropy.h>
+#include <trust_life_time.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    
+    typedef struct trust_rstr trust_rstr_t;
+    
+    AXIS2_EXTERN trust_rstr_t * AXIS2_CALL
+    trust_rstr_create(
+        int trust_version,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_free(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_populate_rstr(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axiom_node_t *rstr_node);
+    
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_rstr_build_rstr(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axiom_node_t *parent);
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rstr_get_token_type(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_token_type(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axis2_char_t *token_type);
+    
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rstr_get_request_type(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_request_type(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axis2_char_t *request_type);
+    
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_rstr_get_requested_security_token(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_requested_security_token(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axiom_node_t *security_token);
+    
+    AXIS2_EXTERN axis2_char_t * AXIS2_CALL
+    trust_rstr_get_applies_to(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_applies_to(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axis2_char_t *applies_to);
+    
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_rstr_get_requested_attached_reference(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_requested_attached_reference(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axiom_node_t *ref_node);
+    
+    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+    trust_rstr_get_requested_unattached_reference(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_requested_unattached_reference(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axiom_node_t *ref_node);
+    
+    AXIS2_EXTERN  axiom_node_t * AXIS2_CALL
+    trust_rstr_get_requested_proof_token(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_requested_proof_token(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axiom_node_t *proof_token);
+    
+    AXIS2_EXTERN trust_entropy_t * AXIS2_CALL
+    trust_rstr_get_entropy(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN  axis2_status_t AXIS2_CALL
+    trust_rstr_set_entropy(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        trust_entropy_t *entropy);
+    
+    AXIS2_EXTERN trust_life_time_t* AXIS2_CALL
+    trust_rstr_get_life_time(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_life_time(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        trust_life_time_t *life_time);
+    
+    AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+    trust_rstr_get_in_header(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env);
+    
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    trust_rstr_set_in_header(
+        trust_rstr_t *rstr,
+        const axutil_env_t *env,
+        axis2_bool_t in_header); 
+    
+     
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

Modified: webservices/rampart/scratch/c/trust/c/include/trust_sts_client.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_sts_client.h?rev=604633&r1=604632&r2=604633&view=diff
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_sts_client.h (original)
+++ webservices/rampart/scratch/c/trust/c/include/trust_sts_client.h Sun Dec 16 
07:11:15 2007
@@ -39,6 +39,10 @@
 #include <trust_policy_util.h>
 #include <trust_token.h>
 
+#include <trust_rst.h>
+#include <trust_rstr.h>
+#include <trust_context.h>
+
 #ifdef __cplusplus
 extern "C"
 {
@@ -55,45 +59,14 @@
         trust_sts_client_t * sts_client,
         const axutil_env_t * env);
 
+    
+    /*Send RST to the specified STS/IP. RST Node that is built from 
RST_Context should be passed*/
     AXIS2_EXTERN void AXIS2_CALL
     trust_sts_client_request_security_token(
         trust_sts_client_t * sts_client,
         const axutil_env_t * env,
-        axis2_char_t * applies_to,
-        axis2_char_t * token_type);
+        trust_context_t *trust_context);
 
-    AXIS2_EXTERN axiom_node_t *AXIS2_CALL
-    trust_sts_client_create_issue_request(
-        trust_sts_client_t * sts_client,
-        const axutil_env_t * env,
-        axis2_char_t * request_type,
-        axis2_char_t * applies_to,
-        axis2_char_t * token_type);
-    
-    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
-    trust_sts_client_create_renew_request(
-        trust_sts_client_t *sts_client,
-        const axutil_env_t *env,
-        axis2_char_t *token_type,
-        axis2_char_t *request_type,
-        axiom_node_t *renew_target,
-        axis2_bool_t allow_postdating,
-        trust_allow_t renew_allow,
-        trust_ok_t ok_flag);
-    
-    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
-    tust_sts_client_create_cancel_request(
-        trust_sts_client_t *sts_client,
-        const axutil_env_t *env,
-        axis2_char_t *request_type,
-        axiom_node_t *cancel_target);
-    
-    AXIS2_EXTERN axiom_node_t * AXIS2_CALL
-    trust_sts_client_create_validate_request(
-        trust_sts_client_t *sts_client,
-        const axutil_env_t *env,
-        axis2_char_t *token_type,
-        axis2_char_t *request_type);
 
     AXIS2_EXTERN axis2_status_t AXIS2_CALL
     trust_sts_client_process_policies(
@@ -102,33 +75,14 @@
         neethi_policy_t * issuer_policy,
         neethi_policy_t * service_policy);
 
+
     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
     trust_sts_client_get_svc_client(
         trust_sts_client_t * sts_client,
         const axutil_env_t * env,
         axis2_char_t * action);
 
-    AXIS2_EXTERN trust_token_t *AXIS2_CALL
-    trust_sts_client_process_issue_response(
-        trust_sts_client_t * sts_client,
-        const axutil_env_t * env,
-        int wst_version,
-        axiom_node_t * response_node,
-        axiom_node_t * payload_sent);
 
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-    trust_sts_client_find_identifier(
-        trust_sts_client_t * sts_client,
-        axiom_node_t * req_att_ref_node,
-        axiom_node_t * req_unatt_ref_node,
-        axiom_node_t * sec_token_node,
-        const axutil_env_t * env);
-
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-    trust_sts_client_get_id_from_str(
-        trust_sts_client_t * sts_client,
-        axiom_node_t * ref_node,
-        const axutil_env_t * env);
 
 #ifdef __cplusplus
 }

Modified: webservices/rampart/scratch/c/trust/c/include/trust_util.h
URL: 
http://svn.apache.org/viewvc/webservices/rampart/scratch/c/trust/c/include/trust_util.h?rev=604633&r1=604632&r2=604633&view=diff
==============================================================================
--- webservices/rampart/scratch/c/trust/c/include/trust_util.h (original)
+++ webservices/rampart/scratch/c/trust/c/include/trust_util.h Sun Dec 16 
07:11:15 2007
@@ -178,7 +178,9 @@
     trust_util_create_requested_security_token_element(
         const axutil_env_t * env,
         int wst_version,
-        axiom_node_t * parent_node);
+        axiom_node_t * parent_node,
+        axiom_node_t * sec_token_node);
+
 
     /**
     * Create the RequestedProofToken Element for Issuance binding.


Reply via email to