Author: sserapion
Date: Sat May 7 20:03:54 2011
New Revision: 51630
URL:
http://svn.reactos.org/svn/reactos?rev=51630&view=rev
Log:
Fix lsalib build.
Modified:
branches/sspi-bringup/reactos/lib/lsalib/lsa.c
Modified: branches/sspi-bringup/reactos/lib/lsalib/lsa.c
URL:
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/lib/lsalib…
==============================================================================
--- branches/sspi-bringup/reactos/lib/lsalib/lsa.c [iso-8859-1] (original)
+++ branches/sspi-bringup/reactos/lib/lsalib/lsa.c [iso-8859-1] Sat May 7 20:03:54 2011
@@ -15,10 +15,6 @@
#define NDEBUG
#include <debug.h>
-
-/* GLOBALS *******************************************************************/
-
-extern HANDLE Secur32Heap;
/* FUNCTIONS *****************************************************************/
@@ -112,7 +108,7 @@
}
OutBufferSize = Reply->d.CallAuthenticationPackageReply.OutBufferLength;
- *ProtocolReturnBuffer = RtlAllocateHeap(Secur32Heap,
+ *ProtocolReturnBuffer = RtlAllocateHeap(RtlGetProcessHeap(),
0,
OutBufferSize);
*ReturnBufferLength = OutBufferSize;
@@ -130,7 +126,7 @@
NTSTATUS WINAPI
LsaFreeReturnBuffer(PVOID Buffer)
{
- return RtlFreeHeap(Secur32Heap, 0, Buffer);
+ return RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);
}
@@ -260,7 +256,7 @@
return Status;
}
- *ProfileBuffer = RtlAllocateHeap(Secur32Heap,
+ *ProfileBuffer = RtlAllocateHeap(RtlGetProcessHeap(),
0,
Reply->d.LogonUserReply.ProfileBufferLength);
memcpy(*ProfileBuffer,
@@ -280,6 +276,14 @@
/*
* @implemented
*/
+
+/*
+ msdn:
+ The LsaRegisterLogonProcess function verifies that the application making the
+ function call is a logon process by checking that it has the SeTcbPrivilege privilege
set.
+ It also opens the application's process for PROCESS_DUP_HANDLE access in
anticipation of
+ future LSA authentication calls.
+*/
NTSTATUS WINAPI
LsaRegisterLogonProcess(PLSA_STRING LsaLogonProcessName,
PHANDLE Handle,
@@ -290,8 +294,8 @@
ULONG ConnectInfoLength;
NTSTATUS Status;
LSASS_CONNECT_DATA ConnectInfo;
-// LSASS_REQUEST Request;
-// LSASS_REPLY Reply;
+ //LSASS_REQUEST Request;
+ //LSASS_REPLY Reply;
/* Check the logon process name length */
if (LsaLogonProcessName->Length > LSASS_MAX_LOGON_PROCESS_NAME_LENGTH)
@@ -323,10 +327,10 @@
&ConnectInfoLength);
if (!NT_SUCCESS(Status))
{
- return Status;
- }
-
- return Status;
+ DPRINT1("ZwConnectPort LsaAuthenticationPort failed with %x\n",
Status);
+ return Status;
+ }
+
#if 0
Request.Type = LSASS_REQUEST_REGISTER_LOGON_PROCESS;
Request.Header.u1.s1.DataLength = sizeof(LSASS_REQUEST) -
@@ -343,21 +347,23 @@
&Reply.Header);
if (!NT_SUCCESS(Status))
{
+ DPRINT1("ZwRequestWaitReplyPort failed with %x\n", Status);
+ *Handle = NULL;
+ return Status;
+ }
+
+ if (!NT_SUCCESS(Reply.Status))
+ {
// NtClose(*Handle);
// *Handle = NULL;
return Status;
}
- if (!NT_SUCCESS(Reply.Status))
- {
-// NtClose(*Handle);
-// *Handle = NULL;
- return Status;
- }
-
*OperationalMode = Reply.d.RegisterLogonProcessReply.OperationalMode;
return Reply.Status;
+#else
+ return Status;
#endif
}