From 9c49d7c54538f43cd557e9c068ff1fbb400e7a08 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Fri, 7 Feb 2025 09:16:33 +0100 Subject: [PATCH] interfaces: remove cruft to match getRealInterface() Discussed with: @adschellevis --- src/etc/inc/interfaces.inc | 57 +++++++++++++------------------------- 1 file changed, 20 insertions(+), 37 deletions(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 5dd3b4059..74aa9ed11 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -1,7 +1,7 @@ + * Copyright (C) 2015-2025 Franco Fichtner * Copyright (C) 2004-2008 Scott Ullrich * Copyright (C) 2008-2009 Ermal Luçi * Copyright (C) 2005 Espen Johansen @@ -3563,44 +3563,27 @@ function get_real_interface($interface = 'wan', $family = 'all') { global $config; - $realif = $interface; + if (empty($config['interfaces'][$interface])) { + /* assume the interface exists to force an error elsewhere */ + return $interface; + } - switch ($interface) { - /* XXX legacy cruft starts here */ - case 'enc0': - case 'openvpn': - case 'ppp': - break; - case 'ipsec': - $realif = 'enc0'; - break; - /* XXX legacy cruft ends here */ - default: - if (empty($config['interfaces'][$interface])) { - /* assume the interface exists to force an error elsewhere */ + $realif = $config['interfaces'][$interface]['if']; + + /* XXX this is either impossibe to reach nowadays or requires an interface migration */ + if (isset($config['interfaces'][$interface]['wireless']) && !strstr($realif, '_wlan')) { + $realif .= '_wlan0'; + } + + if ($family == 'inet6') { + switch ($config['interfaces'][$interface]['ipaddrv6'] ?? 'none') { + case '6rd': + case '6to4': + $realif = "{$interface}_stf"; break; - } - - $cfg = &config_read_array('interfaces', $interface); - - /* set default for IPv4 and IPv6 lookups */ - $realif = $cfg['if']; - - if (isset($cfg['wireless']) && !strstr($realif, '_wlan')) { - $realif .= '_wlan0'; - } - - if ($family == 'inet6') { - switch ($cfg['ipaddrv6'] ?? 'none') { - case '6rd': - case '6to4': - $realif = "{$interface}_stf"; - break; - default: - break; - } - } - break; + default: + break; + } } return $realif;