diff options
Diffstat (limited to 'source3/rpcclient/cmd_reg.c')
-rw-r--r-- | source3/rpcclient/cmd_reg.c | 12 |
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, ®_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) |