Make file transactions safe
A lightweight and easy-to-use password manager
Brought to you by:
dreichl
Related to the WebDAV deletion error (where I posted the original patch for it). As of the 2.32 this is still an issue - when file transactions are turned on, Keepass does not check if the temporary file still exists before deleting source file. This doesn't entirely fix the problem, but it's a good quick check to avoid losing data on remote synchronize endpoints.
I still don't really like this. Testing the existence of the temporary file slows down all transacted file writes (significantly, if the file is downloaded completely). From a normal server you would expect that either writing the temporary file succeeds (and the temporary file then exists) or not (and the temporary file then does not exist or is incomplete). Your case (when the server returns that the temporary file has been written successfully, but the temporary file actually does not exist) probably is very rare.
Anyway, I've implemented this as option now (turned off by default): 'Tools' -> 'Options' -> tab 'Advanced' -> 'Extra-safe file transactions'.
Here's the latest development snapshot for testing:
http://keepass.info/filepool/KeePass_160327.zip
Thanks and best regards,
Dominik