fi
return 0
fi
- if ip4=$(curl -s4 https://iankelling.org/cgi/pubip); then
+ if ip4=$(curl --connect-timeout 10 -s4 https://iankelling.org/cgi/pubip); then
if $force || [[ $cur4 && $ip4 && $cur4 != $ip4 ]]; then
up4=true # update ipv4
fi
up6=false
- out6=$(curl -s6 https://iankelling.org/cgi/pubip) ||: # failure allowed if we have no ipv6
+ out6=$(curl --connect-timeout 10 -s6 https://iankelling.org/cgi/pubip) ||: # failure allowed if we have no ipv6
if [[ $out6 ]]; then
dev=$(ip -o a show to $out6 | awk '{print $2}')
up6=true
fi
+ # if we failed to get our ipv6 addr, we probably have ipv6
+ # connectivity problem.
+ if [[ ! $ip6 ]]; then
+ ip_arg=-4
+ fi
+
if ! $up4 && ! $up6; then
return 0
fi
quit
EOF
- nsupdate -k /p/c/machine_specific/vps/filesystem/etc/bind/Kb8.nz.*.private <$f || nsupdate_fails=$((nsupdate_fails + 1))
+ chronic nsupdate $ip_arg -k /p/c/machine_specific/vps/filesystem/etc/bind/Kb8.nz.*.private <$f || nsupdate_fails=$((nsupdate_fails + 1))
sed -i 's/^server .*/server bk.b8.nz/' $f
- nsupdate -k /p/c/machine_specific/vps/filesystem/etc/bind/Kb8.nz.*.private <$f || nsupdate_fails=$((nsupdate_fails + 1))
+ chronic nsupdate $ip_arg -k /p/c/machine_specific/vps/filesystem/etc/bind/Kb8.nz.*.private <$f || nsupdate_fails=$((nsupdate_fails + 1))
if (( nsupdate_fails > nsupdate_fail_limit )); then
echo error: nsupdate is persistently failing >&2
exit 1