[java-identity-provider COMMIT] in /branches/3.3/idp-session-impl/src: main/java/net/shibboleth/idp/session/impl/Stor...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Mar 13 10:50:27 EDT 2017
Author: scantor
Date: Mon Mar 13 10:50:26 2017
New Revision: 8674
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8674&view=rev
Log:
IDP-1141 - SLO not working in IE/Edge
https://issues.shibboleth.net/jira/browse/IDP-1141
Modified:
branches/3.3/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
branches/3.3/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java
Modified: branches/3.3/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java
URL: http://svn.shibboleth.net/view/java-identity-provider/branches/3.3/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java?rev=8674&r1=8673&r2=8674&view=diff
==============================================================================
--- branches/3.3/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java (original)
+++ branches/3.3/idp-session-impl/src/main/java/net/shibboleth/idp/session/impl/StorageBackedSessionManager.java Mon Mar 13 10:50:26 2017
@@ -62,6 +62,7 @@
import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
+import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
@@ -788,7 +789,12 @@
* @return the IdPSession object, or null
* @throws ResolverException if an error occurs during lookup
*/
- @Nullable private IdPSession lookupBySessionId(@Nonnull @NotEmpty final String sessionId) throws ResolverException {
+ @Nullable private IdPSession lookupBySessionId(@Nullable final String sessionId) throws ResolverException {
+ if (Strings.isNullOrEmpty(sessionId)) {
+ log.debug("Lookup of null/empty session ID");
+ return null;
+ }
+
log.debug("Performing primary lookup on session ID {}", sessionId);
try {
Modified: branches/3.3/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/branches/3.3/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java?rev=8674&r1=8673&r2=8674&view=diff
==============================================================================
--- branches/3.3/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java (original)
+++ branches/3.3/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java Mon Mar 13 10:50:26 2017
@@ -27,6 +27,7 @@
import javax.json.JsonObject;
import javax.json.stream.JsonGenerator;
+import javax.servlet.http.Cookie;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.AuthenticationResult;
@@ -38,6 +39,7 @@
import net.shibboleth.idp.session.SPSession;
import net.shibboleth.idp.session.SPSessionSerializerRegistry;
import net.shibboleth.idp.session.SessionException;
+import net.shibboleth.idp.session.criterion.HttpServletRequestCriterion;
import net.shibboleth.idp.session.criterion.SPSessionCriterion;
import net.shibboleth.idp.session.criterion.SessionIdCriterion;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -102,10 +104,23 @@
sessionManager.setSPSessionSerializerRegistry(serializerRegistry);
}
+ @Test
+ public void testEmptyCookie() throws ResolverException, SessionException, InterruptedException {
+
+ final MockHttpServletRequest mockRequest = new MockHttpServletRequest();
+ HttpServletRequestResponseContext.loadCurrent(mockRequest, new MockHttpServletResponse());
+
+ final Cookie cookie = new Cookie(StorageBackedSessionManager.DEFAULT_COOKIE_NAME, "");
+ mockRequest.setCookies(cookie);
+
+ // Do a lookup.
+ Assert.assertNull(sessionManager.resolveSingle(new CriteriaSet(new HttpServletRequestCriterion())));
+ }
+
@Test(threadPoolSize = 10, invocationCount = 10, timeOut = 10000)
public void testSimpleSession() throws ResolverException, SessionException, InterruptedException {
- MockHttpServletResponse mockResponse = new MockHttpServletResponse();
+ final MockHttpServletResponse mockResponse = new MockHttpServletResponse();
HttpServletRequestResponseContext.loadCurrent(new MockHttpServletRequest(), mockResponse);
// Test a failed lookup.
@@ -153,7 +168,7 @@
@Test(threadPoolSize = 10, invocationCount = 10, timeOut = 10000)
public void testAddress() throws SessionException, ResolverException {
- MockHttpServletRequest mockRequest = new MockHttpServletRequest();
+ final MockHttpServletRequest mockRequest = new MockHttpServletRequest();
mockRequest.setRemoteAddr("192.168.1.1");
HttpServletRequestResponseContext.loadCurrent(mockRequest, new MockHttpServletResponse());
More information about the commits
mailing list