names, network: Re-feed DNS known to network-manager to resolved

- This avoids using fallback DNS servers in systemd-resolved soon after
systemd-resolved takes over /etc/resolv.conf and if network-manager knows some
DNS servers from the connections it has established.

- Version for the names app has already been incremented in this patch series.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
This commit is contained in:
Sunil Mohan Adapa 2024-08-26 21:19:36 -07:00 committed by Veiko Aasa
parent 0817e7af45
commit 28886b56cf
No known key found for this signature in database
GPG Key ID: 478539CAE680674E
2 changed files with 15 additions and 1 deletions

View File

@ -8,7 +8,7 @@ import logging
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from plinth import app as app_module from plinth import app as app_module
from plinth import cfg, menu from plinth import cfg, menu, network
from plinth.daemon import Daemon from plinth.daemon import Daemon
from plinth.modules.backups.components import BackupRestore from plinth.modules.backups.components import BackupRestore
from plinth.package import Packages from plinth.package import Packages
@ -82,6 +82,15 @@ class NamesApp(app_module.App):
# FreedomBox. # FreedomBox.
service_privileged.restart('systemd-resolved') service_privileged.restart('systemd-resolved')
# After systemd-resolved is freshly installed, /etc/resolve.conf
# becomes a symlink to configuration pointing to systemd-resovled stub
# resolver. However, the old contents are not fed from network-manager
# (if it was present earlier and wrote to /etc/resolve.conf). Ask
# network-manager to feed the DNS servers from the connections it has
# established to systemd-resolved so that using fallback DNS servers is
# not necessary.
network.refeed_dns()
self.enable() self.enable()

View File

@ -622,3 +622,8 @@ def wifi_scan():
}) })
return access_points return access_points
def refeed_dns():
"""Re-feed DNS servers to systemd-resolved."""
get_nm_client().reload(nm.ManagerReloadFlags.DNS_RC)