summaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
authorMatt Smith <mgsmith@netgate.com>2015-10-07 14:15:54 -0500
committerMatt Smith <mgsmith@netgate.com>2015-10-07 14:15:54 -0500
commit5bf321b6dd7a00124927fe3894e07b35b1f27640 (patch)
treecfb8b97f8f3f5394bf7d37354e97b10e64809cab /usr
parentb07f827a905ad502583965d5a43a89a50bcdbb3d (diff)
downloadpfsense-5bf321b6dd7a00124927fe3894e07b35b1f27640.zip
pfsense-5bf321b6dd7a00124927fe3894e07b35b1f27640.tar.gz
Add support for an IPv6 pool for mobile clients.
Diffstat (limited to 'usr')
-rw-r--r--usr/local/www/vpn_ipsec_mobile.php60
1 files changed, 59 insertions, 1 deletions
diff --git a/usr/local/www/vpn_ipsec_mobile.php b/usr/local/www/vpn_ipsec_mobile.php
index 0c4da17..79842f7 100644
--- a/usr/local/www/vpn_ipsec_mobile.php
+++ b/usr/local/www/vpn_ipsec_mobile.php
@@ -60,6 +60,8 @@ if (count($a_client)) {
$pconfig['pool_address'] = $a_client['pool_address'];
$pconfig['pool_netbits'] = $a_client['pool_netbits'];
+ $pconfig['pool_address_v6'] = $a_client['pool_address_v6'];
+ $pconfig['pool_netbits_v6'] = $a_client['pool_netbits_v6'];
$pconfig['net_list'] = $a_client['net_list'];
$pconfig['save_passwd'] = $a_client['save_passwd'];
$pconfig['dns_domain'] = $a_client['dns_domain'];
@@ -81,6 +83,11 @@ if (count($a_client)) {
else
$pconfig['pool_netbits'] = 24;
+ if ($pconfig['pool_address_v6'] && $pconfig['pool_netbits_v6'])
+ $pconfig['pool_enable_v6'] = true;
+ else
+ $pconfig['pool_netbits_v6'] = 120;
+
if (isset($pconfig['net_list']))
$pconfig['net_list_enable'] = true;
@@ -140,6 +147,10 @@ if ($_POST['submit']) {
if (!is_ipaddr($pconfig['pool_address']))
$input_errors[] = gettext("A valid IP address for 'Virtual Address Pool Network' must be specified.");
+ if ($pconfig['pool_enable_v6'])
+ if (!is_ipaddrv6($pconfig['pool_address_v6']))
+ $input_errors[] = gettext("A valid IPv6 address for 'Virtual IPv6 Address Pool Network' must be specified.");
+
if ($pconfig['dns_domain_enable'])
if (!is_domain($pconfig['dns_domain']))
$input_errors[] = gettext("A valid value for 'DNS Default Domain' must be specified.");
@@ -200,6 +211,11 @@ if ($_POST['submit']) {
$client['pool_netbits'] = $pconfig['pool_netbits'];
}
+ if ($pconfig['pool_enable_v6']) {
+ $client['pool_address_v6'] = $pconfig['pool_address_v6'];
+ $client['pool_netbits_v6'] = $pconfig['pool_netbits_v6'];
+ }
+
if ($pconfig['net_list_enable'])
$client['net_list'] = true;
@@ -263,6 +279,16 @@ function pool_change() {
}
}
+function pool_change_v6() {
+ if (document.iform.pool_enable_v6.checked) {
+ document.iform.pool_address_v6.disabled = 0;
+ document.iform.pool_netbits_v6.disabled = 0;
+ } else {
+ document.iform.pool_address_v6.disabled = 1;
+ document.iform.pool_netbits_v6.disabled = 1;
+ }
+}
+
function dns_domain_change() {
if (document.iform.dns_domain_enable.checked)
@@ -393,7 +419,7 @@ function login_banner_change() {
$selected = "";
if (in_array($auth_server['name'], $authmodes))
$selected = "selected=\"selected\"";
- echo "<option value=\"" . htmlspecialchars($auth_server['name']). "\" {$selected}>" . htmlspecialchars($auth_server['name']). "</option>\n";
+ echo "<option value='{$auth_server['name']}' {$selected}>{$auth_server['name']}</option>\n";
}
?>
</select>
@@ -449,6 +475,38 @@ function login_banner_change() {
</table>
</td>
</tr>
+ <tr>
+ <td width="22%" valign="top" class="vncell"><?=gettext("Virtual IPv6 Address Pool"); ?></td>
+ <td width="78%" class="vtable">
+ <table border="0" cellspacing="2" cellpadding="0" summary="enable v6 pool">
+ <tr>
+ <td>
+ <?php set_checked($pconfig['pool_enable_v6'],$chk); ?>
+ <input name="pool_enable_v6" type="checkbox" id="pool_enable_v6" value="yes" <?=$chk;?> onclick="pool_change_v6()" />
+ </td>
+ <td>
+ <?=gettext("Provide a virtual IPv6 address to clients"); ?><br />
+ </td>
+ </tr>
+ </table>
+ <table border="0" cellspacing="2" cellpadding="0" summary="virtual IPv6 address pool">
+ <tr>
+ <td>
+ <?=gettext("Network"); ?>:&nbsp;
+ <input name="pool_address_v6" type="text" class="formfld unknown" id="pool_address_v6" size="20" value="<?=htmlspecialchars($pconfig['pool_address_v6']);?>" />
+ /
+ <select name="pool_netbits_v6" class="formselect" id="pool_netbits_v6">
+ <?php for ($i = 128; $i >= 0; $i--): ?>
+ <option value="<?=$i;?>" <?php if ($i == $pconfig['pool_netbits_v6']) echo "selected=\"selected\""; ?>>
+ <?=$i;?>
+ </option>
+ <?php endfor; ?>
+ </select>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
<tr>
<td width="22%" valign="top" class="vncell"><?=gettext("Network List"); ?></td>
<td width="78%" class="vtable">
OpenPOWER on IntegriCloud