From eb3b4d169ef57a60c95cb91105bbd9401cc6ae37 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 23 Jun 2023 09:35:00 +0200 Subject: fw-addr-lists: retry to download on failure --- fw-addr-lists.rsc | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'fw-addr-lists.rsc') diff --git a/fw-addr-lists.rsc b/fw-addr-lists.rsc index b33638e..b09cf29 100644 --- a/fw-addr-lists.rsc +++ b/fw-addr-lists.rsc @@ -40,8 +40,8 @@ $WaitFullyConnected; :local Failure false; :foreach List in=$FwList do={ - :local Data; :local CheckCertificate "no"; + :local Data false; :if ([ :len ($List->"cert") ] > 0) do={ :set CheckCertificate "yes-without-crl"; @@ -50,9 +50,19 @@ $WaitFullyConnected; } } - :do { - :set Data ([ /tool/fetch ($List->"url") check-certificate=$CheckCertificate output=user as-value ]->"data"); - } on-error={ + :for I from=2 to=0 do={ + :if ($Data = false) do={ + :do { + :set Data ([ /tool/fetch ($List->"url") check-certificate=$CheckCertificate output=user as-value ]->"data"); + } on-error={ + $LogPrintExit2 debug $0 ("Failed downloading, " . $I . " retries pending: " . $List->"url") false; + :delay 2s; + } + } + } + + :if ($Data = false) do={ + :set Data ""; :set Failure true; $LogPrintExit2 warning $0 ("Failed downloading list from: " . $List->"url") false; } -- cgit v1.2.3-54-g00ecf