Unverified Commit 4b3053e9 by Rune Juhl Jacobsen Committed by Stéphane Graber

Change file check to also check file size (`-f` => `-s`)

Because the `fetch` wget wrapper outputs files to stdout we may end up in a situation where wget fails but the files are still created. This can happen e.g. when the host date is out of sync leading to a failed certificate check, resulting in the creation of empty key files. Once the empty files have been created the template will try to use them which causes the certificate check to fail. By using `-s` instead of `-f` the template will re-fetch the files unless they exist AND have a size greater than zero. Signed-off-by: 's avatarRune Juhl Jacobsen <runejuhl@petardo.dk>
parent e4d234a2
...@@ -185,7 +185,7 @@ fetch_apk_keys() { ...@@ -185,7 +185,7 @@ fetch_apk_keys() {
echo "$APK_KEYS_SHA256" | while read -r line; do echo "$APK_KEYS_SHA256" | while read -r line; do
keyname="${line##* }" keyname="${line##* }"
if [ ! -f "$keyname" ]; then if [ ! -s "$keyname" ]; then
fetch "$APK_KEYS_URI/$keyname" > "$keyname" fetch "$APK_KEYS_URI/$keyname" > "$keyname"
fi fi
echo "$line" | sha256sum -c - echo "$line" | sha256sum -c -
...@@ -210,7 +210,7 @@ fetch_apk_static() { ...@@ -210,7 +210,7 @@ fetch_apk_static() {
fetch "$MIRROR_URL/latest-stable/main/$arch/${pkg_name}-${pkg_ver}.apk" \ fetch "$MIRROR_URL/latest-stable/main/$arch/${pkg_name}-${pkg_ver}.apk" \
| tar -xz -C "$dest" sbin/ # --extract --gzip --directory | tar -xz -C "$dest" sbin/ # --extract --gzip --directory
[ -f "$dest/sbin/apk.static" ] || die 2 'apk.static not found' [ -s "$dest/sbin/apk.static" ] || die 2 'apk.static not found'
local keyname=$(echo "$dest"/sbin/apk.static.*.pub | sed 's/.*\.SIGN\.RSA\.//') local keyname=$(echo "$dest"/sbin/apk.static.*.pub | sed 's/.*\.SIGN\.RSA\.//')
openssl dgst -sha1 \ openssl dgst -sha1 \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment