File::...er::XML(3pm)

πŸ“¦
version 0.906 Β· 4 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– 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>

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