line |
l |
!l |
condition |
38
|
0 |
62 |
$data // {} |
140
|
2061 |
92 |
$_[0]{'headers'} //= scalar &$default($_[0]) |
141
|
332 |
92 |
$_[0]{'inner_headers'} //= scalar &$default($_[0]) |
142
|
1891 |
83 |
$_[0]{'meta'} //= scalar &$default($_[0]) |
143
|
26 |
83 |
$_[0]{'binaries'} //= scalar &$default($_[0]) |
144
|
96 |
62 |
$_[0]{'deleted_objects'} //= scalar &$default($_[0]) |
145
|
0 |
62 |
$_[0]{'raw'} //= undef |
150
|
48 |
62 |
$_[0]->headers->{'cipher_id'} //= scalar &$default($_[0]) |
152
|
14 |
62 |
$_[0]->headers->{'master_seed'} //= scalar &$default($_[0]) |
154
|
62 |
62 |
$_[0]->headers->{'encryption_iv'} //= scalar &$default($_[0]) |
155
|
14 |
62 |
$_[0]->headers->{'stream_start_bytes'} //= scalar &$default($_[0]) |
162
|
288 |
62 |
$_[0]->headers->{'kdf_parameters'} //= scalar &$default($_[0]) |
173
|
0 |
62 |
$_[0]->meta->{'database_name_changed'} //= scalar &$default($_[0]) |
175
|
0 |
62 |
$_[0]->meta->{'database_description_changed'} //= scalar &$default($_[0]) |
177
|
0 |
62 |
$_[0]->meta->{'default_username_changed'} //= scalar &$default($_[0]) |
180
|
0 |
62 |
$_[0]->meta->{'master_key_changed'} //= scalar &$default($_[0]) |
184
|
163 |
63 |
$_[0]->meta->{'custom_icons'} //= scalar &$default($_[0]) |
187
|
0 |
62 |
$_[0]->meta->{'recycle_bin_changed'} //= scalar &$default($_[0]) |
189
|
0 |
62 |
$_[0]->meta->{'entry_templates_group_changed'} //= scalar &$default($_[0]) |
194
|
0 |
62 |
$_[0]->meta->{'settings_changed'} //= scalar &$default($_[0]) |
222
|
248 |
62 |
$self->{'meta'}{'memory_protection'} //= {} |
511
|
4 |
1 |
shift() // (return) |
549
|
60 |
62 |
$self->{'meta'}{'custom_data'} //= {} |
576
|
0 |
0 |
$self->custom_data(@_) // (return) |
584
|
114 |
63 |
$self->{'headers'}{'public_custom_data'} //= {} |
641
|
18 |
0 |
shift() // (return) |
852
|
1 |
5 |
$_->custom_icon_uuid // "" |
890
|
2 |
0 |
($args{'max_items'} // $self->history_max_items) // 10 |
891
|
2 |
0 |
($args{'max_size'} // $self->history_max_size) // 6291456 |
892
|
2 |
0 |
($args{'max_age'} // $self->maintenance_history_days) // 365 |
974
|
75 |
0 |
$self->kdf_parameters->{'$UUID'} // "" |
1059
|
6 |
0 |
$object->{'uuid'} // (return) |
1062
|
6 |
0 |
$meta->{'recycle_bin_uuid'} // "" |
1063
|
6 |
0 |
$meta->{'entry_templates_group'} // "" |
1064
|
6 |
0 |
$meta->{'last_selected_group'} // "" |
1065
|
6 |
0 |
$meta->{'last_top_visible_group'} // "" |
1074
|
13 |
0 |
shift() // (return) |
1081
|
0 |
26 |
$_->{'previous_parent_group'} // "" |
1096
|
1 |
0 |
shift() // (return) |
1099
|
1 |
0 |
$meta->{'recycle_bin_uuid'} // "" |
1100
|
1 |
0 |
$meta->{'entry_templates_group'} // "" |
1101
|
1 |
0 |
$meta->{'last_selected_group'} // "" |
1102
|
1 |
0 |
$meta->{'last_top_visible_group'} // "" |
1105
|
0 |
2 |
$_->{'last_top_visible_entry'} // "" |
1106
|
0 |
2 |
$_->{'previous_parent_group'} // "" |
1109
|
0 |
3 |
$_->{'previous_parent_group'} // "" |
line |
l |
!l&&r |
!l&&!r |
condition |
80
|
0 |
1 |
0 |
$KEYS{$self} // () |
|
0 |
1 |
0 |
$SAFE{$self} // () |
137
|
97 |
62 |
0 |
$_[0]{'sig1'} //= $default |
138
|
118 |
62 |
0 |
$_[0]{'sig2'} //= $default |
139
|
690 |
61 |
0 |
$_[0]{'version'} //= $default |
148
|
0 |
0 |
62 |
$_[0]->headers->{'comment'} //= $default |
151
|
2 |
62 |
0 |
$_[0]->headers->{'compression_flags'} //= $default |
170
|
0 |
0 |
62 |
$_[0]->meta->{'generator'} //= $default |
171
|
0 |
0 |
62 |
$_[0]->meta->{'header_hash'} //= $default |
172
|
0 |
0 |
62 |
$_[0]->meta->{'database_name'} //= $default |
174
|
0 |
0 |
62 |
$_[0]->meta->{'database_description'} //= $default |
176
|
0 |
0 |
62 |
$_[0]->meta->{'default_username'} //= $default |
178
|
0 |
62 |
0 |
$_[0]->meta->{'maintenance_history_days'} //= $default |
179
|
0 |
0 |
62 |
$_[0]->meta->{'color'} //= $default |
181
|
0 |
62 |
0 |
$_[0]->meta->{'master_key_change_rec'} //= $default |
182
|
0 |
62 |
0 |
$_[0]->meta->{'master_key_change_force'} //= $default |
185
|
7 |
62 |
0 |
$_[0]->meta->{'recycle_bin_enabled'} //= $default |
186
|
7 |
62 |
0 |
$_[0]->meta->{'recycle_bin_uuid'} //= $default |
188
|
0 |
62 |
0 |
$_[0]->meta->{'entry_templates_group'} //= $default |
190
|
0 |
62 |
0 |
$_[0]->meta->{'last_selected_group'} //= $default |
191
|
0 |
62 |
0 |
$_[0]->meta->{'last_top_visible_group'} //= $default |
192
|
2 |
62 |
0 |
$_[0]->meta->{'history_max_items'} //= $default |
193
|
2 |
62 |
0 |
$_[0]->meta->{'history_max_size'} //= $default |
198
|
0 |
0 |
62 |
$_[0]->memory_protection->{'protect_title'} //= $default |
199
|
0 |
0 |
62 |
$_[0]->memory_protection->{'protect_username'} //= $default |
200
|
0 |
62 |
0 |
$_[0]->memory_protection->{'protect_password'} //= $default |
201
|
0 |
0 |
62 |
$_[0]->memory_protection->{'protect_url'} //= $default |
202
|
0 |
0 |
62 |
$_[0]->memory_protection->{'protect_notes'} //= $default |
241
|
1 |
1 |
9 |
$_->{'name'} || nonempty($_->{'last_modification_time'}) |
246
|
1 |
2 |
156 |
$_->previous_parent_group || nonempty($_->tags || &any(sub {
nonempty($_->{'last_modification_time'});
}
, values %{$_->custom_data;})) |
252
|
1 |
1 |
24 |
$_->previous_parent_group || defined $_->quality_check && !$_->quality_check || &any(sub {
nonempty($_->{'last_modification_time'});
}
, values %{$_->custom_data;}) |
275
|
616 |
62 |
0 |
$self->{'root'} //= $self->_implicit_root |
408
|
0 |
15 |
0 |
delete $args{'group'} // $self->root |
426
|
0 |
136 |
0 |
delete $args{'base'} // $self->root |
440
|
0 |
20 |
0 |
delete $args{'group'} // $self->root |
458
|
0 |
209 |
0 |
delete $args{'base'} // $self->root |
469
|
0 |
108 |
0 |
delete $args{'base'} // $self->root |
484
|
0 |
0 |
0 |
$args{'uuid'} or $args{'data'} |
494
|
0 |
0 |
0 |
&first(sub {
$_->{'uuid'} eq $uuid;
}
, @{$self->custom_icons;}) // do {
push @{$self->custom_icons;}, my $i = {"uuid", $uuid};
$i
} |
523
|
0 |
9 |
0 |
$args{'uuid'} // generate_uuid() |
554
|
1 |
0 |
0 |
$args{'key'} or $args{'value'} |
615
|
0 |
0 |
11 |
$uuid eq "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" or $uuid eq "0000000000000000" |
767
|
2 |
0 |
4 |
$string->{'protect'} // $self->memory_protection($string_key) |
890
|
0 |
2 |
0 |
$args{'max_items'} // $self->history_max_items |
891
|
0 |
2 |
0 |
$args{'max_size'} // $self->history_max_size |
892
|
2 |
0 |
0 |
$args{'max_age'} // $self->maintenance_history_days |
940
|
0 |
176 |
0 |
$params //= $self->kdf_parameters |
943
|
176 |
0 |
0 |
$params || !defined($params->{'$UUID'}) |
954
|
158 |
0 |
0 |
$params->{'S'} //= $self->transform_seed |
955
|
158 |
0 |
0 |
$params->{'R'} //= $self->transform_rounds |
968
|
85 |
0 |
0 |
$self->headers->{'kdf_parameters'}{$param} //= &random_bytes(32) |
974
|
3 |
72 |
0 |
$File::KDBX::KDF::ROUNDS_INFO{$self->kdf_parameters->{'$UUID'} // ""} // $File::KDBX::KDF::DEFAULT_ROUNDS_INFO |
979
|
74 |
1 |
0 |
$self->headers->{'kdf_parameters'}{$info->{'p'}} //= $info->{'d'} |
987
|
0 |
46 |
0 |
$args{'uuid'} //= $self->cipher_id |
988
|
0 |
46 |
0 |
$args{'iv'} //= $self->encryption_iv |
999
|
0 |
18 |
0 |
delete $args{'id'} // $self->inner_random_stream_id |
|
0 |
18 |
0 |
$args{'stream_id'} //= delete $args{'id'} // $self->inner_random_stream_id |
1000
|
0 |
18 |
0 |
$args{'key'} //= $self->inner_random_stream_key |
1011
|
9 |
62 |
0 |
$self->headers->{'inner_random_stream_id'} //= do {
my $version = $self->minimum_version;
$version < 262144 ? 2 : 3
} |
|
17 |
71 |
0 |
$self->inner_headers->{'inner_random_stream_id'} //= ($self->headers->{'inner_random_stream_id'} //= do {
my $version = $self->minimum_version;
$version < 262144 ? 2 : 3
}) |
1028
|
9 |
62 |
0 |
$self->headers->{'inner_random_stream_key'} //= &random_bytes(64) |
|
39 |
71 |
0 |
$self->inner_headers->{'inner_random_stream_key'} //= ($self->headers->{'inner_random_stream_key'} //= &random_bytes(64)) |