Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- case 1:
- @SuppressWarnings("unused")
- int loginType = -1,
- loginPacketSize = -1;
- if (3 <= in.remaining()) {
- loginType = in.get() & 0xff;
- loginPacketSize = in.get() & 0xff;
- } else {
- in.rewind();
- return false;
- }
- if (loginPacketSize <= in.remaining()) {
- byte[] payload = new byte[loginPacketSize];
- in.get(payload);
- Packet p = new Packet(session, -1, payload);
- @SuppressWarnings("unused")
- int loginEncryptPacketSize = loginPacketSize - (36 + 1 + 1 + 2);
- int clientVersion = p.readInt();
- if (clientVersion != 484) {
- logger.warning("Client is using wrong revision: " + clientVersion + "!");
- }
- @SuppressWarnings("unused")
- int lowMemoryVersion = p.readByte() & 0xff;
- for (int n = 0; n < 24; n++) {
- @SuppressWarnings("unused")
- int cachIDX = p.readByte();
- }
- for (int n = 0; n < 16; n++) {
- @SuppressWarnings("unused")
- int junk = p.readInt();
- }
- int tmpEncryptPacketSize = p.readByte() & 0xff;
- if (tmpEncryptPacketSize != 10) {
- @SuppressWarnings("unused")
- int encryptPacketId = p.readByte() & 0xff;
- }
- long clientSessionKey = p.readLong();
- long serverSessionKey = p.readLong();
- String user = Misc.longToPlayerName(p.readLong()),
- pass = p.readRS2String();
- int sessionKey[] = new int[4];
- sessionKey[0] = (int) (clientSessionKey >> 32);
- sessionKey[1] = (int) clientSessionKey;
- sessionKey[2] = (int) (serverSessionKey >> 32);
- sessionKey[3] = (int) serverSessionKey;
- for (int i = 0; i < 4; i++) {
- sessionKey[i] += 50;
- }
- session.removeAttribute("LOGIN_STAGE");
- logger.debug("Login request: [username = " + user + ",password = " + pass + "].");
- PlayerDetails d = new PlayerDetails(user, pass, session);
- workerThread.loadPlayer(d);
- session.setIdleTime(IdleStatus.BOTH_IDLE, Constants.SESSION_IDLE_TIME);
- session.getFilterChain().remove("protocolFilter");
- session.getFilterChain().addLast("protocolFilter", new ProtocolCodecFilter(new CodecFactory()));
- return true;
- } else {
- in.rewind();
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement