From cb265dbb8b73a177d9e7fd52e53f1eba487b94d4 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Fri, 13 Nov 1998 01:38:41 +0000 Subject: security descriptors (This used to be commit 9412edfd4c11a26e4ef290839375e3959cf70a7e) --- source3/include/proto.h | 4 +++- source3/include/rpc_reg.h | 20 ++++++-------------- source3/include/smb.h | 6 +----- 3 files changed, 10 insertions(+), 20 deletions(-) (limited to 'source3/include') diff --git a/source3/include/proto.h b/source3/include/proto.h index aa2d3b6486..843c0a3311 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1648,7 +1648,9 @@ void reg_io_q_flush_key(char *desc, REG_Q_FLUSH_KEY *r_q, prs_struct *ps, int d void reg_io_r_flush_key(char *desc, REG_R_FLUSH_KEY *r_r, prs_struct *ps, int depth); void make_reg_q_create_key(REG_Q_CREATE_KEY *q_c, POLICY_HND *hnd, char *name, char *class, - SEC_ACCESS *sam_access); + SEC_ACCESS *sam_access, + SEC_DESC_BUF *sec_buf, + int sec_len, SEC_DESC *sec); void reg_io_q_create_key(char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int depth); void reg_io_r_create_key(char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int depth); void make_reg_q_delete_val(REG_Q_DELETE_VALUE *q_c, POLICY_HND *hnd, diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h index ceb88ad657..7766052588 100644 --- a/source3/include/rpc_reg.h +++ b/source3/include/rpc_reg.h @@ -228,20 +228,12 @@ typedef struct q_reg_create_key_info SEC_ACCESS sam_access; /* access rights flags, see rpc_secdes.h */ uint32 ptr1; - uint32 unknown_0; /* 0x0000 000C */ - - uint32 ptr2; - uint32 sec_len1; /* 0x14 - length of security descriptor, bytes */ - uint32 sec_len2; /* 0x14 - length of security descriptor, bytes */ - uint32 sec_len3; /* 0x0 - length of security descriptor, bytes */ - uint32 sec_len4; /* 0x14 - length of security descriptor, bytes */ - uint32 sec_len5; /* 0x0 - length of security descriptor, bytes */ - uint32 sec_len6; /* 0x14 - length of security descriptor, bytes */ -#if 0 - SEC_DES sec_desc; -#else - uint8 buf_unk[20]; /* 01 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 */ -#endif + uint32 sec_info; /* xxxx_SECURITY_INFORMATION */ + + uint32 ptr2; /* pointer */ + BUFHDR hdr_sec; /* header for security data */ + uint32 ptr3; /* pointer */ + SEC_DESC_BUF *data; uint32 unknown_2; /* 0x0000 0000 */ diff --git a/source3/include/smb.h b/source3/include/smb.h index 4f064d27d1..9339cdda6f 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -1655,11 +1655,7 @@ extern int unix_ERR_code; #define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x)) /* zero a structure given a pointer to the structure */ -#if 0 -#define ZERO_STRUCTP(x) { } -#else -#define ZERO_STRUCTP(x) { if (x != NULL) memset((char *)(x), 0, sizeof(*(x))); } -#endif +#define ZERO_STRUCTP(x) { memset((char *)(x), 0, sizeof(*(x))); } #define ZERO_STRUCTPN(x) { if (x != NULL) ZERO_STRUCTP(x); } -- cgit