#!/usr/bin/env bash
set -euo pipefail
# PMG custom check API v1: args: APIVERSION QUEUEFILENAME
if [[ $# -ne 2 ]]; then
echo "usage: $0 APIVERSION QUEUEFILENAME" >&2
exit 1
fi
apiver="$1"
queue_file="$2"
if [[ "$apiver" != "v1" ]]; then
echo "wrong APIVERSION: $apiver" >&2
exit 2
fi
# --- Rspamd scan (anpassen falls remote) ---
# Lokaler worker: meist 127.0.0.1:11333
RSPAMD_HOST="127.0.0.1"
RSPAMD_PORT="11333"
# rspamc output enthält typischerweise: "Score: 3.00 / 15.00"
# Wir parsen die erste Zahl nach "Score:"
rspamc_out="$(
rspamc -h "${RSPAMD_HOST}:${RSPAMD_PORT}" < "$queue_file" 2>/dev/null || true
)"
score="$(awk -F': ' '/^Score: /{split($2,a," "); print a[1]; exit}' <<<"$rspamc_out")"
# PMG erwartet 2 Zeilen Output:
echo "v1"
if [[ -n "${score:-}" ]]; then
# optional: Score skalieren/offsetten, wenn du PMG-Schwellen beibehalten willst
echo "SCORE: ${score}"
else
# bei Fehlern lieber OK liefern, damit keine Mails hängen bleiben
echo "OK"
fi
exit 0