Condition Coverage

lib/SMB/Auth.pm
Criterion Covered Total %
condition 52 105 49.5


and 3 conditions

line !l l&&!r l&&r condition
194 0 0 0 $username && $username =~ /^\w[\w.+-]*$/ && @hash_bytes
248 0 0 15 $tag >= 160 and $tag <= 163
281 0 0 15 $tag >= 160 and $tag <= 163
287 0 0 9 ($id0 = $_) && ()
339 0 0 2 ref $value eq 'ARRAY' and shift @$value == 48
342 0 2 2 $_->[0] == 6 and $_->[1] eq '1.3.6.1.4.1.311.2.2.10'
349 1 0 3 ref $value eq 'ARRAY' && shift @$value == 4
383 0 1 0 $parser->uint16 == 8 && $self->server_timestamp($parser->uint64)
425 0 0 1 ref $value eq 'ARRAY' and shift @$value == 10
622 1 0 0 $self->negotiate_flags & 2048 && $self->allow_anonymous

or 2 conditions

line l !l condition
109 0 0 shift() || die('No user passwords to set')
118 1 0 shift() // ''
127 3 0 shift() // ''
133 0 0 shift() || die()
144 3 0 shift() || die()
145 3 0 shift() // ''
146 3 0 shift() // ''
160 1 0 shift() || 24
180 0 0 shift() || (return)
192 0 0 $hash_str || ''
209 1 0 $self->ntlm_response || (return $self->err('No ntlm_response from client'))
215 1 0 $self->username // (return $self->err('No username from client'))
216 1 0 $self->user_passwords->{$username} // (return $self->err("No user '${username}' on server"))
268 4 11 $parsed_context_values[$tag - 160] //= \@contents
277 41 0 shift() // die('No asn1 tag')
278 41 0 shift() // die('No asn1 tag content')
321 6 0 shift() // (return)
541 1 0 $options{'username'} || ''
542 1 0 $options{'password'} || ''
543 1 0 $options{'domain'} || 'MYGROUP'
553 0 1 $self->server_timestamp || 0

or 3 conditions

line l !l&&r !l&&!r condition
220 0 1 0 $ntlm_hash ||= &create_ntlm_hash($password)
248 9 0 18 $tag == 48 or $tag == 49
9 3 15 $tag == 48 or $tag == 49 or $tag == 96
281 9 0 18 $tag == 48 or $tag == 49
9 3 15 $tag == 48 or $tag == 49 or $tag == 96
337 1 1 4 not defined $self->ntlmssp_supported or $options{'is_initial'}
441 1 1 4 not defined $self->ntlmssp_supported or $options{'is_initial'}
456 2 2 0 $options{'host'} || $names[0]
457 1 0 3 $options{'domain'} || $names[1]
550 0 1 0 $options{'ntlm_password_hash'} || &create_ntlm_hash($password)
623 0 1 0 $is_anonymous || $self->is_user_authenticated