Author: baedke
Date: Tue Sep 20 15:50:39 2016
New Revision: 1761598

URL: http://svn.apache.org/viewvc?rev=1761598&view=rev
Log:
OAK-4820: oak-auth-external can't handle full-width logins

The UsernameCaseMapped profile defined in RFC7613 may now optionally be enabled 
for username comparison and/or username normalization.

Modified:
    
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncConfig.java
    
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
    
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/package-info.java
    
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncConfigImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableBaseProvider.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidator.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/package-info.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncConfig.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncConfig.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncConfig.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncConfig.java
 Tue Sep 20 15:50:39 2016
@@ -87,6 +87,8 @@ public class DefaultSyncConfig {
 
         private String pathPrefix;
 
+        private boolean applyRFC7613UsernameCaseMapped;
+
         /**
          * Returns the duration in milliseconds until a synced authorizable 
gets expired. An expired authorizable will
          * be re-synced.
@@ -108,6 +110,27 @@ public class DefaultSyncConfig {
             return this;
         }
 
+        /**
+         * Returns true if new AuthorizableIDs will be normalized according to
+         * the UsernameCaseMapped profile defined in RFC7613
+         * @return true if new AuthorizableIDs will be normalized.
+         */
+        public boolean isApplyRFC7613UsernameCaseMapped() {
+            return applyRFC7613UsernameCaseMapped;
+        }
+
+        /**
+         * Set to true if new AuthorizableIDs shall be normalized according to
+         * the UsernameCaseMapped profile defined in RFC7613.
+         * @param true if the UsernameCaseMapped profile shall be used for 
normalization.
+         * @return {@code this}
+         * @see #isApplyRFC7613UsernameCaseMapped()
+         */
+        public Authorizable setApplyRFC7613UsernameCaseMapped(boolean 
applyRFC7613UsernameCaseMapped) {
+            this.applyRFC7613UsernameCaseMapped = 
applyRFC7613UsernameCaseMapped;
+            return this;
+        }
+
         /**
          * Defines the set of group names that are automatically added to 
synced authorizable.
          * @return set of group names.

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/DefaultSyncContext.java
 Tue Sep 20 15:50:39 2016
@@ -374,8 +374,10 @@ public class DefaultSyncContext implemen
     @Nonnull
     protected User createUser(@Nonnull ExternalUser externalUser) throws 
RepositoryException {
         Principal principal = new 
PrincipalImpl(externalUser.getPrincipalName());
+        String authId = config.user().isApplyRFC7613UsernameCaseMapped() ?
+                        
java.text.Normalizer.normalize(externalUser.getId().toLowerCase(), 
java.text.Normalizer.Form.NFKC) : externalUser.getId();
         User user = userManager.createUser(
-                externalUser.getId(),
+                authId,
                 null,
                 principal,
                 PathUtils.concatRelativePaths(config.user().getPathPrefix(), 
externalUser.getIntermediatePath())

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/package-info.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/package-info.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/package-info.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/basic/package-info.java
 Tue Sep 20 15:50:39 2016
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("1.1.0")
+@Version("1.2.0")
 @Export
 package org.apache.jackrabbit.oak.spi.security.authentication.external.basic;
 

Modified: 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncConfigImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncConfigImpl.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncConfigImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncConfigImpl.java
 Tue Sep 20 15:50:39 2016
@@ -239,6 +239,21 @@ public class DefaultSyncConfigImpl exten
     )
     public static final String PARAM_GROUP_PATH_PREFIX = "group.pathPrefix";
 
+    /**
+     * Default value for {@link #PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE}
+     */
+    public static final boolean 
PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE_DEFAULT = false;
+
+    /**
+     * @see Authorizable#isApplyRFC7613UsernameCaseMapped()
+     */
+    @Property(
+            label = "RFC7613 Username Normalization Profile",
+            description = "Enable the UsercaseMappedProfile defined in RFC7613 
for username normalization.",
+            boolValue = PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE_DEFAULT
+    )
+    public static final String PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE = 
"enableRFC7613UsercaseMappedProfile";
+
     private static final long MILLIS_PER_HOUR = 60 * 60 * 1000;
     private static final ConfigurationParameters.Milliseconds ONE_HOUR = 
ConfigurationParameters.Milliseconds.of(MILLIS_PER_HOUR);
     private static final ConfigurationParameters.Milliseconds ONE_DAY = 
ConfigurationParameters.Milliseconds.of(24 * MILLIS_PER_HOUR);
@@ -257,6 +272,7 @@ public class DefaultSyncConfigImpl exten
                 
.setMembershipNestingDepth(params.getConfigValue(PARAM_USER_MEMBERSHIP_NESTING_DEPTH,
 PARAM_USER_MEMBERSHIP_NESTING_DEPTH_DEFAULT))
                 
.setDynamicMembership(params.getConfigValue(PARAM_USER_DYNAMIC_MEMBERSHIP, 
PARAM_USER_DYNAMIC_MEMBERSHIP_DEFAULT))
                 .setExpirationTime(getMilliSeconds(params, 
PARAM_USER_EXPIRATION_TIME, PARAM_USER_EXPIRATION_TIME_DEFAULT, ONE_HOUR))
+                
.setApplyRFC7613UsernameCaseMapped(params.getConfigValue(PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE,
 PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE_DEFAULT))
                 .setPathPrefix(params.getConfigValue(PARAM_USER_PATH_PREFIX, 
PARAM_USER_PATH_PREFIX_DEFAULT))
                 
.setAutoMembership(params.getConfigValue(PARAM_USER_AUTO_MEMBERSHIP, 
PARAM_USER_AUTO_MEMBERSHIP_DEFAULT))
                 .setPropertyMapping(createMapping(
@@ -264,6 +280,7 @@ public class DefaultSyncConfigImpl exten
 
         cfg.group()
                 .setExpirationTime(getMilliSeconds(params, 
PARAM_GROUP_EXPIRATION_TIME, PARAM_GROUP_EXPIRATION_TIME_DEFAULT, ONE_DAY))
+                
.setApplyRFC7613UsernameCaseMapped(params.getConfigValue(PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE,
 PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE_DEFAULT))
                 .setPathPrefix(params.getConfigValue(PARAM_GROUP_PATH_PREFIX, 
PARAM_GROUP_PATH_PREFIX_DEFAULT))
                 
.setAutoMembership(params.getConfigValue(PARAM_GROUP_AUTO_MEMBERSHIP, 
PARAM_GROUP_AUTO_MEMBERSHIP_DEFAULT))
                 .setPropertyMapping(createMapping(

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableBaseProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableBaseProvider.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableBaseProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizableBaseProvider.java
 Tue Sep 20 15:50:39 2016
@@ -48,7 +48,7 @@ abstract class AuthorizableBaseProvider
 
     @CheckForNull
     Tree getByID(@Nonnull String authorizableId, @Nonnull AuthorizableType 
authorizableType) {
-        return getByContentID(getContentID(authorizableId), authorizableType);
+        return getByContentID(getContentID(authorizableId, 
config.getConfigValue(PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE, 
DEFAULT_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE)), authorizableType);
     }
 
     @CheckForNull
@@ -77,7 +77,11 @@ abstract class AuthorizableBaseProvider
     }
 
     @Nonnull
-    static String getContentID(@Nonnull String authorizableId) {
-        return generateUUID(authorizableId.toLowerCase());
+    static String getContentID(@Nonnull String authorizableId, boolean 
usercaseMappedProfile) {
+        String s = authorizableId.toLowerCase();
+        if (usercaseMappedProfile) {
+            s = java.text.Normalizer.normalize(s, 
java.text.Normalizer.Form.NFKC);
+        }
+        return generateUUID(s);
     }
 }
\ No newline at end of file

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java
 Tue Sep 20 15:50:39 2016
@@ -283,7 +283,7 @@ class GroupImpl extends AuthorizableImpl
             }
 
             idIterator.remove();
-            updateMap.put(AuthorizableBaseProvider.getContentID(memberId), 
memberId);
+            updateMap.put(AuthorizableBaseProvider.getContentID(memberId, 
getUserManager().getConfig().getConfigValue(PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE,
 DEFAULT_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE)), memberId);
         }
 
         Set<String> processedIds = Sets.newHashSet(updateMap.values());

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserConfigurationImpl.java
 Tue Sep 20 15:50:39 2016
@@ -120,7 +120,11 @@ import org.apache.jackrabbit.oak.spi.xml
                 description = "Optional configuration defining the number of 
milliseconds " +
                         "until the principal cache expires (NOTE: currently 
only respected for principal resolution with the internal system session such 
as used for login). " +
                         "If not set or equal/lower than zero no caches are 
created/evaluated.",
-                longValue = UserPrincipalProvider.EXPIRATION_NO_CACHE)
+                longValue = UserPrincipalProvider.EXPIRATION_NO_CACHE),
+        @Property(name = 
UserConstants.PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE,
+                label = "RFC7613 Username Comparison Profile",
+                description = "Enable the UsercaseMappedProfile defined in 
RFC7613 for username comparison.",
+                boolValue = false)
 })
 public class UserConfigurationImpl extends ConfigurationBase implements 
