summaryrefslogtreecommitdiffstats
path: root/etc/inc/services.inc
diff options
context:
space:
mode:
Diffstat (limited to 'etc/inc/services.inc')
-rw-r--r--etc/inc/services.inc15
1 files changed, 15 insertions, 0 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index a9e28dc..0c4c8de 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -84,6 +84,21 @@ function services_dhcpd_configure() {
fclose($fd);
mwexec("/bin/sh {$g['tmp_path']}/dhcpd.sh");
+ if ($g['booting']) {
+ if ($g['platform'] != "pfSense") {
+ /* restore the leases, if we have them */
+ if (file_exists("{$g['cf_conf_path']}/dhcpleases.tgz")) {
+ $dhcprestore = "";
+ $dhcpreturn = "";
+ exec("cd /;LANG=C /usr/bin/tar -xzf {$g['cf_conf_path']}/dhcpleases.tgz 2>&1", $dhcprestore, $dhcpreturn);
+ $dhcprestore = implode(" ", $dhcprestore);
+ if($dhcpreturn <> 0) {
+ log_error("DHCP leases restore failed exited with $dhcpreturn, the error is: $dhcprestore\n");
+ }
+ }
+ }
+ }
+
$syscfg = $config['system'];
$dhcpdcfg = $config['dhcpd'];
$Iflist = get_configured_interface_list();
OpenPOWER on IntegriCloud