diff options
Diffstat (limited to 'modules/minilinux.inc.php')
-rw-r--r-- | modules/minilinux.inc.php | 68 |
1 files changed, 1 insertions, 67 deletions
diff --git a/modules/minilinux.inc.php b/modules/minilinux.inc.php index e2d85247..f3fb6dce 100644 --- a/modules/minilinux.inc.php +++ b/modules/minilinux.inc.php @@ -37,7 +37,7 @@ class Page_MiniLinux extends Page foreach ($system['files'] as &$file) { $file['uid'] = 'dlid' . $count++; $local = CONFIG_HTTP_DIR . '/' . $system['id'] . '/' . $file['name']; - if (!file_exists($local) || md5_file($local) !== substr($file['md5'], 0, 32)) { + if (!file_exists($local) || filesize($local) !== $file['size'] || md5_file($local) !== substr($file['md5'], 0, 32)) { $file['changed'] = true; } } @@ -83,70 +83,4 @@ class Page_MiniLinux extends Page } } - private function checkFile(&$files, $name) - { - static $someId = 0; - $remote = CONFIG_REMOTE_ML . "/${name}.md5"; - $localTarget = CONFIG_HTTP_DIR . "/default/${name}"; - $local = "${localTarget}.md5"; - $localLock = "${localTarget}.lck"; - - // Maybe already in progress? - if (file_exists($localLock)) { - $data = explode(' ', file_get_contents($localLock)); - if (count($data) == 2) { - $pid = (int)$data[0]; - if (posix_kill($pid, 0)) { - $files[] = array( - 'file' => $name, - 'id' => 'id' . $someId++, - 'pid' => $pid, - 'progress' => $data[1] - ); - return true; - } else { - unlink($localLock); - } - } else { - unlink($localLock); - } - } - - // Not in progress, normal display - if (!file_exists($local) || filemtime($local) + 300 < time()) { - if (file_exists($localTarget)) { - $existingMd5 = md5_file($localTarget); - } else { - $existingMd5 = '<missing>'; - } - if (file_put_contents($local, $existingMd5) === false) { - @unlink($local); - Message::addWarning('error-write', $local); - } - } else { - $existingMd5 = file_get_contents($local); - } - $existingMd5 = strtolower(preg_replace('/[^0-9a-f]/is', '', $existingMd5)); - $remoteMd5 = Util::download($remote, 3, $code); - $remoteMd5 = strtolower(preg_replace('/[^0-9a-f]/is', '', $remoteMd5)); - if ($code != 200) { - Message::addError('remote-timeout', $remote, $code); - return false; - } - if ($existingMd5 === $remoteMd5) { - // Up to date - $files[] = array( - 'file' => $name, - 'id' => 'id' . $someId++, - ); - return true; - } - // New version on server - $files[] = array( - 'file' => $name, - 'id' => 'id' . $someId++, - 'update' => true - ); - return true; - } } |