fix: make backend DNS check optional when getent is unavailable

Add getent availability check before attempting DNS resolution in wait_for_backend_dns function. Fall back to allowing curl connectivity check in main loop when getent is not available, supporting Alpine-based images that don't ship getent by default.
This commit is contained in:
2026-03-17 19:26:10 +01:00
parent 61e6213b67
commit 92618ee65b

View File

@@ -57,12 +57,18 @@ NFT_CONF="/var/lib/nexavpn/nftables.generated.conf"
mkdir -p /etc/wireguard
wait_for_backend_dns() {
if getent hosts "${BACKEND_HOST}" >/dev/null 2>&1; then
return 0
if command -v getent >/dev/null 2>&1; then
if getent hosts "${BACKEND_HOST}" >/dev/null 2>&1; then
return 0
fi
echo "Backend host ${BACKEND_HOST} is not resolvable yet."
return 1
fi
echo "Backend host ${BACKEND_HOST} is not resolvable yet."
return 1
# Alpine-based images may not ship getent. In that case let curl be the
# source of truth for connectivity and retry in the main loop on failure.
return 0
}
apply_bundle() {