diff --git a/html/cgi-bin/dns.cgi b/html/cgi-bin/dns.cgi
index 0a34d3fd6..cc5349848 100644
--- a/html/cgi-bin/dns.cgi
+++ b/html/cgi-bin/dns.cgi
@@ -127,18 +127,20 @@ if (($cgiparams{'SERVERS'} eq $Lang::tr{'save'}) || ($cgiparams{'SERVERS'} eq $L
$errormessage = "$Lang::tr{'invalid ip'}: $cgiparams{'NAMESERVER'}";
}
- # Check if a TLS is enabled and no TLS_HOSTNAME has benn specified.
- elsif($settings{'PROTO'} eq "TLS") {
- unless($cgiparams{"TLS_HOSTNAME"}) {
- $errormessage = "$Lang::tr{'dns no tls hostname given'}";
- } else {
- # Check if the provided domain is valid.
- unless(&General::validfqdn($cgiparams{"TLS_HOSTNAME"})) {
- $errormessage = "$Lang::tr{'invalid ip or hostname'}: $cgiparams{'TLS_HOSTNAME'}";
- }
+ # Check if the provided hostname is valid
+ if ($cgiparams{'TLS_HOSTNAME'} ne "") {
+ unless (&General::validfqdn($cgiparams{"TLS_HOSTNAME"})) {
+ $errormessage = "$Lang::tr{'invalid ip or hostname'}: " . &Header::escape($cgiparams{'TLS_HOSTNAME'});
}
}
+ # Check if a TLS is enabled and no TLS_HOSTNAME has benn specified.
+ if ($settings{'PROTO'} eq "TLS") {
+ unless ($cgiparams{"TLS_HOSTNAME"}) {
+ $errormessage = "$Lang::tr{'dns no tls hostname given'}";
+ }
+ }
+
# Go further if there was no error.
if ( ! $errormessage) {
# Check if a remark has been entered.
@@ -773,9 +775,9 @@ sub show_add_edit_nameserver() {
# Check if an ID has been given.
if ($cgiparams{'ID'}) {
# Assign cgiparams values.
- $cgiparams{'NAMESERVER'} = $dns_servers{$cgiparams{'ID'}}[0];
+ $cgiparams{'NAMESERVER'} = &Header::escape($dns_servers{$cgiparams{'ID'}}[0]);
$cgiparams{'TLS_HOSTNAME'} = $dns_servers{$cgiparams{'ID'}}[1];
- $cgiparams{'REMARK'} = $dns_servers{$cgiparams{'ID'}}[3];
+ $cgiparams{'REMARK'} = $Header::escape($dns_servers{$cgiparams{'ID'}}[3]);
}
} else {
&Header::openbox('100%', 'left', $Lang::tr{'dnsforward add a new entry'});