private Object[] RecoveryQ(Message m) { int sessID = (int) m.msg[m.msg.length - 1]; Object[] rms = null; Challenge reoveryChallenge = challengeHanlder.generateChallenge(sessID); boolean success = challengeHanlder.checkChallenge(reoveryChallenge); if (success) { String userName = (String) m.msg[0]; Person p = LoginManager.get(userName); if (p != null) { int qIDs[] = p.getQID(); rms = new Object[] { Message.Type.RecoveryQResponse.name().toCharArray(), String.valueOf(qIDs[0]).toCharArray(), String.valueOf(qIDs[1]).toCharArray(), String.valueOf(reoveryChallenge.nonce).toCharArray() }; network.sendMessage(rms, sessID); return rms; } else { rms = new Object[] { Message.Type.Failed.name().toCharArray(), "UserName invalid".toCharArray() }; network.sendMessage(rms, sessID); return rms; } } else { rms = new Object[] { Message.Type.Failed.name().toCharArray(), "tried too many, wait for 2 mins".toCharArray() }; network.sendMessage(rms, sessID); return rms; // no response.. ignore, the request. } }
private Object[] Login(Message m) { int sessID = (int) m.msg[m.msg.length - 1]; Challenge loginChallenge = challengeHanlder.generateChallenge(sessID); Object[] rms = null; boolean success = challengeHanlder.checkChallenge(loginChallenge); if (success) { rms = new Object[] { Message.Type.LoginResponse.name().toCharArray(), String.valueOf(loginChallenge.nonce).toCharArray() }; network.sendMessage(rms, sessID); return rms; } else { rms = new Object[] { Message.Type.Failed.name().toCharArray(), "tried too many, wait for 2 mins".toCharArray() }; // no response.. ignore, the request. } return rms; }