mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Support even openvpn specifying a gateway group on the interface
This commit is contained in:
parent
58b1112f20
commit
c653ce27d0
@ -48,7 +48,8 @@ if(isset($config['openvpn']['enable']))
|
||||
log_error("OpenVPN: One or more OpenVPN tunnel endpoints may have changed its IP. Reloading.");
|
||||
else
|
||||
return;
|
||||
|
||||
|
||||
$gwgroups = array();
|
||||
$openvpnlck = lock('openvpn', LOCK_EX);
|
||||
if (empty($argument) || $argument == "all")
|
||||
$interface = "";
|
||||
@ -56,18 +57,20 @@ else {
|
||||
$interface = lookup_gateway_interface_by_name($argument);
|
||||
if (empty($interface))
|
||||
$interface = $argument;
|
||||
else
|
||||
$gwgroups = gateway_is_gwgroup_member($argument);
|
||||
}
|
||||
|
||||
if(is_array($config['openvpn']['openvpn-server'])) {
|
||||
foreach($config['openvpn']['openvpn-server'] as &$server) {
|
||||
if ($server['interface'] == $interface || empty($interface))
|
||||
if ($server['interface'] == $interface || empty($interface) || (!empty($gwgroups) && in_array($argument, $gwgroups)))
|
||||
openvpn_resync('server', $server);
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($config['openvpn']['openvpn-client'])) {
|
||||
foreach($config['openvpn']['openvpn-client'] as &$client) {
|
||||
if ($client['interface'] == $interface || empty($interface))
|
||||
if ($client['interface'] == $interface || empty($interface) || (!empty($gwgroups) && in_array($argument, $gwgroups)))
|
||||
openvpn_resync('client', $client);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user