mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Always clear the OpenVPN route when using shared key, no matter what the tunnel network "CIDR" is set to, it still needs it.
This commit is contained in:
parent
2b33321086
commit
6ca938cf1f
@ -1224,17 +1224,24 @@ function openvpn_clear_route($mode, $settings) {
|
||||
return;
|
||||
list($ip, $cidr) = explode('/', $settings['tunnel_network']);
|
||||
$mask = gen_subnet_mask($cidr);
|
||||
$clear_route = false;
|
||||
|
||||
switch($settings['mode']) {
|
||||
case 'shared_key':
|
||||
$clear_route = true;
|
||||
break;
|
||||
case 'p2p_tls':
|
||||
case 'p2p_shared_key':
|
||||
case 'shared_key':
|
||||
if (!empty($ip) && !empty($mask) && ($cidr == 30)) {
|
||||
list($ip1, $ip2) = openvpn_get_interface_ip($ip, $mask);
|
||||
$ip_to_clear = ($mode == "server") ? $ip1 : $ip2;
|
||||
mwexec("/sbin/route -q delete {$ip_to_clear}");
|
||||
}
|
||||
if (!empty($ip) && !empty($mask) && ($cidr == 30))
|
||||
$clear_route = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($clear_route) {
|
||||
list($ip1, $ip2) = openvpn_get_interface_ip($ip, $mask);
|
||||
$ip_to_clear = ($mode == "server") ? $ip1 : $ip2;
|
||||
mwexec("/sbin/route -q delete {$ip_to_clear}");
|
||||
}
|
||||
}
|
||||
|
||||
function openvpn_gen_routes($value, $ipproto = "ipv4", $push = false) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user