line |
true |
false |
branch |
146
|
0 |
0 |
if $self->pw_is_digest |
153
|
2 |
19 |
if ($mech eq 'PLAIN') |
156
|
9 |
10 |
$mech eq 'MONGODB-X509' || $mech eq 'GSSAPI' ? : |
213
|
9 |
103 |
unless (&$validator()) |
220
|
7 |
324 |
if ($mech eq 'GSSAPI') |
232
|
0 |
0 |
if ($mech eq 'DEFAULT') |
271
|
0 |
0 |
unless ($username or $link->supports_x509_user_from_cert) |
272
|
0 |
0 |
unless $username = $link->client_certificate_subject |
277
|
0 |
0 |
$username ? : |
300
|
0 |
0 |
unless eval {
do {
require Authen::SASL;
1
}
} |
316
|
0 |
0 |
unless (eval {
do {
$sasl = 'Authen::SASL'->new('mechanism', 'GSSAPI', 'callback', {'user', $self->username, 'authname', $self->username});
$client = $sasl->client_new($self->mechanism_properties->{'SERVICE_NAME'}, $link->host);
1
}
}) |
333
|
0 |
0 |
if $done |
340
|
0 |
0 |
unless (eval {
do {
my $step = $client->client_start;
$self->_assert_gssapi($client, 'Could not start GSSAPI. Did you run kinit? Error was: ');
my($sasl_resp, $conv_id, $done) = $self->_sasl_start($link, $bson_codec, $step, 'GSSAPI');
foreach my $i (1 .. 10) {
last if $done;
$step = $client->client_step($sasl_resp);
$self->_assert_gssapi($client, 'GSSAPI step error: ');
($sasl_resp, $conv_id, $done) = $self->_sasl_continue($link, $bson_codec, $step, $conv_id);
};
1
}
}) |
342
|
0 |
0 |
$error->$MongoDB::_Credential::_isa('MongoDB::Error') ? : |
368
|
0 |
0 |
if (my $supported = $server->is_master->{'saslSupportedMechs'}) |
369
|
0 |
0 |
if (grep {$_ eq 'SCRAM-SHA-256';} @$supported) |
375
|
0 |
0 |
if ($link->supports_scram_sha1) |
391
|
0 |
0 |
if ($type =~ /^Authen::SASL::(?:XS|Cyrus)$/) { } |
393
|
0 |
0 |
if ($code != 0 and $code != 1) |
400
|
0 |
0 |
if (my $error = $client->error) |
412
|
0 |
0 |
unless defined $payload |
413
|
0 |
0 |
if $self->mechanism eq 'GSSAPI' |
420
|
0 |
0 |
unless defined $payload and length $payload |
421
|
0 |
0 |
if ref $payload |
475
|
0 |
0 |
unless $done |
477
|
0 |
0 |
unless (eval {
do {
$msg = $client->first_msg;
($sasl_resp, $conv_id, $done) = $self->_sasl_start($link, $bson_codec, $msg, $mech);
$msg = $client->final_msg($sasl_resp);
($sasl_resp, $conv_id, $done) = $self->_sasl_continue($link, $bson_codec, $msg, $conv_id);
$client->validate($sasl_resp);
$self->_sasl_continue($link, $bson_codec, '', $conv_id) unless $done;
1
}
}) |
479
|
0 |
0 |
$error->$MongoDB::_Credential::_isa('MongoDB::Error') ? : |