blob: 6b773a5c02a043c0bc4ca4d96431a5815f5dec5e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/sh
# Verify the scrcpy server asset against its tracked SHA-256 sidecar.
set -eu
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
ASSETS="$ROOT/app/src/main/assets"
JAR="$ASSETS/scrcpy-server.jar"
SUM="$ASSETS/scrcpy-server.sha256"
VERSION="$ASSETS/scrcpy-server.version"
for file in "$JAR" "$SUM" "$VERSION"; do
if [ ! -s "$file" ]; then
echo "check-server: $file is missing or empty" >&2
exit 1
fi
done
expected=$(cat "$SUM")
case "$expected" in
*[!0-9a-f]*|'')
echo "check-server: invalid SHA-256 in $SUM" >&2
exit 1
;;
esac
if [ "${#expected}" -ne 64 ]; then
echo "check-server: invalid SHA-256 length in $SUM" >&2
exit 1
fi
actual=$(sha256sum "$JAR" | awk '{ print $1 }')
if [ "$actual" != "$expected" ]; then
echo "check-server: scrcpy-server.jar checksum mismatch" >&2
echo " want: $expected" >&2
echo " got: $actual" >&2
exit 1
fi
if ! awk 'BEGIN { ok = 0 }
/^[0-9]+([.][0-9]+)*$/ { if (NR == 1) ok = 1; next }
{ ok = 0 }
END { exit !(ok && NR == 1) }' "$VERSION"; then
echo "check-server: invalid version in $VERSION" >&2
exit 1
fi
version=$(cat "$VERSION")
echo "check-server: ok ($version)"
|