diff --git a/interface/web/dns/dns_import.php b/interface/web/dns/dns_import.php index a229f3956bd097c5122763a7d991fc74a4a4323a..640ed6752a34a91fb922ceff5614e3a6f9c41098 100644 --- a/interface/web/dns/dns_import.php +++ b/interface/web/dns/dns_import.php @@ -78,6 +78,7 @@ if (isset($_POST['server_id'])) { $post_server_id = false; } +$ignore_ns_records = (isset($_POST['ignore_ns_records']))?$app->functions->intval($_POST['ignore_ns_records']):0; // Load the templates $records = $app->db->queryAllRecords("SELECT * FROM dns_template WHERE visible = 'Y'"); @@ -322,7 +323,7 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name' $owner = $name; $r = 0; $dns_rr = array(); - $add_default_ns = TRUE; + $ns_record_included = FALSE; $found_soa = FALSE; foreach($lines as $line){ @@ -570,7 +571,12 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name' $dns_rr[$r]['type'] = strtoupper($resource_type); if($dns_rr[$r]['type'] == 'NS' && fqdn_name( $dns_rr[$r]['name'], $soa['name'] ) == $soa['name']){ - $add_default_ns = FALSE; + if ($ignore_ns_records) { + unset($dns_rr[$r]); + continue; + } else { + $ns_record_included = TRUE; + } } $dns_rr[$r]['ttl'] = $app->functions->intval($dns_rr[$r]['ttl']); @@ -601,7 +607,7 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name' $i++; } - if ( $add_default_ns ) { + if ( $ignore_ns_records || !$ns_record_included ) { foreach ($servers as $server){ $dns_rr[$r]['name'] = $soa['name']; $dns_rr[$r]['type'] = 'NS'; diff --git a/interface/web/dns/lib/lang/en_dns_import.lng b/interface/web/dns/lib/lang/en_dns_import.lng index 0b9681b22758908dead72a67084788587c1486ae..1811d249c843e2e422697f9f1b9f6e1197413777 100644 --- a/interface/web/dns/lib/lang/en_dns_import.lng +++ b/interface/web/dns/lib/lang/en_dns_import.lng @@ -22,4 +22,5 @@ $wb['ignore_record_not_class_in'] = 'Ignoring DNS record, not class IN.'; $wb['ignore_record_unknown_type'] = 'Ignoring DNS record, unknown type.'; $wb['ignore_record_invalid_owner'] = 'Ignoring DNS record, not able to validate owner name.'; $wb['zone_file_import_fail'] = 'The zone file did not import.'; +$wb['ignore_ns_records_txt'] = 'Ignore NS records'; ?> diff --git a/interface/web/dns/templates/dns_import.htm b/interface/web/dns/templates/dns_import.htm index 9d40107c89c7ee6f74435a05bf1697f34c0f2724..4ebc83e42103fbea103f29351847e81e0d1c64e5 100644 --- a/interface/web/dns/templates/dns_import.htm +++ b/interface/web/dns/templates/dns_import.htm @@ -46,6 +46,13 @@
+
+ +
+ +
+
+