Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-AMF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-AMF
Commits
339ac227
Commit
339ac227
authored
Jan 16, 2023
by
Tien Thinh NGUYEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix issue when decoding unknown IEI
parent
93ec85ea
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
99 additions
and
15 deletions
+99
-15
src/nas/msgs/AuthenticationResult.cpp
src/nas/msgs/AuthenticationResult.cpp
+1
-0
src/nas/msgs/RegistrationAccept.cpp
src/nas/msgs/RegistrationAccept.cpp
+34
-2
src/nas/msgs/RegistrationComplete.cpp
src/nas/msgs/RegistrationComplete.cpp
+0
-7
src/nas/msgs/RegistrationRequest.cpp
src/nas/msgs/RegistrationRequest.cpp
+51
-5
src/nas/msgs/SecurityModeCommand.cpp
src/nas/msgs/SecurityModeCommand.cpp
+13
-1
No files found.
src/nas/msgs/AuthenticationResult.cpp
View file @
339ac227
...
@@ -152,6 +152,7 @@ int AuthenticationResult::Decode(uint8_t* buf, int len) {
...
@@ -152,6 +152,7 @@ int AuthenticationResult::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
default:
{
default:
{
Logger
::
nas_mm
().
warn
(
"Unknown IEI 0x%x, stop decoding..."
,
octet
);
Logger
::
nas_mm
().
warn
(
"Unknown IEI 0x%x, stop decoding..."
,
octet
);
// Stop decoding
// Stop decoding
...
...
src/nas/msgs/RegistrationAccept.cpp
View file @
339ac227
...
@@ -666,8 +666,10 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -666,8 +666,10 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
decoded_size
+=
ie_5gs_registration_result
.
Decode
(
decoded_size
+=
ie_5gs_registration_result
.
Decode
(
buf
+
decoded_size
,
len
-
decoded_size
,
false
);
buf
+
decoded_size
,
len
-
decoded_size
,
false
);
Logger
::
nas_mm
().
debug
(
"Decoded_size(%d)"
,
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Decoded_size(%d)"
,
decoded_size
);
uint8_t
octet
=
*
(
buf
+
decoded_size
);
uint8_t
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"First option IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"First option IEI (0x%x)"
,
octet
);
bool
flag
=
false
;
while
((
octet
!=
0x0
))
{
while
((
octet
!=
0x0
))
{
switch
((
octet
&
0xf0
)
>>
4
)
{
switch
((
octet
&
0xf0
)
>>
4
)
{
case
kIeiMicoIndication
:
{
case
kIeiMicoIndication
:
{
...
@@ -714,6 +716,10 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -714,6 +716,10 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
default:
{
flag
=
true
;
}
}
}
switch
(
octet
)
{
switch
(
octet
)
{
...
@@ -726,6 +732,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -726,6 +732,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiNSSAIAllowed
:
{
case
kIeiNSSAIAllowed
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiNSSAIAllowed
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiNSSAIAllowed
);
NSSAI
ie_allowed_nssai_tmp
=
{};
NSSAI
ie_allowed_nssai_tmp
=
{};
...
@@ -735,6 +742,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -735,6 +742,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x11
:
{
case
0x11
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x11)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x11)"
);
Rejected_NSSAI
ie_rejected_nssai_tmp
=
{};
Rejected_NSSAI
ie_rejected_nssai_tmp
=
{};
...
@@ -745,6 +753,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -745,6 +753,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiNSSAIConfigured
:
{
case
kIeiNSSAIConfigured
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiNSSAIConfigured
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiNSSAIConfigured
);
NSSAI
ie_configured_nssai_tmp
=
{};
NSSAI
ie_configured_nssai_tmp
=
{};
...
@@ -754,6 +763,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -754,6 +763,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIei5gsNetworkFeatureSupport
:
{
case
kIei5gsNetworkFeatureSupport
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x21)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x21)"
);
_5GS_Network_Feature_Support
ie_5gs_network_feature_support_tmp
=
{};
_5GS_Network_Feature_Support
ie_5gs_network_feature_support_tmp
=
{};
...
@@ -765,6 +775,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -765,6 +775,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiPduSessionStatus
:
{
case
kIeiPduSessionStatus
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiPduSessionStatus
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiPduSessionStatus
);
PDUSessionStatus
ie_PDU_session_status_tmp
=
{};
PDUSessionStatus
ie_PDU_session_status_tmp
=
{};
...
@@ -775,6 +786,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -775,6 +786,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiPduSessionReactivationResult
:
{
case
kIeiPduSessionReactivationResult
:
{
Logger
::
nas_mm
().
debug
(
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiPduSessionReactivationResult
);
"Decoding IEI 0x%x"
,
kIeiPduSessionReactivationResult
);
...
@@ -788,6 +800,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -788,6 +800,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x72
:
{
case
0x72
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x72)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x72)"
);
PDU_Session_Reactivation_Result_Error_Cause
PDU_Session_Reactivation_Result_Error_Cause
...
@@ -821,6 +834,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -821,6 +834,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiGprsTimer2Non3gppDeregistration
:
{
case
kIeiGprsTimer2Non3gppDeregistration
:
{
Logger
::
nas_mm
().
debug
(
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer2Non3gppDeregistration
);
"Decoding IEI 0x%x"
,
kIeiGprsTimer2Non3gppDeregistration
);
...
@@ -833,6 +847,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -833,6 +847,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiGprsTimer2T3502
:
{
case
kIeiGprsTimer2T3502
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer2T3502
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer2T3502
);
GprsTimer2
ie_T3502_value_tmp
(
kIeiGprsTimer2T3502
);
GprsTimer2
ie_T3502_value_tmp
(
kIeiGprsTimer2T3502
);
...
@@ -842,6 +857,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -842,6 +857,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x73
:
{
case
0x73
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x73)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x73)"
);
SOR_Transparent_Container
ie_sor_transparent_container_tmp
=
{};
SOR_Transparent_Container
ie_sor_transparent_container_tmp
=
{};
...
@@ -852,6 +868,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -852,6 +868,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x78
:
{
case
0x78
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x78)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x78)"
);
EapMessage
ie_eap_message_tmp
=
{};
EapMessage
ie_eap_message_tmp
=
{};
...
@@ -861,6 +878,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -861,6 +878,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIei5gsDrxParameters
:
{
case
kIei5gsDrxParameters
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x%x)"
,
kIei5gsDrxParameters
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x%x)"
,
kIei5gsDrxParameters
);
_5GS_DRX_Parameters
ie_negotiated_drx_parameters_tmp
=
{};
_5GS_DRX_Parameters
ie_negotiated_drx_parameters_tmp
=
{};
...
@@ -871,6 +889,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -871,6 +889,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x60
:
{
case
0x60
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x60)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x60)"
);
EpsBearerContextStatus
ie_eps_bearer_context_status_tmp
=
{};
EpsBearerContextStatus
ie_eps_bearer_context_status_tmp
=
{};
...
@@ -881,6 +900,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -881,6 +900,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x6E
:
{
case
0x6E
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x6E)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x6E)"
);
Extended_DRX_Parameters
ie_extended_drx_parameters_tmp
=
{};
Extended_DRX_Parameters
ie_extended_drx_parameters_tmp
=
{};
...
@@ -891,6 +911,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -891,6 +911,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiGprsTimer3T3447
:
{
case
kIeiGprsTimer3T3447
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer3T3447
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer3T3447
);
GprsTimer3
ie_T3447_value_tmp
(
kIeiGprsTimer3T3447
);
GprsTimer3
ie_T3447_value_tmp
(
kIeiGprsTimer3T3447
);
...
@@ -900,6 +921,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -900,6 +921,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiGprsTimer3T3348
:
{
case
kIeiGprsTimer3T3348
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer3T3348
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer3T3348
);
GprsTimer3
ie_T3448_value_tmp
(
kIeiGprsTimer3T3348
);
GprsTimer3
ie_T3448_value_tmp
(
kIeiGprsTimer3T3348
);
...
@@ -909,6 +931,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -909,6 +931,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIeiGprsTimer3T3324
:
{
case
kIeiGprsTimer3T3324
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer3T3324
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIeiGprsTimer3T3324
);
GprsTimer3
ie_T3324_value_tmp
(
kIeiGprsTimer3T3324
);
GprsTimer3
ie_T3324_value_tmp
(
kIeiGprsTimer3T3324
);
...
@@ -918,6 +941,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -918,6 +941,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x67
:
{
case
0x67
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x67)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x67)"
);
UeRadioCapabilityId
ie_ue_radio_capability_id_tmp
=
{};
UeRadioCapabilityId
ie_ue_radio_capability_id_tmp
=
{};
...
@@ -928,6 +952,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -928,6 +952,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x39
:
{
case
0x39
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x39)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x39)"
);
NSSAI
ie_pending_nssai_tmp
=
{};
NSSAI
ie_pending_nssai_tmp
=
{};
...
@@ -937,6 +962,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -937,6 +962,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
0x4A
:
{
case
0x4A
:
{
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x4A)"
);
Logger
::
nas_mm
().
debug
(
"Decoding IEI (0x4A)"
);
PlmnList
ie_equivalent_plmns_tmp
=
{};
PlmnList
ie_equivalent_plmns_tmp
=
{};
...
@@ -946,6 +972,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -946,6 +972,7 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
case
kIei5gsTrackingAreaIdentityList
:
{
case
kIei5gsTrackingAreaIdentityList
:
{
Logger
::
nas_mm
().
debug
(
Logger
::
nas_mm
().
debug
(
"Decoding IEI 0x%x"
,
kIei5gsTrackingAreaIdentityList
);
"Decoding IEI 0x%x"
,
kIei5gsTrackingAreaIdentityList
);
...
@@ -958,8 +985,13 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
...
@@ -958,8 +985,13 @@ int RegistrationAccept::Decode(uint8_t* buf, int len) {
}
break
;
}
break
;
default:
{
default:
{
break
;
// TODO:
if
(
flag
)
{
Logger
::
nas_mm
().
warn
(
"Unknown IEI 0x%x, stop decoding..."
,
octet
);
// Stop decoding
octet
=
0x00
;
}
}
}
break
;
}
}
}
}
Logger
::
nas_mm
().
debug
(
Logger
::
nas_mm
().
debug
(
...
...
src/nas/msgs/RegistrationComplete.cpp
View file @
339ac227
...
@@ -19,13 +19,6 @@
...
@@ -19,13 +19,6 @@
* contact@openairinterface.org
* contact@openairinterface.org
*/
*/
/*! \file
\brief
\author Keliang DU, BUPT
\date 2020
\email: contact@openairinterface.org
*/
#include "RegistrationComplete.hpp"
#include "RegistrationComplete.hpp"
#include "3gpp_24.501.hpp"
#include "3gpp_24.501.hpp"
...
...
src/nas/msgs/RegistrationRequest.cpp
View file @
339ac227
This diff is collapsed.
Click to expand it.
src/nas/msgs/SecurityModeCommand.cpp
View file @
339ac227
...
@@ -264,6 +264,7 @@ int SecurityModeCommand::Decode(uint8_t* buf, int len) {
...
@@ -264,6 +264,7 @@ int SecurityModeCommand::Decode(uint8_t* buf, int len) {
Logger
::
nas_mm
().
debug
(
"Decoded_size (%d)"
,
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Decoded_size (%d)"
,
decoded_size
);
uint8_t
octet
=
*
(
buf
+
decoded_size
);
uint8_t
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"First option IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"First option IEI (0x%x)"
,
octet
);
bool
flag
=
false
;
while
((
octet
!=
0x0
))
{
while
((
octet
!=
0x0
))
{
switch
((
octet
&
0xf0
)
>>
4
)
{
switch
((
octet
&
0xf0
)
>>
4
)
{
case
kIeiImeisvRequest
:
{
case
kIeiImeisvRequest
:
{
...
@@ -278,6 +279,9 @@ int SecurityModeCommand::Decode(uint8_t* buf, int len) {
...
@@ -278,6 +279,9 @@ int SecurityModeCommand::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
default:
{
flag
=
true
;
}
}
}
switch
(
octet
)
{
switch
(
octet
)
{
...
@@ -353,7 +357,15 @@ int SecurityModeCommand::Decode(uint8_t* buf, int len) {
...
@@ -353,7 +357,15 @@ int SecurityModeCommand::Decode(uint8_t* buf, int len) {
octet
=
*
(
buf
+
decoded_size
);
octet
=
*
(
buf
+
decoded_size
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
Logger
::
nas_mm
().
debug
(
"Next IEI (0x%x)"
,
octet
);
}
break
;
}
break
;
// TODO: Default
default:
{
// TODO:
if
(
flag
)
{
Logger
::
nas_mm
().
warn
(
"Unknown IEI 0x%x, stop decoding..."
,
octet
);
// Stop decoding
octet
=
0x00
;
}
}
break
;
}
}
}
}
Logger
::
nas_mm
().
debug
(
Logger
::
nas_mm
().
debug
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment