]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
general-functions.pl: validdomainname misinterprets RFC1035
authorAxel Gembe <ago@multipixs.com>
Mon, 11 Aug 2014 04:23:58 +0000 (12:23 +0800)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 11 Aug 2014 08:51:18 +0000 (10:51 +0200)
The function validdomainname checks that each part of a domain name is at least
2 characters in length, but RFC1035 only makes a restriction on a "label" being
at most 63 characters in length. This change allows reverse DNS zones like
2.168.192.in-addr.arpa to be added to the DNS forward configuration, which was
incorrectly prevented before.

Signed-off-by: Axel Gembe <ago@multipixs.com>
config/cfgroot/general-functions.pl

index 66286ed1e0ac09c2a4c553c46f49cd5ef1a59904..8ed87fc80e58d5b40f3a5cc108d2d3e36fb767c8 100644 (file)
@@ -627,9 +627,8 @@ sub validdomainname
        my @parts = split (/\./, $domainname);  # Split hostname at the '.'
 
        foreach $part (@parts) {
-               # Each part should be at least two characters in length
-               # but no more than 63 characters
-               if (length ($part) < 2 || length ($part) > 63) {
+               # Each part should be no more than 63 characters in length
+               if (length ($part) < 1 || length ($part) > 63) {
                        return 0;}
                # Only valid characters are a-z, A-Z, 0-9 and -
                if ($part !~ /^[a-zA-Z0-9-]*$/) {