diff options
author | Jim Mankovich <jmank@hp.com> | 2014-02-10 06:05:49 -0700 |
---|---|---|
committer | Jim Mankovich <jmank@hp.com> | 2014-02-10 06:05:49 -0700 |
commit | 8d44c55feb1c9f10abda312fd117baeea7947a50 (patch) | |
tree | 8ad19ad36e4f5d1ae646d90582777687e5a5cd56 | |
parent | c18ec02f3304ce2a889a50e378f07a4168af3884 (diff) | |
download | ipmitool-8d44c55feb1c9f10abda312fd117baeea7947a50.tar.gz |
Properly handle plugin non-zero target adddress with -t specification Bug 292
-rw-r--r-- | lib/ipmi_main.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/ipmi_main.c b/lib/ipmi_main.c index 3d0a3b8..e7c84e2 100644 --- a/lib/ipmi_main.c +++ b/lib/ipmi_main.c @@ -925,24 +925,26 @@ ipmi_main(int argc, char ** argv, } /* If bridging addresses are specified, handle them */ - if (transit_addr > 0 || target_addr > 0) { + if (target_addr > 0) { + ipmi_main_intf->target_addr = target_addr; + ipmi_main_intf->target_lun = target_lun ; + ipmi_main_intf->target_channel = target_channel ; + } + if (transit_addr > 0) { /* sanity check, transit makes no sense without a target */ if ((transit_addr != 0 || transit_channel != 0) && - target_addr == 0) { + ipmi_main_intf->target_addr == 0) { lprintf(LOG_ERR, "Transit address/channel %#x/%#x ignored. " "Target address must be specified!", transit_addr, transit_channel); goto out_free; } - ipmi_main_intf->target_addr = target_addr; - ipmi_main_intf->target_lun = target_lun ; - ipmi_main_intf->target_channel = target_channel ; ipmi_main_intf->transit_addr = transit_addr; ipmi_main_intf->transit_channel = transit_channel; - - + } + if (ipmi_main_intf->target_addr > 0) { /* must be admin level to do this over lan */ ipmi_intf_session_set_privlvl(ipmi_main_intf, IPMI_SESSION_PRIV_ADMIN); /* Get the ipmb address of the targeted entity */ |