[java-opensaml COMMIT] in /trunk/opensaml-saml-api/src: main/java/org/opensaml/saml/common/messaging/SAMLMessageSecur...
noreply at shibboleth.net
noreply at shibboleth.net
Sun Oct 16 19:44:11 EDT 2016
Author: putmanb
Date: Sun Oct 16 19:44:10 2016
New Revision: 4538
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4538&view=rev
Log:
OSJ-147: Case-sensitive comparison of setAllowedBindingURLSchemes
Added:
trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/common/messaging/
trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupportTest.java (with props)
trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/config/
trunk/opensaml-saml-api/src/test/java/org/opensaml/saml/config/SAMLConfigurationTest.java (with props)
Modified:
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/config/SAMLConfiguration.java
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java?rev=4538&r1=4537&r2=4538&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java Sun Oct 16 19:44:10 2016
@@ -22,6 +22,7 @@
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.opensaml.core.xml.io.MarshallingException;
import org.opensaml.messaging.context.MessageContext;
@@ -92,7 +93,12 @@
* @return true if allowed, otherwise false
*/
public static boolean checkURLScheme(@Nonnull @NotEmpty String scheme) {
- return SAMLConfigurationSupport.getAllowedBindingURLSchemes().contains(scheme);
+ String normalized = StringSupport.trimOrNull(scheme);
+ if (normalized == null) {
+ return false;
+ } else {
+ return SAMLConfigurationSupport.getAllowedBindingURLSchemes().contains(normalized.toLowerCase());
+ }
}
}
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/config/SAMLConfiguration.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/config/SAMLConfiguration.java?rev=4538&r1=4537&r2=4538&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/config/SAMLConfiguration.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/config/SAMLConfiguration.java Sun Oct 16 19:44:10 2016
@@ -18,14 +18,27 @@
package org.opensaml.saml.config;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import org.joda.time.chrono.ISOChronology;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.opensaml.saml.saml1.binding.artifact.SAML1ArtifactBuilderFactory;
import org.opensaml.saml.saml2.binding.artifact.SAML2ArtifactBuilderFactory;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.Lists;
+
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* SAML-related configuration information.
@@ -37,6 +50,9 @@
*
*/
public class SAMLConfiguration {
+
+ /** Lowercase string function. */
+ private static Function<String, String> lowercaseFunction = new LowercaseFunction();
/** Date format in SAML object, default is yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. */
private static String defaultDateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
@@ -60,10 +76,7 @@
*
*/
public SAMLConfiguration() {
- ArrayList<String> schemes = new ArrayList<>();
- schemes.add("http");
- schemes.add("https");
- setAllowedBindingURLSchemes(schemes);
+ setAllowedBindingURLSchemes(Lists.newArrayList("http", "https"));
}
/**
@@ -132,17 +145,29 @@
/**
* Gets the unmodifiable list of schemes allowed to appear in binding URLs when encoding a message.
+ *
+ * <p>
+ * All scheme values returned will be lowercased.
+ * </p>
+ *
+ * <p>
* Defaults to 'http' and 'https'.
+ * </p>
*
* @return list of URL schemes allowed to appear in a message
*/
+ @Nonnull @NonnullElements @Unmodifiable @NotLive
public List<String> getAllowedBindingURLSchemes() {
[... 47 lines stripped ...]
More information about the commits
mailing list