1 19 package org.lucane.applications.passwdchanger; 20 21 import org.lucane.common.*; 22 import org.lucane.server.*; 23 import org.lucane.common.concepts.UserConcept; 24 import org.lucane.common.net.ObjectConnection; 25 import org.lucane.server.store.UserStore; 26 27 import java.util.StringTokenizer ; 28 29 public class PasswdChangerService 30 extends Service 31 { 32 Server parent; 33 34 public PasswdChangerService() 35 { 36 } 37 38 public void process(ObjectConnection sc, Message message) 39 { 40 String line = (String )message.getData(); 41 String from = message.getSender().getName(); 42 43 if(line != null) 44 { 45 StringTokenizer stk = new StringTokenizer (line); 46 String command = stk.nextToken(); 47 String data = null; 48 49 try 50 { 51 data = stk.nextToken("\0"); 52 } 53 catch(Exception e) 54 { 55 data = ""; 56 } 57 58 if(command.equals("CHANGE_PASSWD")) 59 this.changePasswd(from, data, sc); 60 } 61 } 62 63 public void init(Server parent) 64 { 65 this.parent = parent; 66 } 67 68 private void changePasswd(String who, String data, ObjectConnection sc) 69 { 70 UserStore um = parent.getStore().getUserStore(); 71 UserConcept user = null; 72 try { 73 user = um.getUser(who); 74 } catch(Exception e) {} 75 76 StringTokenizer stk = new StringTokenizer (data); 77 String pold = stk.nextToken(); 78 String pnew = stk.nextToken(); 79 String pass = user.getPassword(); 80 81 if(! pass.equals(pold)) 82 { 83 try { 84 sc.write("BAD_PASSWD"); 85 } catch(Exception e) {} 86 return; 87 } 88 89 user.setPassword(pnew); 90 try { 91 um.updateUser(user); 92 sc.write("PASSWD_CHANGED"); 93 } catch(Exception e) { 94 Logging.getLogger().warning("error : " + e); 95 } 96 } 97 } | Popular Tags |