summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/interfaces.inc
diff options
context:
space:
mode:
authorPhil Davis <phil.davis@inf.org>2016-12-22 22:33:04 +0545
committerPhil Davis <phil.davis@inf.org>2016-12-22 22:33:04 +0545
commit5e22050335c939572a43fd7b3e161d7ede5ff5a0 (patch)
tree10e263b15525d90b9b72b4925a13be12b20bda30 /src/etc/inc/interfaces.inc
parent0f2cf2a1c47192e8394cbcec6ee291b7e753ac4b (diff)
downloadpfsense-5e22050335c939572a43fd7b3e161d7ede5ff5a0.zip
pfsense-5e22050335c939572a43fd7b3e161d7ede5ff5a0.tar.gz
Refactor interface_has_dhcp
to reduce nesting
Diffstat (limited to 'src/etc/inc/interfaces.inc')
-rw-r--r--src/etc/inc/interfaces.inc40
1 files changed, 21 insertions, 19 deletions
diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
index 795be7b..58074fb 100644
--- a/src/etc/inc/interfaces.inc
+++ b/src/etc/inc/interfaces.inc
@@ -5988,29 +5988,31 @@ function interface_has_dhcp($interface, $family = 4) {
if ($config['interfaces'][$interface]) {
if (($family == 4) && ($config['interfaces'][$interface]['ipaddr'] == "dhcp")) {
return true;
- }
- if (($family == 6) && ($config['interfaces'][$interface]['ipaddrv6'] == "dhcp6")) {
+ } elseif (($family == 6) && ($config['interfaces'][$interface]['ipaddrv6'] == "dhcp6")) {
return true;
+ } else {
+ return false;
}
+ }
+
+ if (!is_array($config['gateways']['gateway_group'])) {
+ return false;
+ }
+
+ if ($family == 6) {
+ $dhcp_string = "_DHCP6";
} else {
- if (is_array($config['gateways']['gateway_group'])) {
- if ($family == 6) {
- $dhcp_string = "_DHCP6";
- } else {
- $dhcp_string = "_DHCP";
- }
+ $dhcp_string = "_DHCP";
+ }
- foreach ($config['gateways']['gateway_group'] as $group) {
- if ($group['name'] == $interface) {
- if (is_array($group['item'])) {
- foreach ($group['item'] as $item) {
- $item_data = explode("|", $item);
- if (substr($item_data[0], -strlen($dhcp_string)) == $dhcp_string) {
- return true;
- }
- }
- }
- }
+ foreach ($config['gateways']['gateway_group'] as $group) {
+ if (($group['name'] != $interface) || !is_array($group['item'])) {
+ continue;
+ }
+ foreach ($group['item'] as $item) {
+ $item_data = explode("|", $item);
+ if (substr($item_data[0], -strlen($dhcp_string)) == $dhcp_string) {
+ return true;
}
}
}
OpenPOWER on IntegriCloud