Author: ekohl
Date: Wed Sep 21 06:19:22 2016
New Revision: 72754
URL:
http://svn.reactos.org/svn/reactos?rev=72754&view=rev
Log:
[LSALIB][SECUR32]
- Move LsaConnectUntrusted() from sdk/lib/lsalib/lsa.c to dll/win32/secur32/lsalpc.c as it
is not exported from ntoskrnl.
- Remove obsolete code from lsalib.
Modified:
trunk/reactos/dll/win32/secur32/lsalpc.c
trunk/reactos/sdk/lib/lsalib/lsa.c
Modified: trunk/reactos/dll/win32/secur32/lsalpc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/secur32/lsalpc.c…
==============================================================================
--- trunk/reactos/dll/win32/secur32/lsalpc.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/secur32/lsalpc.c [iso-8859-1] Wed Sep 21 06:19:22 2016
@@ -108,6 +108,62 @@
*/
NTSTATUS
NTAPI
+LsaConnectUntrusted(
+ OUT PHANDLE LsaHandle)
+{
+ UNICODE_STRING PortName;
+ SECURITY_QUALITY_OF_SERVICE SecurityQos;
+ LSA_CONNECTION_INFO ConnectInfo;
+ ULONG ConnectInfoLength = sizeof(ConnectInfo);
+ NTSTATUS Status;
+
+ TRACE("LsaConnectUntrusted(%p)\n", LsaHandle);
+
+ // TODO: Wait on L"\\SECURITY\\LSA_AUTHENTICATION_INITIALIZED" event
+ // for the LSA server to be ready, and because we are untrusted,
+ // we may need to impersonate ourselves before!
+
+ RtlInitUnicodeString(&PortName,
+ L"\\LsaAuthenticationPort");
+
+ SecurityQos.Length = sizeof(SecurityQos);
+ SecurityQos.ImpersonationLevel = SecurityIdentification;
+ SecurityQos.ContextTrackingMode = SECURITY_DYNAMIC_TRACKING;
+ SecurityQos.EffectiveOnly = TRUE;
+
+ RtlZeroMemory(&ConnectInfo,
+ ConnectInfoLength);
+
+ ConnectInfo.CreateContext = TRUE;
+
+ Status = NtConnectPort(LsaHandle,
+ &PortName,
+ &SecurityQos,
+ NULL,
+ NULL,
+ NULL,
+ &ConnectInfo,
+ &ConnectInfoLength);
+ if (!NT_SUCCESS(Status))
+ {
+ ERR("NtConnectPort failed (Status 0x%08lx)\n", Status);
+ return Status;
+ }
+
+ if (!NT_SUCCESS(ConnectInfo.Status))
+ {
+ ERR("ConnectInfo.Status: 0x%08lx\n", ConnectInfo.Status);
+ }
+
+ return ConnectInfo.Status;
+}
+
+
+/*
+ * @implemented
+ */
+NTSTATUS
+NTAPI
LsaEnumerateLogonSessions(
PULONG LogonSessionCount,
PLUID *LogonSessionList)
Modified: trunk/reactos/sdk/lib/lsalib/lsa.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/lsalib/lsa.c?rev=7…
==============================================================================
--- trunk/reactos/sdk/lib/lsalib/lsa.c [iso-8859-1] (original)
+++ trunk/reactos/sdk/lib/lsalib/lsa.c [iso-8859-1] Wed Sep 21 06:19:22 2016
@@ -15,76 +15,12 @@
#include <ndk/mmfuncs.h>
#include <ndk/rtlfuncs.h>
#include <ndk/obfuncs.h>
-// #include <psdk/ntsecapi.h>
#include <lsass/lsass.h>
#define NDEBUG
#include <debug.h>
-/* GLOBALS *******************************************************************/
-
-// FIXME: Do we really need this?!
-#if !defined(__NTOSKRNL__) && !defined(_NTOSKRNL_) &&
!defined(_NTSYSTEM_)
-extern HANDLE Secur32Heap;
-#endif
-
/* FUNCTIONS *****************************************************************/
-
-/* This API is not defined and exported by NTOSKRNL */
-#if !defined(__NTOSKRNL__) && !defined(_NTOSKRNL_) &&
!defined(_NTSYSTEM_)
-/*
- * @implemented
- */
-NTSTATUS
-NTAPI
-LsaConnectUntrusted(OUT PHANDLE LsaHandle)
-{
- NTSTATUS Status;
- UNICODE_STRING PortName; // =
RTL_CONSTANT_STRING(L"\\LsaAuthenticationPort");
- SECURITY_QUALITY_OF_SERVICE SecurityQos;
- LSA_CONNECTION_INFO ConnectInfo;
- ULONG ConnectInfoLength = sizeof(ConnectInfo);
-
- DPRINT("LsaConnectUntrusted(%p)\n", LsaHandle);
-
- // TODO: Wait on L"\\SECURITY\\LSA_AUTHENTICATION_INITIALIZED" event
- // for the LSA server to be ready, and because we are untrusted,
- // we may need to impersonate ourselves before!
-
- RtlInitUnicodeString(&PortName, L"\\LsaAuthenticationPort");
-
- SecurityQos.Length = sizeof(SecurityQos);
- SecurityQos.ImpersonationLevel = SecurityIdentification;
- SecurityQos.ContextTrackingMode = SECURITY_DYNAMIC_TRACKING;
- SecurityQos.EffectiveOnly = TRUE;
-
- RtlZeroMemory(&ConnectInfo,
- ConnectInfoLength);
-
- ConnectInfo.CreateContext = TRUE;
-
- Status = ZwConnectPort(LsaHandle,
- &PortName,
- &SecurityQos,
- NULL,
- NULL,
- NULL,
- &ConnectInfo,
- &ConnectInfoLength);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("ZwConnectPort failed (Status 0x%08lx)\n", Status);
- return Status;
- }
-
- if (!NT_SUCCESS(ConnectInfo.Status))
- {
- DPRINT1("ConnectInfo.Status: 0x%08lx\n", ConnectInfo.Status);
- }
-
- return ConnectInfo.Status;
-}
-#endif
/*
* @implemented