diff --git a/src/dns_server.c b/src/dns_server.c index 651b309..1fe7682 100644 --- a/src/dns_server.c +++ b/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; }