Condition Coverage

lib/SMB/Auth.pm
Criterion Covered Total %
condition 45 93 48.3


and 3 conditions

line !l l&&!r l&&r condition
188 0 0 0 $username && $username =~ /^\w[\w.+-]*$/ && @hash_bytes
242 0 0 15 $tag >= 160 and $tag <= 163
275 0 0 15 $tag >= 160 and $tag <= 163
280 0 0 7 ($id0 = $_) && ()
327 0 0 2 ref $value eq 'ARRAY' and shift @$value == 48
330 0 0 2 $$_[0] == 6 and $$_[1] eq '1.3.6.1.4.1.311.2.2.10'
337 1 0 3 ref $value eq 'ARRAY' && shift @$value == 4
369 0 1 0 $parser->uint16 == 8 && $self->server_timestamp($parser->uint64)
402 0 0 1 ref $value eq 'ARRAY' and shift @$value == 10

or 2 conditions

line l !l condition
104 0 0 shift() || die('No user passwords to set')
113 1 0 shift() // ''
122 3 0 shift() // ''
128 0 0 shift() || die()
139 3 0 shift() || die()
140 3 0 shift() // ''
141 3 0 shift() // ''
155 1 0 shift() || 24
175 0 0 shift() || (return)
186 0 0 $hash_str || ''
203 1 0 $self->ntlm_response || (return $self->err('No ntlm_response from client'))
209 1 0 $self->username // (return $self->err('No username from client'))
210 1 0 $self->user_passwords->{$username} // (return $self->err("No user '${username}' on server"))
262 4 11 $parsed_context_values[$tag - 160] //= \@contents
271 39 0 shift() // die('No asn1 tag')
272 39 0 shift() // die('No asn1 tag content')
315 6 0 shift() // (return)
514 1 0 $options{'username'} || ''
515 1 0 $options{'password'} || ''
516 1 0 $options{'domain'} || 'MYGROUP'
526 0 1 $self->server_timestamp || 0

or 3 conditions

line l !l&&r !l&&!r condition
214 0 1 0 $ntlm_hash ||= create_ntlm_hash $password
242 9 3 15 $tag == 48 or $tag == 96
275 9 3 15 $tag == 48 or $tag == 96
325 1 1 4 not defined $self->ntlmssp_supported or $options{'is_initial'}
418 1 1 4 not defined $self->ntlmssp_supported or $options{'is_initial'}
432 2 0 2 $options{'host'} || $names[0]
433 1 0 3 $options{'domain'} || $names[1]
523 0 1 0 $options{'ntlm_password_hash'} || create_ntlm_hash $password