diff options
-rw-r--r-- | etc/inc/services.inc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc index 9ca1166..ff5409d 100644 --- a/etc/inc/services.inc +++ b/etc/inc/services.inc @@ -565,12 +565,18 @@ function services_dhcrelay_configure() { $destif = get_real_interface("wan"); } - $dhcrelayifs[] = $destif; + if (!empty($destif)) + $dhcrelayifs[] = $destif; } $dhcrelayifs = array_unique($dhcrelayifs); /* fire up dhcrelay */ - $cmd = "/usr/local/sbin/dhcrelay -i " . join(" -i ", $dhcrelayifs); + if (empty($dhcrelayifs)) { + log_error("No suitable interface found for running dhclreay!"); + return; /* XXX */ + } + + $cmd = "/usr/local/sbin/dhcrelay -i " . implode(" -i ", $dhcrelayifs); if (isset($dhcrelaycfg['agentoption'])) $cmd .= " -a -m replace"; |