ldif path on windows platform that has possible hex values after file seperator 
causes NaminException upon server startup
-------------------------------------------------------------------------------------------------------------------------

                 Key: DIRSERVER-917
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-917
             Project: Directory ApacheDS
          Issue Type: Bug
    Affects Versions: 1.5.0
         Environment: Windows
            Reporter: Brian Gadwell


This issue occurs when a path to the ldif directory set via
    MutableServerStartupConfiguration.setLdifDirectory(File)
gets resolved on a windows machine. Whatever is enter for the path file 
seperator in the File argument ('/' or '\') gets resolved to \ on windows which 
is then considered an escape for a hex sequence. If the next 2 bytes following 
the file seperator are possible hex values they are interpreted as such leading 
to an invalid path.
For example if you used new File("../ldif) and it got resolved to C:\dev\ldif 
you would see something like the following stack trace.

This is a blocking issue in my case, but I entered it as a major priority. 

javax.naming.NamingException: Invalid value : C:?v\ldif\myldif.ldif
    at 
org.apache.directory.shared.ldap.schema.DeepTrimToLowerNormalizer.normalize 
(DeepTrimToLowerNormalizer.java:65)
    at 
org.apache.directory.shared.ldap.schema.CachingNormalizer.normalize(CachingNormalizer.java:95)
    at 
org.apache.directory.shared.ldap.name.LdapDN.rdnOidToName(LdapDN.java:1402)
    at org.apache.directory.shared.ldap.name.LdapDN.normalize(LdapDN.java:1459)
    at 
org.apache.directory.server.core.normalization.NormalizationService.add(NormalizationService.java:116)
    at org.apache.directory.server.core.interceptor.InterceptorChain.add 
(InterceptorChain.java:708)
    at 
org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java:341)
    at 
org.apache.directory.server.core.partition.PartitionNexusProxy.add(PartitionNexusProxy.java
 :329)
    at 
org.apache.directory.server.core.jndi.ServerDirContext.createSubcontext(ServerDirContext.java:428)
    at 
org.apache.directory.server.core.jndi.ServerDirContext.createSubcontext(ServerDirContext.java:374)
    at 
org.apache.directory.server.jndi.ServerContextFactory.addFileEntry(ServerContextFactory.java:258)
    at 
org.apache.directory.server.jndi.ServerContextFactory.loadLdifs(ServerContextFactory.java:383)
    at 
org.apache.directory.server.jndi.ServerContextFactory.afterStartup(ServerContextFactory.java:209)
    at 
org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:268)
    at 
org.apache.directory.server.core.jndi.AbstractContextFactory.getInitialContext 
(AbstractContextFactory.java:123)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to