From 466a825ce7a3c9a40a694608523f47e580c78415 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Thu, 7 Apr 2005 04:58:38 +0000 Subject: r6232: more cleanups; remove BUFFER3; rename BUFFER4 -> RPC_DATA_BLOB; rename REG_CREATE_VALE -> REG_SET_VALUE (This used to be commit 28d433351cf813c7fb57ebac0e0f4973c85f73e8) --- source3/include/rpc_misc.h | 42 +++++++++++------------------------------- source3/include/rpc_netlogon.h | 14 +++++++------- source3/include/rpc_reg.h | 29 +++++++++++++++++++++++------ 3 files changed, 41 insertions(+), 44 deletions(-) (limited to 'source3/include') diff --git a/source3/include/rpc_misc.h b/source3/include/rpc_misc.h index e93d6610ba..dcc0ecc554 100644 --- a/source3/include/rpc_misc.h +++ b/source3/include/rpc_misc.h @@ -147,20 +147,12 @@ typedef struct { /********************************************************************** - * Buffers use by winreg + * Buffers **********************************************************************/ -/* - OLD COMMENT: - BUFFER2 - unicode string, size (in uint8 ascii chars) and buffer - pathetic. some stupid team of \PIPE\winreg writers got the concept - of a unicode string different from the other \PIPE\ writers - - NEW COMMENT: - buffer used by \winreg\ calls to fill in arbitrary REG_XXX values. - It *may* look like a UNISTR2 but it is *not*. This is not a goof - by the winreg developers. It is a generic buffer -*/ +/* buffer used by \winreg\ calls to fill in arbitrary REG_XXX values. + It *may* look like a UNISTR2 but it is *not*. This is not a goof + by the winreg developers. It is a generic buffer */ typedef struct { uint32 buf_max_len; @@ -169,34 +161,22 @@ typedef struct { uint16 *buffer; } REGVAL_BUFFER; -typedef struct buffer3_info { - uint32 buf_max_len; - uint8 *buffer; /* Data */ - uint32 buf_len; -} BUFFER3; - - - -/********************************************************************** - * Buffers use by spoolss - **********************************************************************/ +/* generic rpc version of the DATA_BLOB. Just a length and uint8 array */ typedef struct { uint32 buf_len; - uint16 *buffer; /* data */ -} BUFFER5; - - + uint8 *buffer; +} RPC_DATA_BLOB; /********************************************************************** - * Buffers use by netlogon + * Buffers use by spoolss (i might be able to replace it with + * an RPC_DATA_BLOB) **********************************************************************/ typedef struct { uint32 buf_len; - uint8 *buffer; -} BUFFER4; - + uint16 *buffer; /* data */ +} BUFFER5; /********************************************************************** diff --git a/source3/include/rpc_netlogon.h b/source3/include/rpc_netlogon.h index 3ba1ce6465..6812358575 100644 --- a/source3/include/rpc_netlogon.h +++ b/source3/include/rpc_netlogon.h @@ -643,7 +643,7 @@ typedef struct sam_domain_info_info UNISTR2 uni_dom_name; UNISTR2 buf_oem_info; - BUFFER4 buf_sec_desc; + RPC_DATA_BLOB buf_sec_desc; LOCKOUT_STRING account_lockout; @@ -670,7 +670,7 @@ typedef struct sam_group_info_info UNISTR2 uni_grp_name; UNISTR2 uni_grp_desc; - BUFFER4 buf_sec_desc; + RPC_DATA_BLOB buf_sec_desc; } SAM_GROUP_INFO; @@ -748,11 +748,11 @@ typedef struct sam_account_info_info uint32 unknown1; /* 0x4EC */ uint32 unknown2; /* 0 */ - BUFFER4 buf_logon_hrs; + RPC_DATA_BLOB buf_logon_hrs; UNISTR2 uni_comment; UNISTR2 uni_parameters; SAM_PWD pass; - BUFFER4 buf_sec_desc; + RPC_DATA_BLOB buf_sec_desc; UNISTR2 uni_profile; } SAM_ACCOUNT_INFO; @@ -783,7 +783,7 @@ typedef struct sam_alias_info_info uint8 reserved[40]; UNISTR2 uni_als_name; - BUFFER4 buf_sec_desc; + RPC_DATA_BLOB buf_sec_desc; UNISTR2 uni_als_desc; } SAM_ALIAS_INFO; @@ -829,7 +829,7 @@ typedef struct UNISTR2 domain_name; DOM_SID2 domain_sid; - BUFFER4 buf_sec_desc; + RPC_DATA_BLOB buf_sec_desc; } SAM_DELTA_POLICY; /* SAM_DELTA_TRUST_DOMS */ @@ -881,7 +881,7 @@ typedef struct UNIHDR *hdr_privslist; UNISTR2 *uni_privslist; - BUFFER4 buf_sec_desc; + RPC_DATA_BLOB buf_sec_desc; } SAM_DELTA_PRIVS; /* SAM_DELTA_SECRET */ diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h index 51f8ff8d96..f70fb5f03c 100644 --- a/source3/include/rpc_reg.h +++ b/source3/include/rpc_reg.h @@ -45,7 +45,7 @@ #define REG_RESTORE_KEY 0x13 #define REG_SAVE_KEY 0x14 #define REG_SET_KEY_SEC 0x15 -#define REG_CREATE_VALUE 0x16 +#define REG_SET_VALUE 0x16 #define REG_SHUTDOWN 0x18 #define REG_ABORT_SHUTDOWN 0x19 #define REG_GETVERSION 0x1a @@ -209,12 +209,13 @@ typedef struct { POLICY_HND pol; UNISTR4 name; uint32 type; - BUFFER3 *value; -} REG_Q_CREATE_VALUE; + RPC_DATA_BLOB value; + uint32 size; +} REG_Q_SET_VALUE; typedef struct { WERROR status; -} REG_R_CREATE_VALUE; +} REG_R_SET_VALUE; /***********************************************/ @@ -331,13 +332,29 @@ typedef struct { /***********************************************/ + +/* I have no idea if this is correct since I + have not seen the full structure on the wire + as of yet */ + +typedef struct { + uint32 max_len; + uint32 len; + SEC_DESC *secdesc; +} REG_SEC_DESC_BUF; + +typedef struct { + uint32 size; /* size in bytes of security descriptor */ + REG_SEC_DESC_BUF secdesc; + uint8 inherit; /* see MSDN for a description */ +} SECURITY_ATTRIBUTE; + typedef struct { POLICY_HND pol; UNISTR4 filename; - uint32 unknown; /* I'm pretty sure this is a pointer to a SEC_DESC as per MSDN */ + SECURITY_ATTRIBUTE *sec_attr; } REG_Q_SAVE_KEY; - typedef struct { WERROR status; /* return status */ } REG_R_SAVE_KEY; -- cgit