diff options
author | Luke Leighton <lkcl@samba.org> | 1999-11-18 00:26:11 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-11-18 00:26:11 +0000 |
commit | ccc8585567804d6a7e6f684a97d58871e2fd9f8a (patch) | |
tree | 00bc58c6cd0870a53fc5fb98648054c3ad9013e4 /source3/include | |
parent | cc8df5ce4955fc721e11ff08de052554894d963a (diff) | |
download | samba-ccc8585567804d6a7e6f684a97d58871e2fd9f8a.tar.gz samba-ccc8585567804d6a7e6f684a97d58871e2fd9f8a.tar.bz2 samba-ccc8585567804d6a7e6f684a97d58871e2fd9f8a.zip |
added regqueryval command (experimental) to get reg_io_q_info() and
reg_io_r_info() working properly. previously they weren't well
understood (well, they were the first of the registry functions i did,
back in december 97, ok??? :-)
set ntversion to 0x1 in SAMQUERY, so that we reply same as NT4 srv.
(This used to be commit 98ddeaf442cb30972cb281bf0489a6e5f7eb2883)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 10 | ||||
-rw-r--r-- | source3/include/rpc_lsa.h | 2 | ||||
-rw-r--r-- | source3/include/rpc_reg.h | 38 |
3 files changed, 25 insertions, 25 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index f9a83e4d94..b84b6ef26d 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1873,7 +1873,8 @@ BOOL do_reg_query_key(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, uint32 *sec_desc, NTTIME *mod_time); BOOL do_reg_unknown_1a(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, uint32 *unk); BOOL do_reg_query_info(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, - char *type, uint32 *unk_0, uint32 *unk_1); + const char* val_name, + char *type); BOOL do_reg_set_key_sec(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, uint32 sec_buf_size, SEC_DESC *sec_buf); BOOL do_reg_get_key_sec(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, @@ -2494,11 +2495,11 @@ BOOL make_reg_q_get_key_sec(REG_Q_GET_KEY_SEC *q_i, POLICY_HND *pol, uint32 buf_len, SEC_DESC_BUF *sec_buf); BOOL reg_io_q_get_key_sec(char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, int depth); BOOL reg_io_r_get_key_sec(char *desc, REG_R_GET_KEY_SEC *r_q, prs_struct *ps, int depth); -BOOL make_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, char *product_type, - time_t unix_time, uint8 major, uint8 minor); +BOOL make_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, const char *val_name, + uint8 major, uint8 minor); BOOL reg_io_q_info(char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth); BOOL make_reg_r_info(REG_R_INFO *r_r, - uint32 level, char *os_type, + uint32 type, char *buf, uint32 status); BOOL reg_io_r_info(char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth); BOOL make_reg_q_enum_val(REG_Q_ENUM_VALUE *q_i, POLICY_HND *pol, @@ -3403,6 +3404,7 @@ BOOL msrpc_reg_enum_key(struct cli_state *cli, const char* full_keyname, REG_KEY_FN(reg_key_fn), REG_VAL_FN(reg_val_fn)); void cmd_reg_enum(struct client_info *info); +void cmd_reg_query_info(struct client_info *info); void cmd_reg_query_key(struct client_info *info); void cmd_reg_create_val(struct client_info *info); void cmd_reg_delete_val(struct client_info *info); diff --git a/source3/include/rpc_lsa.h b/source3/include/rpc_lsa.h index 7c27df0238..f4d36fef9c 100644 --- a/source3/include/rpc_lsa.h +++ b/source3/include/rpc_lsa.h @@ -132,7 +132,7 @@ typedef struct lsa_r_open_pol2_info typedef struct lsa_query_info { POLICY_HND pol; /* policy handle */ - uint16 info_class; /* info class */ + uint16 info_class; /* info class */ } LSA_Q_QUERY_INFO; diff --git a/source3/include/rpc_reg.h b/source3/include/rpc_reg.h index f74856193d..b00b7a5a90 100644 --- a/source3/include/rpc_reg.h +++ b/source3/include/rpc_reg.h @@ -421,39 +421,37 @@ typedef struct q_reg_info_info { POLICY_HND pol; /* policy handle */ - UNIHDR hdr_type; /* unicode product type header */ - UNISTR2 uni_type; /* unicode product type - "ProductType" */ + UNIHDR hdr_val; /* unicode product type header */ + UNISTR2 uni_val; /* unicode product type - "ProductType" */ - uint32 ptr1; /* pointer */ - NTTIME time; /* current time? */ - uint8 major_version1; /* 0x4 - os major version? */ - uint8 minor_version1; /* 0x1 - os minor version? */ - uint8 pad1[10]; /* padding - zeros */ + uint32 ptr_type; /* pointer */ + uint32 type; /* type of buffer */ - uint32 ptr2; /* pointer */ - uint8 major_version2; /* 0x4 - os major version? */ - uint8 minor_version2; /* 0x1 - os minor version? */ - uint8 pad2[2]; /* padding - zeros */ + uint32 ptr_uni_type; /* pointer to o/s type */ + BUFFER2 uni_type; /* unicode string o/s type - "LanmanNT" */ - uint32 ptr3; /* pointer */ - uint32 unknown; /* 0x0000 0000 */ + uint32 ptr_max_len; /* pointer to unknown_0 */ + uint32 buf_max_len; /* 0x12 */ + + uint32 ptr_len; /* pointer to unknown_1 */ + uint32 buf_len; /* 0x12 */ } REG_Q_INFO; /* REG_R_INFO */ typedef struct r_reg_info_info { - uint32 ptr1; /* buffer pointer */ - uint32 level; /* 0x1 - info level? */ + uint32 ptr_type; /* buffer pointer */ + uint32 type; /* 0x1 - info level? */ - uint32 ptr_type; /* pointer to o/s type */ + uint32 ptr_uni_type; /* pointer to o/s type */ BUFFER2 uni_type; /* unicode string o/s type - "LanmanNT" */ - uint32 ptr2; /* pointer to unknown_0 */ - uint32 unknown_0; /* 0x12 */ + uint32 ptr_max_len; /* pointer to unknown_0 */ + uint32 buf_max_len; /* 0x12 */ - uint32 ptr3; /* pointer to unknown_1 */ - uint32 unknown_1; /* 0x12 */ + uint32 ptr_len; /* pointer to unknown_1 */ + uint32 buf_len; /* 0x12 */ uint32 status; /* return status */ |