Files
web/scripts/check-embedded-webauthn.sh
gamertan bfe6cfd29e
verify / verify (push) Successful in 3m40s
auth: publish passkey foundations preview
2026-08-21 17:33:00 -04:00

41 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: AGPL-3.0-only
set -euo pipefail
root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
cd "$root"
source_root=third_party/go-webauthn
embedded_root=internal/webauthnvendored
derived=$(mktemp -d)
trap 'rm -rf "$derived"' EXIT
packages=(
metadata
protocol
protocol/webauthncbor
protocol/webauthncose
webauthn
)
install -D -m 0644 "$source_root/LICENSE" "$derived/LICENSE"
for package in "${packages[@]}"; do
while IFS= read -r source; do
relative=${source#"$source_root"/}
install -D -m 0644 "$source" "$derived/$relative"
done < <(find "$source_root/$package" -maxdepth 1 -type f -name '*.go' ! -name '*_test.go' | sort)
done
while IFS= read -r source; do
sed -i \
's#github.com/go-webauthn/webauthn#gamertan.com/web/internal/webauthnvendored#g' \
"$source"
done < <(find "$derived" -type f -name '*.go' | sort)
cmp -s LICENSES/BSD-3-Clause-go-webauthn.txt "$embedded_root/LICENSE"
if ! diff -ru --no-dereference "$derived" "$embedded_root"; then
echo 'compiled WebAuthn verifier differs from its audited mechanical derivation' >&2
exit 1
fi
test "$(find "$embedded_root" -type f | wc -l)" -eq 57