summaryrefslogtreecommitdiff
path: root/source3/rpcclient/cmd_reg.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpcclient/cmd_reg.c')
-rw-r--r--source3/rpcclient/cmd_reg.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source3/rpcclient/cmd_reg.c b/source3/rpcclient/cmd_reg.c
index 7b9bb9b39e..7eb3a1052b 100644
--- a/source3/rpcclient/cmd_reg.c
+++ b/source3/rpcclient/cmd_reg.c
@@ -57,6 +57,7 @@ static void cmd_reg_enum(struct client_info *info)
POLICY_HND key_pol;
fstring full_keyname;
fstring key_name;
+ uint32 reg_type;
/*
* query key info
@@ -87,6 +88,11 @@ static void cmd_reg_enum(struct client_info *info)
return;
}
+ if (!reg_split_key(full_keyname, &reg_type, key_name)) {
+ fprintf(out_hnd, "Unknown registry hive '%s'\n", key_name);
+ return;
+ }
+
/* open WINREG session. */
res = res ? cli_nt_session_open(smb_cli, PI_WINREG) : False;
@@ -130,7 +136,7 @@ static void cmd_reg_enum(struct client_info *info)
time_t key_mod_time;
/* unknown 1a it */
- res2 = res1 ? do_reg_unknown_1a(smb_cli, &key_pol,
+ res2 = res1 ? do_reg_getversion(smb_cli, &key_pol,
&unk_1a_response) : False;
if (res2 && unk_1a_response != 5)
@@ -166,11 +172,11 @@ static void cmd_reg_enum(struct client_info *info)
*/
uint32 val_type;
- BUFFER2 value;
+ REGVAL_BUFFER value;
fstring val_name;
/* unknown 1a it */
- res2 = res1 ? do_reg_unknown_1a(smb_cli, &key_pol,
+ res2 = res1 ? do_reg_getversion(smb_cli, &key_pol,
&unk_1a_response) : False;
if (res2 && unk_1a_response != 5)