From 45969a00b74b5a240c0dc6e2c37f5381cd0cb65f Mon Sep 17 00:00:00 2001 From: lawrencehj <1934378145@qq.com> Date: 星期四, 26 八月 2021 23:57:38 +0800 Subject: [PATCH] 修正设备注册认证时验证Response计算的错误 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java index 0c8d6c0..064d023 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java @@ -7,6 +7,7 @@ import javax.sip.InvalidArgumentException; import javax.sip.RequestEvent; +import javax.sip.ServerTransaction; import javax.sip.SipException; import javax.sip.header.AuthorizationHeader; import javax.sip.header.ContactHeader; @@ -78,9 +79,9 @@ // 鏍¢獙瀵嗙爜鏄惁姝g‘ if (authorhead != null) { passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request, - sipConfig.getSipPassword()); + sipConfig.getPassword()); } - if (StringUtils.isEmpty(sipConfig.getSipPassword())){ + if (StringUtils.isEmpty(sipConfig.getPassword())){ passwordCorrect = true; } @@ -93,7 +94,7 @@ logger.info("[{}] 瀵嗙爜閿欒 鍥炲401", requestAddress); } response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request); - new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getSipDomain()); + new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain()); }else { if (!passwordCorrect){ // 娉ㄥ唽澶辫触 @@ -112,7 +113,9 @@ ExpiresHeader expiresHeader = (ExpiresHeader) request.getHeader(Expires.NAME); if (expiresHeader == null) { response = getMessageFactory().createResponse(Response.BAD_REQUEST, request); - getServerTransaction(evt).sendResponse(response); + ServerTransaction serverTransaction = getServerTransaction(evt); + serverTransaction.sendResponse(response); + if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete(); return; } // 娣诲姞Contact澶� @@ -159,7 +162,9 @@ } } - getServerTransaction(evt).sendResponse(response); + ServerTransaction serverTransaction = getServerTransaction(evt); + serverTransaction.sendResponse(response); + if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete(); // 娉ㄥ唽鎴愬姛 // 淇濆瓨鍒皉edis // 涓嬪彂catelog鏌ヨ鐩綍 -- Gitblit v1.8.0