[SCM] Samba Shared Repository - branch master updated -
f36ffa768129f01b0c12d30bff5e4e205dd3676c
Günther Deschner
gd at samba.org
Thu Oct 23 16:35:47 GMT 2008
The branch, master has been updated
via f36ffa768129f01b0c12d30bff5e4e205dd3676c (commit)
via c1e5f284569d7c9aece4fba0a2101305b16cae91 (commit)
from d70efa57ceae1011a6a55d57d0152fd1bc2bb192 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f36ffa768129f01b0c12d30bff5e4e205dd3676c
Author: Günther Deschner <gd at samba.org>
Date: Thu Oct 23 18:34:28 2008 +0200
s3-build: remove duplicate svcctl bits and re-run make samba3-idl.
Guenther
commit c1e5f284569d7c9aece4fba0a2101305b16cae91
Author: Günther Deschner <gd at samba.org>
Date: Thu Oct 23 18:33:49 2008 +0200
idl: add svcctl specific access bits.
Guenther
-----------------------------------------------------------------------
Summary of changes:
librpc/idl/svcctl.idl | 47 +++++++++++++++++++++++++-
source3/include/rpc_secdes.h | 70 ---------------------------------------
source3/librpc/gen_ndr/svcctl.h | 8 ++++
3 files changed, 54 insertions(+), 71 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/idl/svcctl.idl b/librpc/idl/svcctl.idl
index 3eb686f..fa8e109 100644
--- a/librpc/idl/svcctl.idl
+++ b/librpc/idl/svcctl.idl
@@ -4,7 +4,7 @@
svcctl interface definitions
*/
-import "misc.idl";
+import "misc.idl", "security.idl";
[ uuid("367abb81-9844-35f1-ad32-98f038001003"),
version(2.0),
pointer_default(unique),
@@ -227,6 +227,9 @@ import "misc.idl";
/*****************/
/* Function 0x0f */
+
+ /* Service Control Manager Bits */
+
typedef [bitmap32bit] bitmap {
SC_RIGHT_MGR_CONNECT = 0x0001,
SC_RIGHT_MGR_CREATE_SERVICE = 0x0002,
@@ -236,6 +239,23 @@ import "misc.idl";
SC_RIGHT_MGR_MODIFY_BOOT_CONFIG = 0x0020
} svcctl_MgrAccessMask;
+ const int SC_MANAGER_READ_ACCESS =
+ (SEC_STD_READ_CONTROL |
+ SC_RIGHT_MGR_CONNECT |
+ SC_RIGHT_MGR_ENUMERATE_SERVICE |
+ SC_RIGHT_MGR_QUERY_LOCK_STATUS);
+
+ const int SC_MANAGER_EXECUTE_ACCESS = SC_MANAGER_READ_ACCESS;
+
+ const int SC_MANAGER_WRITE_ACCESS =
+ (SEC_STD_REQUIRED |
+ SC_MANAGER_READ_ACCESS |
+ SC_RIGHT_MGR_CREATE_SERVICE |
+ SC_RIGHT_MGR_LOCK |
+ SC_RIGHT_MGR_MODIFY_BOOT_CONFIG);
+
+ const int SC_MANAGER_ALL_ACCESS = SC_MANAGER_WRITE_ACCESS;
+
WERROR svcctl_OpenSCManagerW(
[in,unique] [string,charset(UTF16)] uint16 *MachineName,
[in,unique] [string,charset(UTF16)] uint16 *DatabaseName,
@@ -245,6 +265,9 @@ import "misc.idl";
/*****************/
/* Function 0x10 */
+
+ /* Service Object Bits */
+
typedef [bitmap32bit] bitmap {
SC_RIGHT_SVC_QUERY_CONFIG = 0x0001,
SC_RIGHT_SVC_CHANGE_CONFIG = 0x0002,
@@ -257,6 +280,28 @@ import "misc.idl";
SC_RIGHT_SVC_USER_DEFINED_CONTROL = 0x0100
} svcctl_ServiceAccessMask;
+ const int SERVICE_READ_ACCESS =
+ (SEC_STD_READ_CONTROL |
+ SC_RIGHT_SVC_ENUMERATE_DEPENDENTS |
+ SC_RIGHT_SVC_INTERROGATE |
+ SC_RIGHT_SVC_QUERY_CONFIG |
+ SC_RIGHT_SVC_QUERY_STATUS |
+ SC_RIGHT_SVC_USER_DEFINED_CONTROL);
+
+ const int SERVICE_EXECUTE_ACCESS =
+ (SERVICE_READ_ACCESS |
+ SC_RIGHT_SVC_START |
+ SC_RIGHT_SVC_STOP |
+ SC_RIGHT_SVC_PAUSE_CONTINUE);
+
+ const int SERVICE_WRITE_ACCESS =
+ (SEC_STD_REQUIRED |
+ SERVICE_READ_ACCESS |
+ SERVICE_EXECUTE_ACCESS |
+ SC_RIGHT_SVC_CHANGE_CONFIG);
+
+ const int SERVICE_ALL_ACCESS = SERVICE_WRITE_ACCESS;
+
WERROR svcctl_OpenServiceW(
[in,ref] policy_handle *scmanager_handle,
[in] [string,charset(UTF16)] uint16 ServiceName[],
diff --git a/source3/include/rpc_secdes.h b/source3/include/rpc_secdes.h
index 71fba41..fb73498 100644
--- a/source3/include/rpc_secdes.h
+++ b/source3/include/rpc_secdes.h
@@ -386,76 +386,6 @@ struct standard_mapping {
SA_RIGHT_ALIAS_LOOKUP_INFO ) /* 0x00020008 */
/*
- * Acces bits for the svcctl objects
- */
-
-/* Service Control Manager Bits */
-
-#if 0
-#define SC_RIGHT_MGR_CONNECT 0x0001
-#define SC_RIGHT_MGR_CREATE_SERVICE 0x0002
-#define SC_RIGHT_MGR_ENUMERATE_SERVICE 0x0004
-#define SC_RIGHT_MGR_LOCK 0x0008
-#define SC_RIGHT_MGR_QUERY_LOCK_STATUS 0x0010
-#define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG 0x0020
-
-#endif
-
-#define SC_MANAGER_READ_ACCESS \
- ( STANDARD_RIGHTS_READ_ACCESS | \
- SC_RIGHT_MGR_CONNECT | \
- SC_RIGHT_MGR_ENUMERATE_SERVICE | \
- SC_RIGHT_MGR_QUERY_LOCK_STATUS )
-
-#define SC_MANAGER_EXECUTE_ACCESS SC_MANAGER_READ_ACCESS
-
-#define SC_MANAGER_WRITE_ACCESS \
- ( STANDARD_RIGHTS_REQUIRED_ACCESS | \
- SC_MANAGER_READ_ACCESS | \
- SC_RIGHT_MGR_CREATE_SERVICE | \
- SC_RIGHT_MGR_LOCK | \
- SC_RIGHT_MGR_MODIFY_BOOT_CONFIG )
-
-#define SC_MANAGER_ALL_ACCESS SC_MANAGER_WRITE_ACCESS
-
-/* Service Object Bits */
-
-#if 0
-#define SC_RIGHT_SVC_QUERY_CONFIG 0x0001
-#define SC_RIGHT_SVC_CHANGE_CONFIG 0x0002
-#define SC_RIGHT_SVC_QUERY_STATUS 0x0004
-#define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS 0x0008
-#define SC_RIGHT_SVC_START 0x0010
-#define SC_RIGHT_SVC_STOP 0x0020
-#define SC_RIGHT_SVC_PAUSE_CONTINUE 0x0040
-#define SC_RIGHT_SVC_INTERROGATE 0x0080
-#define SC_RIGHT_SVC_USER_DEFINED_CONTROL 0x0100
-
-#endif
-
-#define SERVICE_READ_ACCESS \
- ( STANDARD_RIGHTS_READ_ACCESS | \
- SC_RIGHT_SVC_ENUMERATE_DEPENDENTS | \
- SC_RIGHT_SVC_INTERROGATE | \
- SC_RIGHT_SVC_QUERY_CONFIG | \
- SC_RIGHT_SVC_QUERY_STATUS | \
- SC_RIGHT_SVC_USER_DEFINED_CONTROL )
-
-#define SERVICE_EXECUTE_ACCESS \
- ( SERVICE_READ_ACCESS | \
- SC_RIGHT_SVC_START | \
- SC_RIGHT_SVC_STOP | \
- SC_RIGHT_SVC_PAUSE_CONTINUE )
-
-#define SERVICE_WRITE_ACCESS \
- ( STANDARD_RIGHTS_REQUIRED_ACCESS | \
- SERVICE_READ_ACCESS | \
- SERVICE_EXECUTE_ACCESS | \
- SC_RIGHT_SVC_CHANGE_CONFIG )
-
-#define SERVICE_ALL_ACCESS SERVICE_WRITE_ACCESS
-
-/*
* Access Bits for registry ACLS
*/
diff --git a/source3/librpc/gen_ndr/svcctl.h b/source3/librpc/gen_ndr/svcctl.h
index 42ed039..5da6979 100644
--- a/source3/librpc/gen_ndr/svcctl.h
+++ b/source3/librpc/gen_ndr/svcctl.h
@@ -18,6 +18,14 @@
#define SERVICE_STATE_INACTIVE ( 0x02 )
#define SERVICE_STATE_ALL ( 0x03 )
#define SV_TYPE_ALL ( 0xFFFFFFFF )
+#define SC_MANAGER_READ_ACCESS ( (STANDARD_RIGHTS_READ_ACCESS|SC_RIGHT_MGR_CONNECT|SC_RIGHT_MGR_ENUMERATE_SERVICE|SC_RIGHT_MGR_QUERY_LOCK_STATUS) )
+#define SC_MANAGER_EXECUTE_ACCESS ( SC_MANAGER_READ_ACCESS )
+#define SC_MANAGER_WRITE_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SC_MANAGER_READ_ACCESS|SC_RIGHT_MGR_CREATE_SERVICE|SC_RIGHT_MGR_LOCK|SC_RIGHT_MGR_MODIFY_BOOT_CONFIG) )
+#define SC_MANAGER_ALL_ACCESS ( SC_MANAGER_WRITE_ACCESS )
+#define SERVICE_READ_ACCESS ( (STANDARD_RIGHTS_READ_ACCESS|SC_RIGHT_SVC_ENUMERATE_DEPENDENTS|SC_RIGHT_SVC_INTERROGATE|SC_RIGHT_SVC_QUERY_CONFIG|SC_RIGHT_SVC_QUERY_STATUS|SC_RIGHT_SVC_USER_DEFINED_CONTROL) )
+#define SERVICE_EXECUTE_ACCESS ( (SERVICE_READ_ACCESS|SC_RIGHT_SVC_START|SC_RIGHT_SVC_STOP|SC_RIGHT_SVC_PAUSE_CONTINUE) )
+#define SERVICE_WRITE_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SERVICE_READ_ACCESS|SERVICE_EXECUTE_ACCESS|SC_RIGHT_SVC_CHANGE_CONFIG) )
+#define SERVICE_ALL_ACCESS ( SERVICE_WRITE_ACCESS )
struct SERVICE_LOCK_STATUS {
uint32_t is_locked;
const char *lock_owner;/* [unique,charset(UTF16)] */
--
Samba Shared Repository
More information about the samba-cvs
mailing list