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:
parent
2851e43e48
commit
899bc3a07d
@ -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 )
|
||||
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
/*********************************************************************
|
||||
*********************************************************************/
|
||||
|
||||
static WERROR spoolss_stop( void )
|
||||
static WERROR spoolss_stop( SERVICE_STATUS *service_status )
|
||||
{
|
||||
return WERR_OK;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user