Пример #1
0
 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.
   }
 }
Пример #2
0
 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;
 }