From 45c01a61ba9d18c67d93bbd3ff5090a218fd089d Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Fri, 12 Apr 2019 12:07:02 +0200 Subject: [PATCH] Routing, gateways. move return_gateways_array() out of the way in DHCPvX relay services and prevent gatewaysIndexedByName() to be called multiple times in the loop, for https://github.com/opnsense/core/issues/2279 --- src/etc/inc/services.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc index 64653ec62..47c697fca 100644 --- a/src/etc/inc/services.inc +++ b/src/etc/inc/services.inc @@ -1493,6 +1493,7 @@ function services_dhcrelay_configure($verbose = false) } $iflist = get_configured_interface_with_descr(); + $a_gateways = (new \OPNsense\Routing\Gateways(legacy_interfaces_details()))->gatewaysIndexedByName(true); $dhcifaces = explode(",", $dhcrelaycfg['interface']); foreach ($dhcifaces as $dhcrelayif) { if (!isset($iflist[$dhcrelayif]) || link_interface_to_bridge($dhcrelayif)) { @@ -1527,7 +1528,6 @@ function services_dhcrelay_configure($verbose = false) if (!isset($destif)) { foreach (get_staticroutes() as $rtent) { if (ip_in_subnet($srvip, $rtent['network'])) { - $a_gateways = return_gateways_array(true); $destif = $a_gateways[$rtent['gateway']]['interface']; break; } @@ -1613,6 +1613,7 @@ function services_dhcrelay6_configure($verbose = false) } $iflist = get_configured_interface_with_descr(); + $a_gateways = (new \OPNsense\Routing\Gateways(legacy_interfaces_details()))->gatewaysIndexedByName(true); $dhcifaces = explode(",", $dhcrelaycfg['interface']); foreach ($dhcifaces as $dhcrelayif) { if (!isset($iflist[$dhcrelayif]) || link_interface_to_bridge($dhcrelayif)) { @@ -1651,7 +1652,6 @@ function services_dhcrelay6_configure($verbose = false) if (isset($config['staticroutes']['route'])) { foreach ($config['staticroutes']['route'] as $rtent) { if (ip_in_subnet($srvip, $rtent['network'])) { - $a_gateways = return_gateways_array(true); $destif = $a_gateways[$rtent['gateway']]['interface']; break; }