diff options
author | Christian Hesse <mail@eworm.de> | 2019-04-18 10:39:32 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2019-04-30 16:52:53 +0200 |
commit | 7f96e5c9669f30cd22914de7f092d009faddf304 (patch) | |
tree | d9b80f84ff3e4d65b75603c8e7d1a0a429cb7eb7 /check-certificates | |
parent | 9aac873163051aef8c1f8b5b959e5796a5341e1a (diff) |
global-functions: add $WaitForFile, wait for file on fetch
The fetch command is asynchronous, the file is not guaranteed to be
available when command terminates.
I opened an issue at Mikrotik support (Ticket#2019041722004999),
their answer:
> You should perform a check in a loop.
> :delay until file exist
>
> That can happen also with any configuration not just files.
So add a function to wait for a file with given name.
I have not seen this with other configuration, though.
Diffstat (limited to 'check-certificates')
-rw-r--r-- | check-certificates | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/check-certificates b/check-certificates index bd1e0ed..9dd9acb 100644 --- a/check-certificates +++ b/check-certificates @@ -10,6 +10,7 @@ :global SendNotification; :global UrlEncode; +:global WaitForFile; :local GetIssuerCN do={ :foreach IssuerI in=$1 do={ @@ -39,7 +40,9 @@ :foreach Type in={ ".pem"; ".p12" } do={ :local CertFileName ([ $UrlEncode $CommonName ] . $Type); :do { - / tool fetch check-certificate=yes-without-crl ($CertRenewUrl . $CertFileName); + / tool fetch check-certificate=yes-without-crl \ + ($CertRenewUrl . $CertFileName) dst-path=$CertFileName; + $WaitForFile $CertFileName; :foreach PassPhrase in=$CertRenewPass do={ / certificate import file-name=$CertFileName passphrase=$PassPhrase; } |