From 07eb9133efc76b141b963fce0e157d7fbbdd939f Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Wed, 11 Nov 1998 00:36:15 +0000 Subject: - renamed open_policy to open_hklm. - renamed open_unk_4 to open_hku - fixed createkey issue spotted by phil cox (This used to be commit 7df85b956787f02d022b34ef8cfc13fc967ae89c) --- source3/include/proto.h | 19 +++++++++++-------- source3/include/rpc_reg.h | 35 +++++++++++++++++++++-------------- 2 files changed, 32 insertions(+), 22 deletions(-) (limited to 'source3/include') diff --git a/source3/include/proto.h b/source3/include/proto.h index 97c5156cc9..533ca72a02 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1295,9 +1295,12 @@ void cli_nt_session_close(struct cli_state *cli); /*The following definitions come from rpc_client/cli_reg.c */ -BOOL do_reg_open_policy(struct cli_state *cli, uint16 unknown_0, uint32 level, +BOOL do_reg_connect(struct cli_state *cli, char *full_keyname, + POLICY_HND *reg_hnd, + POLICY_HND *key_hnd); +BOOL do_reg_open_hklm(struct cli_state *cli, uint16 unknown_0, uint32 level, POLICY_HND *hnd); -BOOL do_reg_open_unk_4(struct cli_state *cli, uint16 unknown_0, uint32 level, +BOOL do_reg_open_hku(struct cli_state *cli, uint16 unknown_0, uint32 level, POLICY_HND *hnd); BOOL do_reg_unk_b(struct cli_state *cli, POLICY_HND *hnd); BOOL do_reg_query_key(struct cli_state *cli, POLICY_HND *hnd, @@ -1609,10 +1612,10 @@ BOOL prs_uint16_post(char *name, prs_struct *ps, int depth, /*The following definitions come from rpc_parse/parse_reg.c */ -void make_reg_q_open_pol(REG_Q_OPEN_POLICY *q_o, +void make_reg_q_open_hklm(REG_Q_OPEN_HKLM *q_o, uint16 unknown_0, uint32 level); -void reg_io_q_open_policy(char *desc, REG_Q_OPEN_POLICY *r_q, prs_struct *ps, int depth); -void reg_io_r_open_policy(char *desc, REG_R_OPEN_POLICY *r_r, prs_struct *ps, int depth); +void reg_io_q_open_hklm(char *desc, REG_Q_OPEN_HKLM *r_q, prs_struct *ps, int depth); +void reg_io_r_open_hklm(char *desc, REG_R_OPEN_HKLM *r_r, prs_struct *ps, int depth); void make_reg_q_unk_b(REG_Q_UNK_B *q_u, POLICY_HND *pol); void reg_io_q_unk_b(char *desc, REG_Q_UNK_B *r_q, prs_struct *ps, int depth); void reg_io_r_unk_b(char *desc, REG_R_UNK_B *r_r, prs_struct *ps, int depth); @@ -1632,10 +1635,10 @@ void reg_io_r_query_key(char *desc, REG_R_QUERY_KEY *r_r, prs_struct *ps, int d void make_reg_q_unk_1a(REG_Q_UNK_1A *q_o, POLICY_HND *hnd); void reg_io_q_unk_1a(char *desc, REG_Q_UNK_1A *r_q, prs_struct *ps, int depth); void reg_io_r_unk_1a(char *desc, REG_R_UNK_1A *r_r, prs_struct *ps, int depth); -void make_reg_q_open_unk_4(REG_Q_OPEN_UNK_4 *q_o, +void make_reg_q_open_hku(REG_Q_OPEN_HKU *q_o, uint16 unknown_0, uint32 level); -void reg_io_q_open_unk_4(char *desc, REG_Q_OPEN_UNK_4 *r_q, prs_struct *ps, int depth); -void reg_io_r_open_unk_4(char *desc, REG_R_OPEN_UNK_4 *r_r, prs_struct *ps, int depth); +void reg_io_q_open_hku(char *desc, REG_Q_OPEN_HKU *r_q, prs_struct *ps, int depth); +void reg_io_r_open_hku(char *desc, REG_R_OPEN_HKU *r_r, prs_struct *ps, int depth); void make_reg_q_close(REG_Q_CLOSE *q_c, POLICY_HND *hnd); void reg_io_q_close(char *desc, REG_Q_CLOSE *q_u, prs_struct *ps, int depth); void reg_io_r_close(char *desc, REG_R_CLOSE *r_u, prs_struct *ps, int depth); diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h index 33b7b72a25..32b1c1912f 100644 --- a/source3/include/rpc_reg.h +++ b/source3/include/rpc_reg.h @@ -26,8 +26,8 @@ /* winreg pipe defines */ -#define REG_OPEN_POLICY 0x02 -#define REG_OPEN_UNK_4 0x04 +#define REG_OPEN_HKLM 0x02 +#define REG_OPEN_HKU 0x04 #define REG_UNK_B 0x0B #define REG_UNK_1A 0x1a #define REG_QUERY_KEY 0x10 @@ -42,7 +42,7 @@ #define REG_CLOSE 0x05 -/* REG_Q_OPEN_POLICY */ +/* REG_Q_OPEN_HKLM */ typedef struct q_reg_open_policy_info { uint32 ptr; @@ -50,18 +50,18 @@ typedef struct q_reg_open_policy_info uint16 unknown_1; /* random. changes */ uint32 level; /* 0x0000 0002 - 32 bit unknown */ -} REG_Q_OPEN_POLICY; +} REG_Q_OPEN_HKLM ; -/* REG_R_OPEN_POLICY */ +/* REG_R_OPEN_HKLM */ typedef struct r_reg_open_policy_info { POLICY_HND pol; /* policy handle */ uint32 status; /* return status */ -} REG_R_OPEN_POLICY; +} REG_R_OPEN_HKLM; -/* REG_Q_OPEN_UNK_4 */ +/* REG_Q_OPEN_HKU */ typedef struct q_reg_open_unk4_info { uint32 ptr; @@ -69,15 +69,15 @@ typedef struct q_reg_open_unk4_info uint16 unknown_1; /* random. changes */ uint32 level; /* 0x0000 0002 - 32 bit unknown */ -} REG_Q_OPEN_UNK_4; +} REG_Q_OPEN_HKU; -/* REG_R_OPEN_UNK_4 */ +/* REG_R_OPEN_HKU */ typedef struct r_reg_open_unk4_info { POLICY_HND pol; /* policy handle */ uint32 status; /* return status */ -} REG_R_OPEN_UNK_4; +} REG_R_OPEN_HKU; /* REG_Q_UNK_B */ @@ -206,10 +206,17 @@ typedef struct q_reg_create_key_info uint32 unknown_0; /* 0x0000 000C */ uint32 ptr2; - uint32 unk_len1; /* 0x0000 0014 */ - uint32 unk_len2; /* 0x0000 0014 */ - uint32 unknown_1; /* 0x0002 0000 */ - BUFFER2 buf_unk; /* 01 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 */ + 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 unknown_2; /* 0x0000 0000 */ -- cgit