From: Lance U. <la...@ve...> - 2002-03-25 19:08:13
|
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 |
From: Chris R. <chr...@me...> - 2002-03-27 10:44:30
|
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 |
From: Kurt D. Z. <Ku...@Op...> - 2002-03-27 15:32:25
|
LDAP_PARTIAL_RESULTS in an LDAPv2+ result code indicating the result PDU contains referrals (or references). I strongly recommend avoiding LDAPv2+ (and LDAPv2). 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 |
From: Lance U. <la...@ve...> - 2002-03-27 16:44:09
|
> 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. 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 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. 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 > > |
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 > > > > > > |
From: Lance U. <la...@ve...> - 2002-03-27 17:22:36
|
Doing the bind with version => 3 Fixes my problem. Thanks to all of you for responding. -Lance |
From: Christopher A B. <ca...@tc...> - 2002-03-27 19:21:14
|
As Graham Barr once put it so eloquently: > > 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. Maybe it's time to change the default ;) %% Christopher A. Bongaarts %% ca...@tc... %% %% Internet Services %% http://umn.edu/~cab %% %% University of Minnesota %% +1 (612) 625-1809 %% |