Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2001-04-21 00:36:13 +0400
committerCorinna Vinschen <corinna@vinschen.de>2001-04-21 00:36:13 +0400
commit3c8e92d9fc43e7b8c8e5ad4a0235599d7b285274 (patch)
tree8f851fdf75dc689ad06eab7c8e0c1326811fdb12 /winsup/cygwin/security.cc
parentb9815dc3dc2e94f94132f098596d0de5f0af1d1c (diff)
* security.cc (set_process_privileges): Swap out.
* sec_helper.cc (set_process_privilege): Rename from `set_process_privileges'. Takes the privilege to enable or disable as parameter now. * security.h: Add prototype for `set_process_privileges'.
Diffstat (limited to 'winsup/cygwin/security.cc')
-rw-r--r--winsup/cygwin/security.cc42
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)