]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Revert "RFC2181 section 11 says a DNS label can be pretty much anything."
authorRoy Marples <roy@marples.name>
Fri, 16 Jun 2017 07:51:46 +0000 (08:51 +0100)
committerRoy Marples <roy@marples.name>
Fri, 16 Jun 2017 07:51:46 +0000 (08:51 +0100)
This reverts commit 6da580eefb0d94d1b377303e84af821556ab33b0.

hooks/dhcpcd-run-hooks.in

index 6c37bde65b037502918ef2e14a75be954bc91b38..076ffb2b81dd49dbaafd51e09967a397fe9d6031 100644 (file)
@@ -198,7 +198,8 @@ syslog()
        fi
 }
 
-# Check for a valid domain name as per RFC2181 section 11
+# Check for a valid domain name as per RFC1123 with the exception of
+# allowing - and _ as they seem to be widely used.
 valid_domainname()
 {
        local name="$1" label
@@ -208,7 +209,11 @@ valid_domainname()
        while [ -n "$name" ]; do
                label="${name%%.*}"
                [ -z "$label" -o ${#label} -gt 63 ] && return 1
-               [ "$label" = "$name" ] && return 0
+               case "$label" in
+               -*|_*|*-|*_)            return 1;;
+               *[![:alnum:]_-]*)       return 1;;
+               "$name")                return 0;;
+               esac
                name="${name#*.}"
        done
        return 0