From: Ian Kelling Date: Sun, 10 Mar 2024 04:55:17 +0000 (-0500) Subject: fix for broken ipv6 X-Git-Url: https://iankelling.org/git/?a=commitdiff_plain;h=e72acaee4cf7c394ca0e35b84d3afbd8ef5a4b32;p=distro-setup fix for broken ipv6 --- diff --git a/dynamic-ip-update b/dynamic-ip-update index 6c12ccb..c725682 100755 --- a/dynamic-ip-update +++ b/dynamic-ip-update @@ -101,7 +101,7 @@ main() { 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 @@ -113,7 +113,7 @@ main() { 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}') @@ -132,6 +132,12 @@ main() { 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 @@ -175,9 +181,9 @@ answer 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