projects
/
shibboleth
/
cpp-opensaml.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9ce601b
)
Limit validity of non-local metadata based on cacheDuration.
author
Scott Cantor
<cantor.2@osu.edu>
Thu, 10 Jul 2008 21:57:40 +0000
(21:57 +0000)
committer
Scott Cantor
<cantor.2@osu.edu>
Thu, 10 Jul 2008 21:57:40 +0000
(21:57 +0000)
saml/saml2/metadata/impl/XMLMetadataProvider.cpp
patch
|
blob
|
history
diff --git
a/saml/saml2/metadata/impl/XMLMetadataProvider.cpp
b/saml/saml2/metadata/impl/XMLMetadataProvider.cpp
index
03deb22
..
6938bce
100644
(file)
--- a/
saml/saml2/metadata/impl/XMLMetadataProvider.cpp
+++ b/
saml/saml2/metadata/impl/XMLMetadataProvider.cpp
@@
-127,12
+127,18
@@
pair<bool,DOMElement*> XMLMetadataProvider::load()
void XMLMetadataProvider::index()
{
void XMLMetadataProvider::index()
{
+ time_t exp = SAMLTIME_MAX;
+
clearDescriptorIndex();
EntitiesDescriptor* group=dynamic_cast<EntitiesDescriptor*>(m_object);
if (group) {
clearDescriptorIndex();
EntitiesDescriptor* group=dynamic_cast<EntitiesDescriptor*>(m_object);
if (group) {
- AbstractMetadataProvider::index(group, SAMLTIME_MAX);
+ if (!m_local && group->getCacheDuration())
+ exp = time_t(NULL) + group->getCacheDurationEpoch();
+ AbstractMetadataProvider::index(group, exp);
return;
}
EntityDescriptor* site=dynamic_cast<EntityDescriptor*>(m_object);
return;
}
EntityDescriptor* site=dynamic_cast<EntityDescriptor*>(m_object);
- AbstractMetadataProvider::index(site, SAMLTIME_MAX);
+ if (!m_local && site->getCacheDuration())
+ exp = time_t(NULL) + site->getCacheDurationEpoch();
+ AbstractMetadataProvider::index(site, exp);
}
}