1 /* 2 * PROJECT: Authentication Package DLL 3 * LICENSE: GPL - See COPYING in the top level directory 4 * FILE: dll/win32/msv1_0/lsa.c 5 * PURPOSE: NTLM-functions returned from SpLsaModeInitialize 6 (PSECPKG_FUNCTION_TABLE) 7 * COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de> 8 */ 9 10 #include "precomp.h" 11 12 #include "wine/debug.h" 13 WINE_DEFAULT_DEBUG_CHANNEL(msv1_0); 14 15 SECPKG_FUNCTION_TABLE NtlmLsaFn[1]; 16 17 NTSTATUS 18 NTAPI 19 SpInitialize( 20 _In_ ULONG_PTR PackageId, 21 _In_ PSECPKG_PARAMETERS Parameters, 22 _In_ PLSA_SECPKG_FUNCTION_TABLE FunctionTable) 23 { 24 TRACE("LsaSpInitialize (0x%p, 0x%p, 0x%p)\n", 25 PackageId, Parameters, FunctionTable); 26 return STATUS_NOT_IMPLEMENTED; 27 } 28 29 NTSTATUS 30 NTAPI 31 LsaSpShutDown(VOID) 32 { 33 TRACE("LsaSpShutDown\n"); 34 return STATUS_NOT_IMPLEMENTED; 35 } 36 37 /* MS doc says name must be SpAcceptCredentials! */ 38 NTSTATUS 39 NTAPI 40 SpAcceptCredentials( 41 _In_ SECURITY_LOGON_TYPE LogonType, 42 _In_ PUNICODE_STRING AccountName, 43 _In_ PSECPKG_PRIMARY_CRED PrimaryCredentials, 44 _In_ PSECPKG_SUPPLEMENTAL_CRED SupplementalCredentials) 45 { 46 TRACE("LsaSpAcceptCredentials(%li %wZ 0x%p 0x%p)\n", 47 LogonType, AccountName, PrimaryCredentials, SupplementalCredentials); 48 return STATUS_NOT_IMPLEMENTED; 49 } 50 51 NTSTATUS 52 NTAPI 53 LsaSpAcquireCredentialsHandle( 54 _In_ PUNICODE_STRING PrincipalName, 55 _In_ ULONG CredentialUseFlags, 56 _In_ PLUID LogonId, 57 _In_ PVOID AuthorizationData, 58 _In_ PVOID GetKeyFunciton, 59 _In_ PVOID GetKeyArgument, 60 _Out_ PLSA_SEC_HANDLE CredentialHandle, 61 _Out_ PTimeStamp ExpirationTime) 62 { 63 TRACE("LsaSpAcquireCredentialsHandle(%wZ 0x%lx 0x%p 0x%p 0x%p 0x%p 0x%p 0x%p)\n", 64 PrincipalName, CredentialUseFlags, LogonId, 65 AuthorizationData, GetKeyFunciton, GetKeyArgument, 66 CredentialHandle, ExpirationTime); 67 return STATUS_NOT_IMPLEMENTED; 68 } 69 70 NTSTATUS 71 NTAPI 72 LsaSpQueryCredentialsAttributes( 73 _In_ LSA_SEC_HANDLE CredentialHandle, 74 _In_ ULONG CredentialAttribute, 75 _Inout_ PVOID Buffer) 76 { 77 TRACE("LsaSpQueryCredentialsAttributes(0x%p 0x%lx 0x%p)\n", 78 CredentialHandle, CredentialAttribute, Buffer); 79 return STATUS_NOT_IMPLEMENTED; 80 } 81 82 NTSTATUS 83 NTAPI 84 LsaSpFreeCredentialsHandle( 85 _In_ LSA_SEC_HANDLE CredentialHandle) 86 { 87 TRACE("LsaSpFreeCredentialsHandle(0x%p)", CredentialHandle); 88 return STATUS_NOT_IMPLEMENTED; 89 } 90 91 NTSTATUS 92 NTAPI 93 LsaSpSaveCredentials( 94 _In_ LSA_SEC_HANDLE CredentialHandle, 95 _In_ PSecBuffer Credentials) 96 { 97 TRACE("LsaSpSaveCredentials(0x%p 0x%p)\n", CredentialHandle, Credentials); 98 return STATUS_NOT_IMPLEMENTED; 99 } 100 101 NTSTATUS 102 NTAPI 103 LsaSpGetCredentials( 104 _In_ LSA_SEC_HANDLE CredentialHandle, 105 _Inout_ PSecBuffer Credentials) 106 { 107 TRACE("LsaSpGetCredentials(0x%p 0x%p)\n", CredentialHandle, Credentials); 108 return STATUS_NOT_IMPLEMENTED; 109 } 110 111 NTSTATUS 112 NTAPI 113 LsaSpDeleteCredentials( 114 _In_ LSA_SEC_HANDLE CredentialHandle, 115 _In_ PSecBuffer Key) 116 { 117 TRACE("LsaSpDeleteCredentials(0x%p 0x%p)\n", CredentialHandle, Key); 118 return STATUS_NOT_IMPLEMENTED; 119 } 120 121 NTSTATUS 122 NTAPI 123 LsaSpGetInfoW( 124 _Out_ PSecPkgInfoW PackageInfo) 125 { 126 TRACE("LsaGetInfo(0x%p)\n", PackageInfo); 127 return STATUS_NOT_IMPLEMENTED; 128 } 129 130 NTSTATUS 131 NTAPI 132 LsaSpInitLsaModeContext( 133 _In_ LSA_SEC_HANDLE CredentialHandle, 134 _In_ LSA_SEC_HANDLE ContextHandle, 135 _In_ PUNICODE_STRING TargetName, 136 _In_ ULONG ContextRequirements, 137 _In_ ULONG TargetDataRep, 138 _In_ PSecBufferDesc InputBuffers, 139 _Out_ PLSA_SEC_HANDLE NewContextHandle, 140 _Inout_ PSecBufferDesc OutputBuffers, 141 _Out_ PULONG ContextAttributes, 142 _Out_ PTimeStamp ExpirationTime, 143 _Out_ PBOOLEAN MappedContext, 144 _Out_ PSecBuffer ContextData) 145 { 146 TRACE("LsaSpInitLsaModeContext(0x%p 0x%p %wZ 0x%lx %i 0x%p 0x%p 0x%p " 147 "0x%p 0x%p 0x%p 0x%p 0x%p 0x%p 0x%p 0x%p)\n", 148 CredentialHandle, ContextHandle, TargetName, 149 ContextRequirements, TargetDataRep, InputBuffers, 150 NewContextHandle, OutputBuffers, ContextAttributes, 151 ExpirationTime, MappedContext, ContextData); 152 return STATUS_NOT_IMPLEMENTED; 153 } 154 155 NTSTATUS 156 NTAPI 157 LsaSpAcceptLsaModeContext( 158 _In_ LSA_SEC_HANDLE CredentialHandle, 159 _In_ LSA_SEC_HANDLE ContextHandle, 160 _In_ PSecBufferDesc InputBuffer, 161 _In_ ULONG ContextRequirements, 162 _In_ ULONG TargetDataRep, 163 _Out_ PLSA_SEC_HANDLE NewContextHandle, 164 _Inout_ PSecBufferDesc OutputBuffer, 165 _Out_ PULONG ContextAttributes, 166 _Out_ PTimeStamp ExpirationTime, 167 _Out_ PBOOLEAN MappedContext, 168 _Out_ PSecBuffer ContextData) 169 { 170 TRACE("LsaSpAcceptLsaModeContext(0x%p 0x%p 0x%p %i %i 0x%p 0x%p 0x%p " 171 "0x%p 0x%p 0x%p)\n", 172 CredentialHandle, ContextHandle, InputBuffer, ContextRequirements, 173 TargetDataRep, NewContextHandle, OutputBuffer, 174 ContextAttributes, ExpirationTime, MappedContext, ContextData); 175 return STATUS_NOT_IMPLEMENTED; 176 } 177 178 NTSTATUS 179 NTAPI 180 LsaSpDeleteContext( 181 _In_ LSA_SEC_HANDLE ContextHandle) 182 { 183 TRACE("LsaSpDeleteContext(0x%p)\n", ContextHandle); 184 return STATUS_NOT_IMPLEMENTED; 185 } 186 187 NTSTATUS 188 NTAPI 189 LsaSpApplyControlToken( 190 _In_ LSA_SEC_HANDLE ContextHandle, 191 _In_ PSecBufferDesc ControlToken) 192 { 193 TRACE("LsaSpApplyControlToken(0x%p 0x%p)\n", ContextHandle, ControlToken); 194 return STATUS_NOT_IMPLEMENTED; 195 } 196 197 NTSTATUS 198 NTAPI 199 LsaSpGetUserInfo( 200 _In_ PLUID LogonId, 201 _In_ ULONG Flags, 202 _Out_ PSecurityUserData *UserData) 203 { 204 TRACE("LsaSpGetUserInfo(0x%p 0x%lx 0x%p)\n", LogonId, Flags, UserData); 205 return STATUS_NOT_IMPLEMENTED; 206 } 207 208 NTSTATUS 209 NTAPI 210 LsaSpGetExtendedInformation( 211 _In_ SECPKG_EXTENDED_INFORMATION_CLASS Class, 212 _Out_ PSECPKG_EXTENDED_INFORMATION *ppInfo) 213 { 214 TRACE("LsaSpGetExtendedInformation(0x%lx 0x%p)\n", 215 Class, ppInfo); 216 return STATUS_NOT_IMPLEMENTED; 217 } 218 219 NTSTATUS 220 NTAPI 221 LsaSpSetExtendedInformation( 222 _In_ SECPKG_EXTENDED_INFORMATION_CLASS Class, 223 _In_ PSECPKG_EXTENDED_INFORMATION Info) 224 { 225 TRACE("LsaSpSetExtendedInformation(0x%lx 0x%p)\n", 226 Class, Info); 227 return STATUS_NOT_IMPLEMENTED; 228 } 229