preliminary comment out the self-modifying code for RtlPrefetchMemoryNonTemporal
[reactos.git] / reactos / ntoskrnl / se / priv.c
index a3b8137..4cb4eca 100644 (file)
@@ -4,7 +4,7 @@
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/se/priv.c
  * PURPOSE:         Security manager
- * 
+ *
  * PROGRAMMERS:     No programmer listed.
  */
 
 #define NDEBUG
 #include <internal/debug.h>
 
+#if defined (ALLOC_PRAGMA)
+#pragma alloc_text(INIT, SepInitPrivileges)
+#endif
+
 
 /* GLOBALS *******************************************************************/
 
@@ -40,11 +44,16 @@ LUID SeAuditPrivilege;
 LUID SeSystemEnvironmentPrivilege;
 LUID SeChangeNotifyPrivilege;
 LUID SeRemoteShutdownPrivilege;
+LUID SeUndockPrivilege;
+LUID SeSyncAgentPrivilege;
+LUID SeEnableDelegationPrivilege;
 
 
 /* FUNCTIONS ***************************************************************/
 
-VOID INIT_FUNCTION
+VOID
+INIT_FUNCTION
+NTAPI
 SepInitPrivileges (VOID)
 {
   SeCreateTokenPrivilege.LowPart = SE_CREATE_TOKEN_PRIVILEGE;
@@ -93,10 +102,17 @@ SepInitPrivileges (VOID)
   SeChangeNotifyPrivilege.HighPart = 0;
   SeRemoteShutdownPrivilege.LowPart = SE_REMOTE_SHUTDOWN_PRIVILEGE;
   SeRemoteShutdownPrivilege.HighPart = 0;
+  SeUndockPrivilege.LowPart = SE_UNDOCK_PRIVILEGE;
+  SeUndockPrivilege.HighPart = 0;
+  SeSyncAgentPrivilege.LowPart = SE_SYNC_AGENT_PRIVILEGE;
+  SeSyncAgentPrivilege.HighPart = 0;
+  SeEnableDelegationPrivilege.LowPart = SE_ENABLE_DELEGATION_PRIVILEGE;
+  SeEnableDelegationPrivilege.HighPart = 0;
 }
 
 
 BOOLEAN
+NTAPI
 SepPrivilegeCheck (PTOKEN Token,
                   PLUID_AND_ATTRIBUTES Privileges,
                   ULONG PrivilegeCount,
@@ -108,7 +124,7 @@ SepPrivilegeCheck (PTOKEN Token,
   ULONG k;
 
   DPRINT ("SepPrivilegeCheck() called\n");
-  
+
   PAGED_CODE();
 
   if (PreviousMode == KernelMode)
@@ -157,6 +173,7 @@ SepPrivilegeCheck (PTOKEN Token,
 
 
 NTSTATUS
+NTAPI
 SeCaptureLuidAndAttributesArray (PLUID_AND_ATTRIBUTES Src,
                                 ULONG PrivilegeCount,
                                 KPROCESSOR_MODE PreviousMode,
@@ -169,7 +186,7 @@ SeCaptureLuidAndAttributesArray (PLUID_AND_ATTRIBUTES Src,
 {
   PLUID_AND_ATTRIBUTES* NewMem;
   ULONG SrcLength;
-  
+
   PAGED_CODE();
 
   if (PrivilegeCount == 0)
@@ -212,12 +229,13 @@ SeCaptureLuidAndAttributesArray (PLUID_AND_ATTRIBUTES Src,
 
 
 VOID
+NTAPI
 SeReleaseLuidAndAttributesArray (PLUID_AND_ATTRIBUTES Privilege,
                                 KPROCESSOR_MODE PreviousMode,
                                 ULONG a)
 {
   PAGED_CODE();
-  
+
   ExFreePool (Privilege);
 }
 
@@ -233,7 +251,7 @@ NtPrivilegeCheck (IN HANDLE ClientToken,
   ULONG PrivilegeControl;
   ULONG Length;
   NTSTATUS Status;
-  
+
   PAGED_CODE();
 
   Status = ObReferenceObjectByHandle (ClientToken,
@@ -299,7 +317,7 @@ SePrivilegeCheck (PPRIVILEGE_SET Privileges,
                  KPROCESSOR_MODE PreviousMode)
 {
   PACCESS_TOKEN Token = NULL;
-  
+
   PAGED_CODE();
 
   if (SubjectContext->ClientToken == NULL)
@@ -333,7 +351,7 @@ SeSinglePrivilegeCheck (IN LUID PrivilegeValue,
   SECURITY_SUBJECT_CONTEXT SubjectContext;
   PRIVILEGE_SET Priv;
   BOOLEAN Result;
-  
+
   PAGED_CODE();
 
   SeCaptureSubjectContext (&SubjectContext);