nrUE: simplify nr_rrc_ue_process_securityModeCommand()
The case securityModeFailure didn't seem to be implemented properly, so I just removed it entirely. The variable 'securityMode' did not make much sense, removed as well. Plus for integrity, there was: securityMode |= 1 << 5 for nea1 and << 6 for nea2, which does not seem correct (I would expect << 4 and << 5 respectively), so it was properly incorrect. 'securityModeCommand->criticalExtensions.choice.securityModeCommand' was accessed before checking that 'securityModeCommand->criticalExtensions.present' is 'NR_SecurityModeCommand__criticalExtensions_PR_securityModeCommand', which is wrong. The tests 'securityMode >= NO_SECURITY_MODE' and 'securityMode != 0xff' don't make sense/are unclear, so removed too. So let's simplify this function, wrong in several places. And put some AssertFatal() so that the code won't do weird things. The AssertFatal() can be removed later and the function improved later if needed. The case securityModeFailure can also be handled later, but I think there is more work to do than just encoding the message and send it to the gNB, so it's not bad to remove it for the moment.
Showing
Please register or sign in to comment