qcacmn: Check ICMPV4 and ICMV6 are redirect or not
Add API to check ICMPV4 and ICMPV6 are redirect or not This is to avoid a security breach. Change-Id: I61e7c54c6d9279c1e7d2f316381fbc1c83ce5b4a CRs-Fixed: 3233925
This commit is contained in:

committed by
Madan Koyyalamudi

parent
c58feb9240
commit
dc5cc15bba
@@ -2077,6 +2077,33 @@ bool __qdf_nbuf_data_is_icmpv4_rsp(uint8_t *data)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool __qdf_nbuf_data_is_icmpv4_redirect(uint8_t *data)
|
||||
{
|
||||
uint8_t op_code;
|
||||
|
||||
op_code = (uint8_t)(*(uint8_t *)(data +
|
||||
QDF_NBUF_PKT_ICMPv4_OPCODE_OFFSET));
|
||||
|
||||
if (op_code == QDF_NBUF_PKT_ICMPV4_REDIRECT)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
qdf_export_symbol(__qdf_nbuf_data_is_icmpv4_redirect);
|
||||
|
||||
bool __qdf_nbuf_data_is_icmpv6_redirect(uint8_t *data)
|
||||
{
|
||||
uint8_t subtype;
|
||||
|
||||
subtype = (uint8_t)(*(uint8_t *)(data + ICMPV6_SUBTYPE_OFFSET));
|
||||
|
||||
if (subtype == ICMPV6_REDIRECT)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
qdf_export_symbol(__qdf_nbuf_data_is_icmpv6_redirect);
|
||||
|
||||
/**
|
||||
* __qdf_nbuf_data_get_icmpv4_src_ip() - get icmpv4 src IP
|
||||
* @data: Pointer to network data buffer
|
||||
@@ -2311,6 +2338,8 @@ bool __qdf_nbuf_data_is_icmpv6_pkt(uint8_t *data)
|
||||
return false;
|
||||
}
|
||||
|
||||
qdf_export_symbol(__qdf_nbuf_data_is_icmpv6_pkt);
|
||||
|
||||
/**
|
||||
* __qdf_nbuf_data_is_ipv4_udp_pkt() - check if it is IPV4 UDP packet.
|
||||
* @data: Pointer to IPV4 UDP packet data buffer
|
||||
|
Reference in New Issue
Block a user