diff --git a/reactos/include/ddk/sefuncs.h b/reactos/include/ddk/sefuncs.h index 4523b1477ec..9cbb19d3be5 100644 --- a/reactos/include/ddk/sefuncs.h +++ b/reactos/include/ddk/sefuncs.h @@ -1,6 +1,6 @@ #ifndef _INCLUDE_DDK_SEFUNCS_H #define _INCLUDE_DDK_SEFUNCS_H -/* $Id: sefuncs.h,v 1.20 2003/02/15 22:29:45 ekohl Exp $ */ +/* $Id: sefuncs.h,v 1.21 2004/08/03 19:20:38 ion Exp $ */ #ifdef __NTOSKRNL__ extern PACL EXPORTED SePublicDefaultDacl; @@ -35,23 +35,97 @@ SeAssignSecurity(IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL, IN PGENERIC_MAPPING GenericMapping, IN POOL_TYPE PoolType); -BOOLEAN STDCALL -SeAuditingFileEvents(IN BOOLEAN AccessGranted, - IN PSECURITY_DESCRIPTOR SecurityDescriptor); +NTSTATUS +STDCALL +SeAssignSecurityEx( + IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL, + IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL, + OUT PSECURITY_DESCRIPTOR *NewDescriptor, + IN GUID *ObjectType OPTIONAL, + IN BOOLEAN IsDirectoryObject, + IN ULONG AutoInheritFlags, + IN PSECURITY_SUBJECT_CONTEXT SubjectContext, + IN PGENERIC_MAPPING GenericMapping, + IN POOL_TYPE PoolType + ); + + +VOID +STDCALL +SeAuditHardLinkCreation( + IN PUNICODE_STRING FileName, + IN PUNICODE_STRING LinkName, + IN BOOLEAN bSuccess + ); + +BOOLEAN +STDCALL +SeAuditingFileEvents( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor + ); + +BOOLEAN +STDCALL +SeAuditingFileEventsWithContext( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext OPTIONAL + ); + +BOOLEAN +STDCALL +SeAuditingHardLinkEvents( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor + ); + +BOOLEAN +STDCALL +SeAuditingHardLinkEventsWithContext( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext OPTIONAL + ); + +BOOLEAN +STDCALL +SeAuditingFileOrGlobalEvents( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext + ); + +NTSTATUS +STDCALL +SeCaptureSecurityDescriptor( + IN PSECURITY_DESCRIPTOR OriginalSecurityDescriptor, + IN KPROCESSOR_MODE CurrentMode, + IN POOL_TYPE PoolType, + IN BOOLEAN CaptureIfKernel, + OUT PSECURITY_DESCRIPTOR *CapturedSecurityDescriptor + ); -BOOLEAN STDCALL -SeAuditingFileOrGlobalEvents(IN BOOLEAN AccessGranted, - IN PSECURITY_DESCRIPTOR SecurityDescriptor, - IN PSECURITY_SUBJECT_CONTEXT SubjectContext); VOID STDCALL SeCaptureSubjectContext(OUT PSECURITY_SUBJECT_CONTEXT SubjectContext); -NTSTATUS STDCALL -SeCreateAccessState(OUT PACCESS_STATE AccessState, - IN PVOID AuxData, - IN ACCESS_MASK AccessMask, - IN PGENERIC_MAPPING Mapping); +VOID +STDCALL +SeCloseObjectAuditAlarm( + IN PVOID Object, + IN HANDLE Handle, + IN BOOLEAN PerformAction + ); + +NTSTATUS +STDCALL +SeCreateAccessState( + PACCESS_STATE AccessState, + PVOID AuxData, + ACCESS_MASK Access, + PGENERIC_MAPPING GenericMapping + ); NTSTATUS STDCALL SeCreateClientSecurity(IN struct _ETHREAD *Thread, @@ -59,6 +133,15 @@ SeCreateClientSecurity(IN struct _ETHREAD *Thread, IN BOOLEAN RemoteClient, OUT PSECURITY_CLIENT_CONTEXT ClientContext); +NTSTATUS +STDCALL +SeCreateClientSecurityFromSubjectContext( + IN PSECURITY_SUBJECT_CONTEXT SubjectContext, + IN PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos, + IN BOOLEAN ServerIsRemote, + OUT PSECURITY_CLIENT_CONTEXT ClientContext + ); + NTSTATUS STDCALL SeDeassignSecurity(IN OUT PSECURITY_DESCRIPTOR* SecurityDescriptor); @@ -69,6 +152,17 @@ VOID STDCALL SeDeleteObjectAuditAlarm(IN PVOID Object, IN HANDLE Handle); +NTSTATUS +STDCALL +SeFilterToken( + IN PACCESS_TOKEN ExistingToken, + IN ULONG Flags, + IN PTOKEN_GROUPS SidsToDisable OPTIONAL, + IN PTOKEN_PRIVILEGES PrivilegesToDelete OPTIONAL, + IN PTOKEN_GROUPS RestrictedSids OPTIONAL, + OUT PACCESS_TOKEN * FilteredToken + ); + VOID STDCALL SeFreePrivileges(IN PPRIVILEGE_SET Privileges); @@ -76,12 +170,20 @@ VOID STDCALL SeImpersonateClient(IN PSECURITY_CLIENT_CONTEXT ClientContext, IN struct _ETHREAD *ServerThread OPTIONAL); +NTSTATUS +STDCALL +SeImpersonateClientEx( + IN PSECURITY_CLIENT_CONTEXT ClientContext, + IN struct _ETHREAD *ServerThread OPTIONAL + ); + VOID STDCALL SeLockSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext); NTSTATUS STDCALL SeMarkLogonSessionForTerminationNotification(IN PLUID LogonId); + VOID STDCALL SeOpenObjectAuditAlarm(IN PUNICODE_STRING ObjectTypeName, IN PVOID Object OPTIONAL, @@ -109,19 +211,54 @@ SePrivilegeCheck(IN OUT PPRIVILEGE_SET RequiredPrivileges, IN PSECURITY_SUBJECT_CONTEXT SubjectContext, IN KPROCESSOR_MODE AccessMode); +VOID +STDCALL +SePrivilegeObjectAuditAlarm( + IN HANDLE Handle, + IN PSECURITY_SUBJECT_CONTEXT SubjectContext, + IN ACCESS_MASK DesiredAccess, + IN PPRIVILEGE_SET Privileges, + IN BOOLEAN AccessGranted, + IN KPROCESSOR_MODE CurrentMode + ); + NTSTATUS STDCALL SeQueryAuthenticationIdToken(IN PACCESS_TOKEN Token, OUT PLUID LogonId); +NTSTATUS +STDCALL +SeQueryInformationToken( + IN PACCESS_TOKEN Token, + IN TOKEN_INFORMATION_CLASS TokenInformationClass, + OUT PVOID *TokenInformation + ); + NTSTATUS STDCALL SeQuerySecurityDescriptorInfo(IN PSECURITY_INFORMATION SecurityInformation, OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PULONG Length, IN PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor); +NTSTATUS +STDCALL +SeQuerySessionIdToken( + IN PACCESS_TOKEN, + IN PULONG pSessionId + ); + + NTSTATUS STDCALL SeRegisterLogonSessionTerminatedRoutine(IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine); +NTSTATUS +STDCALL +SeReleaseSecurityDescriptor( + IN PSECURITY_DESCRIPTOR CapturedSecurityDescriptor, + IN KPROCESSOR_MODE CurrentMode, + IN BOOLEAN CaptureIfKernelMode + ); + VOID STDCALL SeReleaseSubjectContext(IN PSECURITY_SUBJECT_CONTEXT SubjectContext); @@ -137,6 +274,18 @@ SeSetSecurityDescriptorInfo(IN PVOID Object OPTIONAL, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping); +NTSTATUS +STDCALL +SeSetSecurityDescriptorInfoEx( + IN PVOID Object OPTIONAL, + IN PSECURITY_INFORMATION SecurityInformation, + IN PSECURITY_DESCRIPTOR ModificationDescriptor, + IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, + IN ULONG AutoInheritFlags, + IN POOL_TYPE PoolType, + IN PGENERIC_MAPPING GenericMapping + ); + BOOLEAN STDCALL SeSinglePrivilegeCheck(IN LUID PrivilegeValue, IN KPROCESSOR_MODE PreviousMode); @@ -144,6 +293,24 @@ SeSinglePrivilegeCheck(IN LUID PrivilegeValue, SECURITY_IMPERSONATION_LEVEL STDCALL SeTokenImpersonationLevel(IN PACCESS_TOKEN Token); +BOOLEAN +STDCALL +SeTokenIsAdmin( + IN PACCESS_TOKEN Token + ); + +BOOLEAN +STDCALL +SeTokenIsRestricted( + IN PACCESS_TOKEN Token + ); + +BOOLEAN +STDCALL +SeTokenIsWriteRestricted( + IN PACCESS_TOKEN Token + ); + TOKEN_TYPE STDCALL SeTokenType(IN PACCESS_TOKEN Token); diff --git a/reactos/ntoskrnl/ntoskrnl.edf b/reactos/ntoskrnl/ntoskrnl.edf index a0c3e268f34..448b8d7edc6 100644 --- a/reactos/ntoskrnl/ntoskrnl.edf +++ b/reactos/ntoskrnl/ntoskrnl.edf @@ -1,4 +1,4 @@ -; $Id: ntoskrnl.edf,v 1.172 2004/07/17 05:13:05 ion Exp $ +; $Id: ntoskrnl.edf,v 1.173 2004/08/03 19:20:39 ion Exp $ ; ; reactos/ntoskrnl/ntoskrnl.def ; @@ -966,41 +966,55 @@ RtlxOemStringToUnicodeSize=RtlxOemStringToUnicodeSize@4 RtlxUnicodeStringToAnsiSize=RtlxUnicodeStringToAnsiSize@4 RtlxUnicodeStringToOemSize=RtlxUnicodeStringToOemSize@4 SeAccessCheck=SeAccessCheck@40 -;SeAppendPrivileges=SeAppendPrivileges@8 +SeAppendPrivileges=SeAppendPrivileges@8 SeAssignSecurity=SeAssignSecurity@28 -;SeAuditingFileEvents=SeAuditingFileEvents@8 -;SeAuditingFileOrGlobalEvents=SeAuditingFileOrGlobalEvents@18 -;SeCaptureSecurityDescriptor=SeCaptureSecurityDescriptor@20 +SeAssignSecurityEx=SeAssignSecurityEx@36 +SeAuditHardLinkCreation=SeAuditHardLinkCreation@12 +SeAuditingFileEvents=SeAuditingFileEvents@8 +SeAuditingFileEventsWithContext=SeAuditingFileEventsWithContext@12 +SeAuditingFileOrGlobalEvents=SeAuditingFileOrGlobalEvents@12 +SeAuditingHardLinkEvents=SeAuditingHardLinkEvents@8 +SeAuditingHardLinkEventsWithContext=SeAuditingHardLinkEventsWithContext@12 +SeCaptureSecurityDescriptor=SeCaptureSecurityDescriptor@20 SeCaptureSubjectContext=SeCaptureSubjectContext@4 -;SeCloseObjectAuditAlarm=SeCloseObjectAuditAlarm@12 -;SeCreateAccessState=SeCreateAccessState@16 +SeCloseObjectAuditAlarm=SeCloseObjectAuditAlarm@12 +SeCreateAccessState=SeCreateAccessState@16 SeCreateClientSecurity=SeCreateClientSecurity@16 +SeCreateClientSecurityFromSubjectContext=SeCreateClientSecurityFromSubjectContext@16 SeDeassignSecurity=SeDeassignSecurity@4 -;SeDeleteAccessState=SeDeleteAccessState@4 +SeDeleteAccessState=SeDeleteAccessState@4 SeDeleteObjectAuditAlarm=SeDeleteObjectAuditAlarm@8 SeExports DATA -;SeFreePrivileges=SeFreePrivileges@4 +SeFilterToken=SeFilterToken@24 +SeFreePrivileges=SeFreePrivileges@4 SeImpersonateClient=SeImpersonateClient@8 +SeImpersonateClientEx=SeImpersonateClientEx@8 SeLockSubjectContext=SeLockSubjectContext@4 -;SeMarkLogonSessionForTerminationNotification=SeMarkLogonSessionForTerminationNotification@4 +SeMarkLogonSessionForTerminationNotification=SeMarkLogonSessionForTerminationNotification@4 SeOpenObjectAuditAlarm=SeOpenObjectAuditAlarm@36 SeOpenObjectForDeleteAuditAlarm=SeOpenObjectForDeleteAuditAlarm@36 SePrivilegeCheck=SePrivilegeCheck@12 -;SePrivilegeObjectAuditAlarm=SePrivilegeObjectAuditAlarm@24 +SePrivilegeObjectAuditAlarm=SePrivilegeObjectAuditAlarm@24 SePublicDefaultDacl DATA SeQueryAuthenticationIdToken=SeQueryAuthenticationIdToken@8 +SeQueryInformationToken=SeQueryInformationToken@12 SeQuerySecurityDescriptorInfo=SeQuerySecurityDescriptorInfo@16 -;SeRegisterLogonSessionTerminatedRoutine=SeRegisterLogonSessionTerminatedRoutine@4 -;SeReleaseSecurityDescriptor=SeReleaseSecurityDescriptor@12 +SeQuerySessionIdToken=SeQuerySessionIdToken@8 +SeRegisterLogonSessionTerminatedRoutine=SeRegisterLogonSessionTerminatedRoutine@4 +SeReleaseSecurityDescriptor=SeReleaseSecurityDescriptor@12 SeReleaseSubjectContext=SeReleaseSubjectContext@4 -;SeSetAccessStateGenericMapping=SeSetAccessStateGenericMapping@8 +SeSetAccessStateGenericMapping=SeSetAccessStateGenericMapping@8 SeSetSecurityDescriptorInfo=SeSetSecurityDescriptorInfo@24 +SeSetSecurityDescriptorInfoEx=SeSetSecurityDescriptorInfoEx@28 SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12 SeSystemDefaultDacl DATA SeTokenImpersonationLevel=SeTokenImpersonationLevel@4 SeTokenType=SeTokenType@4 +SeTokenIsAdmin=SeTokenIsAdmin@4 +SeTokenIsRestricted=SeTokenIsRestricted@4 +SeTokenIsWriteRestricted=SeTokenIsWriteRestricted@4 SeUnlockSubjectContext=SeUnlockSubjectContext@4 -;SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4 +SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4 SeValidSecurityDescriptor=SeValidSecurityDescriptor@8 WRITE_REGISTER_UCHAR=WRITE_REGISTER_UCHAR@8 WRITE_REGISTER_ULONG=WRITE_REGISTER_ULONG@8 diff --git a/reactos/ntoskrnl/se/access.c b/reactos/ntoskrnl/se/access.c index b42431bcd34..7c4cdd04d46 100644 --- a/reactos/ntoskrnl/se/access.c +++ b/reactos/ntoskrnl/se/access.c @@ -1,4 +1,4 @@ -/* $Id: access.c,v 1.4 2003/07/11 01:23:16 royce Exp $ +/* $Id: access.c,v 1.5 2004/08/03 19:20:39 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -13,6 +13,8 @@ #include +#define NDEBUG +#include /* FUNCTIONS ***************************************************************/ @@ -66,4 +68,45 @@ RtlMapGenericMask ( *AccessMask &= 0x0FFFFFFF; } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeCreateAccessState( + PACCESS_STATE AccessState, + PVOID AuxData, + ACCESS_MASK Access, + PGENERIC_MAPPING GenericMapping + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + +/* + * @unimplemented + */ +VOID +STDCALL +SeDeleteAccessState( + IN PACCESS_STATE AccessState + ) +{ + UNIMPLEMENTED; +} + +/* + * @unimplemented + */ +VOID +STDCALL +SeSetAccessStateGenericMapping( + PACCESS_STATE AccessState, + PGENERIC_MAPPING GenericMapping + ) +{ + UNIMPLEMENTED; +} + /* EOF */ diff --git a/reactos/ntoskrnl/se/audit.c b/reactos/ntoskrnl/se/audit.c index 2ee2bd6c4e5..6c1cb170476 100644 --- a/reactos/ntoskrnl/se/audit.c +++ b/reactos/ntoskrnl/se/audit.c @@ -1,4 +1,4 @@ -/* $Id: audit.c,v 1.4 2004/05/20 12:42:11 ekohl Exp $ +/* $Id: audit.c,v 1.5 2004/08/03 19:20:39 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -101,6 +101,107 @@ NtPrivilegeObjectAuditAlarm(IN PUNICODE_STRING SubsystemName, } +/* + * @unimplemented + */ +VOID +STDCALL +SeAuditHardLinkCreation( + IN PUNICODE_STRING FileName, + IN PUNICODE_STRING LinkName, + IN BOOLEAN bSuccess + ) +{ + UNIMPLEMENTED; +} + +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeAuditingFileEvents( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor + ) +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeAuditingFileEventsWithContext( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext OPTIONAL + ) +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeAuditingHardLinkEvents( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor + ) +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeAuditingHardLinkEventsWithContext( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext OPTIONAL + ) +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeAuditingFileOrGlobalEvents( + IN BOOLEAN AccessGranted, + IN PSECURITY_DESCRIPTOR SecurityDescriptor, + IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext + ) +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +VOID +STDCALL +SeCloseObjectAuditAlarm( + IN PVOID Object, + IN HANDLE Handle, + IN BOOLEAN PerformAction + ) +{ + UNIMPLEMENTED; +} + /* * @unimplemented */ @@ -147,4 +248,21 @@ SeOpenObjectForDeleteAuditAlarm(IN PUNICODE_STRING ObjectTypeName, UNIMPLEMENTED; } +/* + * @unimplemented + */ +VOID +STDCALL +SePrivilegeObjectAuditAlarm( + IN HANDLE Handle, + IN PSECURITY_SUBJECT_CONTEXT SubjectContext, + IN ACCESS_MASK DesiredAccess, + IN PPRIVILEGE_SET Privileges, + IN BOOLEAN AccessGranted, + IN KPROCESSOR_MODE CurrentMode + ) +{ + UNIMPLEMENTED; +} + /* EOF */ diff --git a/reactos/ntoskrnl/se/lsa.c b/reactos/ntoskrnl/se/lsa.c index 1c78adc1a35..64c3a12c389 100644 --- a/reactos/ntoskrnl/se/lsa.c +++ b/reactos/ntoskrnl/se/lsa.c @@ -1,7 +1,11 @@ -/* $Id: lsa.c,v 1.3 2002/09/08 10:23:43 chorns Exp $ +/* $Id: lsa.c,v 1.4 2004/08/03 19:20:39 ion Exp $ */ #include +#define NDEBUG +#include + + /* LsaCallAuthenticationPackage@28 */ NTSTATUS STDCALL LsaCallAuthenticationPackage ( DWORD Unknown0, @@ -79,5 +83,44 @@ NTSTATUS STDCALL LsaRegisterLogonProcess ( return STATUS_NOT_IMPLEMENTED; } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeMarkLogonSessionForTerminationNotification( + IN PLUID LogonId + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeRegisterLogonSessionTerminatedRoutine( + IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeUnregisterLogonSessionTerminatedRoutine( + IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + /* EOF */ diff --git a/reactos/ntoskrnl/se/sd.c b/reactos/ntoskrnl/se/sd.c index c8f3d247f1e..6d0ce45068a 100644 --- a/reactos/ntoskrnl/se/sd.c +++ b/reactos/ntoskrnl/se/sd.c @@ -1,4 +1,4 @@ -/* $Id: sd.c,v 1.17 2004/07/31 12:21:19 ekohl Exp $ +/* $Id: sd.c,v 1.18 2004/08/03 19:20:39 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -111,6 +111,22 @@ SepInitSDs(VOID) return TRUE; } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeCaptureSecurityDescriptor( + IN PSECURITY_DESCRIPTOR OriginalSecurityDescriptor, + IN KPROCESSOR_MODE CurrentMode, + IN POOL_TYPE PoolType, + IN BOOLEAN CaptureIfKernel, + OUT PSECURITY_DESCRIPTOR *CapturedSecurityDescriptor + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} /* * @implemented @@ -247,6 +263,20 @@ SeQuerySecurityDescriptorInfo(IN PSECURITY_INFORMATION SecurityInformation, return STATUS_SUCCESS; } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeReleaseSecurityDescriptor( + IN PSECURITY_DESCRIPTOR CapturedSecurityDescriptor, + IN KPROCESSOR_MODE CurrentMode, + IN BOOLEAN CaptureIfKernelMode + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} /* * @unimplemented @@ -263,6 +293,25 @@ SeSetSecurityDescriptorInfo(IN PVOID Object OPTIONAL, return STATUS_NOT_IMPLEMENTED; } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeSetSecurityDescriptorInfoEx( + IN PVOID Object OPTIONAL, + IN PSECURITY_INFORMATION SecurityInformation, + IN PSECURITY_DESCRIPTOR ModificationDescriptor, + IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, + IN ULONG AutoInheritFlags, + IN POOL_TYPE PoolType, + IN PGENERIC_MAPPING GenericMapping + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + /* * @implemented diff --git a/reactos/ntoskrnl/se/semgr.c b/reactos/ntoskrnl/se/semgr.c index af98c66d698..1978eeabe18 100644 --- a/reactos/ntoskrnl/se/semgr.c +++ b/reactos/ntoskrnl/se/semgr.c @@ -1,4 +1,4 @@ -/* $Id: semgr.c,v 1.38 2004/08/03 13:58:56 ekohl Exp $ +/* $Id: semgr.c,v 1.39 2004/08/03 19:20:39 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -286,6 +286,26 @@ SeDeassignSecurity(PSECURITY_DESCRIPTOR *SecurityDescriptor) return STATUS_SUCCESS; } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeAssignSecurityEx( + IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL, + IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL, + OUT PSECURITY_DESCRIPTOR *NewDescriptor, + IN GUID *ObjectType OPTIONAL, + IN BOOLEAN IsDirectoryObject, + IN ULONG AutoInheritFlags, + IN PSECURITY_SUBJECT_CONTEXT SubjectContext, + IN PGENERIC_MAPPING GenericMapping, + IN POOL_TYPE PoolType + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} /* * FUNCTION: Creates a security descriptor for a new object. diff --git a/reactos/ntoskrnl/se/token.c b/reactos/ntoskrnl/se/token.c index 003300c2bbb..bbe245bdac6 100644 --- a/reactos/ntoskrnl/se/token.c +++ b/reactos/ntoskrnl/se/token.c @@ -1,4 +1,4 @@ -/* $Id: token.c,v 1.37 2004/07/13 08:43:35 ekohl Exp $ +/* $Id: token.c,v 1.38 2004/08/03 19:20:39 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -294,6 +294,19 @@ SepInitializeNewProcess(struct _EPROCESS* NewProcess, return(STATUS_SUCCESS); } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeAppendPrivileges( + PACCESS_STATE AccessState, + PPRIVILEGE_SET Privileges + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} NTSTATUS SeCopyClientToken(PACCESS_TOKEN Token, SECURITY_IMPERSONATION_LEVEL Level, @@ -410,6 +423,66 @@ SeCreateClientSecurity(IN struct _ETHREAD *Thread, return(STATUS_SUCCESS); } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeCreateClientSecurityFromSubjectContext( + IN PSECURITY_SUBJECT_CONTEXT SubjectContext, + IN PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos, + IN BOOLEAN ServerIsRemote, + OUT PSECURITY_CLIENT_CONTEXT ClientContext + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeFilterToken( + IN PACCESS_TOKEN ExistingToken, + IN ULONG Flags, + IN PTOKEN_GROUPS SidsToDisable OPTIONAL, + IN PTOKEN_PRIVILEGES PrivilegesToDelete OPTIONAL, + IN PTOKEN_GROUPS RestrictedSids OPTIONAL, + OUT PACCESS_TOKEN * FilteredToken + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + +/* + * @unimplemented + */ +VOID +STDCALL +SeFreePrivileges( + IN PPRIVILEGE_SET Privileges + ) +{ + UNIMPLEMENTED; +} + + +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeImpersonateClientEx( + IN PSECURITY_CLIENT_CONTEXT ClientContext, + IN PETHREAD ServerThread OPTIONAL + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} /* * @implemented @@ -741,6 +814,35 @@ NtQueryInformationToken(IN HANDLE TokenHandle, return(Status); } +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeQueryInformationToken( + IN PACCESS_TOKEN Token, + IN TOKEN_INFORMATION_CLASS TokenInformationClass, + OUT PVOID *TokenInformation + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + +/* + * @unimplemented + */ +NTSTATUS +STDCALL +SeQuerySessionIdToken( + IN PACCESS_TOKEN Token, + IN PULONG pSessionId + ) +{ + UNIMPLEMENTED; + return STATUS_NOT_IMPLEMENTED; +} + /* * NtSetTokenInformation: Partly implemented. * Unimplemented: @@ -1559,5 +1661,44 @@ SeTokenType(IN PACCESS_TOKEN Token) } +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeTokenIsAdmin( + IN PACCESS_TOKEN Token + ) +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeTokenIsRestricted( + IN PACCESS_TOKEN Token + ) +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +BOOLEAN +STDCALL +SeTokenIsWriteRestricted( + IN PACCESS_TOKEN Token + ) +{ + UNIMPLEMENTED; + return FALSE; +} + /* EOF */