From 1f9bc066df84e447c3613b6d32af1aa7791ae4f5 Mon Sep 17 00:00:00 2001 From: Malcolm Scott Date: Sun, 10 May 2020 21:00:43 +0100 Subject: [PATCH] Skip any unhandled DNS record type Currently the DNS resolver handles CNAME by skipping that record in the answer and looking for the subsequent A/AAAA/PTR record. There are other record types which could be handled in the same way, e.g. DNAME, but their presence currently causes the answer parsing to be abandoned. A better approach would be to skip *any* other record and just use the first A, AAAA or PTR in the answer, regardless of what comes before it. --- authd/res.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/authd/res.c b/authd/res.c index 9c07c395..0336b462 100644 --- a/authd/res.c +++ b/authd/res.c @@ -702,13 +702,9 @@ static int proc_answer(struct reslist *request, HEADER * header, char *buf, char rb_strlcpy(request->name, hostbuf, IRCD_RES_HOSTLEN + 1); return (1); - case T_CNAME: - /* real answer will follow */ - current += rd_length; - break; - default: - break; } + /* skip any other record type e.g. CNAME, DNAME; real answer should follow */ + current += rd_length; } return (1);