You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sh...@apache.org on 2008/10/03 11:27:24 UTC

svn commit: r701334 - in /webservices/axis2/trunk/c: neethi/include/ neethi/src/secpolicy/builder/ neethi/src/secpolicy/model/ util/include/ util/src/

Author: shankar
Date: Fri Oct  3 02:27:23 2008
New Revision: 701334

URL: http://svn.apache.org/viewvc?rev=701334&view=rev
Log:
implementation for issue RAMPARTC-114 and RAMPARTC-113

Modified:
    webservices/axis2/trunk/c/neethi/include/rp_defines.h
    webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h
    webservices/axis2/trunk/c/neethi/src/secpolicy/builder/rampart_config_builder.c
    webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c
    webservices/axis2/trunk/c/util/include/axutil_date_time.h
    webservices/axis2/trunk/c/util/src/date_time.c

Modified: webservices/axis2/trunk/c/neethi/include/rp_defines.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_defines.h?rev=701334&r1=701333&r2=701334&view=diff
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_defines.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_defines.h Fri Oct  3 02:27:23 2008
@@ -211,6 +211,8 @@
 #define RP_PRIVATE_KEY "PrivateKey"
 #define RP_PKCS12_KEY_STORE "PKCS12KeyStore"
 #define RP_TIME_TO_LIVE "TimeToLive"
+#define RP_CLOCK_SKEW_BUFFER "ClockSkewBuffer"
+#define RP_NEED_MILLISECOND_PRECISION "PrecisionInMilliseconds"
 #define RP_RD "ReplayDetection"
 #define RP_RD_MODULE "ReplayDetectionModule"
 #define RP_SCT_MODULE "SecurityContextTokenProvider"

Modified: webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h?rev=701334&r1=701333&r2=701334&view=diff
==============================================================================
--- webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h (original)
+++ webservices/axis2/trunk/c/neethi/include/rp_rampart_config.h Fri Oct  3 02:27:23 2008
@@ -163,6 +163,28 @@
         axis2_char_t * time_to_live);
 
     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    rp_rampart_config_get_clock_skew_buffer(
+        rp_rampart_config_t * rampart_config,
+        const axutil_env_t * env);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    rp_rampart_config_set_clock_skew_buffer(
+        rp_rampart_config_t * rampart_config,
+        const axutil_env_t * env,
+        axis2_char_t * clock_skew_buffer);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    rp_rampart_config_get_need_millisecond_precision(
+        rp_rampart_config_t * rampart_config,
+        const axutil_env_t * env);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    rp_rampart_config_set_need_millisecond_precision(
+        rp_rampart_config_t * rampart_config,
+        const axutil_env_t * env,
+        axis2_char_t * need_millisecond_precision);
+
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
     rp_rampart_config_get_rd_val(
         rp_rampart_config_t * rampart_config,
         const axutil_env_t * env);

Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/builder/rampart_config_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/builder/rampart_config_builder.c?rev=701334&r1=701333&r2=701334&view=diff
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/builder/rampart_config_builder.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/builder/rampart_config_builder.c Fri Oct  3 02:27:23 2008
@@ -190,6 +190,19 @@
             time_to_live = axiom_element_get_text(element, env, node);
             return rp_rampart_config_set_time_to_live(rampart_config, env, time_to_live);
         }
