mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2025-01-20 12:31:53 +00:00
changed chmod behaviour in Serializer
This commit is contained in:
parent
d0c392f77d
commit
8be8cee9b3
@ -198,10 +198,7 @@ class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCac
|
|||||||
if ($result !== false) {
|
if ($result !== false) {
|
||||||
// set permissions of the new file (no execute)
|
// set permissions of the new file (no execute)
|
||||||
$chmod = $config->get('Cache.SerializerPermissions');
|
$chmod = $config->get('Cache.SerializerPermissions');
|
||||||
if ($chmod === null) {
|
if ($chmod !== null) {
|
||||||
// don't do anything
|
|
||||||
} else {
|
|
||||||
$chmod = $chmod & 0666;
|
|
||||||
chmod($file, $chmod);
|
chmod($file, $chmod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -229,14 +226,6 @@ class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCac
|
|||||||
} elseif (!$this->_testPermissions($base, $chmod)) {
|
} elseif (!$this->_testPermissions($base, $chmod)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ($chmod === null) {
|
|
||||||
trigger_error(
|
|
||||||
'Base directory ' . $base . ' does not exist,
|
|
||||||
please create or change using %Cache.SerializerPath',
|
|
||||||
E_USER_WARNING
|
|
||||||
);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if ($chmod !== null) {
|
if ($chmod !== null) {
|
||||||
mkdir($directory, $chmod);
|
mkdir($directory, $chmod);
|
||||||
} else {
|
} else {
|
||||||
|
@ -23,6 +23,7 @@ class HTMLPurifier_DefinitionCache_SerializerTest extends HTMLPurifier_Definitio
|
|||||||
$rel_file = HTMLPURIFIER_PREFIX . '/HTMLPurifier/DefinitionCache/Serializer/Test/' .
|
$rel_file = HTMLPURIFIER_PREFIX . '/HTMLPurifier/DefinitionCache/Serializer/Test/' .
|
||||||
$config_md5 . '.ser'
|
$config_md5 . '.ser'
|
||||||
);
|
);
|
||||||
|
|
||||||
if($file && file_exists($file)) unlink($file); // prevent previous failures from causing problems
|
if($file && file_exists($file)) unlink($file); // prevent previous failures from causing problems
|
||||||
|
|
||||||
$this->assertIdentical($config_md5, $cache->generateKey($config));
|
$this->assertIdentical($config_md5, $cache->generateKey($config));
|
||||||
@ -215,10 +216,12 @@ class HTMLPurifier_DefinitionCache_SerializerTest extends HTMLPurifier_Definitio
|
|||||||
|
|
||||||
$def_original = $this->generateDefinition();
|
$def_original = $this->generateDefinition();
|
||||||
$cache->add($def_original, $config);
|
$cache->add($def_original, $config);
|
||||||
$this->assertFileExist($dir . '/Test/1.0.0,serial,1.ser');
|
|
||||||
|
|
||||||
$this->assertEqual(0600, 0777 & fileperms($dir . '/Test/1.0.0,serial,1.ser'));
|
$file_path = $dir . '/Test/1.0.0,serial,1.ser';
|
||||||
$this->assertEqual(0700, 0777 & fileperms($dir . '/Test'));
|
$this->assertFileExist($file_path);
|
||||||
|
|
||||||
|
$file_permissions = substr(sprintf("%o",fileperms($file_path)),-4);;
|
||||||
|
$this->assertEqual("0700", $file_permissions);
|
||||||
|
|
||||||
unlink($dir . '/Test/1.0.0,serial,1.ser');
|
unlink($dir . '/Test/1.0.0,serial,1.ser');
|
||||||
rmdir( $dir . '/Test');
|
rmdir( $dir . '/Test');
|
||||||
|
Loading…
Reference in New Issue
Block a user