Handle FreeBSD check command failures before reading status

Return unknown when service status commands fail so remote login
and malware checks cannot pass on empty output after an error.

Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
Bryan Frimin
2026-05-26 09:34:36 -07:00
parent 0d3b526db0
commit 75051cc150

View File

@@ -130,7 +130,10 @@ func freebsdMalwareProtection(ctx context.Context) Result {
)
}
out := RunCommand(ctx, "service", "clamav_clamd", "status")
ev := map[string]any{"raw": out.Stdout}
ev := map[string]any{"raw": out.Stdout, "stderr": out.Stderr}
if out.Err != nil {
return unknown(ev)
}
if strings.Contains(strings.ToLower(out.Stdout), "is running") {
return pass(ev)
}
@@ -139,7 +142,10 @@ func freebsdMalwareProtection(ctx context.Context) Result {
func freebsdRemoteLogin(ctx context.Context) Result {
out := RunCommand(ctx, "service", "sshd", "status")
ev := map[string]any{"raw": out.Stdout}
ev := map[string]any{"raw": out.Stdout, "stderr": out.Stderr}
if out.Err != nil {
return unknown(ev)
}
if strings.Contains(strings.ToLower(out.Stdout), "is running") {
return fail(ev)
}