Include CNAME answer in responses for A and AAAA queries

This commit is contained in:
ekrekeler 2025-02-25 00:43:51 -06:00
parent 8d483a8f02
commit 6ab986b935
No known key found for this signature in database
GPG key ID: 4C66C864B6B00854

View file

@ -35,7 +35,15 @@ class DnsMonitorType extends MonitorType {
switch (monitor.dns_resolve_type) { switch (monitor.dns_resolve_type) {
case "A": case "A":
case "AAAA": 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(" | ")}`; dnsMessage = `Records: ${records.join(" | ")}`;
conditionsResult = records.some(record => handleConditions({ record })); conditionsResult = records.some(record => handleConditions({ record }));
break; break;
@ -88,7 +96,7 @@ class DnsMonitorType extends MonitorType {
"Retry": dnsRes.answers[0].retry, "Retry": dnsRes.answers[0].retry,
"Expire": dnsRes.answers[0].expiration, "Expire": dnsRes.answers[0].expiration,
"MinTTL": dnsRes.answers[0].minimum, "MinTTL": dnsRes.answers[0].minimum,
}).map(([name, value]) => { }).map(([ name, value ]) => {
return `${name}: ${value}`; return `${name}: ${value}`;
}).join("; "); }).join("; ");
conditionsResult = handleConditions({ record: records[0] }); conditionsResult = handleConditions({ record: records[0] });
@ -103,7 +111,7 @@ class DnsMonitorType extends MonitorType {
"Port": record.port, "Port": record.port,
"Priority": record.priority, "Priority": record.priority,
"Weight": record.weight, "Weight": record.weight,
}).map(([name, value]) => { }).map(([ name, value ]) => {
return `${name}: ${value}`; return `${name}: ${value}`;
}).join("; "); }).join("; ");
}).join(" | "); }).join(" | ");