From e4cdf7c807c63420d22dbf29143ce5fc75cd3848 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20=C3=85kre=20Solberg?= <andreas.solberg@uninett.no>
Date: Mon, 22 Jun 2009 05:42:47 +0000
Subject: [PATCH] Do not trust expired metadata.. throw exception...

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1530 44740490-163a-0410-bde0-09ae8108e29a
---
 lib/SimpleSAML/Metadata/MetaDataStorageHandler.php | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php
index 66953f9b9..eb9d38596 100644
--- a/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php
+++ b/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php
@@ -295,7 +295,17 @@ class SimpleSAML_Metadata_MetaDataStorageHandler {
 
 		foreach($this->sources as $source) {
 			$metadata = $source->getMetaData($index, $set);
+			
 			if($metadata !== NULL) {
+				
+				if (array_key_exists('expire', $metadata)) {
+					if ($metadata['expire'] < time()) {
+						throw new Exception('Metadata for the entity [' . $index . '] expired ' . 
+							(time() - $metadata['expire']) . ' seconds ago.'
+						);
+					}
+				}
+				
 				$metadata['metadata-index'] = $index;
 				$metadata['metadata-set'] = $set;
 				return $metadata;
-- 
GitLab