Browse Source

[DNSAPI/BUG] Fixes naive top domain detection.

In order to properly detect the top domain, lets query the NS through
the SOA record and get the top domain being validated.

This fixes incorrect top domain detection under TLDs such as 'com.br',
'co.uk', etc.

This solution could be used for other DNS APIs as well.
pull/2433/head
Felipe Wilhelms Damasio 5 years ago
parent
commit
17ecff7a3b
  1. 24
      dnsapi/dns_knot.sh

24
dnsapi/dns_knot.sh

@ -72,19 +72,17 @@ EOF
# _domain=domain.com # _domain=domain.com
_get_root() { _get_root() {
domain=$1 domain=$1
i="$(echo "$fulldomain" | tr '.' ' ' | wc -w)"
i=$(_math "$i" - 1)
while true; do
h=$(printf "%s" "$domain" | cut -d . -f "$i"-100)
if [ -z "$h" ]; then
return 1
fi
_domain="$h"
return 0
done
_debug "$domain not found"
return 1
d=$(dig soa "$domain" | grep -v ^\; | grep SOA | awk '{print $1}')
if [ -z "${d}" ]; then
_debug "$domain not found"
return 1
fi
d=${d%?} # remove last '.'
_domain="$d"
return 0
} }
_checkKey() { _checkKey() {

Loading…
Cancel
Save