mirror of
https://github.com/unraid/webgui.git
synced 2026-02-14 04:58:48 -06:00
Plugin system update
Fixed: bad XML check
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user