NAME
File::KDBX::Dumper - Write KDBX files
VERSION
version 0.906
ATTRIBUTES
kdbx
$kdbx = $dumper->kdbx;
$dumper->kdbx($kdbx);
Get or set the File::KDBX instance with the data to be dumped.
format
Get the file format used for writing the database. Normally the format is auto-detected from the database, which is the safest choice. Possible formats:
V3
V4
KDB
XML
(only used if explicitly set)Raw
(only used if explicitly set)
WARNING: There is a potential for data loss if you explicitly use a format that doesn't support the features used by the KDBX database being written.
The most common reason to explicitly specify the file format is to save a database as an unencrypted XML file:
$kdbx->dump_file('database.xml', format => 'XML');
inner_format
Get the format of the data inside the KDBX envelope. This only applies to V3
and V4
formats. Possible formats:
XML
- Write the database groups and entries as XML (default)Raw
- Write "raw" in File::KDBX instead of the actual database contents
allow_upgrade
$bool = $dumper->allow_upgrade;
Whether or not to allow implicitly upgrading a database to a newer version. When enabled, in order to avoid potential data loss, the database can be upgraded as-needed in cases where the database file format version is too low to support new features being used.
The default is to allow upgrading.
randomize_seeds
$bool = $dumper->randomize_seeds;
Whether or not to randomize seeds in a database before writing. The default is to randomize seeds, and there's not often a good reason not to do so. If disabled, the seeds associated with the KDBX database will be used as they are.
METHODS
new
$dumper = File::KDBX::Dumper->new(%attributes);
Construct a new File::KDBX::Dumper.
init
$dumper = $dumper->init(%attributes);
Initialize a File::KDBX::Dumper with a new set of attributes.
This is called by "new".
reset
$dumper = $dumper->reset;
Set a File::KDBX::Dumper to a blank state, ready to dump another KDBX file.
dump
$dumper->dump(\$string, %options);
$dumper->dump(\$string, $key, %options);
$dumper->dump(*IO, %options);
$dumper->dump(*IO, $key, %options);
$dumper->dump($filepath, %options);
$dumper->dump($filepath, $key, %options);
Dump a KDBX file.
The $key
is either a File::KDBX::Key or a primitive castable to a Key object. Available options:
kdbx
- Database to dump (default: value of "kdbx")key
- Alternative way to specify$key
(default: value of "File::KDBX/key")
Other options are supported depending on the first argument. See "dump_string", "dump_file" and "dump_handle".
dump_string
$dumper->dump_string(\$string, %options);
$dumper->dump_string(\$string, $key, %options);
\$string = $dumper->dump_string(%options);
\$string = $dumper->dump_string($key, %options);
Dump a KDBX file to a string / memory buffer. Available options:
kdbx
- Database to dump (default: value of "kdbx")key
- Alternative way to specify$key
(default: value of "File::KDBX/key")
dump_file
$dumper->dump_file($filepath, %options);
$dumper->dump_file($filepath, $key, %options);
Dump a KDBX file to a filesystem. Available options:
kdbx
- Database to dump (default: value of "kdbx")key
- Alternative way to specify$key
(default: value of "File::KDBX/key")mode
- File mode / permissions (see "chmod LIST" in perlfuncuid
- User ID (see "chown LIST" in perlfunc)gid
- Group ID (see "chown LIST" in perlfunc)atomic
- Write to the filepath atomically (default: true)
dump_handle
$dumper->dump_handle($fh, %options);
$dumper->dump_handle(*IO, $key, %options);
$dumper->dump_handle($fh, %options);
$dumper->dump_handle(*IO, $key, %options);
Dump a KDBX file to an output stream / file handle. Available options:
kdbx
- Database to dump (default: value of "kdbx")key
- Alternative way to specify$key
(default: value of "File::KDBX/key")
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/chazmcgarvey/File-KDBX/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR
Charles McGarvey <ccm@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2022 by Charles McGarvey.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.