summaryrefslogtreecommitdiffstats
path: root/source/include
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-06-29 16:35:32 +0000
committerGerald Carter <jerry@samba.org>2005-06-29 16:35:32 +0000
commitc199b7f290a601d2aec40445f862a90690a4da07 (patch)
tree8b05ac22ce1ce4e2801dab0e167f197b04dce256 /source/include
parentbe39cd8f0cc2ce1359e9887fee60790ae573f71c (diff)
downloadsamba-c199b7f290a601d2aec40445f862a90690a4da07.tar.gz
samba-c199b7f290a601d2aec40445f862a90690a4da07.tar.xz
samba-c199b7f290a601d2aec40445f862a90690a4da07.zip
r7995: * privileges are local except when they're *not*
printmig.exe assumes that the LUID of the SeBackupPrivlege on the target server matches the LUID of the privilege on the local client. Even though an LUID is never guaranteed to be the same across reboots. How *awful*! My cat could write better code! (more on my cat later....) * Set the privelege LUID in the global PRIVS[] array * Rename RegCreateKey() to RegCreateKeyEx() to better match MSDN * Rename the unknown field in RegCreateKeyEx() to disposition (guess according to MSDN) * Add the capability to define REG_TDB_ONLY for using the reg_db.c functions and stress the RegXXX() rpc functions.
Diffstat (limited to 'source/include')
-rw-r--r--source/include/privileges.h24
-rw-r--r--source/include/rpc_reg.h8
2 files changed, 15 insertions, 17 deletions
diff --git a/source/include/privileges.h b/source/include/privileges.h
index 38edee84e81..052cbb6c5fe 100644
--- a/source/include/privileges.h
+++ b/source/include/privileges.h
@@ -82,25 +82,22 @@ extern const SE_PRIV se_restore;
#define PR_LOG_ON_SERVICE 0x0010
-#ifndef _BOOL
-typedef int BOOL;
-#define _BOOL /* So we don't typedef BOOL again in vfs.h */
-#endif
-
-typedef struct LUID
-{
- uint32 low;
+typedef struct {
uint32 high;
+ uint32 low;
} LUID;
-typedef struct LUID_ATTR
-{
+typedef struct {
LUID luid;
uint32 attr;
} LUID_ATTR;
-typedef struct privilege_set
-{
+#ifndef _BOOL
+typedef int BOOL;
+#define _BOOL /* So we don't typedef BOOL again in vfs.h */
+#endif
+
+typedef struct {
TALLOC_CTX *mem_ctx;
BOOL ext_ctx;
uint32 count;
@@ -108,10 +105,11 @@ typedef struct privilege_set
LUID_ATTR *set;
} PRIVILEGE_SET;
-typedef struct _PRIVS {
+typedef struct {
SE_PRIV se_priv;
const char *name;
const char *description;
+ LUID luid;
} PRIVS;
#endif /* PRIVILEGES_H */
diff --git a/source/include/rpc_reg.h b/source/include/rpc_reg.h
index 7d6469bc8e9..a35e534952e 100644
--- a/source/include/rpc_reg.h
+++ b/source/include/rpc_reg.h
@@ -34,7 +34,7 @@
#define REG_OPEN_HKPD 0x03
#define REG_OPEN_HKU 0x04
#define REG_CLOSE 0x05
-#define REG_CREATE_KEY 0x06
+#define REG_CREATE_KEY_EX 0x06
#define REG_DELETE_KEY 0x07
#define REG_DELETE_VALUE 0x08
#define REG_ENUM_KEY 0x09
@@ -225,13 +225,13 @@ typedef struct {
uint32 ptr3;
SEC_DESC_BUF *data;
uint32 unknown_2; /* 0x0000 0000 */
-} REG_Q_CREATE_KEY;
+} REG_Q_CREATE_KEY_EX;
typedef struct {
POLICY_HND handle;
- uint32 unknown;
+ uint32 disposition;
WERROR status;
-} REG_R_CREATE_KEY;
+} REG_R_CREATE_KEY_EX;
/***********************************************/