+        else if(!axutil_strcmp(local_name, RP_CLOCK_SKEW_BUFFER))
+        {
+            axis2_char_t *clock_skew_buffer = NULL;
+            clock_skew_buffer = axiom_element_get_text(element, env, node);
+            return rp_rampart_config_set_clock_skew_buffer(rampart_config, env, clock_skew_buffer);
+        }
+        else if(!axutil_strcmp(local_name, RP_NEED_MILLISECOND_PRECISION))
+        {
+            axis2_char_t *need_ms_precision = NULL;
+            need_ms_precision = axiom_element_get_text(element, env, node);
+            return rp_rampart_config_set_need_millisecond_precision(
+                rampart_config, env, need_ms_precision);
+        }
         else if(!axutil_strcmp(local_name, RP_RD))
         {
             axis2_char_t *rd_val = NULL;

Modified: webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c?rev=701334&r1=701333&r2=701334&view=diff
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c (original)
+++ webservices/axis2/trunk/c/neethi/src/secpolicy/model/rampart_config.c Fri Oct  3 02:27:23 2008
@@ -28,6 +28,8 @@
     axis2_char_t *sct_provider;
     axis2_char_t *password_type;
     axis2_char_t *time_to_live;
+    axis2_char_t *clock_skew_buffer;
+    axis2_char_t *need_millisecond_precision;
     axis2_char_t *receiver_certificate_file;
     axis2_char_t *certificate_file;
     axis2_char_t *private_key_file;
@@ -64,6 +66,8 @@
     rampart_config->sct_provider = NULL;
     rampart_config->password_type = NULL;
     rampart_config->time_to_live = NULL;
+    rampart_config->clock_skew_buffer = NULL;
+    rampart_config->need_millisecond_precision = NULL;
 	rampart_config->pkcs12_file = NULL;
     rampart_config->rd_val = NULL;
     rampart_config->ref = 0;
@@ -347,6 +351,42 @@
 }
 
 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_rampart_config_get_clock_skew_buffer(
+    rp_rampart_config_t * rampart_config,
+    const axutil_env_t * env)
+{
+    return rampart_config->clock_skew_buffer;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_rampart_config_set_clock_skew_buffer(
+    rp_rampart_config_t * rampart_config,
+    const axutil_env_t * env,
+    axis2_char_t * clock_skew_buffer)
+{
+    rampart_config->clock_skew_buffer = clock_skew_buffer;
+    return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+rp_rampart_config_get_need_millisecond_precision(
+    rp_rampart_config_t * rampart_config,
+    const axutil_env_t * env)
+{
+    return rampart_config->need_millisecond_precision;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+rp_rampart_config_set_need_millisecond_precision(
+    rp_rampart_config_t * rampart_config,
+    const axutil_env_t * env,
+    axis2_char_t * need_millisecond_precision)
+{
+    rampart_config->need_millisecond_precision = need_millisecond_precision;
+    return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
 rp_rampart_config_get_pkcs12_file(
 	rp_rampart_config_t * rampart_config,
 	const axutil_env_t * env)

Modified: webservices/axis2/trunk/c/util/include/axutil_date_time.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/include/axutil_date_time.h?rev=701334&r1=701333&r2=701334&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/include/axutil_date_time.h (original)
+++ webservices/axis2/trunk/c/util/include/axutil_date_time.h Fri Oct  3 02:27:23 2008
@@ -171,10 +171,10 @@
         const axutil_env_t * env);
 
     /**
-     * retrive the stored date time  as a string
+     * retrive the stored date time  as a string with millisecond precision
      * @param date_time represet the type object
      * @param env pointer to environment struct. MUST NOT be NULL
-     * @return time as a string format YYYY-MM-DDTHH:MM:SSZ
+     * @return time as a string format YYYY-MM-DDTHH:MM:SS.msZ
      */
     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
 
@@ -183,6 +183,17 @@
         const axutil_env_t * env);
 
     /**
+     * retrive the stored date time  as a string without millisecond
+     * @param date_time represet the type object
+     * @param env pointer to environment struct. MUST NOT be NULL
+     * @return time as a string format YYYY-MM-DDTHH:MM:SSZ
+     */
+    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    axutil_date_time_serialize_date_time_without_millisecond(
+        axutil_date_time_t * date_time,
+        const axutil_env_t * env);
+
+    /**
      * retrieve the year of the date time
      * @param date_time represet the type object
      * @param env pointer to environment struct. MUST NOT be NULL

Modified: webservices/axis2/trunk/c/util/src/date_time.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/date_time.c?rev=701334&r1=701333&r2=701334&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/date_time.c (original)
+++ webservices/axis2/trunk/c/util/src/date_time.c Fri Oct  3 02:27:23 2008
@@ -692,6 +692,22 @@
 }
 
 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+axutil_date_time_serialize_date_time_without_millisecond(
+    axutil_date_time_t *date_time,
+    const axutil_env_t *env)
+{
+    axis2_char_t *date_time_str = NULL;
+
+    AXIS2_ENV_CHECK(env, NULL);
+
+    date_time_str = AXIS2_MALLOC(env->allocator, sizeof(char) * 32);
+    sprintf(date_time_str, "%d-%02d-%02dT%02d:%02d:%02.0fZ",
+        date_time->year + 1900, date_time->mon + 1, date_time->day,
+        date_time->hour, date_time->min, date_time->sec);
+    return date_time_str;
+}
+
+AXIS2_EXTERN axis2_char_t *AXIS2_CALL
 axutil_date_time_serialize_date_time_with_time_zone(
     axutil_date_time_t *date_time,
     const axutil_env_t *env)