Well, that is progress of a sort. I just copied and pasted from the sample
program.
The response I get is
error: 49: 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext
error, data 525, vece at ./Net-LDAP.pl line 31, <DATA> line 225.
I'd like some hints on what "AcceptSecurityContext error" means.
On 5/16/05 2:10 PM, "Elliot Foster" <[EMAIL PROTECTED]>
wrote:
Burris, Celeste Suliin wrote:
> I'm running the standard test program, and appear to get a successful
bind,
> but any search says I don't have a successful bind.
>
> I'm completely baffled.
You're not checking for an error response during the bind. You might want
to do
something like:
my $bind = $ldap->bind($binduser, password => "$bindpass");
if ($bind->code) {
# spit out an error here
} else {
# looks like we were successful.
}
Or at least something like that. As it is, you're just checking the return
of
the function. It performs the bind function, it just so happens it runs
into an
error.
> ----- the code
> #!/usr/local/bin/perl
>
> use Net::LDAP;
> use Data::Dumper;
>
> my $host = "dctmb001.tacoma.lcl";
> my $port = 389;
> my $binduser = "CN=xxxxxx,DC=Tacoma,DC=lcl";
> my $bindpass = "xxxxxxx";
> my $connstring = "$host" . ':' . "$port";
> my $basedn = "DC=TACOMA,DC=LCL";
> my $login = "csburris";
> my $filter = "(sAMAccountName=" . $login . ")";
>
> my $ldap = Net::LDAP->new($connstring);
>
> if ( $ldap->bind( $binduser, password => "$bindpass" ) ) {
> print "successful bind to $host:$port\n"; }
> else {
> print "can't bind to ldap server $host:$port ($@)\n";
> exit;
> }
>
> print "filter: $filter\n";
> print Dumper($ldap);
>
> $mesg = $ldap->search( base => "$basedn",
> scope => 'sub',
> filter => "$filter"
> );
>
>
> if ( $mesg->code ) {
> print Dumper($mesg->code);
> print "FAILED: error is: " . $mesg->error . "\n";
> exit;
> }
> else {
> print "found " . $mesg->count . " entries\n";
> foreach $entry ( $mesg->entries ) {
> $entry->dump;
> }
> }
>
> if ($ldap) {
> $ldap->unbind;
> }
>
> ------ results
> ./Net-LDAP.pl
> successful bind to dctmb001.tacoma.lcl:389
> filter: (sAMAccountName=csburris)
> $VAR1 = bless( {
> 'net_ldap_version' => 3,
> 'net_ldap_debug' => 0,
> 'net_ldap_socket' => bless( \*Symbol::GEN0,
> 'IO::Socket::INET' ),
> 'net_ldap_host' => 'dctmb001.tacoma.lcl:389',
> 'net_ldap_uri' => 'dctmb001.tacoma.lcl:389',
> 'net_ldap_resp' => {},
> 'net_ldap_mesg' => {},
> 'net_ldap_async' => 0,
> 'net_ldap_refcnt' => 1
> }, 'Net::LDAP' );
> FAILED: error is: 00000000: LdapErr: DSID-0C090627, comment: In order to
> perform this operation a successful bind must be completed on the
> connection., data 0, vece
>