Clear session indexes when session is destroyed - SIDP-386
authorlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Tue, 3 Aug 2010 10:05:30 +0000 (10:05 +0000)
committerlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Tue, 3 Aug 2010 10:05:30 +0000 (10:05 +0000)
git-svn-id: https://subversion.switch.ch/svn/shibboleth/java-idp/branches/REL_2@2935 ab3bd59b-922f-494d-bb5f-6f0a3c29deca

doc/RELEASE-NOTES.txt
src/main/java/edu/internet2/middleware/shibboleth/idp/session/impl/SessionManagerImpl.java

index ac9ab6f..cd4a8f6 100644 (file)
@@ -2,6 +2,7 @@ Changes in Release 2.2.0
 =============================================
 [SIDP-397] - Remove any unit test that won't be fixed in the 2.X branch, fix the rest
 [SIDP-388] - Add eduPersonAssurance attribute to attribute-resolver.xml config example
+[SIDP-386] - Session indexes not cleared when session is destroyed
 [SIDP-384] - Incorrect error message set for expired request in Shibboleth SSO Profile Handler
 [SIDP-382] - Less verbose logging for failed attribute queries due to missing name-id
 [SIDP-381] - Use duration notation for assertion lifetime in example config files
index b8b9465..d7e6f8b 100644 (file)
@@ -135,6 +135,13 @@ public class SessionManagerImpl implements SessionManager<Session>, ApplicationC
             return;
         }
 
+        SessionManagerEntry sessionEntry = sessionStore.get(partition, sessionID);
+        if (sessionEntry == null) {
+            return;
+        }
+        for(String sessionIndex : sessionEntry.getSessionIndexes()){
+            sessionStore.remove(partition, sessionIndex);
+        }
         sessionStore.remove(partition, sessionID);
     }