-
Phil Davis authored
Problem as per forum https://forum.pfsense.org/index.php?topic=83651.0 The problem comes whenever services_dhcpd_configure is called - the global $config gets reset from the actual current config, and any pending changes in the current process are lost. It was introduced by commit 86ce2df in which services_dhcpdv4_configure() does: require_once('pkg-utils.inc') and pkg-utils.inc does various stuff like: if(file_exists("/cf/conf/use_xmlreader")) require_once("xmlreader.inc"); else require_once("xmlparse.inc"); which seems to cause a reset of the $config variable, thus losing the pending changes the user has entered at the console. The top-level code in rc.initial.setlanip really does not need to (and should not) implement any changes along the way - it should collect all the answers from the user, then write_config and then make all the necessary calls to routines to implement the changes on the running system. This fixes it - defer any calls to services_dhcpd_configure() until after all questions are answered and write_config has happened.
83d40310