From 6c434078606ecb518d48bf87f359adb2b3b6a6ee Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 28 Sep 2022 15:03:28 +0200 Subject: [PATCH] system: structurally improve boot sequence #6052 In some cases early DNS works with direct upstream queries for fixed DNS servers. For DHCP or other dynamic connectivity it will likely never work as expected with interface-related host lookup requests. At least try to load /etc/resolv.conf along with /etc/hosts and refresh when all interface configuration is active. This needs to rely on running configuration to pick up DHCP and the like as said before. --- src/etc/rc.bootup | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/etc/rc.bootup b/src/etc/rc.bootup index c034c6ee0..b5f5bc264 100755 --- a/src/etc/rc.bootup +++ b/src/etc/rc.bootup @@ -36,7 +36,7 @@ echo "done.\n"; echo "Initializing..."; flush(); -$inc_files = array( +$inc_files = [ 'config.inc', 'console.inc', 'auth.inc', @@ -45,7 +45,7 @@ $inc_files = array( 'system.inc', 'filter.inc', 'rrd.inc', -); +]; foreach ($inc_files as $inc_file) { require_once $inc_file; @@ -83,18 +83,19 @@ system_timezone_configure(true); system_firmware_configure(true); system_trust_configure(true); system_hostname_configure(true); +system_resolvconf_generate(true); system_hosts_generate(true); system_syslog_start(true); filter_configure_sync(true, false); /* apply default policy before interface setup */ interfaces_hardware(true); interfaces_configure(true); -system_resolvconf_generate(true); +system_resolvconf_generate(true); /* requires runtime interface configuration */ +system_hosts_generate(true); /* requires runtime interface configuration */ filter_configure_sync(true); plugins_configure('early', true); system_routing_configure(true, null, false); -system_hosts_generate(true); plugins_configure('dhcp', true); plugins_configure('dhcrelay', true); plugins_configure('dns', true);