From bba553bea5938932518dc6382e464968ce8374b4 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Wed, 15 May 2024 22:22:40 -0700 Subject: fix(ext/node): homedir() `getpwuid`/`SHGetKnownFolderPath` fallback (#23841) **Unix**: Returns the value of the HOME environment variable if it is set even if it is an empty string. Otherwise, it tries to determine the home directory by invoking the [getpwuid_r](https://linux.die.net/man/3/getpwuid_r) function with the UID of the current user. **Windows**: Returns the value of the USERPROFILE environment variable if it is set and it is not an empty string. Otherwise, it tries to determine the home directory by invoking the [SHGetKnownFolderPath](https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath) function with [FOLDERID_Profile](https://learn.microsoft.com/en-us/windows/win32/shell/knownfolderid). Fixes https://github.com/denoland/deno/issues/23824 --- runtime/permissions/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'runtime') diff --git a/runtime/permissions/lib.rs b/runtime/permissions/lib.rs index 06db9958c..2e94e3aec 100644 --- a/runtime/permissions/lib.rs +++ b/runtime/permissions/lib.rs @@ -913,7 +913,7 @@ impl Descriptor for SysDescriptor { pub fn parse_sys_kind(kind: &str) -> Result<&str, AnyError> { match kind { "hostname" | "osRelease" | "osUptime" | "loadavg" | "networkInterfaces" - | "systemMemoryInfo" | "uid" | "gid" | "cpus" => Ok(kind), + | "systemMemoryInfo" | "uid" | "gid" | "cpus" | "homedir" => Ok(kind), _ => Err(type_error(format!("unknown system info kind \"{kind}\""))), } } -- cgit v1.2.3