Commit 95649093 authored by Ad Schellevis's avatar Ad Schellevis

(legacy) refactor / fix code styling in vpn_ipsec.php

parent 1654e853
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. POSSIBILITY OF SUCH DAMAGE.
*/ */
require_once("guiconfig.inc"); require_once("guiconfig.inc");
require_once("filter.inc"); require_once("filter.inc");
require_once("vpn.inc"); require_once("vpn.inc");
...@@ -34,201 +33,198 @@ require_once("services.inc"); ...@@ -34,201 +33,198 @@ require_once("services.inc");
require_once("pfsense-utils.inc"); require_once("pfsense-utils.inc");
require_once("interfaces.inc"); require_once("interfaces.inc");
if (!is_array($config['ipsec'])) { if (!isset($config['ipsec'])) {
$config['ipsec'] = array(); $config['ipsec'] = array();
} }
if (!isset($config['ipsec']['phase1'])) {
if (!is_array($config['ipsec']['phase1'])) {
$config['ipsec']['phase1'] = array(); $config['ipsec']['phase1'] = array();
} }
if (!isset($config['ipsec']['phase2'])) {
if (!is_array($config['ipsec']['phase2'])) {
$config['ipsec']['phase2'] = array(); $config['ipsec']['phase2'] = array();
} }
$a_phase1 = &$config['ipsec']['phase1']; if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$a_phase2 = &$config['ipsec']['phase2']; $a_phase1 = &$config['ipsec']['phase1'];
$a_phase2 = &$config['ipsec']['phase2'];
$pconfig['enable'] = isset($config['ipsec']['enable']); if (isset($_POST['apply'])) {
$retval = vpn_ipsec_configure();
if ($_POST) { /* reload the filter in the background */
if ($_POST['apply']) { filter_configure();
$retval = 0; $savemsg = get_std_save_message($retval);
$retval = vpn_ipsec_configure(); if ($retval >= 0) {
/* reload the filter in the background */ if (is_subsystem_dirty('ipsec')) {
filter_configure(); clear_subsystem_dirty('ipsec');
$savemsg = get_std_save_message($retval); }
if ($retval >= 0) { }
if (is_subsystem_dirty('ipsec')) { } elseif (isset($_POST['submit'])) {
clear_subsystem_dirty('ipsec'); $config['ipsec']['enable'] = !empty($_POST['enable']) ? true : false;
} write_config();
vpn_ipsec_configure();
} elseif (isset($_POST['del_x'])) {
/* delete selected p1 entries */
if (isset($_POST['p1entry']) && count($_POST['p1entry'])) {
foreach ($_POST['p1entry'] as $p1entrydel) {
unset($config['ipsec']['phase1'][$p1entrydel]);
}
if (write_config()) {
mark_subsystem_dirty('ipsec');
}
}
} elseif (isset($_POST['delp2_x'])) {
/* delete selected p2 entries */
if (isset($_POST['p2entry']) && count($_POST['p2entry'])) {
foreach ($_POST['p2entry'] as $p2entrydel) {
unset($config['ipsec']['phase2'][$p2entrydel]);
}
if (write_config()) {
mark_subsystem_dirty('ipsec');
}
}
} else {
// move, delete, toggle items by id.
//
/* yuck - IE won't send value attributes for image buttons,
while Mozilla does - so we use .x/.y to find move button clicks instead... */
unset($delbtn, $delbtnp2, $movebtn, $movebtnp2, $togglebtn, $togglebtnp2);
foreach ($_POST as $pn => $pd) {
if (preg_match("/del_(\d+)_x/", $pn, $matches)) {
$delbtn = $matches[1];
} elseif (preg_match("/delp2_(\d+)_x/", $pn, $matches)) {
$delbtnp2 = $matches[1];
} elseif (preg_match("/move_(\d+)_x/", $pn, $matches)) {
$movebtn = $matches[1];
} elseif (preg_match("/movep2_(\d+)_x/", $pn, $matches)) {
$movebtnp2 = $matches[1];
} elseif (preg_match("/toggle_(\d+)_x/", $pn, $matches)) {
$togglebtn = $matches[1];
} elseif (preg_match("/togglep2_(\d+)_x/", $pn, $matches)) {
$togglebtnp2 = $matches[1];
} }
} elseif ($_POST['submit']) { }
$pconfig = $_POST; $save = 1;
$config['ipsec']['enable'] = $_POST['enable'] ? true : false;
write_config(); /* move selected p1 entries before this */
if (isset($movebtn) && isset($_POST['p1entry']) && count($_POST['p1entry'])) {
$a_phase1_new = array();
$retval = vpn_ipsec_configure(); /* copy all p1 entries < $movebtn and not selected */
} elseif (isset($_POST['del_x'])) { for ($i = 0; $i < $movebtn; $i++) {
/* delete selected p1 entries */ if (!in_array($i, $_POST['p1entry'])) {
if (is_array($_POST['p1entry']) && count($_POST['p1entry'])) { $a_phase1_new[] = $a_phase1[$i];
foreach ($_POST['p1entry'] as $p1entrydel) {
unset($a_phase1[$p1entrydel]);
}
if (write_config()) {
mark_subsystem_dirty('ipsec');
} }
} }
} elseif (isset($_POST['delp2_x'])) {
/* delete selected p2 entries */ /* copy all selected p1 entries */
if (is_array($_POST['p2entry']) && count($_POST['p2entry'])) { for ($i = 0; $i < count($a_phase1); $i++) {
foreach ($_POST['p2entry'] as $p2entrydel) { if ($i == $movebtn) {
unset($a_phase2[$p2entrydel]); continue;
} }
if (write_config()) { if (in_array($i, $_POST['p1entry'])) {
mark_subsystem_dirty('ipsec'); $a_phase1_new[] = $a_phase1[$i];
} }
} }
} else {
/* yuck - IE won't send value attributes for image buttons, while Mozilla does - so we use .x/.y to find move button clicks instead... */
unset($delbtn, $delbtnp2, $movebtn, $movebtnp2, $togglebtn, $togglebtnp2);
foreach ($_POST as $pn => $pd) {
if (preg_match("/del_(\d+)_x/", $pn, $matches)) {
$delbtn = $matches[1];
} elseif (preg_match("/delp2_(\d+)_x/", $pn, $matches)) {
$delbtnp2 = $matches[1];
} elseif (preg_match("/move_(\d+)_x/", $pn, $matches)) {
$movebtn = $matches[1];
} elseif (preg_match("/movep2_(\d+)_x/", $pn, $matches)) {
$movebtnp2 = $matches[1];
} elseif (preg_match("/toggle_(\d+)_x/", $pn, $matches)) {
$togglebtn = $matches[1];
} elseif (preg_match("/togglep2_(\d+)_x/", $pn, $matches)) {
$togglebtnp2 = $matches[1];
}
}
$save = 1;
/* move selected p1 entries before this */ /* copy $movebtn p1 entry */
if (isset($movebtn) && is_array($_POST['p1entry']) && count($_POST['p1entry'])) { if ($movebtn < count($a_phase1)) {
$a_phase1_new = array(); $a_phase1_new[] = $a_phase1[$movebtn];
}
/* copy all p1 entries < $movebtn and not selected */
for ($i = 0; $i < $movebtn; $i++) {
if (!in_array($i, $_POST['p1entry'])) {
$a_phase1_new[] = $a_phase1[$i];
}
}
/* copy all selected p1 entries */ /* copy all p1 entries > $movebtn and not selected */
for ($i = 0; $i < count($a_phase1); $i++) { for ($i = $movebtn+1; $i < count($a_phase1); $i++) {
if ($i == $movebtn) { if (!in_array($i, $_POST['p1entry'])) {
continue; $a_phase1_new[] = $a_phase1[$i];
}
if (in_array($i, $_POST['p1entry'])) {
$a_phase1_new[] = $a_phase1[$i];
}
} }
}
if (count($a_phase1_new) > 0) {
$a_phase1 = $a_phase1_new;
}
/* copy $movebtn p1 entry */ } elseif (isset($movebtnp2) && isset($_POST['p2entry']) && count($_POST['p2entry'])) {
if ($movebtn < count($a_phase1)) { /* move selected p2 entries before this */
$a_phase1_new[] = $a_phase1[$movebtn]; $a_phase2_new = array();
}
/* copy all p1 entries > $movebtn and not selected */ /* copy all p2 entries < $movebtnp2 and not selected */
for ($i = $movebtn+1; $i < count($a_phase1); $i++) { for ($i = 0; $i < $movebtnp2; $i++) {
if (!in_array($i, $_POST['p1entry'])) { if (!in_array($i, $_POST['p2entry'])) {
$a_phase1_new[] = $a_phase1[$i]; $a_phase2_new[] = $a_phase2[$i];
}
} }
if (count($a_phase1_new) > 0) { }
$a_phase1 = $a_phase1_new;
}
} elseif (isset($movebtnp2) && is_array($_POST['p2entry']) && count($_POST['p2entry'])) {
/* move selected p2 entries before this */
$a_phase2_new = array();
/* copy all p2 entries < $movebtnp2 and not selected */ /* copy all selected p2 entries */
for ($i = 0; $i < $movebtnp2; $i++) { for ($i = 0; $i < count($a_phase2); $i++) {
if (!in_array($i, $_POST['p2entry'])) { if ($i == $movebtnp2) {
$a_phase2_new[] = $a_phase2[$i]; continue;
}
} }
if (in_array($i, $_POST['p2entry'])) {
/* copy all selected p2 entries */ $a_phase2_new[] = $a_phase2[$i];
for ($i = 0; $i < count($a_phase2); $i++) {
if ($i == $movebtnp2) {
continue;
}
if (in_array($i, $_POST['p2entry'])) {
$a_phase2_new[] = $a_phase2[$i];
}
} }
}
/* copy $movebtnp2 p2 entry */ /* copy $movebtnp2 p2 entry */
if ($movebtnp2 < count($a_phase2)) { if ($movebtnp2 < count($a_phase2)) {
$a_phase2_new[] = $a_phase2[$movebtnp2]; $a_phase2_new[] = $a_phase2[$movebtnp2];
} }
/* copy all p2 entries > $movebtnp2 and not selected */ /* copy all p2 entries > $movebtnp2 and not selected */
for ($i = $movebtnp2+1; $i < count($a_phase2); $i++) { for ($i = $movebtnp2+1; $i < count($a_phase2); $i++) {
if (!in_array($i, $_POST['p2entry'])) { if (!in_array($i, $_POST['p2entry'])) {
$a_phase2_new[] = $a_phase2[$i]; $a_phase2_new[] = $a_phase2[$i];
}
}
if (count($a_phase2_new) > 0) {
$a_phase2 = $a_phase2_new;
} }
}
if (count($a_phase2_new) > 0) {
$a_phase2 = $a_phase2_new;
}
} elseif (isset($togglebtn)) { } elseif (isset($togglebtn)) {
if (isset($a_phase1[$togglebtn]['disabled'])) { if (isset($a_phase1[$togglebtn]['disabled'])) {
unset($a_phase1[$togglebtn]['disabled']); unset($a_phase1[$togglebtn]['disabled']);
} else { } else {
$a_phase1[$togglebtn]['disabled'] = true; $a_phase1[$togglebtn]['disabled'] = true;
} }
} elseif (isset($togglebtnp2)) { } elseif (isset($togglebtnp2)) {
if (isset($a_phase2[$togglebtnp2]['disabled'])) { if (isset($a_phase2[$togglebtnp2]['disabled'])) {
unset($a_phase2[$togglebtnp2]['disabled']); unset($a_phase2[$togglebtnp2]['disabled']);
} else { } else {
$a_phase2[$togglebtnp2]['disabled'] = true; $a_phase2[$togglebtnp2]['disabled'] = true;
} }
} elseif (isset($delbtn)) { } elseif (isset($delbtn)) {
/* remove static route if interface is not WAN */ /* remove static route if interface is not WAN */
if ($a_phase1[$delbtn]['interface'] <> "wan") { if ($a_phase1[$delbtn]['interface'] <> "wan") {
mwexec("/sbin/route delete -host {$a_phase1[$delbtn]['remote-gateway']}"); mwexec("/sbin/route delete -host {$a_phase1[$delbtn]['remote-gateway']}");
} }
/* remove all phase2 entries that match the ikeid */ /* remove all phase2 entries that match the ikeid */
$ikeid = $a_phase1[$delbtn]['ikeid']; $ikeid = $a_phase1[$delbtn]['ikeid'];
foreach ($a_phase2 as $p2index => $ph2tmp) { foreach ($a_phase2 as $p2index => $ph2tmp) {
if ($ph2tmp['ikeid'] == $ikeid) { if ($ph2tmp['ikeid'] == $ikeid) {
unset($a_phase2[$p2index]); unset($a_phase2[$p2index]);
}
} }
}
unset($a_phase1[$delbtn]); unset($a_phase1[$delbtn]);
} elseif (isset($delbtnp2)) { } elseif (isset($delbtnp2)) {
unset($a_phase2[$delbtnp2]); unset($a_phase2[$delbtnp2]);
} else { } else {
$save = 0; $save = 0;
} }
if ($save === 1) { if ($save === 1) {
if (write_config()) { if (write_config()) {
mark_subsystem_dirty('ipsec'); mark_subsystem_dirty('ipsec');
}
} }
} }
}
} }
// form data
$pconfig = $config['ipsec'];
$pconfig['enable'] = isset($config['ipsec']['enable']);
legacy_html_escape_form_data($pconfig);
$pgtitle = array(gettext("VPN"),gettext("IPsec")); $pgtitle = array(gettext("VPN"),gettext("IPsec"));
$shortcut_section = "ipsec"; $shortcut_section = "ipsec";
...@@ -238,14 +234,23 @@ include("head.inc"); ...@@ -238,14 +234,23 @@ include("head.inc");
<body> <body>
<script type="text/javascript" src="/javascript/row_toggle.js"></script>
<?php include("fbegin.inc"); ?> <?php include("fbegin.inc"); ?>
<script type="text/javascript">
//<![CDATA[
function show_phase2(id, buttonid) {
document.getElementById(buttonid).innerHTML='';
document.getElementById(id).style.display = "block";
var visible = id + '-visible';
document.getElementById(visible).value = "1";
}
//]]>
</script>
<form action="vpn_ipsec.php" method="post"> <form action="vpn_ipsec.php" method="post">
<section class="page-content-main"> <section class="page-content-main">
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<?php <?php
if (isset($savemsg)) { if (isset($savemsg)) {
print_info_box($savemsg); print_info_box($savemsg);
...@@ -254,532 +259,326 @@ include("head.inc"); ...@@ -254,532 +259,326 @@ include("head.inc");
print_info_box_np(gettext("The IPsec tunnel configuration has been changed") . ".<br />" . gettext("You must apply the changes in order for them to take effect.")); print_info_box_np(gettext("The IPsec tunnel configuration has been changed") . ".<br />" . gettext("You must apply the changes in order for them to take effect."));
} }
?> ?>
<section class="col-xs-12"> <section class="col-xs-12">
<? $active_tab = "/vpn_ipsec.php";
<? $active_tab = "/vpn_ipsec.php"; include('vpn_ipsec_tabs.inc');
include('vpn_ipsec_tabs.inc'); ?>
<div class="tab-content content-box col-xs-12">
<div class="table-responsive">
<table class="table table-striped table-sort">
<tr id="frheader">
<td class="list">&nbsp;</td>
<td class="list">&nbsp;</td>
<td class="listhdrr"><?=gettext("IKE"); ?></td>
<td class="listhdrr"><?=gettext("Remote Gateway"); ?></td>
<td class="listhdrr"><?=gettext("Mode"); ?></td>
<td class="listhdrr"><?=gettext("P1 Protocol"); ?></td>
<td class="listhdrr"><?=gettext("P1 Transforms"); ?></td>
<td class="listhdrr"><?=gettext("P1 Description"); ?></td>
<td class="list">
</td>
</tr>
<?php
$i = 0;
foreach ($a_phase1 as $ph1ent) :
$iconfn = "success";
$spans = $spane = "";
if (isset($ph1ent['disabled'])) {
$spans = "<span class=\"gray\">";
$spane = "</span>";
$iconfn = "default";
}
?> ?>
<tr valign="top" id="fr<?=$i;
?>" ondblclick="document.location='vpn_ipsec_phase1.php?p1index=<?=$i;?>'">
<td class="listt" align="center" valign="middle">
<input type="checkbox" id="frc<?=$i;
?>" name="p1entry[]" value="<?=$i;
?>" onclick="fr_bgcolor('<?=$i;?>')" style="margin: 0; padding: 0; width: 15px; height: 15px;" />
</td>
<td class="listt" align="center" valign="middle">
<button name="toggle_<?=$i;?>_x"
title="<?=gettext("click to toggle enabled/disabled status");?>"
type="submit" class="btn btn-<?php echo $iconfn?> btn-xs"><span class="glyphicon glyphicon-play"></span>
</button>
</td>
<td class="listlr" onclick="fr_toggle(<?=$i;
?>)" id="frd<?=$i;?>">
<?=$spans;?>
<?php
if (empty($ph1ent['iketype']) || $ph1ent['iketype'] == "ikev1") {
echo "V1";
} else {
echo "V2";
}
?>
<?=$spane;?>
</td>
<td class="listr" onclick="fr_toggle(<?=$i;
?>)" id="frd<?=$i;?>">
<?=$spans;?>
<?php
if ($ph1ent['interface']) {
$iflabels = get_configured_interface_with_descr();
$carplist = get_configured_carp_interface_list(); <div class="tab-content content-box col-xs-12">
foreach ($carplist as $cif => $carpip) { <div class="table-responsive">
$iflabels[$cif] = $carpip." (".get_vip_descr($carpip).")"; <table class="table table-striped">
} <thead>
<tr>
$aliaslist = get_configured_ip_aliases_list(); <td>&nbsp;</td>
foreach ($aliaslist as $aliasip => $aliasif) { <td>&nbsp;</td>
$iflabels[$aliasip] = $aliasip." (".get_vip_descr($aliasip).")"; <td><?=gettext("IKE"); ?></td>
} <td><?=gettext("Remote Gateway"); ?></td>
<td><?=gettext("Mode"); ?></td>
$grouplist = return_gateway_groups_array(); <td><?=gettext("P1 Protocol"); ?></td>
foreach ($grouplist as $name => $group) { <td><?=gettext("P1 Transforms"); ?></td>
if ($group[0]['vip'] <> "") { <td><?=gettext("P1 Description"); ?></td>
$vipif = $group[0]['vip']; <td>
} else { </td>
$vipif = $group[0]['int']; </tr>
} </thead>
$iflabels[$name] = "GW Group {$name}"; <tbody>
}
$if = htmlspecialchars($iflabels[$ph1ent['interface']]);
} else {
$if = "WAN";
}
if (!isset($ph1ent['mobile'])) {
echo $if."<br />".$ph1ent['remote-gateway'];
} else {
echo $if."<br /><strong>" . gettext("Mobile Client") . "</strong>";
}
?>
<?=$spane;?>
</td>
<td class="listr" onclick="fr_toggle(<?=$i;
?>)" id="frd<?=$i;?>">
<?=$spans;?>
<?=$ph1ent['mode'];?>
<?=$spane;?>
</td>
<td class="listr" onclick="fr_toggle(<?=$i;
?>)" id="frd<?=$i;?>">
<?=$spans;?>
<?=$p1_ealgos[$ph1ent['encryption-algorithm']['name']]['name'];?>
<?php <?php
if ($ph1ent['encryption-algorithm']['keylen']) { $i = 0;
if ($ph1ent['encryption-algorithm']['keylen']=="auto") { foreach ($pconfig['phase1'] as $ph1ent) :
echo " (" . gettext("auto") . ")";
} else {
echo " ({$ph1ent['encryption-algorithm']['keylen']} " . gettext("bits") . ")";
}
}
?> ?>
<?=$spane;?> <tr id="fr<?=$i;?>" ondblclick="document.location='vpn_ipsec_phase1.php?p1index=<?=$i;?>'">
</td>
<td class="listr" onclick="fr_toggle(<?=$i;
?>)" id="frd<?=$i;?>">
<?=$spans;?>
<?=$p1_halgos[$ph1ent['hash-algorithm']];?>
<?=$spane;?>
</td>
<td class="listbg" onclick="fr_toggle(<?=$i;?>)">
<?=$spans;?>
<?=htmlspecialchars($ph1ent['descr']);?>&nbsp;
<?=$spane;?>
</td>
<td valign="middle" class="list nowrap">
<table border="0" cellspacing="0" cellpadding="1" summary="icons">
<tr>
<td> <td>
<button onmouseover="fr_insline(<?=$i; <input type="checkbox" name="p1entry[]" value="<?=$i;?>"/>
?>, true)" onmouseout="fr_insline(<?=$i;?>, false)"
name="move_<?=$i;?>_x"
title="<?=gettext("move selected entries before this");?>"
type="submit"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-arrow-left"></span>
</button>
</td> </td>
<td> <td>
<a href="vpn_ipsec_phase1.php?p1index=<?=$i; <button name="toggle_<?=$i;?>_x" title="<?=gettext("click to toggle enabled/disabled status");?>" type="submit" class="btn btn-<?= isset($ph1ent['disabled'])? "default":"success"?> btn-xs">
?>" title="<?=gettext("edit phase1 entry"); ?>" class="btn btn-default btn-xs" alt="edit"> <span class="glyphicon glyphicon-play"></span>
<span class="glyphicon glyphicon-pencil"></span> </button>
</a>
</td> </td>
</tr>
<tr>
<td> <td>
<button name="del_<?=$i;?>_x" <?=empty($ph1ent['iketype']) || $ph1ent['iketype'] == "ikev1"?"V1":"V2";?>
title="<?=gettext("delete phase1 entry");?>"
type="submit"
onclick="return confirm('<?=gettext("Do you really want to delete this phase1 and all associated phase2 entries?"); ?>')"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove"></span>
</button>
</td> </td>
<td> <td>
<?php <?php
if (!isset($ph1ent['mobile'])) : if (!empty($ph1ent['interface'])) {
$iflabels = get_configured_interface_with_descr();
$carplist = get_configured_carp_interface_list();
foreach ($carplist as $cif => $carpip) {
$iflabels[$cif] = $carpip." (".get_vip_descr($carpip).")";
}
$aliaslist = get_configured_ip_aliases_list();
foreach ($aliaslist as $aliasip => $aliasif) {
$iflabels[$aliasip] = $aliasip." (".get_vip_descr($aliasip).")";
}
$grouplist = return_gateway_groups_array();
foreach ($grouplist as $name => $group) {
if ($group[0]['vip'] <> "") {
$vipif = $group[0]['vip'];
} else {
$vipif = $group[0]['int'];
}
$iflabels[$name] = "GW Group {$name}";
}
$if = $iflabels[$ph1ent['interface']];
} else {
$if = "WAN";
}
?> ?>
<a href="vpn_ipsec_phase1.php?dup=<?=$i; <?=htmlspecialchars($if);?>
?>" title="<?=gettext("copy phase1 entry"); ?>" class="btn btn-default btn-xs" alt="add"> <?=!isset($ph1ent['mobile'])?
<span class="glyphicon glyphicon-plus"></span> $ph1ent['remote-gateway']
</a> :
"<strong>" . gettext("Mobile Client") . "</strong>";
?>
</td>
<td><?=$ph1ent['mode'];?></td>
<td>
<?=$p1_ealgos[$ph1ent['encryption-algorithm']['name']]['name'];?>
<?php <?php
endif; if (!empty($ph1ent['encryption-algorithm']['keylen'])) {
if ($ph1ent['encryption-algorithm']['keylen']=="auto") {
echo " (" . gettext("auto") . ")";
} else {
echo " ({$ph1ent['encryption-algorithm']['keylen']} " . gettext("bits") . ")";
}
}
?> ?>
</td> </td>
</tr> <td>
</table> <?=$p1_halgos[$ph1ent['hash-algorithm']];?>
</td> </td>
</tr> <td>
<tr> <?=$ph1ent['descr'];?>&nbsp;
<td class="listt">&nbsp;</td> </td>
<td class="listt">&nbsp;</td> <td>
<td class="listrborder" colspan="6"> <button name="move_<?=$i;?>_x" title="<?=gettext("move selected entries before this");?>" type="submit" class="btn btn-default btn-xs">
<?php <span class="glyphicon glyphicon-arrow-left"></span>
if (isset($_POST["tdph2-{$i}-visible"])) { </button>
$tdph2_visible = htmlspecialchars($_POST["tdph2-{$i}-visible"]); <a href="vpn_ipsec_phase1.php?p1index=<?=$i;?>" title="<?=gettext("edit phase1 entry"); ?>" class="btn btn-default btn-xs" alt="edit">
} else { <span class="glyphicon glyphicon-pencil"></span>
$tdph2_visible = 0; </a><br/>
} <button name="del_<?=$i;?>_x"
title="<?=gettext("delete phase1 entry");?>"
type="submit"
onclick="return confirm('<?=gettext("Do you really want to delete this phase1 and all associated phase2 entries?"); ?>')"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove"></span>
</button>
<?php if (!isset($ph1ent['mobile'])) :
?> ?>
<input type="hidden" name="tdph2-<?=$i; <a href="vpn_ipsec_phase1.php?dup=<?=$i;?>" title="<?=gettext("copy phase1 entry"); ?>" class="btn btn-default btn-xs" alt="add">
?>-visible" id="tdph2-<?=$i;?>-visible" value="<?=$tdph2_visible?>" /> <span class="glyphicon glyphicon-plus"></span>
<div id="shph2but-<?=$i?>" <?php echo ($tdph2_visible == '1' ? 'style="display:none"' : '');?>> </a>
<?php endif;
?>
</td>
</tr>
<tr>
<td colspan="9">
<?php <?php
$phase2count=0; $phase2count=0;
foreach ($a_phase2 as $ph2ent) { foreach ($pconfig['phase2'] as $ph2ent) {
if ($ph2ent['ikeid'] != $ph1ent['ikeid']) { if ($ph2ent['ikeid'] != $ph1ent['ikeid']) {
continue; continue;
} }
$phase2count++; $phase2count++;
} }
$fr_prefix = "frp2{$i}"; $fr_prefix = "frp2{$i}";
$fr_header = $fr_prefix . "header";
?> ?>
<input type="button" onclick="show_phase2('tdph2-<?=$i?>','shph2but-<?=$i?>')" value="+" /> - <?php printf(gettext("Show %s Phase-2 entries"), $phase2count); ?> <div id="shph2but-<?=$i?>">
</div> <input type="button" onclick="show_phase2('tdph2-<?=$i?>','shph2but-<?=$i?>')" value="+" /> - <?php printf(gettext("Show %s Phase-2 entries"), $phase2count); ?>
<div id="tdph2-<?=$i?>" <?php echo ($tdph2_visible != '1' ? 'style="display:none"' : '');?>> </div>
<table class="tabcont" width="100%" border="0" cellspacing="0" cellpadding="0" summary="phase-2 entries"> <div id="tdph2-<?=$i?>" style="display:none">
<tr id="<?=$fr_header;?>"> <table class="table table-striped table-condensed">
<td>&nbsp;</td> <thead>
<td>&nbsp;</td> <tr>
<td class="listhdrr"><?=gettext("Mode"); ?></td> <td>&nbsp;</td>
<td class="listhdrr"><?=gettext("Local Subnet"); ?></td> <td>&nbsp;</td>
<td class="listhdrr"><?=gettext("Remote Subnet"); ?></td> <td><?=gettext("Mode"); ?></td>
<td class="listhdrr"><?=gettext("P2 Protocol"); ?></td> <td><?=gettext("Local Subnet"); ?></td>
<td class="listhdrr"><?=gettext("P2 Transforms"); ?></td> <td><?=gettext("Remote Subnet"); ?></td>
<td class="listhdrr"><?=gettext("P2 Auth Methods"); ?></td> <td><?=gettext("P2 Protocol"); ?></td>
<td class ="list">&nbsp;</td> <td><?=gettext("P2 Transforms"); ?></td>
</tr> <td><?=gettext("P2 Auth Methods"); ?></td>
<td class ="list">&nbsp;</td>
</tr>
</thead>
<tbody>
<?php <?php
$j = 0; $j = 0;
foreach ($a_phase2 as $ph2index => $ph2ent) : foreach ($pconfig['phase2'] as $ph2index => $ph2ent) :
if ($ph2ent['ikeid'] != $ph1ent['ikeid']) { if ($ph2ent['ikeid'] != $ph1ent['ikeid']) {
continue; continue;
} }
$fr_c = $fr_prefix . "c" . $j;
$fr_d = $fr_prefix . "d" . $j;
$iconfn = "success";
$spans = $spane = "";
if (isset($ph2ent['disabled'])) {
$spans = "<span class=\"gray\">";
$spane = "</span>";
$iconfn = "default";
}
?> ?>
<tr valign="top" id="<?=$fr_prefix . $j; <tr id="<?=$fr_prefix . $j;?>" ondblclick="document.location='vpn_ipsec_phase2.php?p2index=<?=$ph2ent['uniqid'];?>'">
?>" ondblclick="document.location='vpn_ipsec_phase2.php?p2index=<?=$ph2ent['uniqid'];?>'"> <td>
<td class="listt" align="center" valign="middle"> <input type="checkbox" name="p2entry[]" value="<?=$ph2index;?>"/>
<input type="checkbox" id="<?=$fr_c; </td>
?>" name="p2entry[]" value="<?=$ph2index; <td>
?>" onclick="fr_bgcolor('<?=$j; <button name="togglep2_<?=$ph2index;?>_x" title="<?=gettext("click to toggle enabled/disabled status");?>" type="submit" class="btn btn-<?= isset($ph2ent['disabled'])?"default":"success";?> btn-xs">
?>', '<?=$fr_prefix;?>')" style="margin: 0; padding: 0; width: 15px; height: 15px;" /> <span class="glyphicon glyphicon-play"></span>
</td> </button>
<td class="listt" align="center" valign="middle"> </td>
<input name="togglep2_<?=$ph2index; <td> <?=$ph2ent['mode'];?> </td>
?>" src="/themes/<?= $g['theme']; ?>/images/icons/icon_<?=$iconfn?>.gif"
title="<?=gettext("click to toggle enabled/disabled status");?>"
type="image" style="height:11;width:11;border:0" value="" />
<button name="togglep2_<?=$ph2index;?>_x"
title="<?=gettext("click to toggle enabled/disabled status");?>"
type="submit"
class="btn btn-<?php echo $iconfn?> btn-xs">
<span class="glyphicon glyphicon-play"></span>
</button>
</td>
<td class="listlr nowrap" id="<?=$fr_d;
?>" onclick="fr_toggle('<?=$j;
?>', '<?=$fr_prefix;?>')">
<?=$spans;?>
<?=$ph2ent['mode'];?>
<?=$spane;?>
</td>
<?php <?php
if (($ph2ent['mode'] == "tunnel") or ($ph2ent['mode'] == "tunnel6")) : if (($ph2ent['mode'] == "tunnel") || ($ph2ent['mode'] == "tunnel6")) :
?> ?>
<td class="listr nowrap" id="<?=$fr_d; <td>
?>" onclick="fr_toggle('<?=$j; <?=ipsec_idinfo_to_text($ph2ent['localid']); ?>
?>', '<?=$fr_prefix;?>')"> </td>
<?=$spans;?> <td>
<?=ipsec_idinfo_to_text($ph2ent['localid']); ?> <?=ipsec_idinfo_to_text($ph2ent['remoteid']); ?>
<?=$spane;?> </td>
</td> <?php else :
<td class="listr nowrap" id="<?=$fr_d; ?> <td>&nbsp;</td>
?>" onclick="fr_toggle('<?=$j; <td>&nbsp;</td>
?>', '<?=$fr_prefix;?>')">
<?=$spans;?>
<?=ipsec_idinfo_to_text($ph2ent['remoteid']); ?>
<?=$spane;?>
</td>
<?php <?php
else : endif;
echo "<td class=\"listr nowrap\">&nbsp;</td><td class=\"listr nowrap\">&nbsp;</td>";
endif;
?> ?>
<td class="listr nowrap" id="<?=$fr_d; <td><?=$p2_protos[$ph2ent['protocol']];?> </td>
?>" onclick="fr_toggle('<?=$j; <td>
?>', '<?=$fr_prefix;?>')">
<?=$spans;?>
<?php echo $p2_protos[$ph2ent['protocol']]; ?>
<?=$spane;?>
</td>
<td class="listr" id="<?=$fr_d;
?>" onclick="fr_toggle('<?=$j;
?>', '<?=$fr_prefix;?>')">
<?=$spans;?>
<?php <?php
foreach ($ph2ent['encryption-algorithm-option'] as $k => $ph2ea) { foreach ($ph2ent['encryption-algorithm-option'] as $k => $ph2ea) {
if ($k) { if ($k > 0) {
echo ", "; echo ", ";
} }
echo $p2_ealgos[$ph2ea['name']]['name']; echo $p2_ealgos[$ph2ea['name']]['name'];
if ($ph2ea['keylen']) { if (!empty($ph2ea['keylen'])) {
if ($ph2ea['keylen']=="auto") { if ($ph2ea['keylen']=="auto") {
echo " (" . gettext("auto") . ")"; echo " (" . gettext("auto") . ")";
} else { } else {
echo " ({$ph2ea['keylen']} " . gettext("bits") . ")"; echo " ({$ph2ea['keylen']} " . gettext("bits") . ")";
} }
} }
} }
?> ?>
<?=$spane;?> </td>
</td> <td>
<td class="listr nowrap" id="<?=$fr_d;
?>" onclick="fr_toggle('<?=$j;
?>', '<?=$fr_prefix;?>')">
<?=$spans;?>
<?php <?php
if (!empty($ph2ent['hash-algorithm-option']) && is_array($ph2ent['hash-algorithm-option'])) { if (!empty($ph2ent['hash-algorithm-option']) && is_array($ph2ent['hash-algorithm-option'])) {
foreach ($ph2ent['hash-algorithm-option'] as $k => $ph2ha) { foreach ($ph2ent['hash-algorithm-option'] as $k => $ph2ha) {
if ($k) { if ($k) {
echo ", "; echo ", ";
} }
echo $p2_halgos[$ph2ha]; echo $p2_halgos[$ph2ha];
} }
} }
?> ?>
<?=$spane;?> </td>
</td> <td>
<td class="list nowrap" valign="middle"> <button name="movep2_<?=$j;?>_x"
<button onmouseover="fr_insline(<?=$j; title="<?=gettext("move selected entries before this");?>"
?>, true, '<?=$fr_prefix; type="submit"
?>')" onmouseout="fr_insline(<?=$j; class="btn btn-default btn-xs">
?>, false, '<?=$fr_prefix;?>')" <span class="glyphicon glyphicon-arrow-left"></span>
name="movep2_<?=$j;?>_x" </button>
title="<?=gettext("move selected entries before this");?>" <a href="vpn_ipsec_phase2.php?p2index=<?=$ph2ent['uniqid'];?>" title="<?=gettext("edit phase2 entry"); ?>" alt="edit" class="btn btn-default btn-xs">
type="submit" <span class="glyphicon glyphicon-pencil"></span>
class="btn btn-default btn-xs"> </a>
<span class="glyphicon glyphicon-arrow-left"></span> <button name="delp2_<?=$ph2index;?>_x" title="<?=gettext("delete phase2 entry");?>"
</button> type="submit"
<a href="vpn_ipsec_phase2.php?p2index=<?=$ph2ent['uniqid']; onclick="return confirm('<?=gettext("Do you really want to delete this phase2 entry?"); ?>')"
?>" title="<?=gettext("edit phase2 entry"); ?>" alt="edit" class="btn btn-default btn-xs"> class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-pencil"></span> <span class="glyphicon glyphicon-remove"><span>
</a> </button>
<button name="delp2_<?=$ph2index; <a href="vpn_ipsec_phase2.php?dup=<?=$ph2ent['uniqid'];?>" title="<?=gettext("add a new Phase 2 based on this one"); ?>" alt="add" class="btn btn-default btn-xs">
?>_x" src="/themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" <span class="glyphicon glyphicon-plus"></span>
title="<?=gettext("delete phase2 entry");?>" </a>
type="submit" </td>
onclick="return confirm('<?=gettext("Do you really want to delete this phase2 entry?"); ?>')" </tr>
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove"><span>
</button>
<a href="vpn_ipsec_phase2.php?dup=<?=$ph2ent['uniqid'];
?>" title="<?=gettext("add a new Phase 2 based on this one"); ?>" alt="add" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-plus"></span>
</a>
</td>
</tr>
<?php <?php
$j++; $j++;
endforeach; endforeach;
?> ?>
<tr valign="top" id="<?=$fr_prefix . $j;?>"> <tr>
<td class="list" colspan="8"></td> <td colspan="8"></td>
<td class="list nowrap" valign="middle"> <td>
<?php <?php if ($j > 0) :
if ($j == 0) :
?> ?>
<span title="<?=gettext("move selected phase2 entries to end");?>" alt="move" class="btn btn-default btn-xs glyphicon glyphicon-arrow-down hide"></span>
<?php <button name="movep2_<?=$j;?>_x" type="submit"
else : title="<?=gettext("move selected phase2 entries to end");?>"
?> class="btn btn-default btn-xs">
<button onmouseover="fr_insline(<?=$j; <span class="glyphicon glyphicon-arrow-down"></span>
?>, true, '<?=$fr_prefix; </button>
?>')" onmouseout="fr_insline(<?=$j; <?php endif;
?>, false, '<?=$fr_prefix;?>')"
name="movep2_<?=$j;?>_x" type="submit"
title="<?=gettext("move selected phase2 entries to end");?>"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-arrow-down"></span>
</button>
<?php
endif;
?> ?>
<a href="vpn_ipsec_phase2.php?ikeid=<?=$ph1ent['ikeid'];?><?php if (isset($ph1ent['mobile'])) { <a href="vpn_ipsec_phase2.php?ikeid=<?=$ph1ent['ikeid'];?><?= isset($ph1ent['mobile'])?"&amp;mobile=true":"";?>" class="btn btn-default btn-xs">
echo "&amp;mobile=true"; <span title="<?=gettext("add phase2 entry"); ?>" alt="add" class="glyphicon glyphicon-plus"></span>
}?>" class="btn btn-default btn-xs"> </a>
<span title="<?=gettext("add phase2 entry"); ?>" alt="add" class="glyphicon glyphicon-plus"></span> <?php if ($j > 0) :
</a>
<?php
if ($j == 0) :
?> ?>
<span title="<?=gettext("delete selected phase2 entries");?>" alt="delete" class="btn btn-default btn-xs glyphicon glyphicon-remove hide"></span> <button name="delp2_x" type="submit" title="<?=gettext("delete selected phase2 entries");?>"
<?php onclick="return confirm('<?=gettext("Do you really want to delete the selected phase2 entries?");?>')"
else : class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove"></span>
</button>
<?php endif;
?> ?>
<button name="delp2_x" </td>
type="submit" </tr>
title="<?=gettext("delete selected phase2 entries");?>" </tbody>
onclick="return confirm('<?=gettext("Do you really want to delete the selected phase2 entries?");?>')" </table>
class="btn btn-default btn-xs"> </div>
<span class="glyphicon glyphicon-remove"></span> </td>
</button> </tr>
<?php <?php
endif; $i++;
endforeach; // $a_phase1 as $ph1ent
?> ?>
<tr>
<td colspan="8"> </td>
<td>
<button name="move_<?=$i;?>_x"
type="submit"
title="<?=gettext("move selected phase1 entries to end");?>"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-arrow-down"></span>
</button>
<a href="vpn_ipsec_phase1.php" title="<?=gettext("add new phase1");?>" alt="add" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-plus"></span>
</a>
<button
name="del_x"
type="submit"
title="<?=gettext("delete selected phase1 entries");?>"
onclick="return confirm('<?=gettext("Do you really want to delete the selected phase1 entries?");?>')"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove"></span>
</button>
</td> </td>
</tr> </tr>
</table> <tr>
<td colspan="9">
<strong><?=gettext("Note"); ?>:<br /></strong>
<?=gettext("You can check your IPsec status at");?> <a href="diag_ipsec.php"><?=gettext("Status:IPsec"); ?></a>.<br />
<?=gettext("IPsec Debug Mode can be enabled at");?> <a href="vpn_ipsec_settings.php"><?=gettext("VPN:IPsec:Advanced Settings"); ?></a>.<br />
<?=gettext("IPsec can be set to prefer older SAs at");?> <a href="vpn_ipsec_settings.php"><?=gettext("VPN:IPsec:Advanced Settings"); ?></a>.
</td>
</tr>
<tr>
<td colspan=9>
<input name="enable" type="checkbox" id="enable" value="yes" <?=!empty($pconfig['enable']) ? "checked=\"checked\"":"";?>/>
<strong><?=gettext("Enable IPsec"); ?></strong>
</td>
</tr>
<tr>
<td colspan=9>
<input name="submit" type="submit" class="btn btn-primary" value="<?=gettext("Save"); ?>" />
</td>
</tr>
</tbody>
</table>
</div> </div>
</td> </div>
</tr> </section>
<?php </div>
$i++; </div>
endforeach; // $a_phase1 as $ph1ent </section>
?>
<tr valign="top" id="fr<?=$i;?>">
<td class="list" colspan="8"></td>
<td class="list nowrap" valign="middle">
<table border="0" cellspacing="0" cellpadding="1" summary="edit">
<tr>
<td>
<?php
if ($i == 0) :
?>
<span title="<?=gettext("move selected phase1 entries to end");?>" alt="move" class="btn btn-default btn-xs glyphicon glyphicon-arrow-down hide"></span>
<?php
else :
?>
<button onmouseover="fr_insline(<?=$i;
?>, true)" onmouseout="fr_insline(<?=$i;?>, false)"
name="move_<?=$i;?>_x"
type="submit"
title="<?=gettext("move selected phase1 entries to end");?>"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-arrow-down"></span>
</button>
<?php
endif;
?>
</td>
<td>
<a href="vpn_ipsec_phase1.php" title="<?=gettext("add new phase1");?>" alt="add" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-plus"></span>
</a>
</td>
</tr>
<tr>
<td>
<?php
if ($i == 0) :
?>
<span title="<?=gettext("delete selected phase1 entries");?>" alt="delete" class="btn btn-default btn-xs glyphicon glyphicon-remove hide"></span>
<?php
else :
?>
<button
name="del_x"
type="submit"
title="<?=gettext("delete selected phase1 entries");?>"
onclick="return confirm('<?=gettext("Do you really want to delete the selected phase1 entries?");?>')"
class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-remove"></span>
</button>
<?php
endif;
?>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="8">
<p>
<span class="vexpl">
<span class="red">
<strong><?=gettext("Note"); ?>:<br /></strong>
</span>
<?=gettext("You can check your IPsec status at");
?> <a href="diag_ipsec.php"><?=gettext("Status:IPsec"); ?></a>.<br />
<?=gettext("IPsec Debug Mode can be enabled at");
?> <a href="vpn_ipsec_settings.php"><?=gettext("VPN:IPsec:Advanced Settings"); ?></a>.<br />
<?=gettext("IPsec can be set to prefer older SAs at");
?> <a href="vpn_ipsec_settings.php"><?=gettext("VPN:IPsec:Advanced Settings"); ?></a>.
</span>
</p>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</form> </form>
<form action="vpn_ipsec.php" method="post">
<table border="0" cellspacing="2" cellpadding="0" summary="enable" class="table table-striped">
<tr>
<td>
<input name="enable" type="checkbox" id="enable" value="yes" <?php if ($pconfig['enable']) {
echo "checked=\"checked\"";
}?> />
</td>
<td>
<strong><?=gettext("Enable IPsec"); ?></strong>
</td>
<td>
<input name="submit" type="submit" class="btn btn-primary" value="<?=gettext("Save"); ?>" />
</td>
</tr>
</table>
</form>
</div>
</section>
</div>
</div>
</section>
<script type="text/javascript">
//<![CDATA[
function show_phase2(id, buttonid) {
document.getElementById(buttonid).innerHTML='';
document.getElementById(id).style.display = "block";
var visible = id + '-visible';
document.getElementById(visible).value = "1";
}
//]]>
</script>
<?php include("foot.inc"); <?php include("foot.inc");
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment