Changeset 165 for trunk/src/com/bowman/cardserv/session/NewcamdSession.java
- Timestamp:
- 06/28/11 12:55:21 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/bowman/cardserv/session/NewcamdSession.java
r158 r165 9 9 import java.net.*; 10 10 import java.io.*; 11 import java.text.DateFormat;12 import java.text.ParseException;13 import java.text.SimpleDateFormat;14 11 import java.util.*; 15 12 … … 23 20 24 21 private static final int LOGIN_SO_TIMEOUT = 30 * 1000; 25 public String OsdMessage; 22 26 23 private int emmCount, keepAliveCount; 27 24 private long lastKeepAliveTimeStamp; … … 116 113 } else if(checkProfile && !profiles.contains(getProfileName())) { 117 114 loginFailure(user, "no access for profile: " + getProfileName(), msg); 118 } else if(checkExpired(user, um) || checkStart(user, um)) {119 loginFailure(user, "account has expired or not started", msg);120 115 } else { // successful login 121 116 … … 140 135 idleMins + " mins)"); 141 136 } 142 if(!um.isSpider(user)) checkUserSpider(config.getRemoteHandler().getName());143 137 144 138 this.user = user; … … 159 153 conn.setSoTimeout(config.getSessionTimeout()); 160 154 Thread.currentThread().setName(Thread.currentThread().getName() + "[" + user + "]"); 161 OsdMessage = config.getmsgtoemu();162 if(config.getosdMsg() && checkExpiredtime(user, um) != 0L && OsdMessage.contains(clientId) && sessionCount == 0)163 startMsg = config.getclientMsg() + " " + um.getExpireDate(user);164 155 } 165 156 } … … 198 189 checksOk = checksOk && handleMessage(msg); 199 190 fireCamdMessage(msg, false); // still need to notify the rest of the proxy about the bad message to give plugins and logging a chance to see it 200 if(checkExpired(this.user, um)) {201 logger.warning("'User '" + user + "' kicked, account has expired");202 close();203 }204 191 if(!checksOk) { 205 192 setFlag(msg, 'B'); … … 220 207 alive = false; 221 208 endSession(); 222 }223 224 public boolean checkStart(String user, UserManager um) {225 Date startDateDt = null;226 try {227 String startDateStr = um.getStartDate(user);228 DateFormat df = new SimpleDateFormat("dd-MM-yyyy");229 if (startDateStr == null)230 startDateDt = null;231 else232 startDateDt = df.parse(startDateStr);233 }234 catch(ParseException ignored) {}235 long currDateMs = System.currentTimeMillis();236 long startDateMs = 0;237 238 if (startDateDt != null)239 startDateMs = startDateDt.getTime();240 241 return (startDateMs != 0) && (currDateMs < startDateMs);242 }243 244 public boolean checkExpired(String user, UserManager um) {245 Date expireDateDt = null;246 long currDate = System.currentTimeMillis();247 long expDateMs = 0L;248 try249 {250 String expireDateStr = um.getExpireDate(user);251 DateFormat df = new SimpleDateFormat("dd-MM-yyyy");252 253 if(expireDateStr == null)254 expireDateDt = null;255 else256 expireDateDt = df.parse(expireDateStr);257 }258 catch(ParseException ex) { }259 currDate = System.currentTimeMillis();260 expDateMs = 0L;261 262 if(expireDateDt != null)263 expDateMs = expireDateDt.getTime();264 265 return expDateMs != 0L && currDate > expDateMs;266 }267 268 public long checkExpiredtime(String user, UserManager um) {269 Date expireDateDt = null; long currDate = System.currentTimeMillis(); long expDateMs = 0L;270 try {271 String expireDateStr = um.getExpireDate(user);272 DateFormat df = new SimpleDateFormat("dd-MM-yyyy");273 if(expireDateStr == null)274 expireDateDt = null;275 else276 expireDateDt = df.parse(expireDateStr);277 }278 catch(ParseException ex) { }279 currDate = System.currentTimeMillis();280 expDateMs = 0L;281 282 if(expireDateDt != null)283 expDateMs = expireDateDt.getTime();284 285 if(expireDateDt != null)286 return (expDateMs - currDate) / 0x5265c00L;287 else288 return 0L;289 }290 291 public String getstartMsg() {292 return startMsg;293 209 } 294 210 … … 399 315 400 316 fireCamdMessage(cardDataMsg, true); 401 402 if (this.getstartMsg() != null)403 sendOsdMessage(this.getstartMsg());404 405 317 break; 406 318 } … … 563 475 564 476 public boolean sendOsdMessage(String message) { 565 if(!OsdMessage.contains(clientId)) return false; 566 CamdNetMessage osdMsg = new CamdNetMessage(CamdNetMessage.EXT_OSD_MESSAGE); 567 try { 568 osdMsg.setCustomData(message.getBytes("ISO-8859-1")); 569 } 570 catch(UnsupportedEncodingException e) { 571 e.printStackTrace(); 572 } return sendMessage(osdMsg) != -1; 573 } 574 575 public boolean checkUserSpider(String user) { 576 CamdNetMessage osdMsg = new CamdNetMessage(CamdNetMessage.CWS_CHECKSPID); 577 try { 578 osdMsg.setCustomData(user.getBytes("ISO-8859-1")); 579 } 580 catch(UnsupportedEncodingException e) { 581 e.printStackTrace(); 582 } return sendMessage(osdMsg) != -1; 477 if("Mgcamd".equals(clientId) || "Acamd".equals(clientId)) { 478 CamdNetMessage osdMsg = new CamdNetMessage(CamdNetMessage.EXT_OSD_MESSAGE); 479 try { 480 osdMsg.setCustomData(message.getBytes("ISO-8859-1")); 481 } catch(UnsupportedEncodingException e) { 482 e.printStackTrace(); 483 } 484 return sendMessage(osdMsg) != -1; 485 } else return false; 583 486 } 584 487 }
Note:
See TracChangeset
for help on using the changeset viewer.