parent
097a592dd6
commit
68c0e65c58
4 changed files with 30 additions and 0 deletions
@ -0,0 +1 @@ |
||||
dl |
@ -0,0 +1 @@ |
||||
dl |
@ -0,0 +1,27 @@ |
||||
{ |
||||
my $rec = $DB->get('dl') |
||||
|| $DB->new_record('dl', {type => 'webapp'}); |
||||
my $pw = $rec->prop('DbPassword'); |
||||
if (not $pw or length($pw) < 57){ |
||||
use MIME::Base64 qw(encode_base64); |
||||
|
||||
$pw = "not set due to error"; |
||||
if ( open( RANDOM, "/dev/urandom" ) ){ |
||||
my $buf; |
||||
# 57 bytes is a full line of Base64 coding, and contains |
||||
# 456 bits of randomness - given a perfectly random /dev/random |
||||
if ( read( RANDOM, $buf, 57 ) != 57 ){ |
||||
warn("Short read from /dev/random: $!"); |
||||
} |
||||
else{ |
||||
$pw = encode_base64($buf); |
||||
chomp $pw; |
||||
} |
||||
close RANDOM; |
||||
} |
||||
else{ |
||||
warn "Could not open /dev/urandom: $!"; |
||||
} |
||||
$rec->set_prop('DbPassword', $pw); |
||||
} |
||||
} |
@ -0,0 +1 @@ |
||||
PERMS=0750 |
Loading…
Reference in new issue