MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / win_file_owner_secure

Function win_file_owner_secure

src/daemon/ipc.c:4060–4084  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4058}
4059
4060static bool win_file_owner_secure(win_security_t *security, HANDLE file,
4061 bool require_current_user) {
4062 PSID owner = NULL;
4063 PSECURITY_DESCRIPTOR descriptor = NULL;
4064 DWORD status = security->get_security_info(file, SE_FILE_OBJECT, OWNER_SECURITY_INFORMATION,
4065 &owner, NULL, NULL, NULL, &descriptor);
4066 bool queried = status == ERROR_SUCCESS && owner && security->is_valid_sid(owner);
4067 bool secure =
4068 queried && (require_current_user ? security->equal_sid(owner, security->user_sid) != 0
4069 : win_sid_trusted(security, owner));
4070 if (!queried) {
4071 ipc_validation_detail_set("owner query failed (status %lu)", (unsigned long)status);
4072 } else if (!secure) {
4073 const char *owner_class = security->is_well_known_sid(owner, WinLocalSystemSid) ? "SYSTEM"
4074 : security->is_well_known_sid(owner, WinBuiltinAdministratorsSid)
4075 ? "Administrators"
4076 : "another account";
4077 ipc_validation_detail_set("owner is %s, %s required", owner_class,
4078 require_current_user ? "the exact user" : "a trusted identity");
4079 }
4080 if (descriptor) {
4081 (void)LocalFree(descriptor);
4082 }
4083 return secure;
4084}
4085
4086static DWORD win_private_mutation_rights(void) {
4087 return GENERIC_ALL | GENERIC_WRITE | FILE_WRITE_DATA | FILE_APPEND_DATA | FILE_ADD_FILE |

Callers 2

win_file_security_secureFunction · 0.85

Calls 2

win_sid_trustedFunction · 0.85

Tested by

no test coverage detected