]> granicus.if.org Git - apache/commitdiff
Use the bare minimum permissions required to perform a given service
authorWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 12 Jul 2002 18:32:27 +0000 (18:32 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 12 Jul 2002 18:32:27 +0000 (18:32 +0000)
  manager operation.

Submitted by: David Shane Holden <dpejesh@yahoo.com>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96036 13f79535-47bb-0310-9956-ffa450edef68

support/win32/ApacheMonitor.c

index 4fec6ff4789a959a640374962ba2f52b19e28760..3ae7da92209bb9db251055f3c2f87cb70fe88775 100644 (file)
@@ -780,13 +780,14 @@ BOOL ApacheManageService(LPCSTR szServiceName, LPCSTR szImagePath,
     else
     {
         schSCManager = OpenSCManager(szComputerName, NULL,
-                                     GENERIC_EXECUTE);
+                                     SC_MANAGER_CONNECT);
         if (!schSCManager) {
             return FALSE;
         }
 
         schService = OpenService(schSCManager, szServiceName, 
-                                 GENERIC_EXECUTE);
+                                 SERVICE_QUERY_STATUS | SERVICE_START | 
+                                 SERVICE_STOP | SERVICE_USER_DEFINED_CONTROL);
         if (schService != NULL)
         {
             retValue = FALSE;
@@ -937,7 +938,7 @@ BOOL IsServiceRunning(LPCSTR szServiceName, LPCSTR szComputerName,
     {
         dwPid = 0;
         schSCManager = OpenSCManager(szComputerName, NULL,
-                                     GENERIC_READ);
+                                     SC_MANAGER_CONNECT);
         if (!schSCManager) {
             return FALSE;
         }