diff options
Diffstat (limited to 'winsup/cygwin/security.cc')
-rw-r--r-- | winsup/cygwin/security.cc | 42 |
1 files changed, 1 insertions, 41 deletions
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc index 38c741fa2..0a89b8dd6 100644 --- a/winsup/cygwin/security.cc +++ b/winsup/cygwin/security.cc @@ -182,7 +182,7 @@ write_sd(const char *file, PSECURITY_DESCRIPTOR sd_buf, DWORD sd_size) static BOOL first_time = TRUE; if (first_time) { - set_process_privileges (); + set_process_privilege (SE_RESTORE_NAME); first_time = FALSE; } @@ -245,46 +245,6 @@ write_sd(const char *file, PSECURITY_DESCRIPTOR sd_buf, DWORD sd_size) return 0; } -int -set_process_privileges () -{ - HANDLE hToken = NULL; - LUID restore_priv; - TOKEN_PRIVILEGES new_priv; - int ret = -1; - - if (!OpenProcessToken (hMainProc, TOKEN_ADJUST_PRIVILEGES, &hToken)) - { - __seterrno (); - goto out; - } - - if (!LookupPrivilegeValue (NULL, SE_RESTORE_NAME, &restore_priv)) - { - __seterrno (); - goto out; - } - - new_priv.PrivilegeCount = 1; - new_priv.Privileges[0].Luid = restore_priv; - new_priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; - - if (!AdjustTokenPrivileges (hToken, FALSE, &new_priv, 0, NULL, NULL)) - { - __seterrno (); - goto out; - } - - ret = 0; - -out: - if (hToken) - CloseHandle (hToken); - - syscall_printf ("%d = set_process_privileges ()", ret); - return ret; -} - static int get_nt_attribute (const char *file, int *attribute, uid_t *uidret, gid_t *gidret) |