diff options
author | Matt Smith <mgsmith@netgate.com> | 2015-10-07 14:15:54 -0500 |
---|---|---|
committer | Matt Smith <mgsmith@netgate.com> | 2015-10-07 14:15:54 -0500 |
commit | 5bf321b6dd7a00124927fe3894e07b35b1f27640 (patch) | |
tree | cfb8b97f8f3f5394bf7d37354e97b10e64809cab /usr | |
parent | b07f827a905ad502583965d5a43a89a50bcdbb3d (diff) | |
download | pfsense-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.php | 60 |
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"); ?>: + <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"> |