allow integrity protection for identity response
This commit is contained in:
parent
cfadd1ba0b
commit
50999d8116
|
@ -2939,6 +2939,8 @@ typedef struct {
|
||||||
} LIBLTE_MME_ID_RESPONSE_MSG_STRUCT;
|
} LIBLTE_MME_ID_RESPONSE_MSG_STRUCT;
|
||||||
// Functions
|
// Functions
|
||||||
LIBLTE_ERROR_ENUM liblte_mme_pack_identity_response_msg(LIBLTE_MME_ID_RESPONSE_MSG_STRUCT* id_resp,
|
LIBLTE_ERROR_ENUM liblte_mme_pack_identity_response_msg(LIBLTE_MME_ID_RESPONSE_MSG_STRUCT* id_resp,
|
||||||
|
uint8 sec_hdr_type,
|
||||||
|
uint32 count,
|
||||||
LIBLTE_BYTE_MSG_STRUCT* msg);
|
LIBLTE_BYTE_MSG_STRUCT* msg);
|
||||||
LIBLTE_ERROR_ENUM liblte_mme_unpack_identity_response_msg(LIBLTE_BYTE_MSG_STRUCT* msg,
|
LIBLTE_ERROR_ENUM liblte_mme_unpack_identity_response_msg(LIBLTE_BYTE_MSG_STRUCT* msg,
|
||||||
LIBLTE_MME_ID_RESPONSE_MSG_STRUCT* id_resp);
|
LIBLTE_MME_ID_RESPONSE_MSG_STRUCT* id_resp);
|
||||||
|
|
|
@ -6433,12 +6433,27 @@ LIBLTE_ERROR_ENUM liblte_mme_unpack_identity_request_msg(LIBLTE_BYTE_MSG_STRUCT*
|
||||||
Document Reference: 24.301 v10.2.0 Section 8.2.19
|
Document Reference: 24.301 v10.2.0 Section 8.2.19
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
LIBLTE_ERROR_ENUM liblte_mme_pack_identity_response_msg(LIBLTE_MME_ID_RESPONSE_MSG_STRUCT* id_resp,
|
LIBLTE_ERROR_ENUM liblte_mme_pack_identity_response_msg(LIBLTE_MME_ID_RESPONSE_MSG_STRUCT* id_resp,
|
||||||
|
uint8 sec_hdr_type,
|
||||||
|
uint32 count,
|
||||||
LIBLTE_BYTE_MSG_STRUCT* msg)
|
LIBLTE_BYTE_MSG_STRUCT* msg)
|
||||||
{
|
{
|
||||||
LIBLTE_ERROR_ENUM err = LIBLTE_ERROR_INVALID_INPUTS;
|
LIBLTE_ERROR_ENUM err = LIBLTE_ERROR_INVALID_INPUTS;
|
||||||
uint8* msg_ptr = msg->msg;
|
uint8* msg_ptr = msg->msg;
|
||||||
|
|
||||||
if (id_resp != NULL && msg != NULL) {
|
if (id_resp != NULL && msg != NULL) {
|
||||||
|
if (LIBLTE_MME_SECURITY_HDR_TYPE_PLAIN_NAS != sec_hdr_type) {
|
||||||
|
// Protocol Discriminator and Security Header Type
|
||||||
|
*msg_ptr = (sec_hdr_type << 4) | (LIBLTE_MME_PD_EPS_MOBILITY_MANAGEMENT);
|
||||||
|
msg_ptr++;
|
||||||
|
|
||||||
|
// MAC will be filled in later
|
||||||
|
msg_ptr += 4;
|
||||||
|
|
||||||
|
// Sequence Number
|
||||||
|
*msg_ptr = count & 0xFF;
|
||||||
|
msg_ptr++;
|
||||||
|
}
|
||||||
|
|
||||||
// Protocol Discriminator and Security Header Type
|
// Protocol Discriminator and Security Header Type
|
||||||
*msg_ptr = (LIBLTE_MME_SECURITY_HDR_TYPE_PLAIN_NAS << 4) | (LIBLTE_MME_PD_EPS_MOBILITY_MANAGEMENT);
|
*msg_ptr = (LIBLTE_MME_SECURITY_HDR_TYPE_PLAIN_NAS << 4) | (LIBLTE_MME_PD_EPS_MOBILITY_MANAGEMENT);
|
||||||
msg_ptr++;
|
msg_ptr++;
|
||||||
|
|
Loading…
Reference in New Issue