From 6ab986b935d0de83b997b2327f63a8fc111dcdf5 Mon Sep 17 00:00:00 2001 From: ekrekeler Date: Tue, 25 Feb 2025 00:43:51 -0600 Subject: [PATCH] Include CNAME answer in responses for A and AAAA queries --- server/monitor-types/dns.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server/monitor-types/dns.js b/server/monitor-types/dns.js index f5b4a7d47..cf6f12410 100644 --- a/server/monitor-types/dns.js +++ b/server/monitor-types/dns.js @@ -35,7 +35,15 @@ class DnsMonitorType extends MonitorType { switch (monitor.dns_resolve_type) { case "A": case "AAAA": - records = dnsRes.answers.map(record => record.address); + records = dnsRes.answers.map(record => { + switch (record.type) { + case 1: // A + case 28: // AAAA + return record.address; + case 5: // CNAME + return record.domain; + } + }); dnsMessage = `Records: ${records.join(" | ")}`; conditionsResult = records.some(record => handleConditions({ record })); break; @@ -88,7 +96,7 @@ class DnsMonitorType extends MonitorType { "Retry": dnsRes.answers[0].retry, "Expire": dnsRes.answers[0].expiration, "MinTTL": dnsRes.answers[0].minimum, - }).map(([name, value]) => { + }).map(([ name, value ]) => { return `${name}: ${value}`; }).join("; "); conditionsResult = handleConditions({ record: records[0] }); @@ -103,7 +111,7 @@ class DnsMonitorType extends MonitorType { "Port": record.port, "Priority": record.priority, "Weight": record.weight, - }).map(([name, value]) => { + }).map(([ name, value ]) => { return `${name}: ${value}`; }).join("; "); }).join(" | ");