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 |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 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 37cf1cd..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
@@ -2,14 +2,12 @@
 
 import java.security.NoSuchAlgorithmException;
 import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
 import java.util.Calendar;
-import java.util.Date;
 import java.util.Locale;
 
 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;
@@ -22,7 +20,6 @@
 import com.genersoft.iot.vmp.gb28181.bean.WvpSipDate;
 import gov.nist.javax.sip.RequestEventExt;
 import gov.nist.javax.sip.header.SIPDateHeader;
-import gov.nist.javax.sip.message.SIPRequest;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.util.StringUtils;
@@ -82,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;
 			}
 
@@ -97,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){
 					// 娉ㄥ唽澶辫触
@@ -116,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澶�
@@ -163,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