Log out through AccountService
This commit is contained in:
@@ -277,7 +277,7 @@ public final class PacketProcessor {
|
||||
|
||||
private void registerLoginHandlers() {
|
||||
registerHandler(RecvOpcode.ACCEPT_TOS, new AcceptToSHandler(channelDeps.accountService()));
|
||||
registerHandler(RecvOpcode.AFTER_LOGIN, new AfterLoginHandler());
|
||||
registerHandler(RecvOpcode.AFTER_LOGIN, new AfterLoginHandler(channelDeps.accountService()));
|
||||
registerHandler(RecvOpcode.SERVERLIST_REREQUEST, new ServerlistRequestHandler());
|
||||
registerHandler(RecvOpcode.CHARLIST_REQUEST, new CharlistRequestHandler());
|
||||
registerHandler(RecvOpcode.CHAR_SELECT, new CharSelectedHandler());
|
||||
|
||||
@@ -22,13 +22,17 @@
|
||||
package net.server.handlers.login;
|
||||
|
||||
import client.Client;
|
||||
import client.LoginState;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.coordinator.session.SessionCoordinator;
|
||||
import service.AccountService;
|
||||
import tools.PacketCreator;
|
||||
|
||||
public final class AfterLoginHandler extends AbstractPacketHandler {
|
||||
private final AccountService accountService;
|
||||
|
||||
public AfterLoginHandler(final AccountService accountService) {
|
||||
this.accountService = accountService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
@@ -58,8 +62,7 @@ public final class AfterLoginHandler extends AbstractPacketHandler {
|
||||
c.sendPacket(PacketCreator.requestPinAfterFailure());
|
||||
}
|
||||
} else if (c2 == 0 && c3 == 5) {
|
||||
SessionCoordinator.getInstance().closeSession(c, false);
|
||||
c.updateLoginState(LoginState.NOT_LOGGED_IN);
|
||||
accountService.logOut(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,10 +22,8 @@
|
||||
package net.server.handlers.login;
|
||||
|
||||
import client.Client;
|
||||
import client.LoginState;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.coordinator.session.SessionCoordinator;
|
||||
import service.AccountService;
|
||||
import tools.PacketCreator;
|
||||
|
||||
@@ -44,8 +42,7 @@ public final class RegisterPinHandler extends AbstractPacketHandler {
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
boolean cancel = p.readByte() == 0;
|
||||
if (cancel) {
|
||||
SessionCoordinator.getInstance().closeSession(c, false);
|
||||
c.updateLoginState(LoginState.NOT_LOGGED_IN);
|
||||
accountService.logOut(c);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -54,7 +51,6 @@ public final class RegisterPinHandler extends AbstractPacketHandler {
|
||||
c.setPin(pin);
|
||||
c.sendPacket(PacketCreator.pinRegistered());
|
||||
|
||||
SessionCoordinator.getInstance().closeSession(c, false);
|
||||
c.updateLoginState(LoginState.NOT_LOGGED_IN);
|
||||
accountService.logOut(c);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,11 +24,9 @@ package net.server.handlers.login;
|
||||
|
||||
import client.Client;
|
||||
import client.Gender;
|
||||
import client.LoginState;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.Server;
|
||||
import net.server.coordinator.session.SessionCoordinator;
|
||||
import service.AccountService;
|
||||
import tools.PacketCreator;
|
||||
|
||||
@@ -46,24 +44,24 @@ public class SetGenderHandler extends AbstractPacketHandler {
|
||||
@Override
|
||||
public void handlePacket(InPacket p, Client c) {
|
||||
if (c.getGender() != Gender.NOT_SET) { // Packet shouldn't come if Gender isn't 10.
|
||||
close(c);
|
||||
logOut(c);
|
||||
return;
|
||||
}
|
||||
|
||||
byte confirmed = p.readByte();
|
||||
if (confirmed != 0x01) {
|
||||
close(c);
|
||||
logOut(c);
|
||||
return;
|
||||
}
|
||||
|
||||
byte gender = p.readByte();
|
||||
if (gender != Gender.MALE && gender != Gender.FEMALE) {
|
||||
close(c);
|
||||
logOut(c);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!accountService.setGender(c.getAccID(), gender)) {
|
||||
close(c);
|
||||
logOut(c);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -72,9 +70,8 @@ public class SetGenderHandler extends AbstractPacketHandler {
|
||||
Server.getInstance().registerLoginState(c);
|
||||
}
|
||||
|
||||
private void close(Client c) {
|
||||
SessionCoordinator.getInstance().closeSession(c, false);
|
||||
c.updateLoginState(LoginState.NOT_LOGGED_IN);
|
||||
private void logOut(Client c) {
|
||||
accountService.logOut(c);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user