Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 2455 invoked from network); 11 Jun 2006 21:29:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 11 Jun 2006 21:29:47 -0000 Received: (qmail 50910 invoked by uid 500); 11 Jun 2006 21:29:46 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 50866 invoked by uid 500); 11 Jun 2006 21:29:46 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 50854 invoked by uid 99); 11 Jun 2006 21:29:45 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 11 Jun 2006 14:29:45 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 11 Jun 2006 14:29:44 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 05AB51A983A; Sun, 11 Jun 2006 14:29:24 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r413532 - in /directory/branches/apacheds/optimization: core/src/main/java/org/apache/directory/server/core/authz/ core/src/main/java/org/apache/directory/server/core/jndi/ core/src/main/java/org/apache/directory/server/core/normalization/ ... Date: Sun, 11 Jun 2006 21:29:21 -0000 To: commits@directory.apache.org From: akarasulu@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060611212924.05AB51A983A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: akarasulu Date: Sun Jun 11 14:29:21 2006 New Revision: 413532 URL: http://svn.apache.org/viewvc?rev=413532&view=rev Log: fixing server integration tests which were failing due to normalization issues Added: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/UndefinedFilterAttributeException.java Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/jndi/ServerLdapContext.java directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/partition/DefaultDirectoryPartitionNexus.java directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaChecker.java directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java directory/branches/apacheds/optimization/core/src/test/java/org/apache/directory/server/core/schema/SchemaCheckerTest.java directory/branches/apacheds/optimization/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ModifyDnHandler.java directory/branches/apacheds/optimization/server-unit/src/test/java/org/apache/directory/server/MatchingRuleCompareTest.java directory/branches/apacheds/optimization/server-unit/src/test/resources/log4j.properties Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java (original) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationService.java Sun Jun 11 14:29:21 2006 @@ -65,11 +65,13 @@ * the base distinguished {@link Name} for all users */ private static LdapDN USER_BASE_DN; + private static LdapDN USER_BASE_DN_NORMALIZED; /** * the base distinguished {@link Name} for all groups */ private static LdapDN GROUP_BASE_DN; + private static LdapDN GROUP_BASE_DN_NORMALIZED; /** * the name parser used by this service @@ -94,8 +96,12 @@ // disable this static module if basic access control mechanisms are enabled enabled = !factoryCfg.getStartupConfiguration().isAccessControlEnabled(); ADMIN_DN = DirectoryPartitionNexus.getAdminName(); + USER_BASE_DN = DirectoryPartitionNexus.getUsersBaseName(); + USER_BASE_DN_NORMALIZED = LdapDN.normalize( USER_BASE_DN ); + GROUP_BASE_DN = DirectoryPartitionNexus.getGroupsBaseName(); + GROUP_BASE_DN_NORMALIZED = LdapDN.normalize( GROUP_BASE_DN ); } @@ -444,29 +450,47 @@ private boolean isSearchable( Invocation invocation, SearchResult result ) throws NamingException { - Name dn; LdapDN principalDn = ( LdapDN ) ( ( ServerContext ) invocation.getCaller() ).getPrincipal().getJndiName(); + principalDn.normalize(); + LdapDN dn; dn = new LdapDN( result.getName() ); - principalDn = new LdapDN( principalDn.toString() ); + dn.normalize(); - if ( !principalDn.toString().equals( ADMIN_DN.toUpName() ) ) - { - if ( dn.size() > 2 ) - { - if ( ( dn.startsWith( USER_BASE_DN ) && ( !dn.toString().equals( principalDn.toUpName() ) )) || dn.startsWith( GROUP_BASE_DN ) ) - { - return false; - } - } - - if ( dn.toString().equals( ADMIN_DN.toUpName() ) ) + boolean isAdmin = principalDn.toNormName().equals( DirectoryPartitionNexus.ADMIN_PRINCIPAL_NORMALIZED ); + + // Admin user gets full access to all entries + if ( isAdmin ) + { + return true; + } + + // Users reading their own entries should be allowed to see all + boolean isSelfRead = dn.toNormName().equals( principalDn.toNormName() ); + if ( isSelfRead ) + { + return true; + } + + // Block off reads to anything under ou=users and ou=groups if not a self read + if ( dn.size() > 2 ) + { + // stuff this if in here instead of up in outer if to prevent + // constant needless reexecution for all entries in other depths + + if ( dn.toNormName().endsWith( USER_BASE_DN_NORMALIZED.toNormName() ) + || dn.toNormName().endsWith( GROUP_BASE_DN_NORMALIZED.toNormName() ) ) { return false; } - } - + + // Non-admin users cannot read the admin entry + if ( dn.toNormName().equals( DirectoryPartitionNexus.ADMIN_PRINCIPAL_NORMALIZED ) ) + { + return false; + } + return true; } } Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/jndi/ServerLdapContext.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/jndi/ServerLdapContext.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/jndi/ServerLdapContext.java (original) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/jndi/ServerLdapContext.java Sun Jun 11 14:29:21 2006 @@ -55,7 +55,7 @@ * @param env the JNDI environment parameters * @throws NamingException the context cannot be created */ - public ServerLdapContext(DirectoryService service, Hashtable env) throws NamingException + public ServerLdapContext( DirectoryService service, Hashtable env ) throws NamingException { super( service, env ); } @@ -68,7 +68,7 @@ * @param principal the directory user principal that is propagated * @param dn the distinguished name of this context */ - ServerLdapContext(DirectoryService service, LdapPrincipal principal, Name dn) throws NamingException + ServerLdapContext( DirectoryService service, LdapPrincipal principal, Name dn ) throws NamingException { super( service, principal, dn ); } Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java (original) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationService.java Sun Jun 11 14:29:21 2006 @@ -157,7 +157,52 @@ } } - filter.accept( visitor ); + boolean isFailure = true; + while ( isFailure && ( filter != null ) ) + { + try + { + if ( filter.isLeaf() ) + { + LeafNode ln = ( LeafNode ) filter; + if ( !attributeRegistry.hasAttributeType( ln.getAttribute() ) ) + { + StringBuffer buf = new StringBuffer(); + buf.append( "undefined filter based on undefined attributeType '" ); + buf.append( ln.getAttribute() ); + buf.append( "' not evaluted at all. Returning empty enumeration." ); + log.warn( buf.toString() ); + return new EmptyEnumeration(); + } + } + + filter.accept( visitor ); + isFailure = false; + } + catch( UndefinedFilterAttributeException e ) + { + isFailure = true; + if ( log.isWarnEnabled() ) + { + log.warn( "An undefined attribute was found within the supplied search filter. " + + "The node associated with the filter has been removed.", e.getCause() ); + } + + // we can only get here if the filter is a branch node with only leaves + // note that in this case the undefined node will not be removed. + BranchNode bnode = ( BranchNode ) filter; + if ( bnode.isNegation() ) + { + return new EmptyEnumeration(); + } + + bnode.getChildren().remove( e.getUndefinedFilterNode() ); + if ( bnode.getChildren().size() < 2 ) + { + filter = bnode.getChild(); + } + } + } // check that after pruning we have valid branch node at the top if ( !filter.isLeaf() ) Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java (original) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java Sun Jun 11 14:29:21 2006 @@ -124,7 +124,7 @@ catch ( NamingException e ) { log.error( "Failed to normalize filter node attribute: " + snode.getAttribute(), e ); - RuntimeException rte = new RuntimeException( e.getMessage() ); + UndefinedFilterAttributeException rte = new UndefinedFilterAttributeException( snode, e.getMessage() ); rte.initCause( e ); throw rte; } @@ -167,7 +167,20 @@ } } - visit( child ); + // ----------------------------------------------------------- + // If there is an exception + // ----------------------------------------------------------- + + try + { + visit( child ); + } + catch( UndefinedFilterAttributeException e ) + { + bnode.getChildren().remove( ii ); + ii--; + continue; + } } // now see if any branch child nodes are damaged (NOT without children, Added: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/UndefinedFilterAttributeException.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/UndefinedFilterAttributeException.java?rev=413532&view=auto ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/UndefinedFilterAttributeException.java (added) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/normalization/UndefinedFilterAttributeException.java Sun Jun 11 14:29:21 2006 @@ -0,0 +1,67 @@ +/* + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.directory.server.core.normalization; + +import org.apache.directory.shared.ldap.filter.LeafNode; + + +/** + * A runtime exception thrown by visitors to denote the failure + * to recognize attributes in a filter expression tree. + * + * @author Apache Directory Project + * @version $Rev$ + */ +public class UndefinedFilterAttributeException extends RuntimeException +{ + private static final long serialVersionUID = -8073762118319523479L; + private final LeafNode node; + + + public UndefinedFilterAttributeException( LeafNode node ) + { + super(); + this.node = node; + } + + + public UndefinedFilterAttributeException( LeafNode node, String message ) + { + super( message ); + this.node = node; + } + + + public UndefinedFilterAttributeException( LeafNode node, String message, Throwable cause ) + { + super( message, cause ); + this.node = node; + } + + + public UndefinedFilterAttributeException( LeafNode node, Throwable cause ) + { + super( cause ); + this.node = node; + } + + + public LeafNode getUndefinedFilterNode() + { + return node; + } +} Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/partition/DefaultDirectoryPartitionNexus.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/partition/DefaultDirectoryPartitionNexus.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/partition/DefaultDirectoryPartitionNexus.java (original) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/partition/DefaultDirectoryPartitionNexus.java Sun Jun 11 14:29:21 2006 @@ -625,7 +625,9 @@ if ( base.size() == 0 ) { boolean isObjectScope = searchCtls.getSearchScope() == SearchControls.OBJECT_SCOPE; - boolean isSearchAll = ( ( PresenceNode ) filter ).getAttribute().equalsIgnoreCase( "objectclass" ); + + // test for (objectClass=*) + boolean isSearchAll = ( ( PresenceNode ) filter ).getAttribute().equalsIgnoreCase( "2.5.4.0" ); /* * if basedn is "", filter is "(objectclass=*)" and scope is object Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaChecker.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaChecker.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaChecker.java (original) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaChecker.java Sun Jun 11 14:29:21 2006 @@ -477,7 +477,8 @@ * @param attribute the attribute being modified * @throws NamingException if the modify operation is removing an Rdn attribute */ - public static void preventRdnChangeOnModifyRemove( Name name, int mod, Attribute attribute ) throws NamingException + public static void preventRdnChangeOnModifyRemove( Name name, int mod, Attribute attribute, + OidRegistry oidRegistry ) throws NamingException { if ( mod != DirContext.REMOVE_ATTRIBUTE ) { @@ -487,7 +488,7 @@ Set rdnAttributes = getRdnAttributes( name ); String id = attribute.getID(); - if ( !rdnAttributes.contains( id ) ) + if ( !rdnAttributes.contains( oidRegistry.getOid( id ) ) ) { return; } Modified: directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java (original) +++ directory/branches/apacheds/optimization/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java Sun Jun 11 14:29:21 2006 @@ -732,7 +732,8 @@ { throw new LdapSchemaViolationException( ResultCodeEnum.OBJECTCLASSVIOLATION ); } - SchemaChecker.preventRdnChangeOnModifyRemove( name, modOp, change ); + SchemaChecker.preventRdnChangeOnModifyRemove( name, modOp, change, + this.globalRegistries.getOidRegistry() ); SchemaChecker .preventStructuralClassRemovalOnModifyRemove( ocRegistry, name, modOp, change, objectClass ); } Modified: directory/branches/apacheds/optimization/core/src/test/java/org/apache/directory/server/core/schema/SchemaCheckerTest.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/core/src/test/java/org/apache/directory/server/core/schema/SchemaCheckerTest.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/core/src/test/java/org/apache/directory/server/core/schema/SchemaCheckerTest.java (original) +++ directory/branches/apacheds/optimization/core/src/test/java/org/apache/directory/server/core/schema/SchemaCheckerTest.java Sun Jun 11 14:29:21 2006 @@ -29,7 +29,12 @@ import org.apache.directory.shared.ldap.exception.LdapSchemaViolationException; import org.apache.directory.shared.ldap.message.ResultCodeEnum; import org.apache.directory.shared.ldap.name.LdapDN; +import org.apache.directory.shared.ldap.util.StringTools; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.Set; import java.util.HashSet; @@ -467,16 +472,18 @@ */ public void testPreventRdnChangeOnModifyRemoveAttribute() throws Exception { + OidRegistry registry = new MockOidRegistry(); int mod = DirContext.REMOVE_ATTRIBUTE; LdapDN name = new LdapDN( "ou=user,dc=example,dc=com" ); // postive test which should pass - SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "cn", "does not matter" ) ); + SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, + new BasicAttribute( "cn", "does not matter", true ), registry ); // test should fail since we are removing the ou attribute try { - SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "ou" ) ); + SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "ou", true ), registry ); fail( "should never get here due to a LdapSchemaViolationException being thrown" ); } catch ( LdapSchemaViolationException e ) @@ -486,12 +493,13 @@ // test success using more than one attribute for the Rdn but not modifying rdn attribute name = new LdapDN( "ou=users+cn=system users,dc=example,dc=com" ); - SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "sn", "does not matter" ) ); + SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, + new BasicAttribute( "sn", "does not matter" ), registry ); // test for failure when modifying Rdn attribute in multi attribute Rdn try { - SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "cn" ) ); + SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "cn" ), registry ); fail( "should never get here due to a LdapSchemaViolationException being thrown" ); } catch ( LdapSchemaViolationException e ) @@ -501,12 +509,12 @@ // should succeed since the value being deleted from the rdn attribute is // is not used when composing the Rdn - SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "ou", "container" ) ); + SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "ou", "container" ), registry ); // now let's make it fail again just by providing the right value for ou (users) try { - SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "ou", "users" ) ); + SchemaChecker.preventRdnChangeOnModifyRemove( name, mod, new BasicAttribute( "ou", "users" ), registry ); fail( "should never get here due to a LdapSchemaViolationException being thrown" ); } catch ( LdapSchemaViolationException e ) @@ -572,6 +580,49 @@ catch ( LdapSchemaViolationException e ) { assertEquals( ResultCodeEnum.NOTALLOWEDONRDN, e.getResultCode() ); + } + } + + + class MockOidRegistry implements OidRegistry + { + public String getOid( String name ) throws NamingException + { + return StringTools.deepTrimToLower( name ); + } + + public boolean hasOid( String id ) + { + return true; + } + + public String getPrimaryName( String oid ) throws NamingException + { + return oid; + } + + public List getNameSet( String oid ) throws NamingException + { + return Collections.singletonList( oid ); + } + + public Iterator list() + { + return Collections.EMPTY_LIST.iterator(); + } + + public void register( String name, String oid ) + { + } + + public Map getOidByName() + { + return null; + } + + public Map getNameByOid() + { + return null; } } } Modified: directory/branches/apacheds/optimization/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ModifyDnHandler.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ModifyDnHandler.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ModifyDnHandler.java (original) +++ directory/branches/apacheds/optimization/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ModifyDnHandler.java Sun Jun 11 14:29:21 2006 @@ -124,8 +124,7 @@ } else { - LdapDN newDn = req.getName(); - + LdapDN newDn = ( LdapDN ) req.getName().clone(); newDn.remove( newDn.size() - 1 ); newDn.add( req.getNewRdn() ); ctx.rename( req.getName(), newDn ); Modified: directory/branches/apacheds/optimization/server-unit/src/test/java/org/apache/directory/server/MatchingRuleCompareTest.java URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/server-unit/src/test/java/org/apache/directory/server/MatchingRuleCompareTest.java?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/server-unit/src/test/java/org/apache/directory/server/MatchingRuleCompareTest.java (original) +++ directory/branches/apacheds/optimization/server-unit/src/test/java/org/apache/directory/server/MatchingRuleCompareTest.java Sun Jun 11 14:29:21 2006 @@ -248,7 +248,7 @@ ctls.setSearchScope( SearchControls.OBJECT_SCOPE ); String[] values = - { "", memberDN, "cn=nobody", memberDN.toLowerCase(), PERSON_RDN + " , " + ctx.getNameInNamespace() }; + { "", memberDN, "cn=nobody", memberDN, PERSON_RDN + " , " + ctx.getNameInNamespace() }; boolean[] expected = { false, true, false, true, true }; Modified: directory/branches/apacheds/optimization/server-unit/src/test/resources/log4j.properties URL: http://svn.apache.org/viewvc/directory/branches/apacheds/optimization/server-unit/src/test/resources/log4j.properties?rev=413532&r1=413531&r2=413532&view=diff ============================================================================== --- directory/branches/apacheds/optimization/server-unit/src/test/resources/log4j.properties (original) +++ directory/branches/apacheds/optimization/server-unit/src/test/resources/log4j.properties Sun Jun 11 14:29:21 2006 @@ -1,4 +1,4 @@ -log4j.rootCategory=ERROR, stdout +log4j.rootCategory=OFF, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout