-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Hi,
I am the author of Crypt::PWSafe3, a module to read and write passwordsafe3 files. Until 2.33 of Crypt::CBC everything worked as expected, but starting with 3.01 (and up) it doesn't anymore. There's an issue in my module (TLINDEN/Crypt--PWSafe3#12) and another on RT for yours (https://rt.cpan.org/Public/Bug/Display.html?id=134355).
The problem is, if I remove all references to -blocksize, then it should work, since Crypt::Twofish propagates a blocksize of 16, which I had in my module as well. So, removing this call should fix it. But it doesn't. pwsafe3 files created with Crypt::CBC >= 3.01 are not decryptable with Crypt::CBC >= 3.01 anymore. However, files created with Crypt::CBC < 3.01 are still readable and stay intact as long one doesn't edit them (which re-creates the file, now written with 3.01, which can't be decrypted).
I don't know if anything else has changed. But I looked into the git history of the module and discovered that you made a refactoring of the code. Maybe somehing went wrong during the process.
If you want to reproduce the problem, checkout https://github.com/TLINDEN/Crypt--PWSafe3, comment out all 3 references to -blocksize in lib/Crypt/PWSafe3.pm and run perl Makefile.PL && make test. You'll realize that test 2 succeeds, it opens the supplied 9 year old pwsafe3 file successfully. Everything breaks apart from test 3 and following, they all create new pwsafe3 files.