From cce215b2e83040e6360527308fbf685a5fd30375 Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Sat, 2 Jun 2018 18:50:42 +0800 Subject: [PATCH] Update code, fix PTR issue --- dns.c | 2 ++ dns_server.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dns.c b/dns.c index fd48c71..adff14b 100644 --- a/dns.c +++ b/dns.c @@ -758,6 +758,8 @@ int _dns_encode_CNAME(struct dns_context *context, struct dns_rrs *rrs) return -1; } + /* when code domain, len must plus 1, because of length at the begining */ + rr_len++; if (rr_len > rrs->len) { return -1; } diff --git a/dns_server.c b/dns_server.c index e662b71..4885474 100644 --- a/dns_server.c +++ b/dns_server.c @@ -170,7 +170,7 @@ static int _dns_add_rrs(struct dns_packet *packet, struct dns_request *request) return -1; } } - + ret = dns_add_PTR(packet, DNS_RRS_AN, request->domain, 30, hostname); } break; case DNS_T_A: @@ -486,7 +486,7 @@ static int _dns_server_process_ptr(struct dns_request *request, struct dns_packe default: break; } - if (strncmp(request->domain, reverse_addr, sizeof(reverse_addr)) != 0) { + if (strncmp(request->domain, reverse_addr, sizeof(reverse_addr)) == 0) { found = 1; break; }