logoalt Hacker News

ycombinatrixtoday at 1:18 PM6 repliesview on HN

>Important to note is that every time a KDBX file is updated, no matter how small the edit was, the entire file gets rewritten.

This seems like an implementation issue rather than a format/spec issue.


Replies

wpstoday at 1:34 PM

Because KDBX is a gzipped and encrypted stream, this is actually fundamentally an issue with the spec itself. A client must re-encrypt and compress the file prior to writing because a mere append operation is not possible. SQLite solves this issue by allowing you to write with page level granularity rather than being forced to dump the whole file for a single tiny change!

show 4 replies
dietr1chtoday at 7:28 PM

It's a file in the 10-500kB and passwords are read way more often than added.

If it's even tracked as an implementation issue, it probably ranks very low and fixing this requires a lot of care not to screw up things with the safety and feature rollout.

mathfailuretoday at 6:00 PM

That's probably a security feature.

rileymichaeltoday at 6:58 PM

i would say it’s the correct implementation as you can’t edit atomically. write and move is what you have to do

show 1 reply
foobiekrtoday at 6:40 PM

It's not an issue, write-new-and-swap is probably the best approach for this type of application.

PunchyHamstertoday at 5:53 PM

You need format supporting append/edit first before you can implement it "right"