From 1dbd18dff89ff60d7bb9bfac6825eba33f043992 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Tue, 28 Oct 2014 11:57:09 +0100 Subject: [PATCH] cache: cache rdata of SRV-records as well Signed-off-by: Steven Barth --- cache.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cache.c b/cache.c index 11d359d..7c7a8fb 100644 --- a/cache.c +++ b/cache.c @@ -268,6 +268,14 @@ cache_answer(struct interface *iface, uint8_t *base, int blen, char *name, struc return; port = be16_to_cpu(dsd->port); + memcpy(rdata_buffer, dsd, sizeof(*dsd)); + if (dn_expand(base, base + blen, (const uint8_t*)&dsd[1], + &rdata_buffer[sizeof(*dsd)], MAX_DATA_LEN - sizeof(*dsd)) < 0) { + perror("process_answer/dn_expand"); + return; + } + dlen = sizeof(*dsd) + strlen(&rdata_buffer[sizeof(*dsd)]) + 1; + rdata = (uint8_t*)rdata_buffer; break; case TYPE_TXT: -- 2.30.2