[MSV1_0]
authorEric Kohl <eric.kohl@reactos.org>
Sun, 3 Mar 2013 19:11:22 +0000 (19:11 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 3 Mar 2013 19:11:22 +0000 (19:11 +0000)
Add authentication package stub and add it to the registry.

svn path=/trunk/; revision=58420

reactos/boot/bootdata/hivesys.inf
reactos/cmake/baseaddress.cmake
reactos/dll/win32/CMakeLists.txt
reactos/dll/win32/msv1_0/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/msv1_0/msv1_0.c [new file with mode: 0644]
reactos/dll/win32/msv1_0/msv1_0.h [new file with mode: 0644]
reactos/dll/win32/msv1_0/msv1_0.rc [new file with mode: 0644]
reactos/dll/win32/msv1_0/msv1_0.spec [new file with mode: 0644]

index 6285b4f..b4cef0d 100644 (file)
@@ -769,6 +769,10 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00010415",2,
 HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","0001041F",2,"440"
 HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00020408",2,"319"
 
+; Lsa
+HKLM,"SYSTEM\CurrentControlSet\Control\Lsa","Authentication Packages",0x00010000, \
+ "msv1_0"
+
 ; Network
 HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}",,0x00000000,"Network Adapters"
 HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}","Class",0x00000000,"Net"
index e1e5dc4..e8061ea 100644 (file)
@@ -2,6 +2,7 @@ set(baseaddress_ntdll                0x77f20000)
 set(baseaddress_kernel32             0x77da0000)
 set(baseaddress_msvcrt               0x77d10000)
 set(baseaddress_advapi32             0x77c60000)
+set(baseaddress_msv1_0               0x77c40000)
 set(baseaddress_gdi32                0x77bf0000)
 set(baseaddress_user32               0x77a60000)
 set(baseaddress_dhcpcsvc             0x77a10000)
index 0f5f3bd..48680a6 100644 (file)
@@ -107,6 +107,7 @@ add_subdirectory(msrle32)
 add_subdirectory(mssign32)
 add_subdirectory(mssip32)
 add_subdirectory(mstask)
+add_subdirectory(msv1_0)
 add_subdirectory(msvcrt)
 add_subdirectory(msvcrt20)
 add_subdirectory(msvcrt40)
