Please direct me to someone involved with the design and development of the
LDAP libraries, especially those associated with Referral mechanisms. I
have an interest in working a bit on Referral managing and development and
don't know where to start. I have some good ideas and a strong
understanding of how referrals would be best managed in LDAP v3. and would
like to pitch in. I have seen inadequacy in both how JNDI and Sun's
libraries manage referrals (I can actually crash my (and anyones) LDAP
servers using their libraries). As well, it appears that the Mozilla
ldapsdk isn't retrieving the DN's and queries that exist in an LDAP
referral url. I'd like to look into fixing this because much of my current
work depends on the LDAP libraries referral mechanism behaving the way it
appears it was designed to (to continue searches from the dn of the
referral and not the entire server designated in the referral).
Thank you
-Mark Diggory
At 06:37 PM 7/26/01 +0000, Mark Diggory wrote:
>Is this list active, or is there a better place for me to cast such questions?
>
>Mark Diggory writes:
>>I'm using the Netscape directory SDK with the example out of the users
>>manual to search an ldap searver. This server has referrals in it of the
>>structure ref: ldap://server:port/ou=xxx,o=yyy
>>but the example only returns ldap://server:port of the url and I can't
>>get the DN using getDN(). Here's the code on the example, any help would
>>be benificial. I'd like to know how to get the dn part of the referral back.
>>Thanks,
>>Mark
>>
>> public static void main( String[] args )
>> {
>> /* Step 1: Create a new connection. */
>> LDAPConnection ld = new LDAPConnection();
>> try {
>> /* Step 2: Connect to an LDAP server. */
>> ld.connect( "lorien.fas.harvard.edu", LDAPv3.DEFAULT_PORT );
>>
>> ld.authenticate( "ou=ummu,ou=fed,o=vdc","secret" );
>> LDAPSearchResults results = ld.search( "o=vdc",
>> netscape.ldap.LDAPv3.SCOPE_SUB, "(objectClass=*)", null, false );
>> /* Print the DNs of the matching entries. */
>> while ( results.hasMoreElements() ) {
>> LDAPEntry entry = null;
>> try {
>> entry = results.next();
>> System.out.println( entry.getDN() );
>> } catch ( LDAPReferralException e ) {
>> System.out.println( "Search references: " );
>> LDAPUrl refUrls[] = e.getURLs();
>> for ( int i=0; i < refUrls.length; i++ ) {
>> System.out.print( "\t" + refUrls[i].getUrl() );
>> System.out.println( " " + refUrls[i].toString() );
>> }
>> continue;
>> } catch ( LDAPException e ) {
>> System.out.println( "Error: " + e.toString() );
>> continue;
>> }
>> }
>> } catch( LDAPException e ) {
>> System.out.println( "Error: " + e.toString() );
>> }
>>
>> /* Step 5: Disconnect from the server when done. */
>> try {
>> ld.disconnect();
>> } catch( LDAPException e ) {
>> System.out.println( "Error: " + e.toString() );
>> System.exit(1);
>> }
>> System.exit(0);
>> }
>>
>>Mark R. Diggory
>>Software Engineer
>>Harvard-MIT Data Center
>>G-6 Littauer Center, North Yard
>>Harvard University
>>Cambridge, MA 02138
>>(617)496-7246
>
>
>Mark R. Diggory
>Software Engineer
>Harvard-MIT Data Center
>G-6 Littauer Center, North Yard
>Harvard University
>Cambridge, MA 02138
>(617)496-7246