format uses HMAC-SHA256 to detect tampering.
L<File::KDBX::Dumper::V3> automatically calculates the header hash an provides it to this module, and plain
-XML files which don't have a KDBX wrapper don't have headers and so should have a header hash. Therefore there
-is probably never any reason to set this manually.
+XML files which don't have a KDBX wrapper don't have headers and so should not have a header hash. Therefore
+there is probably never any reason to set this manually.
=cut
my $new_ref = keys %{$self->_binaries_written};
my $written = $self->_binaries_written;
- my $entries = $kdbx->all_entries(history => true);
- for my $entry (@$entries) {
+ my $entries = $kdbx->entries(history => 1);
+ while (my $entry = $entries->next) {
for my $key (keys %{$entry->binaries}) {
my $binary = $entry->binaries->{$key};
if (defined $binary->{ref} && defined $kdbx->binaries->{$binary->{ref}}) {
if (my $group = $kdbx->root) {
my $group_node = $node->addNewChild(undef, 'Group');
- $self->_write_xml_group($group_node, $group->_confirmed);
+ $self->_write_xml_group($group_node, $group->_committed);
}
undef $guard; # re-lock if needed, as early as possible
for my $entry (@{$group->entries}) {
my $entry_node = $node->addNewChild(undef, 'Entry');
- $self->_write_xml_entry($entry_node, $entry->_confirmed);
+ $self->_write_xml_entry($entry_node, $entry->_committed);
}
for my $group (@{$group->groups}) {
my $group_node = $node->addNewChild(undef, 'Group');
- $self->_write_xml_group($group_node, $group->_confirmed);
+ $self->_write_xml_group($group_node, $group->_committed);
}
}
my $history_node = $node->addNewChild(undef, 'History');
for my $historical (@history) {
my $historical_node = $history_node->addNewChild(undef, 'Entry');
- $self->_write_xml_entry($historical_node, $historical->_confirmed, 1);
+ $self->_write_xml_entry($historical_node, $historical->_committed, 1);
}
}
}