Hello,
I sent this help request to a perl-ldap list and it was indicated that the problem may be ADAM specific. The detail are:
I have set up a MS ADAM instance named cn=examplename,st=wv,c=us. On
install, the LostAndFound, Roles, and NTDS Quotas objects were created
with dn's CN=LostAndFound,CN=examplename,ST=wv,C=us, CN=NTDS
Quotas,CN=examplename,ST=wv,C=us, and CN=Roles,CN=examplename,ST=wv,C=us.
This all displays successfully in ADAM ADSI Edit.
I then added via importing an ldif file a couple of object instances with
dn's CN=WVAdmin,CN=examplename,ST=wv,C=us and
CN=WVAdmin2,CN=examplename,ST=wv,C=us. These both also display
successfully in ADAM ADSI Edit.
So then I attempt to use perl-ldap to perform a search like this:
use Net::LDAP;
$ldap = new Net::LDAP('localhost') or die "$@";
$ldap->bind( version => 3 );
$mesg = $ldap->search ( base => "C=us",
filter => "objectClass=*",
) or die ("Failed on search.$!");
foreach $entry ($mesg->all_entries)
{
$entry->dump;
}
$ldap->unbind;
The result is no entries. I have also tried narrowing the base to
CN=examplename,ST=wv,C=us with no benefit.
Additionally, I tried binding
to cn=WVAdmin,cn=examplename,st=wv,c=us which does return a single result
with dn=examplename,st=wv,c=us.
Note that all of the above search attempts resulted in a return code of 0 indicating success.
Any ideas what could be the problem would be greatly appreciated.
Thank you,
Sonya
----- Forwarded by Sonya Lowry/stc on 07/16/2004 01:07 PM -----
| Chris Ridd <[EMAIL PROTECTED]>
07/16/2004 10:55 AM |
|
On 16/7/04 6:13 pm, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Chris,
> Thanks for your help. Currently, I am binding with this line:
>
> $ldap->bind("cn=WVAdmin,cn=examplename,st=wv,c=us");
You need to add the arguments:
password => 'something'
to the bind, as otherwise you will be binding with a name and no password.
Typically that will succeed, but it'll be considered the same as anonymous.
However you're using MAD, which doesn't really implement LDAP in a very
standard way, so it might be doing things differently.
> and the return code is 0 which I understand indicates success. However,
> the search result is limited to the single object
> 'cn=examplename,st=wv,c=us' despite the presence of several objects with
> dn's like cn=<name>,cn=examplename,st=wv,c=us.
>
> I've suspected that maybe I simply don't understand the search mechanism.
> I had assumed that the base of cn=examplename,st=wv,c=us would direct the
> search through elements with dn's ending with the string '
> cn=examplename,st=wv,c=us' like
> cn=<name>,cn=examplename,st=wv,c=us. Is this a correct assumption?
It isn't quite the right way to think about it, as there are ways for the
search to process other entries too (eg by following aliases).
Think of it like directories on a disk, except that DNs are written
little-endian whereas file paths are written big-endian. A subtree search
essentially searches subdirectories. (Unless there's a link inside somewhere
that points to another subdirectory somewhere.)
Cheers,
Chris
