[java-identity-provider COMMIT] in /trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml: attribute/resolver/imp...

noreply at shibboleth.net noreply at shibboleth.net
Sun Jan 18 14:47:42 EST 2015


Author: scantor
Date: Sun Jan 18 14:47:42 2015
New Revision: 7259

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7259&view=rev
Log:
IDP-573 - Match V2 behavior by checking for all-whitespace, but don't trim source ID.

Modified:
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java

Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java?rev=7259&r1=7258&r2=7259&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java Sun Jan 18 14:47:42 2015
@@ -143,15 +143,20 @@
         final String val;
 
         if (attributeValue instanceof StringAttributeValue) {
-            val = StringSupport.trimOrNull(((StringAttributeValue) attributeValue).getValue());
+            if (StringSupport.trimOrNull((String) attributeValue.getValue()) == null) {
+                log.warn("{} Source attribute {} for connector {} was all-whitespace", getLogPrefix(),
+                        getSourceAttributeId(), getId());
+                return null;
+            }
+            val = (String) attributeValue.getValue();
         } else {
-            log.warn("{} Source attribute {} for connector {} was not a string type.  Not used", getLogPrefix(),
-                    getSourceAttributeId(), getId());
+            log.warn("{} Source attribute {} for connector {} was of an unsupported type: {}", getLogPrefix(),
+                    getSourceAttributeId(), getId(), attributeValue.getClass().getName());
             return null;
         }
 
         if (val == null) {
-            log.warn("{} Attribute {} for connector resolved as empty or null.  Not used", getLogPrefix(),
+            log.warn("{} Attribute value {} for connector {} resolved as empty or null", getLogPrefix(),
                     getSourceAttributeId(), getId());
         }
         return val;

Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java?rev=7259&r1=7258&r2=7259&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java Sun Jan 18 14:47:42 2015
@@ -201,14 +201,14 @@
                             ((ScopedStringAttributeValue) value).getValue() + '@'
                                     + ((ScopedStringAttributeValue) value).getScope());
                 } else if (value instanceof StringAttributeValue) {
-                    final String strVal = StringSupport.trimOrNull((String) value.getValue());
-                    if (strVal == null) {
+                    // Check for all whitespace, but don't trim the value used.
+                    if (StringSupport.trimOrNull((String) value.getValue()) == null) {
                         log.debug("Skipping all-whitespace string value");
                         continue;
                     }
                     log.debug("Generating NameID from String-valued attribute {}", sourceId);
                     return persistentIdStrategy.generate(responderId, relyingPartyId, subjectCtx.getPrincipalName(),
-                            strVal);
+                            (String) value.getValue());
                 } else {
                     log.info("Unrecognized attribute value type: {}", value.getClass().getName());
                 }



More information about the commits mailing list