mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47: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;
|
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
|
* IPMI SOL Payload Format
|
||||||
* +--------------------+
|
* +--------------------+
|
||||||
|
Loading…
x
Reference in New Issue
Block a user