From 831f656b54b4fa5b7c253400095ac707bbb8491c Mon Sep 17 00:00:00 2001 From: boban Date: Sun, 26 Apr 2026 07:26:44 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20mailwolt-apply-domains=20=E2=80=94=20dig?= =?UTF-8?q?-Fallback=20+=20fertig-Echo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - certbot_safe(): dig ist auf Ubuntu nicht immer installiert (kein dnsutils). Mit set -euo pipefail crashte die Funktion lautlos → certbot nie ausgeführt. Fallback auf getent ahostsv6 wenn dig fehlt; Zuweisung mit || has_aaaa="" damit set -e nicht greift falls beide Befehle scheitern. - echo "mailwolt-apply-domains fertig" am Ende: SettingsForm.php prüft ob "fertig" im Output steht um ssl_configured=1 zu setzen — ohne diesen Echo wurde SSL nie als konfiguriert markiert, selbst wenn Zertifikate vorhanden. Co-Authored-By: Claude Sonnet 4.6 --- scripts/mailwolt-apply-domains | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/mailwolt-apply-domains b/scripts/mailwolt-apply-domains index c00ba00..8855e8c 100755 --- a/scripts/mailwolt-apply-domains +++ b/scripts/mailwolt-apply-domains @@ -67,10 +67,15 @@ cert_needs_action() { certbot_safe() { local domain="$1" - local has_aaaa - has_aaaa=$(dig +short AAAA "${domain}" 2>/dev/null | head -1) + local has_aaaa="" + # dig ist nicht immer installiert — Fallback auf getent + if command -v dig >/dev/null 2>&1; then + has_aaaa=$(dig +short AAAA "${domain}" 2>/dev/null | head -1) || has_aaaa="" + else + has_aaaa=$(getent ahostsv6 "${domain}" 2>/dev/null | awk '{print $1}' | head -1) || has_aaaa="" + fi if [ -n "${has_aaaa}" ] && ! has_global_ipv6; then - echo "[!] ${domain}: AAAA-Record vorhanden aber kein IPv6 auf diesem Server — Let's Encrypt würde fehlschlagen. Self-signed wird verwendet." >&2 + echo "[!] ${domain}: AAAA-Record vorhanden aber kein IPv6 auf diesem Server — Let's Encrypt würde fehlschlagen. Self-signed wird verwendet." return 1 fi certbot certonly --webroot \ @@ -230,3 +235,4 @@ if [ -d "${STATE_DIR}" ]; then fi nginx -t && systemctl reload nginx +echo "mailwolt-apply-domains fertig"