propagate SAML expiry time
authorLuke Howard <lukeh@padl.com>
Mon, 13 Sep 2010 14:34:43 +0000 (16:34 +0200)
committerLuke Howard <lukeh@padl.com>
Mon, 13 Sep 2010 14:34:43 +0000 (16:34 +0200)
mech_eap/util_saml.cpp
mech_eap/util_saml.h

index 4746c44..377cd60 100644 (file)
@@ -510,7 +510,8 @@ OM_uint32
 samlCreateAttrContext(OM_uint32 *minor,
                       gss_buffer_t buffer,
                       gss_name_t acceptorName,
-                      struct eap_gss_saml_attr_ctx **pCtx)
+                      struct eap_gss_saml_attr_ctx **pCtx,
+                      time_t *pExpiryTime)
 {
     OM_uint32 major, tmpMinor;
     eap_gss_saml_attr_ctx *ctx = NULL;
@@ -557,6 +558,8 @@ samlCreateAttrContext(OM_uint32 *minor,
             issuer = assertion->getIssuer()->getName();
         if (assertion->getSubject() != NULL)
             subjectName = assertion->getSubject()->getNameID();
+        if (assertion->getConditions())
+            *pExpiryTime = assertion->getConditions()->getNotOnOrAfter()->getEpoch();
 
         m = app->getMetadataProvider();
         xmltooling::Locker mlocker(m);
index d5c57bb..fd5b9cd 100644 (file)
@@ -49,7 +49,8 @@ samlCreateAttrContext(OM_uint32 *minor,
                       gss_cred_id_t acceptorCred,
                       gss_name_t initiatorName,
                       gss_buffer_t buffer,
-                      struct eap_gss_saml_attr_ctx **pCtx);
+                      struct eap_gss_saml_attr_ctx **pCtx,
+                      time_t *pExpiryTime);
 
 OM_uint32
 samlReleaseAttrContext(OM_uint32 *minor,