Commit c81325d0 authored by aligungr's avatar aligungr

Authentication abnormal case handling

parent f1e28191
...@@ -24,6 +24,8 @@ void NasMm::receiveAuthenticationRequest(const nas::AuthenticationRequest &msg) ...@@ -24,6 +24,8 @@ void NasMm::receiveAuthenticationRequest(const nas::AuthenticationRequest &msg)
return; return;
} }
m_timers->t3520.start();
if (msg.eapMessage.has_value()) if (msg.eapMessage.has_value())
receiveAuthenticationRequestEap(msg); receiveAuthenticationRequestEap(msg);
else else
...@@ -325,9 +327,15 @@ void NasMm::receiveAuthenticationRequest5gAka(const nas::AuthenticationRequest & ...@@ -325,9 +327,15 @@ void NasMm::receiveAuthenticationRequest5gAka(const nas::AuthenticationRequest &
resp.authenticationResponseParameter = nas::IEAuthenticationResponseParameter{}; resp.authenticationResponseParameter = nas::IEAuthenticationResponseParameter{};
resp.authenticationResponseParameter->rawData = m_usim->m_resStar.copy(); resp.authenticationResponseParameter->rawData = m_usim->m_resStar.copy();
sendNasMessage(resp); sendNasMessage(resp);
// 5.4.1.3.7, c)
restorePreviouslyStoppedAndSavedRetransmissionTimers();
} }
else if (autnCheck == EAutnValidationRes::MAC_FAILURE) else if (autnCheck == EAutnValidationRes::MAC_FAILURE)
{ {
stopAndSaveRetransmissionTimers();
m_timers->t3520.start();
sendFailure(nas::EMmCause::MAC_FAILURE); sendFailure(nas::EMmCause::MAC_FAILURE);
} }
else if (autnCheck == EAutnValidationRes::SYNCHRONISATION_FAILURE) else if (autnCheck == EAutnValidationRes::SYNCHRONISATION_FAILURE)
......
...@@ -167,6 +167,8 @@ class NasMm ...@@ -167,6 +167,8 @@ class NasMm
private: /* Timer */ private: /* Timer */
void onTimerExpire(nas::NasTimer &timer); void onTimerExpire(nas::NasTimer &timer);
void stopAndSaveRetransmissionTimers();
void restorePreviouslyStoppedAndSavedRetransmissionTimers();
public: public:
/* Interface */ /* Interface */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment