feat: add support for validating asar archives on macOS (#30667)
* feat: add support for validating asar archives on macOS * chore: fix lint * chore: update as per feedback * feat: switch implementation to asar integrity hash checks * feat: make ranged requests work with the asar file validator DataSourceFilter * chore: fix lint * chore: fix missing log include on non-darwin * fix: do not pull block size out of missing optional * fix: match ValidateOrDie symbol on non-darwin * chore: fix up asar specs by repacking archives * fix: maintain integrity chain, do not load file integrity if header integrity was not loaded * debug test * Update node-spec.ts * fix: initialize header_validated_ * chore: update PR per feedback * chore: update per feedback * build: use final asar module * Update fuses.json5
This commit is contained in:
parent
fcad531f2e
commit
57d088517c
35 changed files with 705 additions and 43 deletions
16
script/gn-plist-but-with-hashes.js
Normal file
16
script/gn-plist-but-with-hashes.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
const fs = require('fs');
|
||||
|
||||
const [,, plistPath, outputPath, ...keySet] = process.argv;
|
||||
|
||||
const keyPairs = {};
|
||||
for (let i = 0; i * 2 < keySet.length; i++) {
|
||||
keyPairs[keySet[i]] = fs.readFileSync(keySet[(keySet.length / 2) + i], 'utf8');
|
||||
}
|
||||
|
||||
let plistContents = fs.readFileSync(plistPath, 'utf8');
|
||||
|
||||
for (const key of Object.keys(keyPairs)) {
|
||||
plistContents = plistContents.replace(`$\{${key}}`, keyPairs[key]);
|
||||
}
|
||||
|
||||
fs.writeFileSync(outputPath, plistContents);
|
Loading…
Add table
Add a link
Reference in a new issue