line |
!l |
l&&!r |
l&&r |
condition |
40
|
85 |
0 |
13 |
defined $old_uuid and $self->is_current |
246
|
0 |
0 |
0 |
XXX && exists $association->{'keystroke_sequence'} |
277
|
0 |
0 |
0 |
defined $args{'value'} && utf8::is_utf8($args{'value'}) |
299
|
0 |
0 |
27 |
defined $params{'type'} and defined $params{'secret'} |
320
|
0 |
0 |
10 |
defined $params{'type'} and defined $params{'secret'} |
356
|
9 |
2 |
9 |
defined $params{'algorithm'} and $params{'algorithm'} eq "sha1" |
357
|
9 |
2 |
9 |
defined $params{'period'} and $params{'period'} == 30 |
358
|
0 |
4 |
16 |
defined $params{'digits'} and $params{'digits'} == 6 |
359
|
13 |
2 |
5 |
defined $params{'counter'} and $params{'counter'} == 0 |
429
|
0 |
0 |
22 |
$params{'secret'} and $params{'type'} |
521
|
248 |
28 |
4 |
@$entries and not &blessed($entries->[0]) |
548
|
0 |
2 |
0 |
0 <= $max_items and $max_items < @$history |
line |
l |
!l |
condition |
46
|
10 |
88 |
$_[0]{'custom_icon_uuid'} //= undef |
51
|
427 |
84 |
$_[0]{'auto_type'} //= scalar &$default($_[0]) |
52
|
2 |
111 |
$_[0]{'previous_parent_group'} //= undef |
54
|
134 |
0 |
$_[0]{'strings'} //= scalar &$default($_[0]) |
55
|
50 |
84 |
$_[0]{'binaries'} //= scalar &$default($_[0]) |
56
|
636 |
84 |
$_[0]{'times'} //= scalar &$default($_[0]) |
60
|
17 |
83 |
$_[0]->times->{'last_modification_time'} //= scalar &$default($_[0]) |
61
|
3 |
84 |
$_[0]->times->{'creation_time'} //= scalar &$default($_[0]) |
62
|
8 |
84 |
$_[0]->times->{'last_access_time'} //= scalar &$default($_[0]) |
63
|
0 |
84 |
$_[0]->times->{'expiry_time'} //= scalar &$default($_[0]) |
66
|
1 |
84 |
$_[0]->times->{'location_changed'} //= scalar &$default($_[0]) |
73
|
3 |
84 |
$_[0]->auto_type->{'associations'} //= scalar &$default($_[0]) |
138
|
461 |
348 |
$self->{'strings'}{$key} //= {"value", "", $self->_protect($key) ? ("protect", &true()) : ()} |
158
|
599 |
276 |
$self->string(@_) // (return undef) |
208
|
323 |
0 |
$self->string_peek(@_) // (return undef) |
216
|
0 |
5 |
shift() // "\n" |
287
|
1 |
0 |
$self->binary(@_) // (return undef) |
378
|
4 |
32 |
$self->expand_title || 'KDBX' |
|
4 |
32 |
$self->expand_username || 'none' |
|
22 |
14 |
$self->string_value("HmacOtp-Counter") // 0 |
409
|
2 |
19 |
$self->expand_title || 'KDBX' |
|
2 |
19 |
$self->expand_username || 'none' |
|
2 |
19 |
$self->string_value("TimeOtp-Length") // 6 |
|
2 |
19 |
$algorithms{$self->string_value('TimeOtp-Algorithm') or ''} || 'sha1' |
|
2 |
19 |
$self->string_value("TimeOtp-Period") // 30 |
426
|
22 |
0 |
$self->string_value('otp') || '' |
431
|
2 |
20 |
$params{'encoder'} // "" |
437
|
22 |
0 |
$params{'label'} // ":" |
449
|
57 |
0 |
shift() // (return ()) |
468
|
20 |
7 |
(shift() // $self->string_value('HmacOtp-Counter')) || 0 |
485
|
3 |
0 |
$self->tags // "" |
490
|
15 |
0 |
$string->{'value'} // "" |
496
|
0 |
0 |
$item->{'value'} // "" |
510
|
0 |
0 |
$association->{'keystroke_sequence'} // "" |
520
|
185 |
95 |
$self->{'history'} //= [] |
539
|
2 |
0 |
($args{'max_items'} // eval {
do {
$self->kdbx->history_max_items
}
}) // 10 |
540
|
2 |
0 |
($args{'max_size'} // eval {
do {
$self->kdbx->history_max_size
}
}) // 6291456 |
541
|
2 |
0 |
($args{'max_age'} // eval {
do {
$self->kdbx->maintenance_history_days
}
}) // 365 |
577
|
7 |
1 |
$self->{'history'} //= [] |
line |
l |
!l&&r |
!l&&!r |
condition |
33
|
13 |
85 |
351 |
@_ or not defined $self->{'uuid'} |
36
|
13 |
85 |
0 |
delete $args{'uuid'} // generate_uuid() |
45
|
134 |
48 |
0 |
$_[0]{'icon_id'} //= $default |
47
|
0 |
0 |
84 |
$_[0]{'foreground_color'} //= $default |
48
|
0 |
0 |
84 |
$_[0]{'background_color'} //= $default |
49
|
0 |
0 |
84 |
$_[0]{'override_url'} //= $default |
50
|
3 |
0 |
84 |
$_[0]{'tags'} //= $default |
53
|
51 |
87 |
0 |
$_[0]{'quality_check'} //= $default |
64
|
0 |
0 |
84 |
$_[0]->times->{'expires'} //= $default |
65
|
0 |
0 |
84 |
$_[0]->times->{'usage_count'} //= $default |
69
|
0 |
0 |
84 |
$_[0]->auto_type->{'data_transfer_obfuscation'} //= $default |
71
|
0 |
84 |
0 |
$_[0]->auto_type->{'default_sequence'} //= $default |
119
|
1263 |
0 |
0 |
defined $args{'key'} or defined $args{'value'} |
178
|
19 |
23 |
0 |
$PLACEHOLDERS{$local_key} // do {
next unless my $handler = $File::KDBX::PLACEHOLDERS{$placeholder_key};
memoize(recurse_limit($handler, $PLACEHOLDER_MAX_DEPTH, sub {
alert("Detected deep recursion while expanding $placeholder placeholder", "placeholder", $placeholder);
return;
}
))
} |
197
|
41 |
3 |
0 |
&$expand(uc $1, $2, @_) // $& |
201
|
2 |
0 |
0 |
&$expand("ENV", $1, @_) // $& |
264
|
3 |
0 |
0 |
defined $args{'key'} or defined $args{'value'} |
351
|
8 |
12 |
0 |
$label //= "${issuer}:$account" |
389
|
0 |
0 |
12 |
not $otp_params{'secret'} or $otp_params{'type'} ne "hotp" |
416
|
0 |
0 |
10 |
not $otp_params{'secret'} or $otp_params{'type'} ne "totp" |
438
|
20 |
2 |
0 |
$params{'issuer'} //= uri_unescape_utf8($issuer) |
439
|
0 |
22 |
0 |
$params{'account'} //= uri_unescape_utf8($user) |
539
|
2 |
0 |
0 |
$args{'max_items'} // eval {
do {
$self->kdbx->history_max_items
}
} |
540
|
2 |
0 |
0 |
$args{'max_size'} // eval {
do {
$self->kdbx->history_max_size
}
} |
541
|
2 |
0 |
0 |
$args{'max_age'} // eval {
do {
$self->kdbx->maintenance_history_days
}
} |
640
|
0 |
84 |
0 |
$self->auto_type->{'enabled'} //= &true() |