Author: cwittich
Date: Thu Feb 5 09:08:51 2009
New Revision: 39411
URL:
http://svn.reactos.org/svn/reactos?rev=39411&view=rev
Log:
hackfix some services stuff
Modified:
trunk/reactos/base/system/services/rpcserver.c
Modified: trunk/reactos/base/system/services/rpcserver.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/rpcse…
==============================================================================
--- trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/services/rpcserver.c [iso-8859-1] Thu Feb 5 09:08:51 2009
@@ -745,6 +745,9 @@
DWORD dwBytesNeeded;
DWORD dwError;
+
+ SECURITY_DESCRIPTOR ObjectDescriptor;
+
DPRINT("RQueryServiceObjectSecurity() called\n");
hSvc = (PSERVICE_HANDLE)hService;
@@ -778,7 +781,10 @@
/* FIXME: Lock the service list */
- Status = RtlQuerySecurityObject(lpService->lpSecurityDescriptor,
+ /* hack */
+ Status = RtlCreateSecurityDescriptor(&ObjectDescriptor,
SECURITY_DESCRIPTOR_REVISION);
+
+ Status = RtlQuerySecurityObject(&ObjectDescriptor /*
lpService->lpSecurityDescriptor */,
dwSecurityInformation,
(PSECURITY_DESCRIPTOR)lpSecurityDescriptor,
cbBufSize,
@@ -819,9 +825,9 @@
PSERVICE_HANDLE hSvc;
PSERVICE lpService;
ULONG DesiredAccess = 0;
- HANDLE hToken = NULL;
+ /* HANDLE hToken = NULL; */
HKEY hServiceKey;
- NTSTATUS Status;
+ /* NTSTATUS Status; */
DWORD dwError;
DPRINT1("RSetServiceObjectSecurity() called\n");
@@ -875,6 +881,7 @@
if (lpService->bDeleted)
return ERROR_SERVICE_MARKED_FOR_DELETE;
+#if 0
RpcImpersonateClient(NULL);
Status = NtOpenThreadToken(NtCurrentThread(),
@@ -882,13 +889,12 @@
TRUE,
&hToken);
if (!NT_SUCCESS(Status))
- return RtlNtStatusToDosError(Status);
+ return RtlNtStatusToDosError(Status);
RpcRevertToSelf();
/* FIXME: Lock service database */
-#if 0
Status = RtlSetSecurityObject(dwSecurityInformation,
(PSECURITY_DESCRIPTOR)lpSecurityDescriptor,
&lpService->lpSecurityDescriptor,
@@ -917,8 +923,10 @@
Done:
+#if 0
if (hToken != NULL)
NtClose(hToken);
+#endif
/* FIXME: Unlock service database */