From 6e1be9df8a722fdf0fd7878e40b447212a8767d0 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 18 Sep 2024 11:32:18 +0200 Subject: [PATCH] openssh: port to plugins_argument_map() --- src/etc/inc/plugins.inc.d/openssh.inc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/etc/inc/plugins.inc.d/openssh.inc b/src/etc/inc/plugins.inc.d/openssh.inc index f4f14acd6..d1b796537 100644 --- a/src/etc/inc/plugins.inc.d/openssh.inc +++ b/src/etc/inc/plugins.inc.d/openssh.inc @@ -88,6 +88,10 @@ function openssh_configure_do($verbose = false, $interface_map = null) { global $config; + if (!plugins_argument_map($interface_map)) { + return; + } + $sshcfg = null; if (isset($config['system']['ssh']['enabled'])) { @@ -103,16 +107,15 @@ function openssh_configure_do($verbose = false, $interface_map = null) } $interfaces = []; + if (!empty($sshcfg['interfaces'])) { $interfaces = explode(',', $sshcfg['interfaces']); array_unshift($interfaces, 'lo0'); } - /* 'newwanip_map' configuration is the only event to take second argument */ - if (!empty($interface_map)) { - if (!count(array_intersect(explode(',', $interface_map), $interfaces))) { - return; - } + /* return if interfaces specified do not match or interfaces are not bound at all */ + if (!empty($interface_map) && !count(array_intersect($interface_map, $interfaces))) { + return; } /* lock the config generation and service start/stop, also secures key generation */