diff --git a/reactos/dll/win32/msv1_0/CMakeLists.txt b/reactos/dll/win32/msv1_0/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b98a479
--- /dev/null
@@ -0,0 +1,19 @@
+
+#include_directories(
+#    ${CMAKE_CURRENT_BINARY_DIR})
+
+spec2def(msv1_0.dll msv1_0.spec)
+
+list(APPEND SOURCE
+    msv1_0.c
+    msv1_0.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/msv1_0_stubs.c
+    ${CMAKE_CURRENT_BINARY_DIR}/msv1_0.def)
+
+add_library(msv1_0 SHARED ${SOURCE})
+set_module_type(msv1_0 win32dll UNICODE ENTRYPOINT 0)
+target_link_libraries(msv1_0 wine ${PSEH_LIB})
+add_importlibs(msv1_0 kernel32 ntdll)
+add_pch(msv1_0 msv1_0.h)
+add_dependencies(msv1_0 psdk)
+add_cd_file(TARGET msv1_0 DESTINATION reactos/system32 FOR all)
diff --git a/reactos/dll/win32/msv1_0/msv1_0.c b/reactos/dll/win32/msv1_0/msv1_0.c
new file mode 100644 (file)
index 0000000..9a0d347
--- /dev/null
@@ -0,0 +1,126 @@
+/*
+ * PROJECT:     Authentication Package DLL
+ * LICENSE:     GPL - See COPYING in the top level directory
+ * FILE:        dll/win32/msv1_0/msv1_0.c
+ * PURPOSE:     Main file
+ * COPYRIGHT:   Copyright 2013 Eric Kohl
+ */
+
+/* INCLUDES ****************************************************************/
+
+#include "msv1_0.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(msv1_0);
+
+
+/* FUNCTIONS ***************************************************************/
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+LsaApCallPackage(IN PLSA_CLIENT_REQUEST ClientRequest,
+                 IN PVOID ProtocolSubmitBuffer,
+                 IN PVOID ClientBufferBase,
+                 IN ULONG SubmitBufferLength,
+                 OUT PVOID *ProtocolReturnBuffer,
+                 OUT PULONG ReturnBufferLength,
+                 OUT PNTSTATUS ProtocolStatus)
+{
+    TRACE("()\n");
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+LsaApCallPackagePassthrough(IN PLSA_CLIENT_REQUEST ClientRequest,
+                            IN PVOID ProtocolSubmitBuffer,
+                            IN PVOID ClientBufferBase,
+                            IN ULONG SubmitBufferLength,
+                            OUT PVOID *ProtocolReturnBuffer,
+                            OUT PULONG ReturnBufferLength,
+                            OUT PNTSTATUS ProtocolStatus)
+{
+    TRACE("()\n");
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+LsaApCallPackageUntrusted(IN PLSA_CLIENT_REQUEST ClientRequest,
+                          IN PVOID ProtocolSubmitBuffer,
+                          IN PVOID ClientBufferBase,
+                          IN ULONG SubmitBufferLength,
+                          OUT PVOID *ProtocolReturnBuffer,
+                          OUT PULONG ReturnBufferLength,
+                          OUT PNTSTATUS ProtocolStatus)
+{
+    TRACE("()\n");
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+LsaApInitializePackage(IN ULONG AuthenticationPackageId,
+                       IN PLSA_DISPATCH_TABLE LsaDispatchTable,
+                       IN PLSA_STRING Database OPTIONAL,
+                       IN PLSA_STRING Confidentiality OPTIONAL,
+                       OUT PLSA_STRING *AuthenticationPackageName)
+{
+    TRACE("(%lu %p %p %p %p)\n",
+          AuthenticationPackageId, LsaDispatchTable, Database,
+          Confidentiality, AuthenticationPackageName);
+
+
+    return STATUS_SUCCESS;
+}
+
+
+/*
+ * @unimplemented
+ */
+VOID
+NTAPI
+LsaApLogonTerminated(IN PLUID LogonId)
+{
+    TRACE("()\n");
+}
+
+
+/*
+ * @unimplemented
+ */
+NTSTATUS
+NTAPI
+LsaApLogonUser(IN PLSA_CLIENT_REQUEST ClientRequest,
+               IN SECURITY_LOGON_TYPE LogonType,
+               IN PVOID AuthenticationInformation,
+               IN PVOID ClientAuthenticationBase,
+               IN ULONG AuthenticationInformationLength,
+               OUT PVOID *ProfileBuffer,
+               OUT PULONG ProfileBufferLength,
+               OUT PLUID LogonId,
+               OUT PNTSTATUS SubStatus,
+               OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
+               OUT PVOID *TokenInformation,
+               OUT PLSA_UNICODE_STRING *AccountName,
+               OUT PLSA_UNICODE_STRING *AuthenticatingAuthority)
+{
+    TRACE("()\n");
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+/* EOF */
diff --git a/reactos/dll/win32/msv1_0/msv1_0.h b/reactos/dll/win32/msv1_0/msv1_0.h
new file mode 100644 (file)
index 0000000..4c9c918
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * PROJECT:     Authentication Package DLL
+ * LICENSE:     GPL - See COPYING in the top level directory
+ * FILE:        dll/win32/msv1_0/msv1_0.h
+ * PURPOSE:     Common header file
+ * COPYRIGHT:   Copyright 2013 Eric Kohl
+ */
+
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#include <stdarg.h>
+#include <windef.h>
+#include <winbase.h>
+#include <winreg.h>
+#define NTOS_MODE_USER
+#include <ndk/cmfuncs.h>
+#include <ndk/kefuncs.h>
+#include <ndk/lpctypes.h>
+#include <ndk/lpcfuncs.h>
+#include <ndk/mmfuncs.h>
+#include <ndk/obfuncs.h>
+#include <ndk/psfuncs.h>
+#include <ndk/rtlfuncs.h>
+#include <ndk/setypes.h>
+
+#include <sspi.h>
+#include <ntsecapi.h>
+#include <ntsecpkg.h>
+
+#include <wine/debug.h>
+
+/* EOF */
diff --git a/reactos/dll/win32/msv1_0/msv1_0.rc b/reactos/dll/win32/msv1_0/msv1_0.rc
new file mode 100644 (file)
index 0000000..7bee705
--- /dev/null
@@ -0,0 +1,7 @@
+#include <windows.h>
+
+#define REACTOS_VERSION_DLL
+#define REACTOS_STR_FILE_DESCRIPTION   "ReactOS Authentication Package\0"
+#define REACTOS_STR_INTERNAL_NAME      "msv1_0\0"
+#define REACTOS_STR_ORIGINAL_FILENAME  "msv1_0.dll\0"
+#include <reactos/version.rc>
diff --git a/reactos/dll/win32/msv1_0/msv1_0.spec b/reactos/dll/win32/msv1_0/msv1_0.spec
new file mode 100644 (file)
index 0000000..31a19ad
--- /dev/null
@@ -0,0 +1,18 @@
+@ stdcall LsaApCallPackage(ptr ptr ptr long ptr ptr ptr)
+@ stdcall LsaApCallPackagePassthrough(ptr ptr ptr long ptr ptr ptr)
+@ stdcall LsaApCallPackageUntrusted(ptr ptr ptr long ptr ptr ptr)
+@ stdcall LsaApInitializePackage(long ptr ptr ptr ptr)
+@ stdcall LsaApLogonTerminated(ptr)
+@ stdcall LsaApLogonUser(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr)
+@ stub LsaApLogonUserEx
+@ stub LsaApLogonUserEx2
+@ stub Msv1_0ExportSubAuthenticationRoutine
+@ stub Msv1_0SubAuthenticationPresent
+@ stub MsvGetLogonAttemptCount
+@ stub MsvSamLogoff
+@ stub MsvSamValidate
+@ stub MsvValidateTarget
+@ stub SpInitialize
+@ stub SpInstanceInit
+@ stub SpLsaModeInitiaize
+@ stub SpUserModeInitiaize