summaryrefslogtreecommitdiffstats
path: root/src/usr/local/www/diag_dns.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/local/www/diag_dns.php')
-rw-r--r--src/usr/local/www/diag_dns.php41
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 d5db791..cb9a0c9 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 {
OpenPOWER on IntegriCloud