From 3cb94788f03f5a70f8cc4d3633ffd1993366f512 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20=C3=85kre=20Solberg?= <andreas.solberg@uninett.no>
Date: Fri, 9 Jan 2009 08:53:41 +0000
Subject: [PATCH] Update to iframe SLO with cookie for session handling...
 (changes also in preivous commit)

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1114 44740490-163a-0410-bde0-09ae8108e29a
---
 www/saml2/idp/SingleLogoutServiceiFrame.php | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/www/saml2/idp/SingleLogoutServiceiFrame.php b/www/saml2/idp/SingleLogoutServiceiFrame.php
index cfecd89d2..79d5fcbfa 100644
--- a/www/saml2/idp/SingleLogoutServiceiFrame.php
+++ b/www/saml2/idp/SingleLogoutServiceiFrame.php
@@ -98,11 +98,13 @@ function updateslostatus() {
 
 	$idpentityid = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted');
 	
-	$templistofsps = $session->get_sp_list(SimpleSAML_Session::STATE_LOGGEDOUT);
+	$templistofsps = $session->get_sp_list(SimpleSAML_Session::STATE_ONLINE);
 	$listofsps = array();
 	foreach ($templistofsps AS $spentityid) {
 		if (!empty($_COOKIE['spstate-' . sha1($spentityid)])) $listofsps[] = $spentityid;
 	}
+	SimpleSAML_Logger::debug('SAML2.0 - IdP.SingleLogoutServiceiFrame: templistofsps ' . var_export($templistofsps, TRUE));
+	SimpleSAML_Logger::debug('SAML2.0 - IdP.SingleLogoutServiceiFrame:     listofsps ' . var_export($listofsps, TRUE));
 
 
 	// Using template object to be able to translate name of service provider.
@@ -127,9 +129,9 @@ function updateslostatus() {
 
 	}
 	
-	if ($session->sp_logout_completed() === TRUE) {
+	if (count($templistofsps) === count($listofsps)) {
 
-		$templistofsps = $session->get_sp_list(SimpleSAML_Session::STATE_LOGGEDOUT);
+		$templistofsps = $session->get_sp_list(SimpleSAML_Session::STATE_ONLINE);
 		foreach ($templistofsps AS $spentityid) {
 			$session->set_sp_logout_completed($spentityid);
 		}
-- 
GitLab