[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Question regarding Search when BASE=NULL



Thanks a lot Kurt.

But how-come the ldapsearch command works fine when I
don't specify the base DN. It works perfectly. 

It shows me the right results.

regards,
Bhishm

--- "Kurt D. Zeilenga" <Kurt@OpenLDAP.org> wrote:

> When you specify a search base of NULL, the OpenLDAP
> client library will use the base DN specified using
> ldap.conf(5) or, if not specified, "" (root DSE).
> 
> At 09:21 PM 9/16/2004, Bhishm Sharma wrote:
> >Hi,
> >
> >I tried to write a search program using C pasted in
> >the end of the mail. What I intended is that I just
> >pass the IP and read the server DN using the
> response
> >message.
> >
> >Here are the scenarios and result:
> >i) Tried to connect to AD (Active Directory)using
> Prog
> >Search Results: 
> >- Referral is returned when openldap server is not
> >running on local machine. DOn't Know why?
> >- Local LDAP servers DN is returned when openldap
> is
> >running on local machine. DOn't Know why?
> >
> >ii) Tried to connect another LDAP Server running
> >OpenLDAP
> >Search Result:
> >- No such Object
> >
> >
> >Please guide me or show me the path how to move
> >forward. Why the above behavior is coming and how
> to
> >handle the referral or "No such object" to move
> >forward.
> >
> >
> >Few things to note in the code: 
> >i) Anonymous Bind
> >ii) In ldap_search_s, I am passing Base as NULL
> i.e.
>
>ldap_search_s(ld,NULL,LDAP_SCOPE_SUBTREE,"objectClass=*",NULL,0,&resul)
> >
> >When I am using the "ldapsearch" command its
> working
> >fine. I didn't pass the Base and it shows me the
> entry
> >but when I am using the search API's I don't know
> how
> >to do it.
> >
> >
> >CODE SNIPPET:
> >-----------
> >
> >protocolVersion= LDAP_VERSION3;
> >
> >
>
>if((result=ldap_set_option(ld,LDAP_OPT_REFERRALS,LDAP_OPT_OFF))==
> >-1)
> >{
> >        printf("%s\n",ldap_err2string(result));
> >        return(2);      
> >}
> >printf("Successfully set referrals\n");
> >
> >result =
>
>ldap_set_option(ld,LDAP_OPT_PROTOCOL_VERSION,&protocolVersion);
> >
> >printf("Verison: %d\n",LDAP_VERSION3);
> >
> >//BIND OPERATION
>
>if((result=ldap_simple_bind_s(ld,NULL,NULL))!=LDAP_SUCCESS)
> >{
> >        printf("Error in ldap_simple_bind_s:-
> >%s\n",ldap_err2string(result));
> >        return(2);
> >}
> >printf("LDAP Result:-
> %s\n",ldap_err2string(result));
> >
> >//Search Through the tree
>
>if((result=ldap_search_s(ld,NULL,LDAP_SCOPE_SUBTREE,"objectClass=*",NULL,0,&resul))!=LDAP_SUCCESS)
> >{
> >        printf("lDAP Search:-
> %s\n",ldap_err2string(result));
> >//      result =
> >ber_printf(ber,"t{V}",LDAP_TAG_REFERRAL,resul);
> >        printf("RESULT AGAIN:-
> >%d\n",ldap_count_references(ld,resul));
> >        if(result == LDAP_REFERRAL)
> >        {
> >                printf("REferral Returned\n");  
> >        }
> >//      return(2);
> >}
> >
> >printf("LDAP Search Result:-
> >%s\n",ldap_err2string(result));
> >printf("Number of Entries Returned:-
> >%d\n",ldap_count_entries(ld,resul));
> >
>
>for(entry=ldap_first_entry(ld,resul);entry!=NULL;entry=ldap_next_entry(ld,entry))
> >
> >
> >THANKS & REGARDS,
> >BHISHM
> >
> >
> >
> >
> >                
> >__________________________________
> >Do you Yahoo!?
> >Yahoo! Mail - Helps protect you from nasty viruses.
> >http://promotions.yahoo.com/new_mail
> 
> 



		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail