aboutsummaryrefslogtreecommitdiff
path: root/scripts/check-wrapper
diff options
context:
space:
mode:
authorLena <lena@omega>2026-08-01 00:00:00 +0000
committerLena <lena@omega>2026-08-01 00:00:00 +0000
commit827653aa291e37ae63c0cfa1eee4fbaa20cea122 (patch)
tree20f874004e1676b055bc695d3b1483bef9932fe7 /scripts/check-wrapper
parentdcda3f64e0822554f647ec73fa8b0252268b87a0 (diff)
downloadscrcpy-android-827653aa291e37ae63c0cfa1eee4fbaa20cea122.tar.gz
build: pin and verify release inputs
Diffstat (limited to 'scripts/check-wrapper')
-rwxr-xr-xscripts/check-wrapper24
1 files changed, 21 insertions, 3 deletions
diff --git a/scripts/check-wrapper b/scripts/check-wrapper
index 3997bed..c56b935 100755
--- a/scripts/check-wrapper
+++ b/scripts/check-wrapper
@@ -18,7 +18,25 @@ if [ ! -f "$EXPECTED_FILE" ]; then
exit 1
fi
-# sha256sum reads its first column from the .sha256 sidecar; the second
-# column ('gradle-wrapper.jar') is informational.
-( cd "$(dirname "$WRAPPER")" && sha256sum -c "$(basename "$EXPECTED_FILE")" >/dev/null )
+line=$(cat "$EXPECTED_FILE")
+expected=${line% gradle-wrapper.jar}
+if [ "$line" != "$expected gradle-wrapper.jar" ]; then
+ echo "check-wrapper: malformed $EXPECTED_FILE" >&2
+ exit 1
+fi
+case "$expected" in
+ *[!0-9a-f]*|'')
+ echo "check-wrapper: invalid SHA-256 in $EXPECTED_FILE" >&2
+ exit 1
+ ;;
+esac
+if [ "${#expected}" -ne 64 ]; then
+ echo "check-wrapper: invalid SHA-256 length in $EXPECTED_FILE" >&2
+ exit 1
+fi
+actual=$(sha256sum "$WRAPPER" | awk '{ print $1 }')
+if [ "$actual" != "$expected" ]; then
+ echo "check-wrapper: gradle-wrapper.jar checksum mismatch" >&2
+ exit 1
+fi
echo "check-wrapper: ok"