Browse Source

cache: fix cache not update issue when serve-expired enabled.

Nick Peng 3 years ago
parent
commit
e98cf5b711
1 changed files with 4 additions and 6 deletions
  1. 4 6
      src/dns_server.c

+ 4 - 6
src/dns_server.c

@@ -1929,14 +1929,12 @@ static int _dns_server_reply_passthrouth(struct dns_request *request, struct dns
 		_dns_result_callback(request);
 	}
 
-	if (request->conn == NULL) {
-		return 0;
+	if (request->conn) {
+		/* When passthrough, modify the id to be the id of the client request. */
+		dns_server_update_reply_packet_id(request, inpacket, inpacket_len);
+		ret = _dns_reply_inpacket(request, inpacket, inpacket_len);
 	}
 
-	/* When passthrough, modify the id to be the id of the client request. */
-	dns_server_update_reply_packet_id(request, inpacket, inpacket_len);
-	ret = _dns_reply_inpacket(request, inpacket, inpacket_len);
-
 	if (packet->head.rcode != DNS_RC_NOERROR && packet->head.rcode != DNS_RC_NXDOMAIN) {
 		return ret;
 	}