Plugin system update

Fixed: bad XML check
This commit is contained in:
bergware
2022-06-29 09:27:54 +02:00
parent aa6c2357b5
commit 995dcaaa6f

View File

@@ -299,30 +299,20 @@ function plugin($method, $plugin_file, &$error) {
// validate plugin download without installation
if ($method == 'validate') {
$name = '/tmp/validate-plugin.tmp';
foreach ($xml->FILE as $file) {
if ($file->URL) {
$url = $file->URL;
foreach ($xml->FILE as $file) if ($file->URL) {
if (download($file->URL, $name, $error, false) === false) {
@unlink($name);
} elseif ($file->SHA256) {
if (!is_file($name) && download($url, $name, $error, false) === false) {
@unlink($name);
return false;
}
if (hash_file('sha256', $name) != $file->SHA256) {
$error = "bad file SHA256";
@unlink($name);
return false;
}
} elseif ($file->MD5) {
if (!is_file($name) && download($url, $name, $error, false) === false) {
@unlink($name);
return false;
}
if (md5_file($name) != $file->MD5) {
$error = "bad file MD5";
@unlink($name);
return false;
}
return false;
}
if ($file->SHA256 && hash_file('sha256', $name) != $file->SHA256) {
$error = "bad file SHA256";
@unlink($name);
return false;
}
if ($file->MD5 && md5_file($name) != $file->MD5) {
$error = "bad file MD5";
@unlink($name);
return false;
}
}
@unlink($name);