Внедрение KESL на ВМ2 + замена CLAMAV на KESL
This commit is contained in:
@@ -90,7 +90,7 @@ class Repository:
|
||||
FileVerdictCache.config_version == config.version,
|
||||
FileVerdictCache.rules_version == config.rules_version,
|
||||
FileVerdictCache.detector_version == config.detector.version,
|
||||
FileVerdictCache.scanner_engine == "clamav",
|
||||
FileVerdictCache.scanner_engine == "kesl",
|
||||
FileVerdictCache.signatures_version == signatures_version,
|
||||
FileVerdictCache.expires_at > func.now(),
|
||||
)
|
||||
@@ -262,9 +262,29 @@ class Repository:
|
||||
return result.rowcount == 1
|
||||
|
||||
async def finish(
|
||||
self, task_id: uuid.UUID, owner: str, generation: int, *, allow: bool, rule_id: str
|
||||
self,
|
||||
task_id: uuid.UUID,
|
||||
owner: str,
|
||||
generation: int,
|
||||
*,
|
||||
allow: bool,
|
||||
rule_id: str,
|
||||
signatures_version: str | None = None,
|
||||
) -> bool:
|
||||
now = datetime.now(UTC)
|
||||
values = {
|
||||
"status": TaskStatus.allowed if allow else TaskStatus.denied,
|
||||
"verdict": "allow" if allow else "deny",
|
||||
"rule_id": rule_id,
|
||||
"reason_code": None if allow else "message_blocked",
|
||||
"finished_at": now,
|
||||
"purge_after": now + timedelta(days=30),
|
||||
"updated_at": now,
|
||||
"lease_owner": None,
|
||||
"lease_until": None,
|
||||
}
|
||||
if signatures_version is not None:
|
||||
values["signatures_version"] = signatures_version
|
||||
async with self.sessions.begin() as session:
|
||||
result = await session.execute(
|
||||
update(SafetyTask)
|
||||
@@ -275,17 +295,7 @@ class Repository:
|
||||
SafetyTask.lease_generation == generation,
|
||||
SafetyTask.lease_until > func.now(),
|
||||
)
|
||||
.values(
|
||||
status=TaskStatus.allowed if allow else TaskStatus.denied,
|
||||
verdict="allow" if allow else "deny",
|
||||
rule_id=rule_id,
|
||||
reason_code=None if allow else "message_blocked",
|
||||
finished_at=now,
|
||||
purge_after=now + timedelta(days=30),
|
||||
updated_at=now,
|
||||
lease_owner=None,
|
||||
lease_until=None,
|
||||
)
|
||||
.values(**values)
|
||||
)
|
||||
if result.rowcount == 1:
|
||||
await session.execute(
|
||||
|
||||
Reference in New Issue
Block a user