aboutsummaryrefslogtreecommitdiff
path: root/src/clientiface.cpp
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2022-04-27 19:55:13 +0200
committersfan5 <sfan5@live.de>2022-04-28 20:05:26 +0200
commita65f6f07f3a5601207b790edcc8cc945133112f7 (patch)
tree976d7cfa2b8c9a693bdd3f6b0e579b84590d41d8 /src/clientiface.cpp
parent00f71c3b9d35e1cdd5aa62491a46068358aa8b2a (diff)
downloadhax-minetest-server-a65f6f07f3a5601207b790edcc8cc945133112f7.tar.gz
hax-minetest-server-a65f6f07f3a5601207b790edcc8cc945133112f7.zip
Clean up some auth packet handling related code
Diffstat (limited to 'src/clientiface.cpp')
-rw-r--r--src/clientiface.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/clientiface.cpp b/src/clientiface.cpp
index a4bfb8242..5733b05de 100644
--- a/src/clientiface.cpp
+++ b/src/clientiface.cpp
@@ -472,20 +472,14 @@ void RemoteClient::notifyEvent(ClientStateEvent event)
{
case CSE_AuthAccept:
m_state = CS_AwaitingInit2;
- if (chosen_mech == AUTH_MECHANISM_SRP ||
- chosen_mech == AUTH_MECHANISM_LEGACY_PASSWORD)
- srp_verifier_delete((SRPVerifier *) auth_data);
- chosen_mech = AUTH_MECHANISM_NONE;
+ resetChosenMech();
break;
case CSE_Disconnect:
m_state = CS_Disconnecting;
break;
case CSE_SetDenied:
m_state = CS_Denied;
- if (chosen_mech == AUTH_MECHANISM_SRP ||
- chosen_mech == AUTH_MECHANISM_LEGACY_PASSWORD)
- srp_verifier_delete((SRPVerifier *) auth_data);
- chosen_mech = AUTH_MECHANISM_NONE;
+ resetChosenMech();
break;
default:
myerror << "HelloSent: Invalid client state transition! " << event;
@@ -561,9 +555,7 @@ void RemoteClient::notifyEvent(ClientStateEvent event)
break;
case CSE_SudoSuccess:
m_state = CS_SudoMode;
- if (chosen_mech == AUTH_MECHANISM_SRP)
- srp_verifier_delete((SRPVerifier *) auth_data);
- chosen_mech = AUTH_MECHANISM_NONE;
+ resetChosenMech();
break;
/* Init GotInit2 SetDefinitionsSent SetMediaSent SetDenied */
default:
@@ -598,7 +590,7 @@ void RemoteClient::notifyEvent(ClientStateEvent event)
void RemoteClient::resetChosenMech()
{
- if (chosen_mech == AUTH_MECHANISM_SRP) {
+ if (auth_data) {
srp_verifier_delete((SRPVerifier *) auth_data);
auth_data = nullptr;
}