@volter/browser-wali 0.1.170 → 0.1.172
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.
- package/dist/capabilities.d.ts +1 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +1 -0
- package/dist/capabilities.js.map +1 -1
- package/dist/credentials.d.ts +4 -0
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +9 -2
- package/dist/credentials.js.map +1 -1
- package/dist/filesystem-remote.d.ts.map +1 -1
- package/dist/filesystem-remote.js +3 -2
- package/dist/filesystem-remote.js.map +1 -1
- package/dist/filesystem.d.ts +5 -0
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +147 -1
- package/dist/filesystem.js.map +1 -1
- package/dist/runtime.js +3 -3
- package/dist/runtime.js.map +1 -1
- package/dist/shared-pipes.d.ts +13 -3
- package/dist/shared-pipes.d.ts.map +1 -1
- package/dist/shared-pipes.js +202 -16
- package/dist/shared-pipes.js.map +1 -1
- package/dist/snapshot-filesystem.d.ts +3 -0
- package/dist/snapshot-filesystem.d.ts.map +1 -1
- package/dist/snapshot-filesystem.js +28 -5
- package/dist/snapshot-filesystem.js.map +1 -1
- package/dist/thread-worker.js +1 -1
- package/dist/thread-worker.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/capabilities.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const WALI_IMPLEMENTED_IMPORTS: Set<"SYS_fcntl" | "SYS_ioctl" | "SYS_pipe" | "SYS_pipe2" | "
|
|
1
|
+
export declare const WALI_IMPLEMENTED_IMPORTS: Set<"SYS_close" | "SYS_fcntl" | "SYS_ioctl" | "SYS_pipe" | "SYS_pipe2" | "SYS_ftruncate" | "SYS_fsync" | "SYS_fdatasync" | "SYS_read" | "SYS_pread64" | "SYS_write" | "SYS_pwrite64" | "SYS_preadv" | "SYS_pwritev" | "SYS_readv" | "SYS_writev" | "SYS_lseek" | "SYS_fstat" | "SYS_dup" | "SYS_dup2" | "SYS_dup3" | "SYS_poll" | "SYS_open" | "SYS_openat" | "SYS_brk" | "SYS_mmap" | "SYS_mprotect" | "SYS_munmap" | "SYS_mremap" | "SYS_madvise" | "SYS_msync" | "setjmp" | "_setjmp" | "sigsetjmp" | "longjmp" | "_longjmp" | "SYS_prctl" | "SYS_setsockopt" | "SYS_getsockopt" | "SYS_socket" | "SYS_rt_sigaction" | "SYS_rt_sigprocmask" | "SYS_rt_sigtimedwait" | "SYS_rt_sigpending" | "SYS_getresuid" | "SYS_getresgid" | "SYS_getgroups" | "SYS_setuid" | "SYS_setgid" | "SYS_setreuid" | "SYS_setregid" | "SYS_setresuid" | "SYS_setresgid" | "SYS_setfsuid" | "SYS_setfsgid" | "SYS_setgroups" | "__init" | "__deinit" | "__proc_exit" | "__cl_get_argc" | "__cl_get_argv_len" | "__cl_copy_argv" | "__get_init_envfile" | "__cl_get_envc" | "__cl_get_env_len" | "__cl_copy_env" | "SYS_link" | "SYS_linkat" | "SYS_mknod" | "SYS_mknodat" | "SYS_chown" | "SYS_lchown" | "SYS_fchown" | "SYS_fchownat" | "SYS_access" | "SYS_chdir" | "SYS_clock_getres" | "SYS_clock_gettime" | "SYS_clock_nanosleep" | "SYS_epoll_create" | "SYS_epoll_create1" | "SYS_epoll_ctl" | "SYS_epoll_pwait" | "SYS_epoll_wait" | "SYS_eventfd" | "SYS_eventfd2" | "SYS_exit" | "SYS_exit_group" | "SYS_faccessat" | "SYS_faccessat2" | "SYS_fchdir" | "SYS_flock" | "SYS_getcwd" | "SYS_getdents64" | "SYS_getegid" | "SYS_geteuid" | "SYS_getgid" | "SYS_futex" | "SYS_getpid" | "SYS_getppid" | "SYS_getrandom" | "SYS_getrlimit" | "SYS_getrusage" | "SYS_gettid" | "SYS_gettimeofday" | "SYS_getuid" | "SYS_lstat" | "SYS_mkdir" | "SYS_mkdirat" | "SYS_nanosleep" | "SYS_newfstatat" | "SYS_readlink" | "SYS_readlinkat" | "SYS_symlink" | "SYS_symlinkat" | "SYS_prlimit64" | "SYS_rename" | "SYS_rmdir" | "SYS_sched_getaffinity" | "SYS_sched_setscheduler" | "SYS_sched_yield" | "SYS_set_robust_list" | "SYS_set_tid_address" | "SYS_setrlimit" | "SYS_sigaltstack" | "SYS_stat" | "SYS_sysinfo" | "SYS_umask" | "SYS_uname" | "SYS_unlink" | "SYS_unlinkat" | "SYS_socketpair" | "SYS_tkill" | "__wasm_thread_spawn" | "SYS_timerfd_create" | "SYS_timerfd_settime" | "SYS_browser_spawn" | "SYS_browser_spawn_confined_v1" | "SYS_fork" | "SYS_execve" | "SYS_wait4" | "SYS_pidfd_open" | "SYS_kill" | "SYS_setpgid" | "SYS_getpgid" | "SYS_getsid" | "SYS_setsid" | "SYS_chmod" | "SYS_fchmod" | "SYS_fchmodat" | "SYS_utimensat" | "SYS_renameat" | "SYS_truncate" | "SYS_statfs" | "SYS_fstatfs" | "SYS_inotify_init" | "SYS_inotify_init1" | "SYS_inotify_add_watch" | "SYS_inotify_rm_watch" | "SYS_connect" | "SYS_bind" | "SYS_send" | "SYS_sendto" | "SYS_recv" | "SYS_recvfrom" | "SYS_sendmsg" | "SYS_recvmsg" | "SYS_shutdown" | "SYS_getsockname" | "SYS_getpeername" | "SYS_select" | "SYS_browser_codec_query_v1" | "SYS_browser_codec_open_v1" | "SYS_browser_codec_push_v1" | "SYS_browser_codec_pull_v1" | "SYS_browser_codec_flush_v1" | "SYS_browser_codec_close_v1">;
|
|
2
2
|
export declare function missingWaliImports(importNames: Iterable<string>): string[];
|
|
3
3
|
/**
|
|
4
4
|
* AN UNIMPLEMENTED SYSCALL ANSWERS `-ENOSYS`; THESE FOUR STILL TRAP.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,ggGA0B1B,CAAC;AAEZ,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAE1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,qBAAqB,2EAOvB,CAAC;AAEZ,kEAAkE;AAClE,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D"}
|
package/dist/capabilities.js
CHANGED
|
@@ -4,6 +4,7 @@ export const WALI_IMPLEMENTED_IMPORTS = new Set([
|
|
|
4
4
|
"__init", "__deinit", "__proc_exit", "__cl_get_argc", "__cl_get_argv_len", "__cl_copy_argv", "__get_init_envfile",
|
|
5
5
|
"__cl_get_envc", "__cl_get_env_len", "__cl_copy_env",
|
|
6
6
|
"SYS_link", "SYS_linkat",
|
|
7
|
+
"SYS_mknod", "SYS_mknodat", "SYS_chown", "SYS_lchown", "SYS_fchown", "SYS_fchownat",
|
|
7
8
|
"SYS_access", "SYS_brk", "SYS_chdir", "SYS_clock_getres", "SYS_clock_gettime", "SYS_clock_nanosleep", "SYS_close", "SYS_dup", "SYS_dup2", "SYS_dup3",
|
|
8
9
|
"SYS_epoll_create", "SYS_epoll_create1", "SYS_epoll_ctl", "SYS_epoll_pwait", "SYS_epoll_wait", "SYS_eventfd", "SYS_eventfd2",
|
|
9
10
|
"SYS_exit", "SYS_exit_group", "SYS_faccessat", "SYS_faccessat2", "SYS_fchdir", "SYS_fcntl",
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
package/dist/credentials.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { WaliImportHandler } from "./types.js";
|
|
2
|
+
export declare const WALI_USER_ID = 1000;
|
|
3
|
+
export declare const WALI_GROUP_ID = 1000;
|
|
4
|
+
/** Non-root single-user chown: -1 leaves an id unchanged. */
|
|
5
|
+
export declare function waliOwnershipAllowed(owner: number, group: number): boolean;
|
|
2
6
|
/** Immutable single-user credentials shared by every process and pthread. */
|
|
3
7
|
export declare function waliCredentialImports(memory: () => WebAssembly.Memory): Record<string, WaliImportHandler>;
|
|
4
8
|
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,aAAa,OAAO,CAAC;AAMlC,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAoCzG"}
|
package/dist/credentials.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
const
|
|
2
|
-
const
|
|
1
|
+
export const WALI_USER_ID = 1000;
|
|
2
|
+
export const WALI_GROUP_ID = 1000;
|
|
3
|
+
const USER_ID = WALI_USER_ID;
|
|
4
|
+
const GROUP_ID = WALI_GROUP_ID;
|
|
3
5
|
const UNCHANGED_ID = 0xffffffff;
|
|
4
6
|
const id = (value) => Number(BigInt.asUintN(32, BigInt(value)));
|
|
7
|
+
/** Non-root single-user chown: -1 leaves an id unchanged. */
|
|
8
|
+
export function waliOwnershipAllowed(owner, group) {
|
|
9
|
+
return (id(owner) === USER_ID || id(owner) === UNCHANGED_ID)
|
|
10
|
+
&& (id(group) === GROUP_ID || id(group) === UNCHANGED_ID);
|
|
11
|
+
}
|
|
5
12
|
/** Immutable single-user credentials shared by every process and pthread. */
|
|
6
13
|
export function waliCredentialImports(memory) {
|
|
7
14
|
const writeIds = (value, pointers) => {
|
package/dist/credentials.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAMA,MAAM,
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-remote.d.ts","sourceRoot":"","sources":["../src/filesystem-remote.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filesystem-remote.d.ts","sourceRoot":"","sources":["../src/filesystem-remote.ts"],"names":[],"mappings":"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"}
|
|
@@ -483,16 +483,17 @@ const SHARED_FILE_FD_LIMIT = 10_000;
|
|
|
483
483
|
/** fcntl's lock commands (F_GETLK, F_SETLK, F_SETLKW and their OFD forms): the ones that may wait on another holder. */
|
|
484
484
|
const FCNTL_LOCKS = new Set([5, 6, 7, 36, 37, 38]);
|
|
485
485
|
const PATH_SYSCALLS = new Set([
|
|
486
|
-
"SYS_open", "SYS_openat", "SYS_stat", "SYS_lstat", "SYS_newfstatat", "SYS_access",
|
|
486
|
+
"SYS_mknod", "SYS_mknodat", "SYS_open", "SYS_openat", "SYS_stat", "SYS_lstat", "SYS_newfstatat", "SYS_access",
|
|
487
487
|
"SYS_faccessat", "SYS_faccessat2", "SYS_chmod", "SYS_fchmodat", "SYS_chdir", "SYS_getcwd", "SYS_umask",
|
|
488
488
|
"SYS_mkdir", "SYS_mkdirat", "SYS_statfs", "SYS_rmdir", "SYS_unlink", "SYS_unlinkat",
|
|
489
489
|
"SYS_link", "SYS_linkat",
|
|
490
|
+
"SYS_chown", "SYS_lchown", "SYS_fchownat",
|
|
490
491
|
"SYS_rename", "SYS_renameat", "SYS_truncate", "SYS_utimensat", "SYS_symlink", "SYS_symlinkat", "SYS_readlink", "SYS_readlinkat",
|
|
491
492
|
"SYS_inotify_init", "SYS_inotify_init1",
|
|
492
493
|
]);
|
|
493
494
|
const FD_SYSCALLS = new Set([
|
|
494
495
|
"SYS_close", "SYS_read", "SYS_pread64", "SYS_write", "SYS_pwrite64", "SYS_readv", "SYS_writev", "SYS_preadv", "SYS_pwritev",
|
|
495
|
-
"SYS_lseek", "SYS_fstat", "SYS_fchmod", "SYS_fchdir", "SYS_fstatfs", "SYS_inotify_add_watch",
|
|
496
|
+
"SYS_lseek", "SYS_fstat", "SYS_fchmod", "SYS_fchown", "SYS_fchdir", "SYS_fstatfs", "SYS_inotify_add_watch",
|
|
496
497
|
"SYS_inotify_rm_watch", "SYS_dup", "SYS_dup2", "SYS_dup3", "SYS_fcntl", "SYS_ioctl", "SYS_getdents64",
|
|
497
498
|
"SYS_fsync", "SYS_fdatasync", "SYS_flock", "SYS_ftruncate",
|
|
498
499
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-remote.js","sourceRoot":"","sources":["../src/filesystem-remote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filesystem-remote.js","sourceRoot":"","sources":["../src/filesystem-remote.ts"],"names":[],"mappings":"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"}
|
package/dist/filesystem.d.ts
CHANGED
|
@@ -143,6 +143,11 @@ export declare class WaliFileDescriptorTable {
|
|
|
143
143
|
private chmod;
|
|
144
144
|
private chmodAt;
|
|
145
145
|
private fchmod;
|
|
146
|
+
/** Linux mknod kind and permission rules; storage owns FIFO metadata. */
|
|
147
|
+
private mknodAt;
|
|
148
|
+
/** WasmFS fchownat lookup/flags; our fixed non-root account adds EPERM. */
|
|
149
|
+
private chownAt;
|
|
150
|
+
private fchown;
|
|
146
151
|
private chdir;
|
|
147
152
|
private fchdir;
|
|
148
153
|
private getcwd;
|
package/dist/filesystem.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"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"}
|
package/dist/filesystem.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
// (Copyright 2021, MIT), 862dc0d48acc4134a0088d27ac8f5dd18baba1cd; see ../LICENSE.
|
|
3
3
|
// Storage, shared descriptors and process state remain owned by this kernel.
|
|
4
4
|
import { createWaliDevice, waliDeviceStat } from "./special-files.js";
|
|
5
|
+
import { WALI_USER_ID, waliOwnershipAllowed } from "./credentials.js";
|
|
5
6
|
import { realtimeMilliseconds } from "./monotonic-clock.js";
|
|
6
7
|
import { gatherWaliWriteVector } from "./write-vector.js";
|
|
7
8
|
import { setBrowserFileTimes } from "@volter/browser-runtime/browser-file-times.js";
|
|
8
9
|
import { WaliDescriptionRegistry, WaliProcessDescriptorTable } from "./descriptors.js";
|
|
9
|
-
import { WaliSharedPipeHost } from "./shared-pipes.js";
|
|
10
|
+
import { WaliSharedPipeHost, waliNamedPipeInode, waliNamedPipePath } from "./shared-pipes.js";
|
|
10
11
|
import { createProcessFilesystemMutationGuard } from "@volter/browser-runtime/browser-process-filesystem-policy.js";
|
|
11
12
|
import { BufferedWaliStdin } from "./stdin.js";
|
|
12
13
|
import { readWaliSymlink, resolveWaliSymlinkPath, writeWaliSymlink } from "./symlink.js";
|
|
@@ -48,6 +49,7 @@ const AT_SYMLINK_NOFOLLOW = 0x100;
|
|
|
48
49
|
const AT_REMOVEDIR = 0x200;
|
|
49
50
|
const UTIME_NOW = 0x3fffffffn;
|
|
50
51
|
const UTIME_OMIT = 0x3ffffffen;
|
|
52
|
+
const S_IFIFO = 0o010000;
|
|
51
53
|
const S_IFREG = 0o100000;
|
|
52
54
|
const S_IFDIR = 0o040000;
|
|
53
55
|
const S_IFLNK = 0o120000;
|
|
@@ -104,6 +106,7 @@ export class WaliFileDescriptorTable {
|
|
|
104
106
|
...(fs.viewRangeSync ? { viewRangeSync: fs.viewRangeSync.bind(fs) } : {}),
|
|
105
107
|
...(fs.writeRangeSync ? { writeRangeSync: (path, offset, data) => fs.writeRangeSync(this.assertWritable(path), offset, data) } : {}),
|
|
106
108
|
...(fs.truncateSync ? { truncateSync: (path, length) => fs.truncateSync(this.assertWritable(path), length) } : {}),
|
|
109
|
+
...(fs.createFifoSync ? { createFifoSync: (path, mode) => fs.createFifoSync(this.assertWritable(path), mode) } : {}),
|
|
107
110
|
...(fs.createFileSync ? { createFileSync: (path, mode) => fs.createFileSync(this.assertWritable(path), mode) } : {}),
|
|
108
111
|
mkdirSync: (path, settings) => fs.mkdirSync(this.assertWritable(path), settings),
|
|
109
112
|
unlinkSync: (path) => fs.unlinkSync(this.assertWritable(path)),
|
|
@@ -113,6 +116,7 @@ export class WaliFileDescriptorTable {
|
|
|
113
116
|
rmdirSync: (path) => fs.rmdirSync(this.assertWritable(path)),
|
|
114
117
|
renameSync: (from, to) => fs.renameSync(this.assertWritable(from), this.assertWritable(to)),
|
|
115
118
|
...(fs.chmodSync ? { chmodSync: (path, mode) => fs.chmodSync(this.assertWritable(path), mode) } : {}),
|
|
119
|
+
...(fs.chownSync ? { chownSync: (path, owner, group) => fs.chownSync(this.assertWritable(path), owner, group) } : {}),
|
|
116
120
|
...(fs.utimesSync ? { utimesSync: (path, atime, mtime) => fs.utimesSync(this.assertWritable(path), atime, mtime) } : {}),
|
|
117
121
|
...(fs.utimesMsSync ? { utimesMsSync: (path, atime, mtime, ctime) => fs.utimesMsSync(this.assertWritable(path), atime, mtime, ctime) } : {}),
|
|
118
122
|
...(fs.reserveInodes ? { reserveInodes: fs.reserveInodes.bind(fs) } : {}),
|
|
@@ -162,10 +166,16 @@ export class WaliFileDescriptorTable {
|
|
|
162
166
|
},
|
|
163
167
|
SYS_chmod: (path, mode) => this.chmod(this.readCString(Number(path)), Number(mode)),
|
|
164
168
|
SYS_fchmod: (fd, mode) => this.fchmod(Number(fd), Number(mode)),
|
|
169
|
+
SYS_chown: (path, owner, group) => this.chownAt(AT_FDCWD, this.readCString(Number(path)), Number(owner), Number(group), 0),
|
|
170
|
+
SYS_lchown: (path, owner, group) => this.chownAt(AT_FDCWD, this.readCString(Number(path)), Number(owner), Number(group), AT_SYMLINK_NOFOLLOW),
|
|
171
|
+
SYS_fchown: (fd, owner, group) => this.fchown(Number(fd), Number(owner), Number(group)),
|
|
172
|
+
SYS_fchownat: (dirfd, path, owner, group, flags) => this.chownAt(Number(dirfd), this.readCString(Number(path)), Number(owner), Number(group), Number(flags)),
|
|
165
173
|
SYS_fchmodat: (dirfd, path, mode, flags) => this.chmodAt(Number(dirfd), this.readCString(Number(path)), Number(mode), Number(flags)),
|
|
166
174
|
SYS_chdir: (path) => this.chdir(this.readCString(Number(path))),
|
|
167
175
|
SYS_fchdir: (fd) => this.fchdir(Number(fd)),
|
|
168
176
|
SYS_getcwd: (pointer, size) => this.getcwd(Number(pointer), Number(size)),
|
|
177
|
+
SYS_mknod: (path, mode, device) => this.mknodAt(AT_FDCWD, this.readCString(Number(path)), Number(mode), Number(device)),
|
|
178
|
+
SYS_mknodat: (dirfd, path, mode, device) => this.mknodAt(Number(dirfd), this.readCString(Number(path)), Number(mode), Number(device)),
|
|
169
179
|
SYS_mkdir: (path, mode) => this.mkdir(this.readCString(Number(path)), Number(mode)),
|
|
170
180
|
SYS_mkdirat: (dirfd, path, mode) => this.mkdirAt(Number(dirfd), this.readCString(Number(path)), Number(mode)),
|
|
171
181
|
SYS_statfs: (path, stat) => this.statfs(this.readCString(Number(path)), Number(stat)),
|
|
@@ -520,6 +530,23 @@ export class WaliFileDescriptorTable {
|
|
|
520
530
|
found = fs.statSync(path);
|
|
521
531
|
}
|
|
522
532
|
const stat = found;
|
|
533
|
+
if (((stat.mode ?? 0) & 0o170000) === S_IFIFO) {
|
|
534
|
+
if (flags & O_DIRECTORY)
|
|
535
|
+
throw errno("ENOTDIR");
|
|
536
|
+
if ((flags & O_ACCMODE) === 3)
|
|
537
|
+
throw errno("EINVAL");
|
|
538
|
+
if ((flags & O_ACCMODE) !== O_WRONLY)
|
|
539
|
+
checkFilePermission(stat, 4);
|
|
540
|
+
if ((flags & O_ACCMODE) !== 0)
|
|
541
|
+
checkFilePermission(stat, 2);
|
|
542
|
+
if (!this.options.descriptorState || !fs.openFileSync)
|
|
543
|
+
throw errno("EOPNOTSUPP");
|
|
544
|
+
const inode = fs.openFileSync(path);
|
|
545
|
+
const result = new WaliSharedPipeHost(this.options.memory, this.options.descriptorState, this.descriptors).openNamed(inode, flags, path);
|
|
546
|
+
if (result < 0n)
|
|
547
|
+
throw errno(result === -6n ? "ENXIO" : result === -24n ? "EMFILE" : result === -95n ? "EOPNOTSUPP" : "EINVAL");
|
|
548
|
+
return Number(result);
|
|
549
|
+
}
|
|
523
550
|
if ((flags & O_DIRECTORY) && !stat.isDirectory())
|
|
524
551
|
throw errno("ENOTDIR");
|
|
525
552
|
if (stat.isDirectory() && ((flags & O_ACCMODE) !== 0 || (flags & O_CREAT) || (flags & O_TRUNC)))
|
|
@@ -1035,6 +1062,11 @@ export class WaliFileDescriptorTable {
|
|
|
1035
1062
|
writeStat(this.memoryView(), pointer, syntheticTerminalStat());
|
|
1036
1063
|
return 0n;
|
|
1037
1064
|
}
|
|
1065
|
+
const named = waliNamedPipeInode(this.descriptors, fd);
|
|
1066
|
+
if (named) {
|
|
1067
|
+
writeStat(this.memoryView(), pointer, named.stat());
|
|
1068
|
+
return 0n;
|
|
1069
|
+
}
|
|
1038
1070
|
const special = this.specialDescriptors.get(fd);
|
|
1039
1071
|
const stat = special?.stat?.();
|
|
1040
1072
|
if (stat) {
|
|
@@ -1099,6 +1131,17 @@ export class WaliFileDescriptorTable {
|
|
|
1099
1131
|
}
|
|
1100
1132
|
}
|
|
1101
1133
|
fchmod(fd, mode) {
|
|
1134
|
+
const named = waliNamedPipeInode(this.descriptors, fd);
|
|
1135
|
+
if (named) {
|
|
1136
|
+
try {
|
|
1137
|
+
this.assertWritable(waliNamedPipePath(this.descriptors, fd));
|
|
1138
|
+
named.chmod(mode & 0o7777);
|
|
1139
|
+
return 0n;
|
|
1140
|
+
}
|
|
1141
|
+
catch (error) {
|
|
1142
|
+
return negativeErrno(error);
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1102
1145
|
if (this.stdioFd(fd) !== undefined || this.specialDescriptors.has(fd))
|
|
1103
1146
|
return 0n;
|
|
1104
1147
|
const file = this.files.get(fd);
|
|
@@ -1117,6 +1160,104 @@ export class WaliFileDescriptorTable {
|
|
|
1117
1160
|
return negativeErrno(error);
|
|
1118
1161
|
}
|
|
1119
1162
|
}
|
|
1163
|
+
/** Linux mknod kind and permission rules; storage owns FIFO metadata. */
|
|
1164
|
+
mknodAt(dirfd, path, mode, _device) {
|
|
1165
|
+
try {
|
|
1166
|
+
if (!path)
|
|
1167
|
+
throw errno("ENOENT");
|
|
1168
|
+
const kind = mode & 0o170000;
|
|
1169
|
+
if (kind === 0o140000)
|
|
1170
|
+
throw errno("EOPNOTSUPP");
|
|
1171
|
+
if (kind !== S_IFIFO && kind !== 0 && kind !== S_IFREG)
|
|
1172
|
+
throw errno(kind === 0o020000 || kind === 0o060000 ? "EPERM" : "EINVAL");
|
|
1173
|
+
const resolved = this.resolveFilesystemPath(this.resolveAt(dirfd, path), false);
|
|
1174
|
+
checkFileName(resolved);
|
|
1175
|
+
if (this.virtualStat(resolved, true) || waliDeviceStat(resolved) || this.fs().existsSync(resolved))
|
|
1176
|
+
throw errno("EEXIST");
|
|
1177
|
+
const directory = this.fs().statSync(resolved.slice(0, resolved.lastIndexOf("/")) || "/");
|
|
1178
|
+
if (!directory.isDirectory())
|
|
1179
|
+
throw errno("ENOTDIR");
|
|
1180
|
+
checkFilePermission(directory, 3);
|
|
1181
|
+
this.assertWritable(resolved);
|
|
1182
|
+
const permissions = mode & 0o7777 & ~this.fileCreationMask;
|
|
1183
|
+
if (kind === S_IFIFO) {
|
|
1184
|
+
if (!this.fs().createFifoSync)
|
|
1185
|
+
throw errno("ENOSYS");
|
|
1186
|
+
this.fs().createFifoSync(resolved, permissions);
|
|
1187
|
+
}
|
|
1188
|
+
else if (this.fs().createFileSync)
|
|
1189
|
+
this.fs().createFileSync(resolved, permissions);
|
|
1190
|
+
else {
|
|
1191
|
+
this.fs().writeFileSync(resolved, new Uint8Array());
|
|
1192
|
+
this.fs().chmodSync?.(resolved, permissions);
|
|
1193
|
+
}
|
|
1194
|
+
return 0n;
|
|
1195
|
+
}
|
|
1196
|
+
catch (error) {
|
|
1197
|
+
return negativeErrno(error);
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
/** WasmFS fchownat lookup/flags; our fixed non-root account adds EPERM. */
|
|
1201
|
+
chownAt(dirfd, path, owner, group, flags) {
|
|
1202
|
+
try {
|
|
1203
|
+
if (flags & ~(AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW))
|
|
1204
|
+
throw errno("EINVAL");
|
|
1205
|
+
if (!path && !(flags & AT_EMPTY_PATH))
|
|
1206
|
+
throw errno("ENOENT");
|
|
1207
|
+
if (!path && (flags & AT_EMPTY_PATH) && dirfd !== AT_FDCWD)
|
|
1208
|
+
return this.fchown(dirfd, owner, group);
|
|
1209
|
+
const resolved = !path && (flags & AT_EMPTY_PATH) ? this.cwd
|
|
1210
|
+
: this.resolveFilesystemPath(this.resolveAt(dirfd, path), !(flags & AT_SYMLINK_NOFOLLOW));
|
|
1211
|
+
const descriptor = !(flags & AT_SYMLINK_NOFOLLOW) ? this.procDescriptor(resolved) : undefined;
|
|
1212
|
+
if (descriptor !== undefined) {
|
|
1213
|
+
if (!this.hasFd(descriptor))
|
|
1214
|
+
throw errno("ENOENT");
|
|
1215
|
+
return this.fchown(descriptor, owner, group);
|
|
1216
|
+
}
|
|
1217
|
+
// Virtual devices and proc links have no mutable storage inode yet.
|
|
1218
|
+
if (waliDeviceStat(resolved) || resolved === "/dev/tty" || this.virtualStat(resolved, !!(flags & AT_SYMLINK_NOFOLLOW)))
|
|
1219
|
+
throw errno("EOPNOTSUPP");
|
|
1220
|
+
const stat = this.fs().lstatSync?.(resolved) ?? this.fs().statSync(resolved);
|
|
1221
|
+
if ((stat.uid ?? WALI_USER_ID) !== WALI_USER_ID || !waliOwnershipAllowed(owner, group))
|
|
1222
|
+
throw errno("EPERM");
|
|
1223
|
+
if (!this.fs().chownSync)
|
|
1224
|
+
throw errno("ENOSYS");
|
|
1225
|
+
this.fs().chownSync(resolved, owner, group);
|
|
1226
|
+
return 0n;
|
|
1227
|
+
}
|
|
1228
|
+
catch (error) {
|
|
1229
|
+
return negativeErrno(error);
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
fchown(fd, owner, group) {
|
|
1233
|
+
try {
|
|
1234
|
+
const named = waliNamedPipeInode(this.descriptors, fd);
|
|
1235
|
+
if (named) {
|
|
1236
|
+
this.assertWritable(waliNamedPipePath(this.descriptors, fd));
|
|
1237
|
+
named.chown(owner, group);
|
|
1238
|
+
return 0n;
|
|
1239
|
+
}
|
|
1240
|
+
const file = this.files.get(fd);
|
|
1241
|
+
if (!file)
|
|
1242
|
+
throw errno(this.hasFd(fd) ? "EOPNOTSUPP" : "EBADF");
|
|
1243
|
+
const stat = file.inode?.stat() ?? this.fs().statSync(file.path);
|
|
1244
|
+
if ((stat.uid ?? WALI_USER_ID) !== WALI_USER_ID || !waliOwnershipAllowed(owner, group))
|
|
1245
|
+
throw errno("EPERM");
|
|
1246
|
+
if (file.inode) {
|
|
1247
|
+
this.assertWritable(file.path);
|
|
1248
|
+
file.inode.chown(owner, group);
|
|
1249
|
+
}
|
|
1250
|
+
else {
|
|
1251
|
+
if (!this.fs().chownSync)
|
|
1252
|
+
throw errno("ENOSYS");
|
|
1253
|
+
this.fs().chownSync(file.path, owner, group);
|
|
1254
|
+
}
|
|
1255
|
+
return 0n;
|
|
1256
|
+
}
|
|
1257
|
+
catch (error) {
|
|
1258
|
+
return negativeErrno(error);
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1120
1261
|
chdir(path) {
|
|
1121
1262
|
try {
|
|
1122
1263
|
const resolved = this.resolveFilesystemPath(this.resolve(path));
|
|
@@ -1474,6 +1615,9 @@ export class WaliFileDescriptorTable {
|
|
|
1474
1615
|
const file = this.files.get(fd);
|
|
1475
1616
|
if (file)
|
|
1476
1617
|
return (file.inode?.stat() ?? this.fs().statSync(file.path));
|
|
1618
|
+
const named = waliNamedPipeInode(this.descriptors, fd);
|
|
1619
|
+
if (named)
|
|
1620
|
+
return named.stat();
|
|
1477
1621
|
if (description.kind === "pipe")
|
|
1478
1622
|
return {
|
|
1479
1623
|
isFile: () => false, isDirectory: () => false, size: 0, mode: 0o010666,
|
|
@@ -1937,6 +2081,8 @@ export class WaliFileDescriptorTable {
|
|
|
1937
2081
|
walk(`${path === "/" ? "" : path}/${name}`);
|
|
1938
2082
|
};
|
|
1939
2083
|
walk(root);
|
|
2084
|
+
if (nodes.some(node => (node.mode & 0o170000) === S_IFIFO))
|
|
2085
|
+
return decline("a named FIFO requires the shared kernel transport");
|
|
1940
2086
|
const tree = encodePrivateTree(nodes);
|
|
1941
2087
|
const encoder = new TextEncoder();
|
|
1942
2088
|
const rootBytes = encoder.encode(root);
|