| line |
true |
false |
branch |
|
37
|
0 |
0 |
eval {
do {
require IO::Socket::INET6
}
} ? : |
|
|
21 |
0 |
eval {
do {
require IO::Socket::IP;
'IO::Socket::IP'->VERSION(0.2)
}
} ? : |
|
65
|
0 |
0 |
unless $once++ |
|
69
|
0 |
0 |
ref($_) =~ /[^A-Z]/ ? : |
|
74
|
0 |
0 |
ref $ret{'control'} eq 'ARRAY' ? : |
|
|
0 |
4 |
if exists $ret{'control'} |
|
80
|
0 |
2 |
if @_ & 1 |
|
87
|
0 |
0 |
if $errstr |
|
102
|
0 |
0 |
$ldap->{'net_ldap_onerror'} && !$ldap->{'net_ldap_async'} ? : |
|
109
|
2 |
0 |
if @_ % 2 |
|
113
|
0 |
2 |
ref $host ? : |
|
116
|
2 |
0 |
if (defined $h) |
|
117
|
0 |
2 |
if $h =~ s[^(\w+)://][] |
|
121
|
0 |
2 |
unless my $meth = $obj->can("connect_$scheme") |
|
122
|
2 |
0 |
if (&$meth($obj, $h, $arg)) |
|
129
|
0 |
2 |
unless $obj->{'net_ldap_socket'} |
|
132
|
0 |
0 |
$arg->{'keepalive'} ? : |
|
|
0 |
2 |
if defined $arg->{'keepalive'} |
|
137
|
2 |
0 |
$arg->{'async'} ? : |
|
138
|
0 |
2 |
if $arg->{'raw'} |
|
140
|
0 |
2 |
if (defined(my $onerr = $arg->{'onerror'})) |
|
141
|
0 |
0 |
if exists $onerror{$onerr} |
|
154
|
0 |
0 |
$arg->{'inet6'} ? : |
|
|
0 |
0 |
$arg->{'inet4'} ? : |
|
157
|
0 |
0 |
if $host =~ s/^([^:]+|\[.*\]):(\d+)$/$1/ |
|
159
|
0 |
0 |
if ($arg->{'inet6'} and !1) |
|
173
|
0 |
0 |
$class eq 'IO::Socket::IP' ? : |
|
|
0 |
0 |
defined $arg->{'timeout'} ? : |
|
|
0 |
0 |
unless $ldap->{'net_ldap_socket'} = $class->new('PeerAddr', $host, 'PeerPort', $port, 'LocalAddr', $arg->{'localaddr'} || undef, 'Proto', 'tcp', $class eq 'IO::Socket::IP' ? 'Family' : 'Domain', $domain, 'MultiHomed', $arg->{'multihomed'}, 'Timeout', defined $arg->{'timeout'} ? $arg->{'timeout'} : 120) |
|
187
|
0 |
0 |
$arg->{'inet6'} ? : |
|
|
0 |
0 |
$arg->{'inet4'} ? : |
|
189
|
0 |
0 |
if ($arg->{'inet6'} and !1) |
|
197
|
0 |
0 |
if $host =~ s/^([^:]+|\[.*\]):(\d+)$/$1/ |
|
205
|
0 |
0 |
defined $arg->{'timeout'} ? : |
|
|
0 |
0 |
unless $ldap->{'net_ldap_socket'} = 'IO::Socket::SSL'->new('PeerAddr', $host, 'PeerPort', $port, 'LocalAddr', $arg->{'localaddr'} || undef, 'Proto', 'tcp', 'Domain', $domain, 'Timeout', defined $arg->{'timeout'} ? $arg->{'timeout'} : 120, _SSL_context_init_args({'sslserver', $host, %$arg})) |
|
220
|
0 |
0 |
if (exists $arg->{'verify'}) |
|
222
|
0 |
0 |
exists $ssl_verify{$v} ? : |
|
224
|
0 |
0 |
if ($verify) |
|
227
|
0 |
0 |
if defined $arg->{'sslserver'} |
|
231
|
0 |
0 |
if (exists $arg->{'clientcert'}) |
|
233
|
0 |
0 |
if (exists $arg->{'clientkey'}) { } |
|
241
|
0 |
0 |
if ($arg->{'checkcrl'} and not $arg->{'capath'}) |
|
246
|
0 |
0 |
if (exists $arg->{'keydecrypt'}) |
|
251
|
0 |
0 |
if (defined $arg->{'sslversion'}) |
|
264
|
0 |
0 |
defined $arg->{'ciphers'} ? : |
|
|
0 |
0 |
defined $arg->{'sslversion'} ? : |
|
|
0 |
0 |
exists $arg->{'cafile'} ? : |
|
|
0 |
0 |
exists $arg->{'capath'} ? : |
|
|
0 |
0 |
$clientcert ? : |
|
|
0 |
0 |
$arg->{'checkcrl'} ? : |
|
|
0 |
0 |
$clientcert ? : |
|
275
|
0 |
0 |
unless length $peer |
|
284
|
0 |
0 |
defined $arg->{'timeout'} ? : |
|
|
0 |
0 |
unless $ldap->{'net_ldap_socket'} = 'IO::Socket::UNIX'->new('Peer', $peer, 'Timeout', defined $arg->{'timeout'} ? $arg->{'timeout'} : 120) |
|
289
|
0 |
0 |
if ('Socket'->can('getnameinfo') and 'Socket'->can('getaddrinfo')) |
|
293
|
0 |
0 |
unless $err |
|
295
|
0 |
0 |
if $_->{'canonname'} |
|
|
0 |
0 |
unless $err |
|
313
|
0 |
2 |
@_ ? : |
|
319
|
0 |
4 |
if $_[0] |
|
323
|
2 |
2 |
@_ ? : |
|
336
|
0 |
2 |
exists $opt{'sasl_layer'} && !$opt{'sasl_layer'} ? : |
|
343
|
0 |
0 |
$ldap->{'net_ldap_scheme'} ne 'ldapi' ? : |
|
347
|
0 |
0 |
unless $_[0]{'net_ldap_port'} |
|
366
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
369
|
0 |
0 |
unless $mesg->encode('unbindRequest', 1, 'controls', $control) |
|
383
|
0 |
0 |
if $^W |
|
407
|
0 |
2 |
if exists $arg->{'version'} |
|
411
|
0 |
2 |
if my $control = delete $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
414
|
0 |
2 |
ref $dn ? : |
|
419
|
0 |
2 |
scalar keys %$arg ? : |
|
423
|
0 |
16 |
if (exists $arg->{$param}) |
|
424
|
0 |
0 |
$type eq 'anon' ? : |
|
425
|
0 |
0 |
if $type eq 'simple' and $passwd eq '' |
|
431
|
0 |
2 |
unless $auth_type |
|
434
|
0 |
2 |
if ($auth_type eq 'sasl') |
|
437
|
0 |
0 |
if $ldap->{'net_ldap_version'} < 3 |
|
442
|
0 |
0 |
if (ref $sasl and $sasl->isa('Authen::SASL')) { } |
|
450
|
0 |
0 |
if (exists $arg->{'sasl_host'}) |
|
451
|
0 |
0 |
if ($arg->{'sasl_host'}) { } |
|
|
0 |
0 |
elsif ($ldap->{'net_ldap_rawsocket'}->can('peerhost')) { } |
|
469
|
0 |
0 |
unless defined $sasl_conn |
|
480
|
0 |
0 |
unless defined $initial |
|
494
|
0 |
2 |
unless $mesg->encode('bindRequest', \%stash, 'controls', $control) |
|
513
|
0 |
0 |
if $ldap->{'raw'} and not defined $arg->{'raw'} |
|
518
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
524
|
0 |
0 |
unless (ref($filter = $arg->{'filter'})) |
|
527
|
0 |
0 |
unless $f->parse($filter) |
|
540
|
0 |
0 |
ref $base ? : |
|
543
|
0 |
0 |
if (exists $arg->{'scope'}) |
|
545
|
0 |
0 |
exists $scope{$sc} ? : |
|
548
|
0 |
0 |
if (exists $arg->{'deref'}) |
|
550
|
0 |
0 |
exists $deref{$dr} ? : |
|
554
|
0 |
0 |
unless $mesg->encode('searchRequest', \%stash, 'controls', $control) |
|
569
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
573
|
0 |
0 |
unless my $entry = $arg->{'dn'} |
|
575
|
0 |
0 |
unless (ref $entry) |
|
579
|
0 |
0 |
unless $arg->{'attrs'} or $arg->{'attr'} |
|
583
|
0 |
0 |
unless $mesg->encode('addRequest', $entry->asn, 'controls', $control) |
|
600
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
604
|
0 |
0 |
unless my $dn = $arg->{'dn'} |
|
609
|
0 |
0 |
if (exists $arg->{'changes'}) { } |
|
614
|
0 |
0 |
unless defined($opcode = $opcode{$arg->{'changes'}[$j++]}) |
|
617
|
0 |
0 |
if (ref $chg) |
|
620
|
0 |
0 |
ref $$chg[$i + 1] ? : |
|
634
|
0 |
0 |
unless exists $arg->{$op} |
|
638
|
0 |
0 |
if (ref $opt eq 'HASH') { } |
|
|
0 |
0 |
elsif (ref $opt eq 'ARRAY') { } |
|
640
|
0 |
0 |
ref $v ? : |
|
654
|
0 |
0 |
$opcode == 1 ? : |
|
655
|
0 |
0 |
ref $val ? : |
|
676
|
0 |
0 |
ref $dn ? : |
|
|
0 |
0 |
unless $mesg->encode('modifyRequest', {'object', ref $dn ? $dn->dn : $dn, 'modification', \@ops}, 'controls', $control) |
|
694
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
698
|
0 |
0 |
unless my $dn = $arg->{'dn'} |
|
700
|
0 |
0 |
ref $dn ? : |
|
|
0 |
0 |
unless $mesg->encode('delRequest', ref $dn ? $dn->dn : $dn, 'controls', $control) |
|
717
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
721
|
0 |
0 |
unless my $dn = $arg->{'dn'} |
|
724
|
0 |
0 |
unless my $new = $arg->{'newrdn'} || $arg->{'new'} |
|
726
|
0 |
0 |
ref $dn ? : |
|
|
0 |
0 |
ref $new ? : |
|
|
0 |
0 |
ref $newsup ? : |
|
|
0 |
0 |
unless $mesg->encode('modDNRequest', {'entry', ref $dn ? $dn->dn : $dn, 'newrdn', ref $new ? $new->dn : $new, 'deleteoldrdn', $del, 'newSuperior', ref $newsup ? $newsup->dn : $newsup}, 'controls', $control) |
|
749
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
753
|
0 |
0 |
unless my $dn = $arg->{'dn'} |
|
758
|
0 |
0 |
exists $arg->{'attrs'} ? : |
|
|
0 |
0 |
exists $arg->{'attr'} ? : |
|
764
|
0 |
0 |
exists $arg->{'attrs'} ? : |
|
|
0 |
0 |
exists $arg->{'value'} ? : |
|
768
|
0 |
0 |
ref $dn ? : |
|
|
0 |
0 |
unless $mesg->encode('compareRequest', {'entry', ref $dn ? $dn->dn : $dn, 'ava', {'attributeDesc', $attr, 'assertionValue', $value}}, 'controls', $control) |
|
784
|
0 |
0 |
if @_ & 1 |
|
792
|
0 |
0 |
if my $control = $arg->{'control'} and $ldap->{'net_ldap_version'} < 3 |
|
795
|
0 |
0 |
ref $id ? : |
|
|
0 |
0 |
unless $mesg->encode('abandonRequest', ref $id ? $id->mesg_id : $id, 'controls', $control) |
|
811
|
0 |
0 |
if $ldap->{'net_ldap_version'} < 3 |
|
819
|
0 |
0 |
unless $mesg->encode('extendedReq', {'requestName', $arg->{'name'}, 'requestValue', $arg->{'value'}}, 'controls', $arg->{'control'}) |
|
830
|
0 |
0 |
unless defined $table |
|
832
|
0 |
0 |
if ref $mid |
|
833
|
0 |
0 |
defined $mid ? : |
|
834
|
0 |
0 |
if $err = $ldap->process($mid) |
|
850
|
0 |
2 |
if ($debug = $ldap->debug) |
|
854
|
0 |
0 |
if $debug & 1 |
|
857
|
0 |
0 |
if $debug & 4 |
|
861
|
0 |
2 |
unless my $socket = $ldap->socket |
|
872
|
0 |
2 |
unless my $n = syswrite($socket, $s, length $s) |
|
883
|
2 |
0 |
unless ($mesg->done) |
|
887
|
0 |
2 |
if ($sync) |
|
889
|
0 |
0 |
if $err |
|
894
|
0 |
2 |
$sync && $ldap->{'net_ldap_onerror'} && $mesg->is_error ? : |
|
900
|
0 |
0 |
unless my $sock = $ldap->socket |
|
909
|
0 |
0 |
unless my $sock = $ldap->socket |
|
913
|
0 |
0 |
unless asn_read($sock, $pdu) |
|
917
|
0 |
0 |
if ($debug = $ldap->debug) |
|
921
|
0 |
0 |
if $debug & 2 |
|
924
|
0 |
0 |
if $debug & 8 |
|
928
|
0 |
0 |
unless my $result = $Net::LDAP::LDAPResponse->decode($pdu) |
|
934
|
0 |
0 |
unless ($mesg) |
|
935
|
0 |
0 |
if (my $ext = $result->{'protocolOp'}{'extendedResp'}) |
|
936
|
0 |
0 |
if (($ext->{'responseName'} || '') eq '1.3.6.1.4.1.1466.20036') |
|
942
|
0 |
0 |
if $debug & 10 |
|
946
|
0 |
0 |
unless $mesg->decode($result) |
|
949
|
0 |
0 |
if defined $what and $what == $mid |
|
965
|
2 |
0 |
if $sock |
|
967
|
2 |
0 |
if (my $msgs = delete $self->{'net_ldap_mesg'}) |
|
969
|
0 |
2 |
unless defined $mesg |
|
1008
|
0 |
0 |
if (exists $arg{'dn'}) { } |
|
1012
|
0 |
0 |
unless my $root = $self->root_dse('attrs', ['subschemaSubentry']) |
|
1035
|
0 |
0 |
$mesg->code ? : |
|
1058
|
0 |
0 |
if $root |
|
1069
|
0 |
0 |
if $root |
|
1071
|
0 |
0 |
unless $arg{'attrs'} |
|
1085
|
0 |
0 |
if $sock->isa('IO::Socket::SSL') |
|
1088
|
0 |
0 |
if $ldap->version < 3 |
|
1100
|
0 |
0 |
if $mesg->code |
|
1105
|
0 |
0 |
unless defined $arg->{'sslserver'} |
|
1109
|
0 |
0 |
if 'IO::Socket::SSL'->start_SSL($sock, {_SSL_context_init_args($arg)}) |
|
1114
|
0 |
0 |
if ($sock_class ne ref $sock) |
|
1124
|
0 |
0 |
$ldap->socket->isa('IO::Socket::SSL') ? : |
|
1131
|
0 |
0 |
$ldap->socket->isa('IO::Socket::SSL') ? : |
|
1142
|
0 |
2 |
@_ ? : |
|
1147
|
0 |
3 |
if tied %$self |
|
1155
|
0 |
3 |
unless tied %{$_[0];} |
|
1164
|
2 |
3 |
unless my $inner = tied %$ldap |
|
1166
|
2 |
1 |
unless --$inner->{'net_ldap_refcnt'} |