@volter/browser-wali 0.1.196 → 0.1.198

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"exec-format.d.ts","sourceRoot":"","sources":["../src/exec-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GACvG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAmDpD"}
1
+ {"version":3,"file":"exec-format.d.ts","sourceRoot":"","sources":["../src/exec-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GACvG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAkEpD"}
@@ -1,3 +1,5 @@
1
+ import { absoluteWaliPath } from "./paths.js";
2
+ import { resolveWaliSymlinkPath } from "./symlink.js";
1
3
  // Linux exec format ABI, not a resource watchdog: include/uapi/linux/binfmts.h
2
4
  // BINPRM_BUF_SIZE and fs/exec.c exec_binprm's depth > 5 check.
3
5
  const EXEC_HEADER_BYTES = 256;
@@ -11,7 +13,24 @@ export function resolveWaliExec(filesystem, pathname, argv, cwd) {
11
13
  for (let depth = 0;; depth++) {
12
14
  if (depth > MAX_INTERPRETER_REWRITES)
13
15
  return -40;
14
- const path = executablePath.startsWith("/") ? executablePath : `${cwd}/${executablePath}`;
16
+ // Use the same component walk as open/stat, including marker-backed
17
+ // links, relative targets and Linux's 40-hop limit. Header reads and the
18
+ // backend image selection must name the target; argv[0] stays verbatim.
19
+ let path;
20
+ try {
21
+ path = resolveWaliSymlinkPath(filesystem, absoluteWaliPath(cwd, executablePath));
22
+ }
23
+ catch (error) {
24
+ const code = error?.code;
25
+ switch (code) {
26
+ case "ENOENT": return -2;
27
+ case "EACCES": return -13;
28
+ case "ENOTDIR": return -20;
29
+ case "ENAMETOOLONG": return -36;
30
+ case "ELOOP": return -40;
31
+ default: throw error;
32
+ }
33
+ }
15
34
  if (!filesystem.existsSync(path))
16
35
  return -2;
17
36
  const stat = filesystem.statSync(path);
@@ -1 +1 @@
1
- {"version":3,"file":"exec-format.js","sourceRoot":"","sources":["../src/exec-format.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,+DAA+D;AAC/D,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,UAA0B,EAAE,QAAgB,EAAE,IAAc,EAAE,GAAW;IAEvG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IACrC,IAAI,cAAc,GAAG,QAAQ,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,EAAE,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAG,wBAAwB;YAAE,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QAC1F,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,iBAAiB,CAAC;eACjE,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAClE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACnD,qEAAqE;QACrE,yEAAyE;QACzE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;eAClF,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5F,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,GAAG;YAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,qEAAqE;YACrE,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,OAAO,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;gBAAE,IAAI,EAAE,CAAC;YAC/D,IAAI,IAAI,KAAK,MAAM,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC,CAAC;YACtC,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,OAAO,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;gBAAE,UAAU,EAAE,CAAC;YAC9G,IAAI,UAAU,KAAK,MAAM,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC5C,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;YAAE,GAAG,EAAE,CAAC;QACpD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;YAAE,IAAI,EAAE,CAAC;QACrD,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAClD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,OAAO,SAAS,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;YAAE,SAAS,EAAE,CAAC;QAChG,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAClE,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,OAAO,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;YAAE,QAAQ,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,qEAAqE;QACrE,0EAA0E;QAC1E,IAAI,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,cAAc,GAAG,WAAW,CAAC;IAC/B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"exec-format.js","sourceRoot":"","sources":["../src/exec-format.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volter/browser-wali",
3
- "version": "0.1.196",
3
+ "version": "0.1.198",
4
4
  "description": "A browser host for WebAssembly Linux Interface programs",
5
5
  "license": "MIT",
6
6
  "repository": {