UserConfiguration, SecurityConfiguration {
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserProvider.java
 Tue Sep 20 15:50:39 2016
@@ -270,7 +270,7 @@ class UserProvider extends AuthorizableB
         String userId = 
Strings.nullToEmpty(root.getContentSession().getAuthInfo().getUserID());
         Tree authorizableNode = TreeUtil.addChild(folder, nodeName, ntName, 
typeRoot, userId);
         authorizableNode.setProperty(REP_AUTHORIZABLE_ID, authorizableId);
-        authorizableNode.setProperty(JcrConstants.JCR_UUID, 
getContentID(authorizableId));
+        authorizableNode.setProperty(JcrConstants.JCR_UUID, 
getContentID(authorizableId, 
config.getConfigValue(PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE, 
DEFAULT_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE)));
 
         return authorizableNode;
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidator.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidator.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidator.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserValidator.java
 Tue Sep 20 15:50:39 2016
@@ -223,9 +223,9 @@ class UserValidator extends DefaultValid
         }
     }
 
-    private static boolean isValidUUID(@Nonnull Tree parent, @Nonnull String 
uuid) {
+    private boolean isValidUUID(@Nonnull Tree parent, @Nonnull String uuid) {
         String id = UserUtil.getAuthorizableId(parent);
-        return id != null && uuid.equals(UserProvider.getContentID(id));
+        return id != null && uuid.equals(UserProvider.getContentID(id, 
provider.getConfig().getConfigValue(PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE,
 DEFAULT_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE)));
     }
 
     private static boolean isUser(@Nullable Tree tree) {

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/UserConstants.java
 Tue Sep 20 15:50:39 2016
@@ -170,6 +170,19 @@ public interface UserConstants {
     String PARAM_PASSWORD_SALT_SIZE = "passwordSaltSize";
 
     /**
+     * Optionally enables the UsernameCaseMapped profile defined in
+     * https://tools.ietf.org/html/rfc7613#section-3.2 for user name 
comparison.
+     * Use this if half-width and full-width user names should be considered
+     * equal.
+     */
+    String PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE = 
"enableRFC7613UsercaseMappedProfile";
+
+    /**
+     * Default value for {@link #PARAM_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE}
+     */
+    boolean DEFAULT_ENABLE_RFC7613_USERCASE_MAPPED_PROFILE = false;
+
+    /**
      * Optional configuration parameter defining how to generate the name of 
the
      * authorizable node from the ID of the new authorizable that is being 
created.
      * The value is expected to be an instance of {@link AuthorizableNodeName}.

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/package-info.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/package-info.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/package-info.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/user/package-info.java
 Tue Sep 20 15:50:39 2016
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("2.1.0")
+@Version("2.2.0")
 @Export(optional = "provide:=true")
 package org.apache.jackrabbit.oak.spi.security.user;
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AddMembersByIdBestEffortTest.java
 Tue Sep 20 15:50:39 2016
@@ -126,7 +126,8 @@ public class AddMembersByIdBestEffortTes
 
     @Test
     public void testAddByContentID() throws Exception {
-        Set<String> failed = 
testGroup.addMembers(AuthorizableBaseProvider.getContentID(getTestUser().getID()));
+        //TODO
+        Set<String> failed = 
testGroup.addMembers(AuthorizableBaseProvider.getContentID(getTestUser().getID(),
 false));
         assertTrue(failed.isEmpty());
 
         assertFalse(testGroup.isMember(getTestUser()));

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/MembershipProviderTest.java
 Tue Sep 20 15:50:39 2016
@@ -518,8 +518,9 @@ public class MembershipProviderTest exte
 
         // 4. remove members from the initial set => ref nodes as before, 
rep:members prop on group modified
         memberIds.clear();
-        memberIds.put(MembershipProvider.getContentID("member1"), "member1");
-        memberIds.put(MembershipProvider.getContentID("member2"), "member2");
+        //TODO
+        memberIds.put(MembershipProvider.getContentID("member1", false), 
"member1");
+        memberIds.put(MembershipProvider.getContentID("member2", false), 
"member2");
         mp.removeMembers(groupTree, Maps.newHashMap(memberIds));
 
         assertMemberList(groupTree, 3, 5);
@@ -570,7 +571,8 @@ public class MembershipProviderTest exte
         Map<String, String> memberIds = Maps.newLinkedHashMap();
         for (int i = start; i < end; i++) {
             String memberId = "member" + i;
-            memberIds.put(MembershipProvider.getContentID(memberId), memberId);
+            //TODO
+            memberIds.put(MembershipProvider.getContentID(memberId, false), 
memberId);
         }
         return memberIds;
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java?rev=1761598&r1=1761597&r2=1761598&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/UserValidatorTest.java
 Tue Sep 20 15:50:39 2016
@@ -287,7 +287,8 @@ public class UserValidatorTest extends A
                 }
                 Tree userTree = parent.addChild("testUser");
                 userTree.setProperty(JcrConstants.JCR_PRIMARYTYPE, 
NT_REP_USER, Type.NAME);
-                userTree.setProperty(JcrConstants.JCR_UUID, 
UserProvider.getContentID("testUser"));
+                //TODO
+                userTree.setProperty(JcrConstants.JCR_UUID, 
UserProvider.getContentID("testUser", false));
                 userTree.setProperty(REP_PRINCIPAL_NAME, "testUser");
                 root.commit();
                 fail("Invalid hierarchy should be detected");


Reply via email to