directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Endi S. Dewata (JIRA)" <directory-...@incubator.apache.org>
Subject [jira] Commented: (DIREVE-137) Problems with mixed-case in suffix
Date Tue, 15 Feb 2005 21:00:45 GMT
     [ http://issues.apache.org/jira/browse/DIREVE-137?page=comments#action_59220 ]
     
Endi S. Dewata commented on DIREVE-137:
---------------------------------------

Here's a suggested addition to ServerContextFactoryTest.java.

public ServerContextFactoryTest()
{
   ...

   extras.put( EnvKeys.PARTITIONS, "testing example mixedCase" );

   ...

   attrs = new BasicAttributes( true );
   attr = new BasicAttribute( "objectClass" );
   attr.add( "top" );
   attr.add( "domain" );
   attr.add( "extensibleObject" );
   attrs.put( attr );
   attr = new BasicAttribute( "dc" );
   attr.add( "mixedCase" );
   attrs.put( attr );

   extras.put( EnvKeys.SUFFIX + "mixedCase", "dc=mixedCase" );
   extras.put( EnvKeys.INDICES + "mixedCase", "ou dc objectClass" );
   extras.put( EnvKeys.ATTRIBUTES + "mixedCase", attrs );
}

public void testAppPartitionMixedCase() throws NamingException
{
   Hashtable env = new Hashtable();
   env.put( Context.PROVIDER_URL, "ou=mixedCase" );
   env.put( Context.SECURITY_PRINCIPAL, "uid=admin,ou=system" );
   env.put( Context.SECURITY_CREDENTIALS, "secret" );
   env.put( Context.INITIAL_CONTEXT_FACTORY, "org.apache.ldap.server.jndi.ServerContextFactory"
);
   InitialContext initialContext = new InitialContext( env );
   DirContext appRoot = ( DirContext ) initialContext.lookup( "" );
   assertNotNull( appRoot );

   Attributes attributes = appRoot.getAttributes( "" );
   assertNotNull( attributes );
   assertEquals( "mixedCase", attributes.get( "dc" ).get() );
   Attribute attribute = attributes.get( "objectClass" );
   assertNotNull( attribute );
   assertTrue( attribute.contains( "top" ) );
   assertTrue( attribute.contains( "domain" ) );
}


> Problems with mixed-case in suffix
> ----------------------------------
>
>          Key: DIREVE-137
>          URL: http://issues.apache.org/jira/browse/DIREVE-137
>      Project: Directory Server
>         Type: Bug
>   Components: jdbm database, jndi-provider, server main
>     Versions: 0.8
>     Reporter: Endi S. Dewata
>     Assignee: Alex Karasulu
>     Priority: Minor

>
> The server currently has some problems with suffixes that contain mixed cases, e.g. dc=VergeNet,
dc=com.
> 1. Add
> ------
> In ServerContextFactory.java line #630, JdbmDatabase is initialized with un-normalized
suffix.
>     Database db = new JdbmDatabase( upSuffix, wkdir );
> But in JdbmDatabase.java line #673, when adding an entry to the database, the suffix
is compared with the normalized dn of the new entry.
>     if ( dn.equals( suffix ) )
> This is causing the add operation to fail.
> 2. Search
> ---------
> In RootNexus.java line #203, the suffix is being normalized during registration.
>     backends.put( backend.getSuffix( true ).toString(), backend );
> However, in RootNexus.java line #556, the dn used to look up the backend is not normalized.
>     return ( ContextPartition ) backends.get( clonedDn.toString() );
> This is causing the search operation to fail.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message