Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 6 additions & 22 deletions bucket/camstudio.json
Original file line number Diff line number Diff line change
@@ -1,33 +1,17 @@
{
"version": "2.7.4-r354",
"version": "3.0",
"description": "Free desktop recorder and video streaming software",
"homepage": "https://camstudio.org/",
"license": "GPL-3.0-or-later",
"license": "Freeware",
"suggest": {
"vcredist": "extras/vcredist2010"
"vcredist": "extras/vcredist2015"
},
"url": [
"https://eu2.contabostorage.com/a4054a9f5df24ecf87c4a33ac9b6477b:camstudio/CamStudioSetup.exe#/dl.exe",
"https://downloads.sourceforge.net/project/camstudio/legacy/CamStudioCodec_1.5_Setup.exe#/codec.7z_"
],
"hash": [
"3fbe450e3267799f372a775e4c7e7c47c8bbffeebb0bd0c9690e63374eba8ba0",
"a589f791aea96adc4350b70ecde7572dadd7a80c1a054959874c3d6e01fa4b04"
],
"pre_install": [
"Expand-InnoArchive \"$dir\\dl.exe\" \"$dir\" -Removal | Out-Null",
"Expand-7zipArchive \"$dir\\codec.7z_\" \"$dir\" -ExtractDir '$SYSDIR' -Overwrite All -Removal | Out-Null",
"Remove-Item \"$dir\\CamStudio.nsi\""
],
"bin": "CamCommandLine.exe",
"url": "https://camstudio.org/assets/current-version/CamStudio-x64.exe",
"hash": "b5f48d48e090bd2e3404bfb37cf2e522c1462e03f0fed96dd3459c5c41d5e86e",
Comment on lines +9 to +10

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only verification: detect x64-only payload without architecture scoping.
python - <<'PY'
import json, re, pathlib, sys
p = pathlib.Path("bucket/camstudio.json")
data = json.loads(p.read_text(encoding="utf-8"))
url = data.get("url", "")
arch = data.get("architecture")
x64_hint = bool(re.search(r'(x64|64bit)', url, re.I))
print(f"url={url}")
print(f"has_architecture_block={arch is not None}")
print(f"x64_hint_in_url={x64_hint}")
if x64_hint and arch is None:
    print("FAIL: x64-only hint detected but no architecture block is defined.")
    sys.exit(1)
print("PASS: architecture scoping looks consistent with URL hints.")
PY

Repository: ScoopInstaller/Extras

Length of output: 249


🏁 Script executed:

cat -n bucket/camstudio.json

Repository: ScoopInstaller/Extras

Length of output: 694


🏁 Script executed:

# Check if autoupdate block exists and for any hardcoded versions
rg -A 20 "autoupdate" bucket/camstudio.json

Repository: ScoopInstaller/Extras

Length of output: 47


🏁 Script executed:

# Check file line endings (CRLF vs LF)
file bucket/camstudio.json

Repository: ScoopInstaller/Extras

Length of output: 110


🏁 Script executed:

# Check if this is a newly added file or existing file
git log --oneline -1 bucket/camstudio.json 2>/dev/null || echo "File may be newly added or git not available"

Repository: ScoopInstaller/Extras

Length of output: 97


🏁 Script executed:

# Check line endings using od (hex dump to detect CRLF vs LF)
od -c bucket/camstudio.json | head -20

Repository: ScoopInstaller/Extras

Length of output: 106


🏁 Script executed:

# Alternative: use sed to check for line endings
python3 - <<'PY'
import pathlib
p = pathlib.Path("bucket/camstudio.json")
content = p.read_bytes()
has_crlf = b'\r\n' in content
has_lf_only = b'\n' in content and not has_crlf
print(f"Has CRLF: {has_crlf}")
print(f"Has LF only: {has_lf_only}")
PY

Repository: ScoopInstaller/Extras

Length of output: 99


Scope this manifest to 64-bit explicitly to avoid unsupported installs on 32-bit systems.

The URL on line 9 points to an x64-only installer (CamStudio-x64.exe), but the manifest does not define an architecture block. This means Scoop may attempt installation on 32-bit systems and fail at runtime. Move url and hash into a 64bit architecture block.

Suggested patch
 {
     "version": "3.0",
     "description": "Free desktop recorder and video streaming software",
     "homepage": "https://camstudio.org/",
     "license": "Freeware",
     "suggest": {
         "vcredist": "extras/vcredist2015"
     },
-    "url": "https://camstudio.org/assets/current-version/CamStudio-x64.exe",
-    "hash": "b5f48d48e090bd2e3404bfb37cf2e522c1462e03f0fed96dd3459c5c41d5e86e",
+    "architecture": {
+        "64bit": {
+            "url": "https://camstudio.org/assets/current-version/CamStudio-x64.exe",
+            "hash": "b5f48d48e090bd2e3404bfb37cf2e522c1462e03f0fed96dd3459c5c41d5e86e"
+        }
+    },
     "shortcuts": [
         [
             "CamStudio-x64.exe",
             "CamStudio"
         ]
     ]
 }

For manifest validation guidance, see the contribution guide and manifest wiki.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"url": "https://camstudio.org/assets/current-version/CamStudio-x64.exe",
"hash": "b5f48d48e090bd2e3404bfb37cf2e522c1462e03f0fed96dd3459c5c41d5e86e",
{
"version": "3.0",
"description": "Free desktop recorder and video streaming software",
"homepage": "https://camstudio.org/",
"license": "Freeware",
"suggest": {
"vcredist": "extras/vcredist2015"
},
"architecture": {
"64bit": {
"url": "https://camstudio.org/assets/current-version/CamStudio-x64.exe",
"hash": "b5f48d48e090bd2e3404bfb37cf2e522c1462e03f0fed96dd3459c5c41d5e86e"
}
},
"shortcuts": [
[
"CamStudio-x64.exe",
"CamStudio"
]
]
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/camstudio.json` around lines 9 - 10, The manifest does not specify
that the x64-only installer is architecture-scoped, which could cause
installation failures on 32-bit systems. Move the url field (pointing to
CamStudio-x64.exe) and its corresponding hash field into a 64bit architecture
block to explicitly restrict this installer to 64-bit systems only. This
prevents Scoop from attempting installation on incompatible architectures.

"shortcuts": [
[
"Recorder.exe",
"CamStudio-x64.exe",
"CamStudio"
]
],
"persist": [
"controller\\controller.ini",
"ffmpeg.log"
]
}
Loading