mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 10:37:22 +00:00
lan: Refactoring: Remove unused function
Function ipmi_lan_build_rsp() is never used anywhere. Remove it. Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
This commit is contained in:
parent
03d2b53c97
commit
2ed677c388
@ -986,99 +986,6 @@ ipmi_lan_send_cmd(struct ipmi_intf * intf, struct ipmi_rq * req)
|
||||
return rsp;
|
||||
}
|
||||
|
||||
static uint8_t *
|
||||
ipmi_lan_build_rsp(struct ipmi_intf * intf, struct ipmi_rs * rsp, int * llen)
|
||||
{
|
||||
struct rmcp_hdr rmcp = {
|
||||
.ver = RMCP_VERSION_1,
|
||||
.class = RMCP_CLASS_IPMI,
|
||||
.seq = 0xff,
|
||||
};
|
||||
struct ipmi_session * s = intf->session;
|
||||
int cs, mp, ap = 0, tmp;
|
||||
int len;
|
||||
uint8_t * msg;
|
||||
|
||||
len = rsp->data_len + 22;
|
||||
if (s->active)
|
||||
len += 16;
|
||||
|
||||
msg = malloc(len);
|
||||
if (!msg) {
|
||||
lprintf(LOG_ERR, "ipmitool: malloc failure");
|
||||
return NULL;
|
||||
}
|
||||
memset(msg, 0, len);
|
||||
|
||||
/* rmcp header */
|
||||
memcpy(msg, &rmcp, 4);
|
||||
len = sizeof(rmcp);
|
||||
|
||||
/* ipmi session header */
|
||||
msg[len++] = s->active ? s->authtype : 0;
|
||||
|
||||
if (s->in_seq) {
|
||||
s->in_seq++;
|
||||
if (s->in_seq == 0)
|
||||
s->in_seq++;
|
||||
}
|
||||
memcpy(msg+len, &s->in_seq, 4);
|
||||
len += 4;
|
||||
memcpy(msg+len, &s->session_id, 4);
|
||||
len += 4;
|
||||
|
||||
/* session authcode, if session active and authtype is not none */
|
||||
if (s->active && s->authtype) {
|
||||
ap = len;
|
||||
memcpy(msg+len, s->authcode, 16);
|
||||
len += 16;
|
||||
}
|
||||
|
||||
/* message length */
|
||||
msg[len++] = rsp->data_len + 8;
|
||||
|
||||
/* message header */
|
||||
cs = mp = len;
|
||||
msg[len++] = IPMI_REMOTE_SWID;
|
||||
msg[len++] = rsp->msg.netfn << 2;
|
||||
tmp = len - cs;
|
||||
msg[len++] = ipmi_csum(msg+cs, tmp);
|
||||
cs = len;
|
||||
msg[len++] = IPMI_BMC_SLAVE_ADDR;
|
||||
msg[len++] = (rsp->msg.seq << 2) | (rsp->msg.lun & 3);
|
||||
msg[len++] = rsp->msg.cmd;
|
||||
|
||||
/* completion code */
|
||||
msg[len++] = rsp->ccode;
|
||||
|
||||
/* message data */
|
||||
if (rsp->data_len) {
|
||||
memcpy(msg+len, rsp->data, rsp->data_len);
|
||||
len += rsp->data_len;
|
||||
}
|
||||
|
||||
/* second checksum */
|
||||
tmp = len - cs;
|
||||
msg[len++] = ipmi_csum(msg+cs, tmp);
|
||||
|
||||
if (s->active) {
|
||||
uint8_t * d;
|
||||
switch (s->authtype) {
|
||||
case IPMI_SESSION_AUTHTYPE_MD5:
|
||||
d = ipmi_auth_md5(s, msg+mp, msg[mp-1]);
|
||||
memcpy(msg+ap, d, 16);
|
||||
break;
|
||||
case IPMI_SESSION_AUTHTYPE_MD2:
|
||||
d = ipmi_auth_md2(s, msg+mp, msg[mp-1]);
|
||||
memcpy(msg+ap, d, 16);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
*llen = len;
|
||||
return msg;
|
||||
}
|
||||
|
||||
/*
|
||||
* IPMI SOL Payload Format
|
||||
* +--------------------+
|
||||
|
Loading…
x
Reference in New Issue
Block a user