1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

r7603: * fix a bug in the SERVICE_ALL_ACCESS security mask

* add calls to start and stop a service (to be filled
  in by the backend routines in services/svc_*.c
(This used to be commit 793d28a946d83beb2576c5c8ce808d32c71c880a)
This commit is contained in:
Gerald Carter 2005-06-15 03:10:36 +00:00 committed by Gerald (Jerry) Carter
parent 2851e43e48
commit 899bc3a07d
5 changed files with 9 additions and 6 deletions

View File

@ -518,7 +518,8 @@ typedef struct standard_mapping {
#define SERVICE_ALL_ACCESS \
( STANDARD_RIGHTS_REQUIRED_ACCESS | \
SERVICE_READ_ACCESS | \
SERVICE_EXECUTE_ACCESS )
SERVICE_EXECUTE_ACCESS | \
SC_RIGHT_SVC_CHANGE_CONFIG )

View File

@ -204,7 +204,7 @@ typedef struct Service_info_struct {
typedef struct {
/* functions for enumerating subkeys and values */
WERROR (*stop_service)( void );
WERROR (*stop_service)( SERVICE_STATUS *status );
WERROR (*start_service) ( void );
WERROR (*service_status)( SERVICE_STATUS *status );
} SERVICE_CONTROL_OPS;

View File

@ -496,6 +496,8 @@ WERROR _svcctl_start_service(pipes_struct *p, SVCCTL_Q_START_SERVICE *q_u, SVCCT
if ( !(info->access_granted & SC_RIGHT_SVC_START) )
return WERR_ACCESS_DENIED;
return info->ops->start_service();
return WERR_OK;
}
@ -518,6 +520,8 @@ WERROR _svcctl_control_service(pipes_struct *p, SVCCTL_Q_CONTROL_SERVICE *q_u, S
if ( !(info->access_granted & SC_RIGHT_SVC_STOP) )
return WERR_ACCESS_DENIED;
return info->ops->stop_service( &r_u->svc_status );
#if 0
SERVICE_INFO *service_info;
POLICY_HND *handle;
@ -582,8 +586,6 @@ WERROR _svcctl_control_service(pipes_struct *p, SVCCTL_Q_CONTROL_SERVICE *q_u, S
DEBUG(10, ("_svcctl_query_service_config: Should call the commFound service [%s], [%s]\n",service_info->servicename,service_info->filename));
#endif
return WERR_OK;
}
/********************************************************************

View File

@ -171,7 +171,7 @@ BOOL get_LSB_data(char *fname,Service_info *si )
/*********************************************************************
*********************************************************************/
static WERROR rcinit_stop( void )
static WERROR rcinit_stop( SERVICE_STATUS *service_status )
{
return WERR_OK;
}

View File

@ -25,7 +25,7 @@
/*********************************************************************
*********************************************************************/
static WERROR spoolss_stop( void )
static WERROR spoolss_stop( SERVICE_STATUS *service_status )
{
return WERR_OK;
}