From: Graham B. <gb...@po...> - 2002-03-27 16:53:08
|
On Wed, Mar 27, 2002 at 08:42:03AM -0800, Lance Uyehara wrote: > > LDAP_PARTIAL_RESULTS in an LDAPv2+ result code indicating > > the result PDU contains referrals (or references). I > > strongly recommend avoiding LDAPv2+ (and LDAPv2). > > Thanks for the replies. I'm going to check $mesg->references() to see what > it says. My ethereal trace shows that all the data is sent. It's just split > into multiple packets. Weird. No, thats how LDAP returns its results. > I don't understand the LDAPv2+ vs. LDAPv2. Are you saying that Net::LDAP is > using LDAPv2+ or are you saying the win2k server is using LDAPv2+? I didn't No, he is saying your server is. > specifically tell either the client or the server to do anything so maybe I > need to flick a switch somewhere to tell it to stop that. Ah, then you need to ask for version 3 in the bind. Net::LDAP defaults to binding for version 2. Add version => 3 into the constructor arguments. Graham. > > Thanks again, > -Lance > > > > > At 02:44 AM 2002-03-27, Chris Ridd wrote: > > >Lance Uyehara <la...@ve...> wrote: > > >> I am using Net::LDAP 0.22 to connect to a win2k Active Directory. I do > the > > >> bind which works great, then do a search. Windows sends the results > broken > > >> up into multiple packets. Net::LDAP reports $mesg->code = > > >> LDAP_PARTIAL_RESULTS, which makes sense. How do I get the packets > combined > > >> into a single result? > > >> > > >> Do I have to change something on the win2k side, or can I do something > > >> using Net::LDAP to make sense of the results? or is this fixed in a > later > > >> version of Net::LDAP? > > >> > > >> Thanks for the help, > > >> Lance > > >> > > >> > > > > > >"Partial results" is the way for an LDAP server to indicate that it could > > >send back some results directly, but there are also some continuation > > >references (references to other servers) that you may need to follow > > >yourself. > > > > > >To get the continuation references from Net::LDAP, the > $mesg->references() > > >call will return an array of LDAP URLs, which you then need to break > apart > > >using (eg) URI::ldap in order to create new connections to new LDAP > servers. > > > > > >Active Directory might also support some non-standard Control to get the > > >server to follow the continuation references for you. I've no idea what > > >that might be though. > > > > > >Cheers, > > > > > >Chris > > > > > > |