From 1f6ebdbea3261840e02c182885fdd757be85bbac Mon Sep 17 00:00:00 2001 From: DL6ER Date: Sat, 22 Feb 2025 11:16:04 +0100 Subject: [PATCH] Accept tabs inside dns.hosts and strip possible trailing comments Signed-off-by: DL6ER --- scripts/js/settings-dns-records.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/js/settings-dns-records.js b/scripts/js/settings-dns-records.js index 28f61de08..93c7d4754 100644 --- a/scripts/js/settings-dns-records.js +++ b/scripts/js/settings-dns-records.js @@ -9,26 +9,34 @@ function hostsDomain(data) { // Split record in format IP NAME1 [NAME2 [NAME3 [NAME...]]] - const name = data.substring(data.indexOf(" ") + 1); + // We split both on spaces and tabs to support both formats + // Also, we remove any comments after the name(s) + const name = data + .split(/[\t ]+/) + .slice(1) + .join(" ") + .split("#")[0] + .trim(); return name; } function hostsIP(data) { // Split record in format IP NAME1 [NAME2 [NAME3 [NAME...]]] - const ip = data.substring(0, data.indexOf(" ")); + // We split both on spaces and tabs to support both formats + const ip = data.split(/[\t ]+/)[0].trim(); return ip; } function CNAMEdomain(data) { // Split record in format ,[,] const CNAMEarr = data.split(","); - return CNAMEarr[0]; + return CNAMEarr[0].trim(); } function CNAMEtarget(data) { // Split record in format ,[,] const CNAMEarr = data.split(","); - return CNAMEarr[1]; + return CNAMEarr[1].trim(); } function CNAMEttl(data) {