Project

General

Profile

services.inc.patch

Micah Mitchell, 01/22/2014 12:43 PM

View differences:

services-fixed.inc 2014-01-22 11:34:24.000000000 -0600
320 320
	fclose($fd);
321 321
	mwexec("/bin/sh {$g['tmp_path']}/dhcpd.sh");
322 322

  
323
	/* Ensure all enable interfaces with enabled DHCP servers are running before starting dhcpd */
324
	foreach($config['dhcpd'] as $ifdescr => $ifname) {
325
		if(isset($config['dhcpd'][$ifdescr]['enable']) && isset($config['interfaces'][$ifdescr]['enable'])) {
326
			$i = 0;
327
			while($i < 10) {
328
				exec("/sbin/ifconfig {$config['interfaces'][$ifdescr]['if']} | grep 'UP' 2>&1", $out, $ret);
329
				if($ret == 0) 
330
					break;
331
				log_error("DHCP server enabled and configured on {$config['interfaces'][$ifdescr]['if']} but interface is not up, waiting 1 second and trying again. \n");
332
				sleep(1);
333
				$i++;
334
			}
335
		}
336
	}
337

  
323 338
	if ($family == "all" || $family == "inet")
324 339
		services_dhcpdv4_configure();
325 340
	if ($family == "all" || $family == "inet6") {