Branch Coverage

blib/lib/Authen/SASL/Perl/DIGEST_MD5.pm
Criterion Covered Total %
branch 78 148 52.7


line true false branch
155 0 8 if (not ref $options or ref $options ne 'HASH')
165 7 1 unless $$options{'no_integrity'}
166 0 7 unless $$options{'no_integrity'} or $$options{'no_confidentiality'} or $NO_CRYPT_AVAILABLE
241 0 11 unless $self->_parse_challenge(\$challenge, 'server', $$self{'server_params'})
244 4 7 if ($$self{'state'} == 1)
246 0 4 unless $sparams{'rspauth'}
248 0 4 unless $$self{'rspauth'} eq $sparams{'rspauth'}
257 0 7 if (my(@missing) = grep({not exists $sparams{$_};} @server_required))
270 0 7 unless $self->_client_layer(\%sparams, \%response)
277 7 0 unless (defined $realm)
281 7 0 if (defined $realm)
286 2 5 if (defined $authzid)
291 0 7 if (defined $serv_name)
296 0 7 unless defined $user
301 0 7 unless defined $password
324 0 12 if (defined $$params{'realm'} and ref $$params{'realm'} eq 'ARRAY')
329 0 12 unless defined $realm
331 4 8 defined $$params{'authzid'} ? :
349 0 12 if (my $cipher = $$self{'cipher'})
350 0 0 unless $$cipher{'fixup'}
369 7 5 if $$params{'qop'} ne 'auth'
379 7 5 if $$params{'qop'} ne 'auth'
394 1 7 unless ($self->_parse_challenge(\$challenge, 'client', $$self{'client_params'}))
400 0 7 if (my(@missing) = grep({not exists $cparams{$_};} @client_required))
406 0 7 unless ($count == ++$$self{'nonce_counts'}{$cparams{'nonce'}})
412 1 6 unless ($self->is_qop_supported($qop))
418 0 6 unless ($username)
424 0 6 if (exists $cparams{'authzid'} and $cparams{'authzid'} eq '')
435 1 5 if ($cservice ne $self->service or $chost ne $self->host)
441 0 5 unless (defined $self->callback('getsecret'))
450 0 5 unless defined $password
454 0 5 unless $self->_server_layer($qop)
460 2 3 unless $expected eq $$self{'client_params'}{'response'}
494 18 113 $is_array ? :
518 65 52 if ($v =~ /^"(.*)"$/s)
521 7 110 if (exists $multi{$type}{$k}) { }
1 109 elsif (defined $$params{$k}) { }
532 0 18 length $$challenge_ref ? :
538 65 66 $is_client ? :
540 0 131 if (not defined $v) { }
73 58 elsif (exists $$qdval{$k}) { }
557 0 5 if $maxssf < 0
559 0 5 if $minssf < 0
561 0 5 if $maxssf < $minssf
564 0 5 if ($auth eq 'auth-conf' and $self->_select_cipher($minssf, $maxssf, $ciphers))
569 3 2 if ($auth eq 'auth-int')
573 2 0 if ($auth eq 'auth')
587 7 6 if /^auth$/
589 4 9 if /^auth-int$/
590 0 13 if /^auth-conf$/
596 0 7 if $maxssf < 0
598 0 7 if $minssf < 0
600 0 7 if $maxssf < $minssf
606 7 0 if $minssf < 1
607 7 0 if $minssf <= 1 and $maxssf >= 1
608 7 0 if $maxssf > 1
616 0 7 if ($cmask & 4 and $self->_select_cipher($minssf, $maxssf, \@sciphers))
622 4 3 if ($cmask & 2)
627 3 0 if ($cmask & 1)
642 0 0 grep({$$c{'name'} eq $_;} @$ciphers) && $$c{'ssf'} >= $minssf && $$c{'ssf'} <= $maxssf ? :
648 0 0 unless eval "require $$_{'pkg'}"
664 0 0 unless $$self{'khc'}
669 0 0 if ($bs > 1)
685 0 0 if $len <= 16
691 0 0 if ($$self{'khs'})
695 0 0 unless $buf
700 0 0 if ($$self{'khs'} and $$self{'cipher'}{'bs'} > 1)
708 0 0 if $mac ne $check
709 0 0 if unpack('N', $seqnum) != $$self{'rcvseqnum'}
719 0 0 if ($bs <= 1)
721 0 0 $d ? :
727 0 0 $d ? :
730 0 0 $d ? :
734 0 0 $d ? :