From ed4dcff63b67366ca3974ec3b048bb2299d16c06 Mon Sep 17 00:00:00 2001 From: FreddleSpl0it <75116288+FreddleSpl0it@users.noreply.github.com> Date: Mon, 22 Sep 2025 14:42:14 +0200 Subject: [PATCH] [Web] allow "*" as wildcard domain --- data/web/inc/functions.inc.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/data/web/inc/functions.inc.php b/data/web/inc/functions.inc.php index 2631f1214..bb2d35ea3 100644 --- a/data/web/inc/functions.inc.php +++ b/data/web/inc/functions.inc.php @@ -1115,11 +1115,15 @@ function is_valid_domain_name($domain_name, $options = array()) { // Convert domain name to ASCII for validation $domain_name = idn_to_ascii($domain_name, 0, INTL_IDNA_VARIANT_UTS46); - // Remove '*.' if wildcard subdomains are allowed - if (isset($options['allow_wildcard']) && - $options['allow_wildcard'] == true && - strpos($domain_name, '*.') === 0) { - $domain_name = substr($domain_name, 2); + if (isset($options['allow_wildcard']) && $options['allow_wildcard'] == true) { + // Remove '*.' if wildcard domains are allowed + if (strpos($domain_name, '*.') === 0) { + $domain_name = substr($domain_name, 2); + } + // Allow '*' as wildcard domain + if ($domain_name === "*") { + return true; + } } return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name)