fix: restore default resolvfile in DNS settings if backup servers are missing to prevent resolution issues

This commit is contained in:
Andrey Petelin
2025-09-27 11:47:01 +05:00
parent 5b15a56502
commit 927b8a53b0

View File

@@ -444,7 +444,7 @@ dnsmasq_restore() {
return 0 return 0
fi fi
local cachesize noresolv backup_servers local cachesize noresolv backup_servers resolvfile
log "Restoring cachesize" "debug" log "Restoring cachesize" "debug"
cachesize="$(uci_get "dhcp" "@dnsmasq[0]" "podkop_cachesize")" cachesize="$(uci_get "dhcp" "@dnsmasq[0]" "podkop_cachesize")"
if [ -z "$cachesize" ]; then if [ -z "$cachesize" ]; then
@@ -465,12 +465,18 @@ dnsmasq_restore() {
log "Restoring DNS servers" "debug" log "Restoring DNS servers" "debug"
uci_remove "dhcp" "@dnsmasq[0]" "server" uci_remove "dhcp" "@dnsmasq[0]" "server"
resolvfile="/tmp/resolv.conf.d/resolv.conf.auto"
backup_servers="$(uci_get "dhcp" "@dnsmasq[0]" "podkop_server")" backup_servers="$(uci_get "dhcp" "@dnsmasq[0]" "podkop_server")"
if [ -n "$backup_servers" ]; then if [ -n "$backup_servers" ]; then
for server in $backup_servers; do for server in $backup_servers; do
uci_add_list "dhcp" "@dnsmasq[0]" "server" "$server" uci_add_list "dhcp" "@dnsmasq[0]" "server" "$server"
done done
uci_remove "dhcp" "@dnsmasq[0]" "podkop_server" uci_remove "dhcp" "@dnsmasq[0]" "podkop_server"
elif file_exists "$resolvfile"; then
log "Backup DNS servers not found, using default resolvfile" "debug"
uci_set "dhcp" "@dnsmasq[0]" "resolvfile" "$resolvfile"
else
log "Backup DNS servers and default resolvfile not found, possible resolving issues" "warn"
fi fi
uci_commit "dhcp" uci_commit "dhcp"