File::...er::XML(3pm)
π NAME π
okay so bestie, meet File::KDBX::Dumper::XML β it's the lil module that dumps unencrypted XML KeePass files. yes, unencrypted. we're keeping it real and plain. periodt. β¨
π¦ VERSION π¦
version 0.906 β slay, specific, no cap.
πΈ ATTRIBUTES πΈ
these are the levers you get to pull, one by one, no skips:
π allow_protection
$bool = $dumper->allow_protection;
asks your dumper bestie: should protected strings and binaries get written inside an encrypted stream or not? default is TRUE. so by default, yes, they're getting the encryption treatment. π
π binaries
$bool = $dumper->binaries;
tells you whether the binaries chillin' inside the database should be written out at all. default: TRUE β they're coming along for the ride. π«Ά
π compress_binaries
$tristate = $dumper->compress_binaries;
get whether or not to compress those binaries. it's a tristate so you got three whole moods you can be in:
TRUEβ always compress binaries, no hesitation, always. πFALSEβ never compress binaries, absolutely not, don't even ask.undefβ compress binaries only if it actually makes the database smaller (this is the default, it's the sensible one, it's the main character). π
π compress_datetimes
$bool = $dumper->compress_datetimes;
get whether or not to write compressed datetimes. see, datetimes are traditionally written in that human-readable string format of 1970-01-01T00:00:00Z, but they can also be squished into a compressed form to save a couple bytes like the frugal legend you are. the default behavior: write compressed datetimes if the KDBX file version is 4 or higher, otherwise use the human-readable format. it's giving "adaptive." π§
π header_hash
$octets = $dumper->header_hash;
get the value that gets written as the HeaderHash in the Meta section. this is literally how KDBX3 files validate the authenticity of header data.
β οΈ this is unnecessary and should NOT be used with KDBX4 files, because that format uses HMAC-SHA256 to detect tampering instead. different system, different vibe, do not mix them up bestie.
also important: File::KDBX::Dumper::V3 automatically calculates the header hash and hands it over to this module, and plain XML files that don't have a KDBX wrapper have no headers, so they straight up should not have a header hash. so basically there is probably never any reason for you to set this manually. leave it alone, let it live. π
π BUGS π
please, i am begging, report any bugs or feature requests on the bugtracker website <https://github.com/chazmcgarvey/File-KDBX/issues>
and when you do submit a bug or a request, pls pls pls include a test-file or a patch to an existing test-file that shows off the bug or the desired feature. receipts, bestie. we need receipts. π₯
π 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. iconic, generous, we love to see it. π
and that's the whole page, mwah π β this lil doc shipped as File::...er::XML(3pm) under perl v5.40.1, dated 2025-05-04. go forth and dump some XML, you absolute legend. πβ¨
π¦ where this page comes from
- debian trixie: libfile-kdbx-perl 0.906-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libfile-kdbx-perl 0.906-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libfile-kdbx-perl 0.906-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms