diff options
Diffstat (limited to 'src/usr/local/www/diag_dns.php')
-rw-r--r-- | src/usr/local/www/diag_dns.php | 41 |
1 files changed, 29 insertions, 12 deletions
diff --git a/src/usr/local/www/diag_dns.php b/src/usr/local/www/diag_dns.php index 74238f1..965fe97 100644 --- a/src/usr/local/www/diag_dns.php +++ b/src/usr/local/www/diag_dns.php @@ -84,12 +84,13 @@ function resolve_host_addresses($host) { return $resolved; } -if (isset($_POST['create_alias']) && (is_hostname($host) || is_ipaddr($host))) { +if (isAllowedPage('firewall_aliases_edit.php') && isset($_POST['create_alias']) && (is_hostname($host) || is_ipaddr($host))) { $resolved = gethostbyname($host); $type = "hostname"; if ($resolved) { $resolved = resolve_host_addresses($host); $isfirst = true; + $addresses = ""; foreach ($resolved as $re) { if ($re['data'] != "") { if (!$isfirst) { @@ -107,18 +108,24 @@ if (isset($_POST['create_alias']) && (is_hostname($host) || is_ipaddr($host))) { $isfirst = false; } } - $newalias = array(); - $newalias['name'] = $aliasname; - $newalias['type'] = "network"; - $newalias['address'] = $addresses; - $newalias['descr'] = gettext("Created from Diagnostics-> DNS Lookup"); - if ($alias_exists) { - $a_aliases[$id] = $newalias; + if ($addresses == "") { + $couldnotcreatealias = true; } else { - $a_aliases[] = $newalias; + $newalias = array(); + $newalias['name'] = $aliasname; + $newalias['type'] = "network"; + $newalias['address'] = $addresses; + $newalias['descr'] = gettext("Created from Diagnostics-> DNS Lookup"); + if ($alias_exists) { + $a_aliases[$id] = $newalias; + } else { + $a_aliases[] = $newalias; + } + write_config(gettext("Created an alias from Diagnostics - DNS Lookup page.")); + $createdalias = true; } - write_config(gettext("Created an alias from Diagnostics - DNS Lookup page.")); - $createdalias = true; + } else { + $couldnotcreatealias = true; } } @@ -212,6 +219,16 @@ if ($createdalias) { } else { print_info_box(gettext("Alias was created successfully."), 'success'); } + + $alias_exists = true; +} + +if ($couldnotcreatealias) { + if ($alias_exists) { + print_info_box(sprintf(gettext("Could not update alias for %s"), $host), 'warning', false); + } else { + print_info_box(sprintf(gettext("Could not create alias for %s"), $host), 'warning', false); + } } $form = new Form(false); @@ -234,7 +251,7 @@ $form->addGlobal(new Form_Button( 'fa-search' ))->addClass('btn-primary'); -if (!empty($resolved)) { +if (!empty($resolved) && isAllowedPage('firewall_aliases_edit.php')) { if ($alias_exists) { $button_text = gettext("Update alias"); } else { |