62 lines
2.5 KiB
Bash
Executable File
62 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# user-patches.sh laeuft bei jedem Start von DMS automatisch,
|
|
# nach dem Setup und bevor die Daemons gestartet werden.
|
|
|
|
SRC_BASE="/tmp/docker-mailserver/rspamd"
|
|
LOCAL_D="/etc/rspamd/local.d"
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 1) local.d configs kopieren
|
|
# DMS kopiert nur rspamd/override.d automatisch, local.d nicht.
|
|
# ---------------------------------------------------------------------------
|
|
echo "Patching: Kopiere custom rspamd local.d configs..."
|
|
if [ -d "${SRC_BASE}/local.d" ]; then
|
|
for f in "${SRC_BASE}/local.d"/*; do
|
|
[ -f "$f" ] || continue
|
|
base=$(basename "$f")
|
|
cp "$f" "${LOCAL_D}/${base}"
|
|
chown root:root "${LOCAL_D}/${base}"
|
|
chmod 644 "${LOCAL_D}/${base}"
|
|
echo " Kopiert: ${base} -> ${LOCAL_D}/"
|
|
done
|
|
fi
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 2) append.d: an bestehende local.d-Dateien ANHAENGEN statt sie zu ersetzen
|
|
#
|
|
# Zwingend fuer settings.conf: DMS legt dort selbst die Regel fuer
|
|
# authentifizierte User ab (DMS::SED_TAG::1). Ein cp darueber wuerde sie
|
|
# loeschen und RSPAMD_CHECK_AUTHENTICATED=0 wirkungslos machen.
|
|
#
|
|
# Der Marker DMS-CUSTOM-APPEND macht das Anhaengen idempotent - /etc/rspamd
|
|
# liegt im Container-Dateisystem und ueberlebt einen `docker restart`.
|
|
# ---------------------------------------------------------------------------
|
|
echo "Patching: Haenge custom rspamd Snippets an local.d configs an..."
|
|
if [ -d "${SRC_BASE}/append.d" ]; then
|
|
for f in "${SRC_BASE}/append.d"/*; do
|
|
[ -f "$f" ] || continue
|
|
base=$(basename "$f")
|
|
target="${LOCAL_D}/${base}"
|
|
|
|
if grep -q 'DMS-CUSTOM-APPEND' "$target" 2>/dev/null; then
|
|
echo " Bereits vorhanden, uebersprungen: ${base}"
|
|
continue
|
|
fi
|
|
|
|
printf '\n' >>"$target"
|
|
cat "$f" >>"$target"
|
|
chown root:root "$target"
|
|
chmod 644 "$target"
|
|
echo " Angehaengt: ${base} -> ${target}"
|
|
done
|
|
fi
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# HINWEIS: Die frueher hier erzeugte Rspamd-Whitelist
|
|
# (/etc/rspamd/override.d/docker_whitelist.map aus postfix-accounts.cf +
|
|
# statischer Domainliste) ist entfernt. Die zugehoerige multimap-Regel
|
|
# DOCKER_WL (-50) und das erzwungene "no action" aus force_actions.conf gibt
|
|
# es nicht mehr - sie waren ein Spoofing-Loch und haben echten Spam an
|
|
# weitergeleitete Adressen durchgereicht. Ersatz: rspamd/append.d/settings.conf.
|
|
# ---------------------------------------------------------------------------
|