create_opendkim_key.sh: add suport for subdomains.
This commit is contained in:
parent
35bba6994f
commit
c45c77cc30
@ -500,9 +500,9 @@ fi
|
||||
if $update_dns && [[ -z "$dns_dkim_zone_master_server" ]]; then
|
||||
fatal "No DNS server for updating given!"
|
||||
fi
|
||||
if [[ -z "$(dig +short ${dkim_domain} NS)" ]] ; then
|
||||
fatal "No Nameserver for domain '${dkim_domain}' found!"
|
||||
fi
|
||||
#if [[ -z "$(dig +short ${dkim_domain} NS)" ]] ; then
|
||||
# fatal "No Nameserver for domain '${dkim_domain}' found!"
|
||||
#fi
|
||||
|
||||
if $update_dns ; then
|
||||
cname_record="*._domainkey.${dkim_domain}. IN CNAME ${dkim_domain}.${update_zone}."
|
||||
@ -582,9 +582,38 @@ key_dir=${key_base_dir}/${dkim_domain}
|
||||
dkim_domain_shortname="${dkim_domain%.*}"
|
||||
|
||||
declare -a generated_files_arr=()
|
||||
|
||||
declare -a dns_dkim_zone_slave_server_arr=()
|
||||
for _server in $(dig +short ${dkim_domain} NS) ; do
|
||||
_create_delegation=false
|
||||
_create_dkim_zone=false
|
||||
|
||||
|
||||
# - Some basic checks
|
||||
# -
|
||||
if $terminal ; then
|
||||
echo ""
|
||||
echo ""
|
||||
echo -e " \033[32mSome basic checks\033[m"
|
||||
echo ""
|
||||
fi
|
||||
echononl "Determine responsible zone for '${dkim_domain}'.."
|
||||
found=true
|
||||
zone=${dkim_domain}
|
||||
while [[ -z "$(dig +short $zone ns 2>/dev/null)" ]] ; do
|
||||
zone=${zone#*.}
|
||||
if [[ ! $zone =~ \. ]]; then
|
||||
found=false
|
||||
break
|
||||
fi
|
||||
done
|
||||
if $found ; then
|
||||
echo_ok
|
||||
info "Found responsible zone for '${dkim_domain}': \033[37m\033[1m${zone}\033[m"
|
||||
else
|
||||
echo_failed
|
||||
fatal "No responsible zone for '${dkim_domain}' found!"
|
||||
fi
|
||||
|
||||
for _server in $(dig +short ${zone} NS) ; do
|
||||
# - Eliminate trailing '.' character(s)
|
||||
# -
|
||||
_server="${_server%"${_server##*[!\.]}"}"
|
||||
@ -593,8 +622,6 @@ for _server in $(dig +short ${dkim_domain} NS) ; do
|
||||
dns_dkim_zone_slave_server_arr+=("$_server")
|
||||
done
|
||||
|
||||
_create_delegation=false
|
||||
_create_dkim_zone=false
|
||||
|
||||
_wait=false
|
||||
if $update_dns && [[ "$dkim_domain" != "$update_zone" ]] ; then
|
||||
@ -660,15 +687,22 @@ if $_create_delegation ; then
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echononl "Determin DNS master of '${dkim_domain}'.."
|
||||
_dns_master="$(dig +short ${dkim_domain} SOA 2>/dev/null | awk '{print$1}' | sed 's/\.$//')"
|
||||
echononl "Determin DNS master of '${zone}'.."
|
||||
_dns_master="$(dig +short ${zone} SOA 2>/dev/null | awk '{print$1}' | sed 's/\.$//')"
|
||||
if [[ -z "$_dns_master" ]]; then
|
||||
echo_failed
|
||||
fatal "Determin DNS master of '${dkim_domain}' failed!"
|
||||
if $terminal ; then
|
||||
fatal "Determin DNS master of '${zone}' failed!"
|
||||
else
|
||||
echo -e " [ Fatal ] Found responsible zone for '${dkim_domain}' (${zone}), but"
|
||||
echo -e " cannot determin master dns server for '${zone}'!"
|
||||
clean_up 1
|
||||
fi
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
|
||||
|
||||
# - Check if Nameserver is accessable via ssh
|
||||
# -
|
||||
echononl "Check if Nameserver '$_dns_master' is accessable via ssh .."
|
||||
@ -856,7 +890,7 @@ if $_create_dkim_zone ; then
|
||||
# - Check if Script '$add_dkim_zone_slave_script' is accessable on slave servers
|
||||
# -
|
||||
for _server in ${dns_dkim_zone_slave_server_arr[@]} ; do
|
||||
echononl "Check Script '$add_dkim_zone_master_script'at $_server .."
|
||||
echononl "Check Script '$add_dkim_zone_slave_script' (${_server}).."
|
||||
echo_wait
|
||||
ssh -q -p $dns_ssh_port \
|
||||
-o BatchMode=yes \
|
||||
@ -881,7 +915,7 @@ if $_create_dkim_zone ; then
|
||||
echo -e " \033[32mCreate zone \033[37m\033[1m${update_zone}\033[m at dns master."
|
||||
echo ""
|
||||
fi
|
||||
echononl "Create zone '${update_zone}' at dns master '${_dns_master}'.."
|
||||
echononl "Create zone '${update_zone}' at dns master '${dns_dkim_zone_master_server}'.."
|
||||
echo_wait
|
||||
ssh -q -p $dns_ssh_port \
|
||||
-o BatchMode=yes \
|
||||
@ -923,6 +957,12 @@ if $_create_dkim_zone ; then
|
||||
15) $terminal && echo_failed
|
||||
fatal "DKIM domain '$dkim_domain' not supported by this nameserver!"
|
||||
;;
|
||||
16) $terminal && echo_failed
|
||||
fatal "No responsible zone for '$dkim_domain' found!"
|
||||
;;
|
||||
17) $terminal && echo_failed
|
||||
fatal "No responsible nameservers found!"
|
||||
;;
|
||||
20) $terminal && echo_failed
|
||||
fatal "Adding Zone definition for '${update_zone}' failed!"
|
||||
;;
|
||||
|
Loading…
Reference in New Issue
Block a user