diff options
-rw-r--r-- | etc/inc/util.inc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/etc/inc/util.inc b/etc/inc/util.inc index 5d4a1e2..232dd30 100644 --- a/etc/inc/util.inc +++ b/etc/inc/util.inc @@ -686,8 +686,13 @@ function is_hostname($hostname) { if (!is_string($hostname)) return false; - if (preg_match('/^(?:(?:[a-z0-9_]|[a-z0-9_][a-z0-9_\-]*[a-z0-9_])\.)*(?:[a-z0-9_]|[a-z0-9_][a-z0-9_\-]*[a-z0-9_])$/i', $hostname)) - return true; + if (is_domain($hostname)) + if ((substr_count($hostname, ".") == 1) && ($hostname[strlen($hostname)-1] == ".")) { + /* Only a single dot at the end like "test." - hosts cannot be directly in the root domain. */ + return false; + } else { + return true; + } else return false; } |