According to Samuel, there is a partly implemented version of MSV1_0 in the sspi branch.
Am 03.03.2013 20:11, schrieb ekohl@svn.reactos.org:
Author: ekohl Date: Sun Mar 3 19:11:22 2013 New Revision: 58420
URL: http://svn.reactos.org/svn/reactos?rev=58420&view=rev Log: [MSV1_0] Add authentication package stub and add it to the registry.
Added: trunk/reactos/dll/win32/msv1_0/ (with props) trunk/reactos/dll/win32/msv1_0/CMakeLists.txt (with props) trunk/reactos/dll/win32/msv1_0/msv1_0.c (with props) trunk/reactos/dll/win32/msv1_0/msv1_0.h (with props) trunk/reactos/dll/win32/msv1_0/msv1_0.rc (with props) trunk/reactos/dll/win32/msv1_0/msv1_0.spec (with props) Modified: trunk/reactos/boot/bootdata/hivesys.inf trunk/reactos/cmake/baseaddress.cmake trunk/reactos/dll/win32/CMakeLists.txt
Modified: trunk/reactos/boot/bootdata/hivesys.inf URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys.inf?r... ============================================================================== --- trunk/reactos/boot/bootdata/hivesys.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesys.inf [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -768,6 +768,10 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00010415",2,"214" 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"
Modified: trunk/reactos/cmake/baseaddress.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/baseaddress.cmake?rev... ============================================================================== --- trunk/reactos/cmake/baseaddress.cmake [iso-8859-1] (original) +++ trunk/reactos/cmake/baseaddress.cmake [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -2,6 +2,7 @@ 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)
Modified: trunk/reactos/dll/win32/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/CMakeLists.txt?re... ============================================================================== --- trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -107,6 +107,7 @@ add_subdirectory(mssign32) add_subdirectory(mssip32) add_subdirectory(mstask) +add_subdirectory(msv1_0) add_subdirectory(msvcrt) add_subdirectory(msvcrt20) add_subdirectory(msvcrt40)
Propchange: trunk/reactos/dll/win32/msv1_0/
--- bugtraq:logregex (added) +++ bugtraq:logregex Sun Mar 3 19:11:22 2013 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: trunk/reactos/dll/win32/msv1_0/
bugtraq:message = See issue #%BUGID% for more details.Propchange: trunk/reactos/dll/win32/msv1_0/
bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%Propchange: trunk/reactos/dll/win32/msv1_0/
tsvn:logminsize = 10Added: trunk/reactos/dll/win32/msv1_0/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msv1_0/CMakeLists... ============================================================================== --- trunk/reactos/dll/win32/msv1_0/CMakeLists.txt (added) +++ trunk/reactos/dll/win32/msv1_0/CMakeLists.txt [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -1,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)
Propchange: trunk/reactos/dll/win32/msv1_0/CMakeLists.txt
svn:eol-style = nativePropchange: trunk/reactos/dll/win32/msv1_0/CMakeLists.txt
svn:keywords = author date id revisionAdded: trunk/reactos/dll/win32/msv1_0/msv1_0.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msv1_0/msv1_0.c?r... ============================================================================== --- trunk/reactos/dll/win32/msv1_0/msv1_0.c (added) +++ trunk/reactos/dll/win32/msv1_0/msv1_0.c [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -1,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 */
Propchange: trunk/reactos/dll/win32/msv1_0/msv1_0.c
svn:eol-style = nativePropchange: trunk/reactos/dll/win32/msv1_0/msv1_0.c
svn:keywords = author date id revisionAdded: trunk/reactos/dll/win32/msv1_0/msv1_0.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msv1_0/msv1_0.h?r... ============================================================================== --- trunk/reactos/dll/win32/msv1_0/msv1_0.h (added) +++ trunk/reactos/dll/win32/msv1_0/msv1_0.h [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -1,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 */
Propchange: trunk/reactos/dll/win32/msv1_0/msv1_0.h
svn:eol-style = nativePropchange: trunk/reactos/dll/win32/msv1_0/msv1_0.h
svn:keywords = author date id revisionAdded: trunk/reactos/dll/win32/msv1_0/msv1_0.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msv1_0/msv1_0.rc?... ============================================================================== --- trunk/reactos/dll/win32/msv1_0/msv1_0.rc (added) +++ trunk/reactos/dll/win32/msv1_0/msv1_0.rc [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -1,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>
Propchange: trunk/reactos/dll/win32/msv1_0/msv1_0.rc
svn:eol-style = nativePropchange: trunk/reactos/dll/win32/msv1_0/msv1_0.rc
svn:keywords = author date id revisionAdded: trunk/reactos/dll/win32/msv1_0/msv1_0.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msv1_0/msv1_0.spe... ============================================================================== --- trunk/reactos/dll/win32/msv1_0/msv1_0.spec (added) +++ trunk/reactos/dll/win32/msv1_0/msv1_0.spec [iso-8859-1] Sun Mar 3 19:11:22 2013 @@ -1,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
Propchange: trunk/reactos/dll/win32/msv1_0/msv1_0.spec
svn:eol-style = nativePropchange: trunk/reactos/dll/win32/msv1_0/msv1_0.spec
svn:keywords = author date id revision
Hi Timo,
I am not implementig the SSPI part of MSV1_0 but the AP (authentication package) part only. Therefore Samuels sspi branch is not of any use to me.
Regards, Eric
Am 04.03.2013 00:31, schrieb Timo Kreuzer:
According to Samuel, there is a partly implemented version of MSV1_0 in the sspi branch.