Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / dll / win32 / lsasrv / srm.c
diff --git a/reactos/dll/win32/lsasrv/srm.c b/reactos/dll/win32/lsasrv/srm.c
deleted file mode 100644 (file)
index 68929e6..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     Local Security Authority Server DLL
- * FILE:        dll/win32/lsasrv/srm.c
- * PURPOSE:     Security Reference Monitor Server
- *
- * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org)
- */
-
-/* INCLUDES ****************************************************************/
-
-#include "lsasrv.h"
-#include <ndk/ntndk.h>
-
-/* GLOBALS *****************************************************************/
-
-HANDLE SeLsaCommandPort;
-HANDLE SeRmCommandPort;
-
-/* FUNCTIONS ***************************************************************/
-
-static
-VOID
-LsapComponentTest(
-    PLSAP_RM_API_MESSAGE Message)
-{
-    ERR("Security: LSA Component Test Command Received\n");
-}
-
-static
-VOID
-LsapAdtWriteLog(
-    PLSAP_RM_API_MESSAGE Message)
-{
-    ERR("LsapAdtWriteLog\n");
-}
-
-static
-VOID
-LsapAsync(
-    PLSAP_RM_API_MESSAGE Message)
-{
-    ERR("LsapAsync\n");
-}
-
-static
-DWORD
-WINAPI
-LsapRmServerThread(
-    PVOID StartContext)
-{
-    LSAP_RM_API_MESSAGE Message;
-    PPORT_MESSAGE ReplyMessage;
-    REMOTE_PORT_VIEW RemotePortView;
-    HANDLE MessagePort, DummyPortHandle;
-    NTSTATUS Status;
-
-    /* Initialize the port message */
-    Message.Header.u1.s1.TotalLength = sizeof(Message);
-    Message.Header.u1.s1.DataLength = 0;
-
-    /* Listen on the LSA command port */
-    Status = NtListenPort(SeLsaCommandPort, &Message.Header);
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("LsapRmServerThread - Port Listen failed 0x%lx\n", Status);
-        return Status;
-    }
-
-    /* Setup the Port View Structure */
-    RemotePortView.Length = sizeof(REMOTE_PORT_VIEW);
-    RemotePortView.ViewSize = 0;
-    RemotePortView.ViewBase = NULL;
-
-    /* Accept the connection */
-    Status = NtAcceptConnectPort(&MessagePort,
-                                 0,
-                                 &Message.Header,
-                                 TRUE,
-                                 NULL,
-                                 &RemotePortView);
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("LsapRmServerThread - Port Accept Connect failed 0x%lx\n", Status);
-        return Status;
-    }
-
-    /* Complete the connection */
-    Status = NtCompleteConnectPort(MessagePort);
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("LsapRmServerThread - Port Complete Connect failed 0x%lx\n", Status);
-        return Status;
-    }
-
-    /* No reply yet */
-    ReplyMessage = NULL;
-
-    /* Start looping */
-    while (TRUE)
-    {
-        /* Wait for a message */
-        Status = NtReplyWaitReceivePort(MessagePort,
-                                        NULL,
-                                        ReplyMessage,
-                                        &Message.Header);
-        if (!NT_SUCCESS(Status))
-        {
-            ERR("LsapRmServerThread - Failed to get message: 0x%lx", Status);
-            ReplyMessage = NULL;
-            continue;
-        }
-
-        /* Check if this is a connection request */
-        if (Message.Header.u2.s2.Type == LPC_CONNECTION_REQUEST)
-        {
-            /* Reject connection request */
-            NtAcceptConnectPort(&DummyPortHandle,
-                                NULL,
-                                &Message.Header,
-                                FALSE,
-                                NULL,
-                                NULL);
-
-            /* Start over */
-            ReplyMessage = NULL;
-            continue;
-        }
-
-        /* Check if this is an actual request */
-        if (Message.Header.u2.s2.Type == LPC_REQUEST)
-        {
-            ReplyMessage = &Message.Header;
-
-            switch (Message.ApiNumber)
-            {
-                case LsapAdtWriteLogApi:
-                    LsapAdtWriteLog(&Message);
-                    break;
-
-                case LsapAsyncApi:
-                    LsapAsync(&Message);
-                    break;
-
-                case LsapComponentTestApi:
-                    LsapComponentTest(&Message);
-                    break;
-
-                default:
-                    ERR("LsapRmServerThread - invalid API number: 0x%lx\n",
-                        Message.ApiNumber);
-                    ReplyMessage = NULL;
-            }
-
-            continue;
-        }
-
-        ERR("LsapRmServerThread - unexpected message type: 0x%lx\n",
-            Message.Header.u2.s2.Type);
-
-        /* Start over */
-        ReplyMessage = NULL;
-    }
-}
-
-NTSTATUS
-LsapRmInitializeServer(VOID)
-{
-    UNICODE_STRING Name;
-    OBJECT_ATTRIBUTES ObjectAttributes;
-    SECURITY_QUALITY_OF_SERVICE SecurityQos;
-    HANDLE InitEvent;
-    HANDLE ThreadHandle;
-    DWORD ThreadId;
-    NTSTATUS Status;
-
-    /* Create the LSA command port */
-    RtlInitUnicodeString(&Name, L"\\SeLsaCommandPort");
-    InitializeObjectAttributes(&ObjectAttributes, &Name, 0, NULL, NULL);
-    Status = NtCreatePort(&SeLsaCommandPort,
-                          &ObjectAttributes,
-                          0,
-                          PORT_MAXIMUM_MESSAGE_LENGTH,
-                          2 * PAGE_SIZE);
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("LsapRmInitializeServer - Port Create failed 0x%lx\n", Status);
-        return Status;
-    }
-
-    /* Open the LSA init event */
-    RtlInitUnicodeString(&Name, L"\\SeLsaInitEvent");
-    InitializeObjectAttributes(&ObjectAttributes, &Name, 0, NULL, NULL);
-    Status = NtOpenEvent(&InitEvent, 2, &ObjectAttributes);
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("LsapRmInitializeServer - Lsa Init Event Open failed 0x%lx\n", Status);
-        return Status;
-    }
-
-    /* Signal the kernel, that we are ready */
-    Status = NtSetEvent(InitEvent, 0);
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("LsapRmInitializeServer - Set Init Event failed 0x%lx\n", Status);
-        return Status;
-    }
-
-    /* Setup the QoS structure */
-    SecurityQos.ImpersonationLevel = SecurityIdentification;
-    SecurityQos.ContextTrackingMode = SECURITY_DYNAMIC_TRACKING;
-    SecurityQos.EffectiveOnly = TRUE;
-
-    /* Connect to the kernel server */
-    RtlInitUnicodeString(&Name, L"\\SeRmCommandPort");
-    Status = NtConnectPort(&SeRmCommandPort,
-                           &Name,
-                           &SecurityQos,
-                           NULL,
-                           NULL,
-                           NULL,
-                           NULL,
-                           NULL);
-    if (!NT_SUCCESS(Status))
-    {
-        ERR("LsapRmInitializeServer - Connect to Rm Command Port failed 0x%lx\n", Status);
-        return Status;
-    }
-
-    /* Create the server thread */
-    ThreadHandle = CreateThread(NULL, 0, LsapRmServerThread, NULL, 0, &ThreadId);
-    if (ThreadHandle == NULL)
-    {
-        ERR("LsapRmInitializeServer - Create Thread  failed 0x%lx\n", Status);
-        return STATUS_INSUFFICIENT_RESOURCES;
-    }
-
-    /* Close the server thread handle */
-    CloseHandle(ThreadHandle);
-
-    return STATUS_SUCCESS;
-}
-
-NTSTATUS
-LsapRmCreateLogonSession(
-    PLUID LogonId)
-{
-    SEP_RM_API_MESSAGE RequestMessage;
-    SEP_RM_API_MESSAGE ReplyMessage;
-    NTSTATUS Status;
-
-    TRACE("LsapRmCreateLogonSession(%p)\n", LogonId);
-
-    RequestMessage.Header.u2.ZeroInit = 0;
-    RequestMessage.Header.u1.s1.TotalLength =
-        (CSHORT)(sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(LUID));
-    RequestMessage.Header.u1.s1.DataLength =
-        RequestMessage.Header.u1.s1.TotalLength -
-        (CSHORT)sizeof(PORT_MESSAGE);
-
-    RequestMessage.ApiNumber = (ULONG)RmCreateLogonSession;
-    RtlCopyLuid(&RequestMessage.u.LogonLuid, LogonId);
-
-    ReplyMessage.Header.u2.ZeroInit = 0;
-    ReplyMessage.Header.u1.s1.TotalLength =
-        (CSHORT)(sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(NTSTATUS));
-    ReplyMessage.Header.u1.s1.DataLength =
-        ReplyMessage.Header.u1.s1.TotalLength -
-        (CSHORT)sizeof(PORT_MESSAGE);
-
-    ReplyMessage.u.ResultStatus = STATUS_SUCCESS;
-
-    Status = NtRequestWaitReplyPort(SeRmCommandPort,
-                                    (PPORT_MESSAGE)&RequestMessage,
-                                    (PPORT_MESSAGE)&ReplyMessage);
-    if (NT_SUCCESS(Status))
-    {
-        Status = ReplyMessage.u.ResultStatus;
-    }
-
-    return Status;
-}
-
-NTSTATUS
-LsapRmDeleteLogonSession(
-    PLUID LogonId)
-{
-    SEP_RM_API_MESSAGE RequestMessage;
-    SEP_RM_API_MESSAGE ReplyMessage;
-    NTSTATUS Status;
-
-    TRACE("LsapRmDeleteLogonSession(%p)\n", LogonId);
-
-    RequestMessage.Header.u2.ZeroInit = 0;
-    RequestMessage.Header.u1.s1.TotalLength =
-        (CSHORT)(sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(LUID));
-    RequestMessage.Header.u1.s1.DataLength =
-        RequestMessage.Header.u1.s1.TotalLength -
-        (CSHORT)sizeof(PORT_MESSAGE);
-
-    RequestMessage.ApiNumber = (ULONG)RmDeleteLogonSession;
-    RtlCopyLuid(&RequestMessage.u.LogonLuid, LogonId);
-
-    ReplyMessage.Header.u2.ZeroInit = 0;
-    ReplyMessage.Header.u1.s1.TotalLength =
-        (CSHORT)(sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(NTSTATUS));
-    ReplyMessage.Header.u1.s1.DataLength =
-        ReplyMessage.Header.u1.s1.TotalLength -
-        (CSHORT)sizeof(PORT_MESSAGE);
-
-    ReplyMessage.u.ResultStatus = STATUS_SUCCESS;
-
-    Status = NtRequestWaitReplyPort(SeRmCommandPort,
-                                    (PPORT_MESSAGE)&RequestMessage,
-                                    (PPORT_MESSAGE)&ReplyMessage);
-    if (NT_SUCCESS(Status))
-    {
-        Status = ReplyMessage.u.ResultStatus;
-    }
-
-    return Status;
-}