Improved file resource usage

This commit is contained in:
Shoghi Cervantes 2015-01-06 19:04:24 +01:00
parent 042a143dd6
commit ed02026815
No known key found for this signature in database
GPG Key ID: 78464DB0A7837F89
2 changed files with 16 additions and 5 deletions

View File

@ -202,16 +202,17 @@ abstract class PluginBase implements Plugin{
$out = $this->dataFolder . $filename;
if(!file_exists($this->dataFolder)){
if(!file_exists($this->dataFolder)){
mkdir($this->dataFolder, 0755, true);
}
mkdir($this->dataFolder, 0755, true);
}
if(file_exists($out) and $replace !== true){
return false;
}
return stream_copy_to_stream($resource, fopen($out, "wb")) > 0;
$ret = stream_copy_to_stream($resource, $fp = fopen($out, "wb")) > 0;
fclose($fp);
fclose($resource);
return $ret;
}
/**
@ -257,6 +258,7 @@ abstract class PluginBase implements Plugin{
$this->config = new Config($this->configFile);
if(($configStream = $this->getResource("config.yml")) !== null){
$this->config->setDefaults(yaml_parse(config::fixYAMLIndexes(stream_get_contents($configStream))));
fclose($configStream);
}
}

View File

@ -272,9 +272,18 @@ class Utils{
unset($weakEntropy);
if($secure === true){
if(file_exists("/dev/urandom")){
$fp = fopen("/dev/urandom", "rb");
$systemRandom = fread($fp, 64);
fclose($fp);
}else{
$systemRandom = str_repeat("\x00", 64);
}
$strongEntropyValues = [
is_array($startEntropy) ? hash("sha512", $startEntropy[($rounds + $drop) % count($startEntropy)], true) : hash("sha512", $startEntropy, true), //Get a random index of the startEntropy, or just read it
file_exists("/dev/urandom") ? fread(fopen("/dev/urandom", "rb"), 64) : str_repeat("\x00", 64),
$systemRandom,
function_exists("openssl_random_pseudo_bytes") ? openssl_random_pseudo_bytes(64) : str_repeat("\x00", 64),
function_exists("mcrypt_create_iv") ? mcrypt_create_iv(64, MCRYPT_DEV_URANDOM) : str_repeat("\x00", 64),
$value,