diff options
author | Ermal LUÇI <eri@pfsense.org> | 2014-12-22 17:20:44 +0100 |
---|---|---|
committer | Ermal LUÇI <eri@pfsense.org> | 2014-12-22 17:20:53 +0100 |
commit | 483c3b5b43bf32815c29c91d653b5b9ba01374ad (patch) | |
tree | 3fb6025b628011d10760542894a5cc0f8ec45eda /usr/local | |
parent | 7a8ea3ee7af3d5798c78dfe65d4cfe21bce0fdbb (diff) | |
download | pfsense-483c3b5b43bf32815c29c91d653b5b9ba01374ad.zip pfsense-483c3b5b43bf32815c29c91d653b5b9ba01374ad.tar.gz |
Correct ipsec status page to make connect button work
Diffstat (limited to 'usr/local')
-rw-r--r-- | usr/local/www/diag_ipsec.php | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/usr/local/www/diag_ipsec.php b/usr/local/www/diag_ipsec.php index 391e29b..827837a 100644 --- a/usr/local/www/diag_ipsec.php +++ b/usr/local/www/diag_ipsec.php @@ -55,8 +55,20 @@ require("ipsec.inc"); if ($_GET['act'] == 'connect') { if (ctype_digit($_GET['ikeid'])) { - mwexec("/usr/local/sbin/ipsec down con" . escapeshellarg($_GET['ikeid'])); - mwexec("/usr/local/sbin/ipsec up con" . escapeshellarg($_GET['ikeid'])); + $ph1ent = ipsec_get_phase1($_GET['ikeid']); + if (!empty($ph1ent)) { + if ($ph1ent['iketype'] == 'ikev1') { + $ph2entries = ipsec_get_number_of_phase2($_GET['ikeid']); + for ($i = 0; $i < $ph2entries; $i++) { + $connid = escapeshellarg("con{$_GET['ikeid']}00{$i}"); + mwexec("/usr/local/sbin/ipsec down {$connid}"); + mwexec("/usr/local/sbin/ipsec up {$connid}"); + } + } else { + mwexec("/usr/local/sbin/ipsec down con" . escapeshellarg($_GET['ikeid'])); + mwexec("/usr/local/sbin/ipsec up con" . escapeshellarg($_GET['ikeid'])); + } + } } } else if ($_GET['act'] == 'ikedisconnect') { if (ctype_digit($_GET['ikeid'])) { |