mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-24 10:09:01 -06:00
security: enforce HTTPS on curl downloads (SonarCloud S6506)
Add --proto '=https' to curl invocations so redirects cannot downgrade to plaintext HTTP. Resolves SonarCloud S6506 (shell/docker/githubactions).
This commit is contained in:
@@ -114,7 +114,7 @@ if has appimage; then
|
|||||||
if [ -z "$TOOL" ]; then
|
if [ -z "$TOOL" ]; then
|
||||||
TOOL="$CARGO_TARGET_DIR/appimagetool-$ARCH.AppImage"
|
TOOL="$CARGO_TARGET_DIR/appimagetool-$ARCH.AppImage"
|
||||||
if [ ! -x "$TOOL" ]; then
|
if [ ! -x "$TOOL" ]; then
|
||||||
curl -fsSL -o "$TOOL" "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$ARCH.AppImage"
|
curl --proto '=https' -fsSL -o "$TOOL" "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$ARCH.AppImage"
|
||||||
chmod +x "$TOOL"
|
chmod +x "$TOOL"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -83,13 +83,13 @@ BASE="https://huggingface.co/$REPO/resolve/main"
|
|||||||
fetch() {
|
fetch() {
|
||||||
set -- "$1" "$2" "${3:-}"
|
set -- "$1" "$2" "${3:-}"
|
||||||
if [ -n "$TOKEN" ]; then auth="Authorization: Bearer $TOKEN"; else auth="X-No-Auth: 1"; fi
|
if [ -n "$TOKEN" ]; then auth="Authorization: Bearer $TOKEN"; else auth="X-No-Auth: 1"; fi
|
||||||
code=$(curl -fsSL ${3:+-C -} -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
code=$(curl --proto '=https' -fsSL ${3:+-C -} -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
||||||
case "$code" in
|
case "$code" in
|
||||||
200|206) return 0 ;;
|
200|206) return 0 ;;
|
||||||
416)
|
416)
|
||||||
echo "the partial download of $1 doesn't match the server's; starting over" >&2
|
echo "the partial download of $1 doesn't match the server's; starting over" >&2
|
||||||
rm -f "$2"
|
rm -f "$2"
|
||||||
code=$(curl -fsSL -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
code=$(curl --proto '=https' -fsSL -H "$auth" -w '%{http_code}' -o "$2" "$BASE/$1") || true
|
||||||
[ "$code" = 200 ] && return 0
|
[ "$code" = 200 ] && return 0
|
||||||
echo "download of $REPO/$1 failed ($code)" >&2; return 1 ;;
|
echo "download of $REPO/$1 failed ($code)" >&2; return 1 ;;
|
||||||
401|403) echo "access denied to $REPO/$1 (has your request for facebook/sam3 been approved?)" >&2; return 1 ;;
|
401|403) echo "access denied to $REPO/$1 (has your request for facebook/sam3 been approved?)" >&2; return 1 ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user