From d7402222e3be4794b15c7bad89797f7725590a9f Mon Sep 17 00:00:00 2001 From: jim-p Date: Wed, 26 Sep 2012 15:41:49 -0400 Subject: Add option to separately specify the split dns domain list for IPsec mobile clients. --- usr/local/www/vpn_ipsec_mobile.php | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'usr/local') diff --git a/usr/local/www/vpn_ipsec_mobile.php b/usr/local/www/vpn_ipsec_mobile.php index 34987d7..1da67e1 100755 --- a/usr/local/www/vpn_ipsec_mobile.php +++ b/usr/local/www/vpn_ipsec_mobile.php @@ -61,6 +61,7 @@ if (count($a_client)) { $pconfig['net_list'] = $a_client['net_list']; $pconfig['save_passwd'] = $a_client['save_passwd']; $pconfig['dns_domain'] = $a_client['dns_domain']; + $pconfig['dns_split'] = $a_client['dns_split']; $pconfig['dns_server1'] = $a_client['dns_server1']; $pconfig['dns_server2'] = $a_client['dns_server2']; $pconfig['dns_server3'] = $a_client['dns_server3']; @@ -87,6 +88,9 @@ if (count($a_client)) { if ($pconfig['dns_domain']) $pconfig['dns_domain_enable'] = true; + if ($pconfig['dns_split']) + $pconfig['dns_split_enable'] = true; + if ($pconfig['dns_server1']||$pconfig['dns_server2']||$pconfig['dns_server3']||$pconfig['dns_server4']) $pconfig['dns_server_enable'] = true; @@ -137,6 +141,18 @@ if ($_POST['submit']) { if (!is_domain($pconfig['dns_domain'])) $input_errors[] = gettext("A valid value for 'DNS Default Domain' must be specified."); + if ($pconfig['dns_split_enable']) { + if (!empty($pconfig['dns_split'])) { + $domain_array=preg_split("/[ ,]+/",$pconfig['dns_split']); + foreach ($domain_array as $curdomain) { + if (!is_domain($curdomain)) { + $input_errors[] = gettext("A valid split DNS domain list must be specified."); + break; + } + } + } + } + if ($pconfig['dns_server_enable']) { if (!$pconfig['dns_server1'] && !$pconfig['dns_server2'] && !$pconfig['dns_server3'] && !$pconfig['dns_server4'] ) @@ -187,6 +203,9 @@ if ($_POST['submit']) { if ($pconfig['dns_domain_enable']) $client['dns_domain'] = $pconfig['dns_domain']; + if ($pconfig['dns_split_enable']) + $client['dns_split'] = $pconfig['dns_split']; + if ($pconfig['dns_server_enable']) { $client['dns_server1'] = $pconfig['dns_server1']; $client['dns_server2'] = $pconfig['dns_server2']; @@ -248,6 +267,14 @@ function dns_domain_change() { document.iform.dns_domain.disabled = 1; } +function dns_split_change() { + + if (document.iform.dns_split_enable.checked) + document.iform.dns_split.disabled = 0; + else + document.iform.dns_split.disabled = 1; +} + function dns_server_change() { if (document.iform.dns_server_enable.checked) { @@ -475,6 +502,30 @@ function login_banner_change() { + + + + + + + + +
+ + onClick="dns_split_change()"> + +
+ +
+ + + + +
+ +
+ + @@ -616,6 +667,7 @@ function login_banner_change() {