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