From cefe85250ccfd7e3c9872d714e913ca2162ccbf4 Mon Sep 17 00:00:00 2001 From: Pyry Kontio Date: Tue, 29 Nov 2022 00:15:47 +0900 Subject: ddns-scripts: update_gandi_net: improve logging & add timeout - Improved logging - Log the executed curl command to be able to rerun and test it manually - Log the curl exit status - Added 30 second timeout timeout for clear-cut detection of flaky connections. Signed-off-by: Pyry Kontio --- net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'net/ddns-scripts/files/usr/lib/ddns') diff --git a/net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh b/net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh index 8953072e4..321687d70 100644 --- a/net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh +++ b/net/ddns-scripts/files/usr/lib/ddns/update_gandi_net.sh @@ -20,14 +20,23 @@ json_add_array rrset_values json_add_string "" "$__IP" json_close_array +# Log the curl command +write_log 7 "curl -s -X PUT \"$__ENDPOINT/domains/$domain/records/$username/$__RRTYPE\" \ + -H \"Authorization: Apikey $password\" \ + -H \"Content-Type: application/json\" \ + -d \"$(json_dump)\" \ + --connect-timeout 30" + __STATUS=$(curl -s -X PUT "$__ENDPOINT/domains/$domain/records/$username/$__RRTYPE" \ -H "Authorization: Apikey $password" \ -H "Content-Type: application/json" \ -d "$(json_dump)" \ + --connect-timeout 30 \ -w "%{http_code}\n" -o $DATFILE 2>$ERRFILE) -if [ $? -ne 0 ]; then - write_log 14 "Curl failed: $(cat $ERRFILE)" +local __ERRNO=$? +if [ $__ERRNO -ne 0 ]; then + write_log 14 "Curl failed with $__ERRNO: $(cat $ERRFILE)" return 1 elif [ -z $__STATUS ] || [ $__STATUS != 201 ]; then write_log 14 "LiveDNS failed: $__STATUS \ngandi.net answered: $(cat $DATFILE)" -- cgit v1.2.3