summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-04-14 21:30:54 -0500
committerChris Buechler <cmb@pfsense.org>2016-04-14 21:32:11 -0500
commit0201d917db74de92799d702c62689df9d026d732 (patch)
treed5bf544671820da34c5c975ab91d48b7b10c9012
parent4be356eccbc9c73ef23315b15d00ab5160bbecb8 (diff)
downloadpfsense-0201d917db74de92799d702c62689df9d026d732.zip
pfsense-0201d917db74de92799d702c62689df9d026d732.tar.gz
Add lock in vpn_ipsec_configure. Ticket #6160
-rw-r--r--src/etc/inc/vpn.inc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/etc/inc/vpn.inc b/src/etc/inc/vpn.inc
index 4265004..bca533e 100644
--- a/src/etc/inc/vpn.inc
+++ b/src/etc/inc/vpn.inc
@@ -152,6 +152,8 @@ function vpn_ipsec_convert_to_modp($index) {
function vpn_ipsec_configure($restart = false) {
global $config, $g, $sa, $sn, $p1_ealgos, $p2_ealgos, $ipsec_idhandling;
+ $ipsecstartlock = lock('ipsec', LOCK_EX);
+
/* get the automatic ping_hosts.sh ready */
unlink_if_exists("{$g['vardb_path']}/ipsecpinghosts");
touch("{$g['vardb_path']}/ipsecpinghosts");
@@ -174,6 +176,7 @@ function vpn_ipsec_configure($restart = false) {
/* IPSEC is off, shutdown enc interface.*/
mwexec("/sbin/ifconfig enc0 down");
+ unlock($ipsecstartlock);
return 0;
}
@@ -1495,6 +1498,7 @@ EOD;
echo "done\n";
}
+ unlock($ipsecstartlock);
return count($filterdns_list);
}
OpenPOWER on IntegriCloud