laster 0.0.1
This commit is contained in:
@@ -6,7 +6,7 @@ import traceback
|
||||
from typing import Any
|
||||
|
||||
from app.config import settings
|
||||
from app.core.checksum import verify_sha256
|
||||
from app.core.checksum import sha256_file
|
||||
from app.core.command_runner import CommandRunner
|
||||
from app.core.downloader import Downloader
|
||||
from app.core.installer import DebInstaller
|
||||
@@ -197,8 +197,12 @@ class TaskRunner:
|
||||
|
||||
package_path = downloader.download(component["downloadUrl"])
|
||||
self.repository.update_task_component(task_id, component_id, progress=35, current_step="verifying checksum")
|
||||
if not verify_sha256(package_path, component["sha256"]):
|
||||
raise ValueError(f"Checksum mismatch for {component_id}")
|
||||
actual_sha256 = sha256_file(package_path)
|
||||
expected_sha256 = component["sha256"].lower()
|
||||
if actual_sha256.lower() != expected_sha256:
|
||||
raise ValueError(
|
||||
f"Checksum mismatch for {component_id}: expected {expected_sha256}, got {actual_sha256}"
|
||||
)
|
||||
self.repository.add_log(task_id, "info", f"Checksum verified for {component_id}")
|
||||
|
||||
self.repository.update_task_component(task_id, component_id, progress=60, current_step="installing package")
|
||||
@@ -245,4 +249,3 @@ class TaskRunner:
|
||||
geteuid = getattr(os, "geteuid", None)
|
||||
if callable(geteuid) and geteuid() != 0:
|
||||
raise PermissionError("Agent must run as root to call apt and systemctl")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user