[
https://issues.apache.org/jira/browse/DIRSTUDIO-753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13213831#comment-13213831
]
Tom Poage commented on DIRSTUDIO-753:
-------------------------------------
Hi, Pierre-Arnaud.
With 2.0.0.v20120127:
Not a problem when using the Apache Directory Client API Provider.
Still a problem with the JNDI Provider (JRE 1.6.0_31 and 1.7.0_02).
Seems to be platform independent. I get the same behavior on Windows.
Thanks!
Tom.
> namingContexts containing empty value throws exception on connect
> -----------------------------------------------------------------
>
> Key: DIRSTUDIO-753
> URL: https://issues.apache.org/jira/browse/DIRSTUDIO-753
> Project: Directory Studio
> Issue Type: Bug
> Components: studio-connection, studio-ldapbrowser
> Affects Versions: 1.5.3
> Environment: Linux (RHEL 6 x86_64)
> Reporter: Tom Poage
> Priority: Minor
>
> RFC 4512 (sec 5.1.2) suggests that an empty value in the rootDSE operational
> attribute namingContexts is normal, perhaps encouraged in some deployments.
> Some LDAP servers, such as recent versions of Sun/Oracle DSEE, can display
> namingContexts containing an empty value.
> I can't tell offhand if this is a bug with Directory Studio or JNDI. A
> sampling of other JNDI applications/code tested do not throw an exception on
> encountering the empty value.
> E.g.
> {code}
> ldapsearch -x -LLL -H ldap://myhost.example.org -b '' -s base 'objectClass=*'
> namingContexts
> {code}
> {noformat)
> dn:
> namingContexts: dc=example,dc=org
> namingContexts:
> namingContexts: dc=people,dc=example,dc=org
> {noformat}
> If an Apache Directory Studio Connection is set to the default of "Get base
> DNs from Root DSE", an exception is thrown on the empty value.
> {noformat}
> Error while opening connection
> - [LDAP: error code 32 - No Such Object]
> javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
> remaining name ''
> at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3112)
> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3033)
> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2840)
> at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1849)
> at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1772)
> at
> com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:386)
> at
> com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:356)
> at
> org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper$1.run(JNDIConnectionWrapper.java:356)
> at
> org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.runAndMonitor(JNDIConnectionWrapper.java:1272)
> at
> org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.checkConnectionAndRunAndMonitor(JNDIConnectionWrapper.java:1203)
> at
> org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.search(JNDIConnectionWrapper.java:398)
> at
> org.apache.directory.studio.ldapbrowser.core.jobs.SearchRunnable.search(SearchRunnable.java:500)
> at
> org.apache.directory.studio.ldapbrowser.core.jobs.SearchRunnable.searchAndUpdateModel(SearchRunnable.java:320)
> at
> org.apache.directory.studio.ldapbrowser.core.jobs.InitializeRootDSERunnable.searchRootDseEntries(InitializeRootDSERunnable.java:377)
> at
> org.apache.directory.studio.ldapbrowser.core.jobs.InitializeRootDSERunnable.loadRootDSE(InitializeRootDSERunnable.java:250)
> at
> org.apache.directory.studio.ldapbrowser.core.jobs.InitializeAttributesRunnable.initializeAttributes(InitializeAttributesRunnable.java:217)
> at
> org.apache.directory.studio.ldapbrowser.core.jobs.InitializeAttributesRunnable.initializeAttributes(InitializeAttributesRunnable.java:195)
> at
> org.apache.directory.studio.ldapbrowser.core.BrowserConnectionListener.openBrowserConnection(BrowserConnectionListener.java:118)
> at
> org.apache.directory.studio.ldapbrowser.core.BrowserConnectionListener.connectionOpened(BrowserConnectionListener.java:65)
> at
> org.apache.directory.studio.connection.core.jobs.OpenConnectionsRunnable.runNotification(OpenConnectionsRunnable.java:132)
> at
> org.apache.directory.studio.connection.core.jobs.StudioConnectionJob.run(StudioConnectionJob.java:120)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
> [LDAP: error code 32 - No Such Object]
> {noformat}
> A partial workaround is relatively easy: specify a Base DN in the Connection
> Browser Options
> Does it make sense for Directory Studio to ignore the empty value -- or at
> least not throw the exception -- since RootDSE is already a "standard"
> location?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira