Skip to content

Verify FFmpeg shared-library downloads before install - #51

Draft
Blackspirits wants to merge 2 commits into
upl/review-base-9be1from
fix/ffmpeg-libs-download-sha256-9be1
Draft

Verify FFmpeg shared-library downloads before install#51
Blackspirits wants to merge 2 commits into
upl/review-base-9be1from
fix/ffmpeg-libs-download-sha256-9be1

Conversation

@Blackspirits

@Blackspirits Blackspirits commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Summary

The FFmpeg video-player shared-library downloader currently uses BtbN's mutable latest release alias and unpacks the downloaded Windows x64 archive without authenticating it.

This change:

  • replaces the mutable latest URL with the dated autobuild-2026-09-11-13-20 FFmpeg 9.0 build
  • pins ffmpeg-n9.0.1-29-gad500d59cb-win64-lgpl-shared-9.0.zip
  • verifies its SHA-256 before the caller can unpack it
  • removes partial/tampered destination files on download, cancellation, or integrity failure
  • fails closed when a digest is missing
  • keeps Windows x64 platform support and the existing unpack/install flow unchanged
  • adds regressions for the exact published digest, removal of the mutable latest alias, tampered cleanup, valid payload acceptance, and missing-digest fail-closed behavior

Validation

  • pinned SHA-256 independently matched the GitHub release asset metadata for BtbN/FFmpeg-Builds release autobuild-2026-09-11-13-20: 40eec25b2f55dcad7e4d4e640919b920d29818b56fdaf9353ce1fd8adefc9d6b
  • FfmpegLibraries.MajorVersion remains 9.0, matching the pinned dated asset's release line
  • BtbN's latest tag is mutable; the dated asset makes future updates explicit and the pinned digest authenticates the bytes
  • no claim is made that the dated ZIP is byte-identical to any later latest alias target
  • full solution restore passed
  • full solution build passed
  • full solution test suite passed on the first run
  • retry step was not used
  • validation run: #34702436873

Base is upstream 9be10e12d0f04655f2f134718b00679f89b2b15f.

This PR supersedes internal draft #39.

AI assistance: ChatGPT was used to re-audit the FFmpeg shared-library download/install path on current upstream, verify the official BtbN release asset digest, port the minimal integrity fix, and add regression coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant