X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-File-KDBX;a=blobdiff_plain;f=lib%2FFile%2FKDBX%2FKDF%2FAES.pm;h=fd954f805f124181b9e329812f4315dd491e46f0;hp=8ee1340a40538ac2a5aec68f7f7f73c00fe44546;hb=1b913e5c8826cae2355b0076ec5701aa3ce63c63;hpb=b30990a507ef30b6f5b6fcb799a2759632c77ff0 diff --git a/lib/File/KDBX/KDF/AES.pm b/lib/File/KDBX/KDF/AES.pm index 8ee1340..fd954f8 100644 --- a/lib/File/KDBX/KDF/AES.pm +++ b/lib/File/KDBX/KDF/AES.pm @@ -23,7 +23,7 @@ BEGIN { my $use_fork = 1; $use_fork = 0 if $ENV{NO_FORK} || !can_fork; - *USE_FORK = $use_fork ? sub() { 1 } : sub() { 0 }; + *_USE_FORK = $use_fork ? sub() { 1 } : sub() { 0 }; } sub init { @@ -58,7 +58,7 @@ sub _transform { my ($key_l, $key_r) = unpack('(a16)2', $key); - goto NO_FORK if !USE_FORK || $rounds < $FORK_OPTIMIZATION_THRESHOLD; + goto NO_FORK if !_USE_FORK || $rounds < $FORK_OPTIMIZATION_THRESHOLD; { my $pid = open(my $read, '-|') // do { alert "fork failed: $!"; goto NO_FORK }; if ($pid == 0) { # child @@ -73,7 +73,8 @@ sub _transform { return digest_data('SHA256', $l, $r); } - # FIXME: This used to work but now it crashes frequently. threads are discouraged anyway + # FIXME: This used to work but now it crashes frequently. Threads are now discouraged anyway, but it might + # be nice if this was available for no-fork platforms. # if ($ENV{THREADS} && eval 'use threads; 1') { # my $l = threads->create(\&_transform_half, $key_l, $seed, $rounds); # my $r = _transform_half($key_r, $seed, $rounds);