Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Crypt-PWSafe3 CPAN distribution.

Report information
The Basics
Id: 112975
Status: resolved
Priority: 0/
Queue: Crypt-PWSafe3

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Tests fail (with recent Crypt::ECB versions?)
My smoker machines started to show the following failures: ... # Failed test 'open a pwsafe3 database (If specified by -literal_key, then the key length must be equal to the chosen cipher's key length of 32 bytes at /home/cpansand/.cpan/build/201603130 6/Crypt-PWSafe3-1.21-dUDHxO/blib/lib/Crypt/PWSafe3.pm line 258. # )' # at t/run.t line 69. # Failed test 'create a new pwsafe3 database (File integrity check failed (Please provide an encryption/decryption passphrase or key using -key at /home/cpansand/.cpan/build/2016031306/Cryp t-PWSafe3-1.21-dUDHxO/blib/lib/Crypt/PWSafe3.pm line 258. # ) at t/run.t line 82. # )' # at t/run.t line 84. # Failed test 'read created new pwsafe3 database (PWSafe3 file /tmp/.myvaultGsI2nhyp does not exist or is not readable at t/run.t line 33. # )' # at t/run.t line 93. # Failed test 'Write record to a new pwsafe3 database' # at t/run.t line 94. # Structures begin differing at: # $got->{title} = 't3' # $expected->{title} = Does not exist ... Statistical analysis suggests that the problem happens only with newer Crypt::ECB versions (negative theta is bad): **************************************************************** Regression 'mod:Crypt::ECB' **************************************************************** Name Theta StdErr T-stat [0='const'] 1.0000 0.0000 41462664142813936.00 [1='eq_2.05'] -1.0000 0.0000 -20343796366122176.00 [2='eq_2.10'] -1.0000 0.0000 -24501815738364196.00 R^2= 1.000, N= 76, K= 3 ****************************************************************
Eight years after the last release I thought it was okay to make a major upgrade. Which makes subtle changes to the API and which I obviously didn't make transparent enough. Sorry for that! As I thought that exporting global constants isn't that nice and also in order to be more compatible with Crypt::CBC I changed the way that padding() is called. I just had a look at your module. To fix it, in PWSafe3.pm just add a line with "crypt->padding('none')" each time after initializing the Crypt::ECB object. This is necessary, because 'standard' padding is the default since Crypt-ECB-2.00, and as far as I see, your module must not have extra padding. Hope that helps! Otherwise just give me a shout.
On Sun Mar 13 16:38:05 2016, APPEL wrote: Show quoted text
> Eight years after the last release I thought it was okay to make a > major upgrade. Which makes subtle changes to the API and which I > obviously didn't make transparent enough. Sorry for that!
I think it's a good thing you did it, makes things more stable and stuff. And I know what kind of work it is, to touch and fix "legacy" code, even if you're the author :) Show quoted text
> I just had a look at your module. To fix it, in PWSafe3.pm just add a > line with "crypt->padding('none')" each time after initializing the > Crypt::ECB object. This is necessary, because 'standard' padding is > the default since Crypt-ECB-2.00, and as far as I see, your module > must not have extra padding. > > Hope that helps! Otherwise just give me a shout.
Thanks a lot, Christoph! That fixed it. I pushed version 1.22 with the fix. best, Tom