mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-18 20:39:33 +08:00
* autoload.cc: Add load statemant for SetSecurityDescriptorControl.
* security.cc (alloc_sd): Always set SE_DACL_PROTECTED flag on Win2K and higher.
This commit is contained in:
parent
e625e1b99e
commit
aa2b85cc90
@ -1,3 +1,9 @@
|
||||
Wed Dec 20 13:37:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* autoload.cc: Add load statemant for SetSecurityDescriptorControl.
|
||||
* security.cc (alloc_sd): Always set SE_DACL_PROTECTED flag on
|
||||
Win2K and higher.
|
||||
|
||||
Wed Dec 20 01:02:13 2000 Christopher Faylor <cgf@cygnus.com>
|
||||
|
||||
* exceptions.cc (reset_signal_arrived): Make global to avoid inlining.
|
||||
|
@ -228,6 +228,7 @@ LoadDLLfunc (RegisterEventSourceA, 8, advapi32)
|
||||
LoadDLLfunc (ReportEventA, 36, advapi32)
|
||||
LoadDLLfunc (RevertToSelf, 0, advapi32)
|
||||
LoadDLLfunc (SetKernelObjectSecurity, 12, advapi32)
|
||||
LoadDLLfunc (SetSecurityDescriptorControl, 12, advapi32)
|
||||
LoadDLLfunc (SetSecurityDescriptorDacl, 16, advapi32)
|
||||
LoadDLLfunc (SetSecurityDescriptorGroup, 12, advapi32)
|
||||
LoadDLLfunc (SetSecurityDescriptorOwner, 12, advapi32)
|
||||
|
@ -915,6 +915,21 @@ alloc_sd (uid_t uid, gid_t gid, const char *logsrv, int attribute,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* We set the SE_DACL_PROTECTED flag here to prevent the DACL from being modified
|
||||
* by inheritable ACEs.
|
||||
* This flag as well as the SetSecurityDescriptorControl call are available only
|
||||
* since Win2K.
|
||||
*/
|
||||
static int win2KorHigher = -1;
|
||||
if (win2KorHigher == -1)
|
||||
{
|
||||
DWORD version = GetVersion ();
|
||||
win2KorHigher = (version & 0x80000000) || (version & 0xff) < 5 ? 0 : 1;
|
||||
}
|
||||
if (win2KorHigher > 0)
|
||||
SetSecurityDescriptorControl (&sd, SE_DACL_PROTECTED, SE_DACL_PROTECTED);
|
||||
|
||||
/* Create owner for local security descriptor. */
|
||||
if (! SetSecurityDescriptorOwner(&sd, owner_sid, FALSE))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user