From f0156f5a40433f0aa71d3dfb34dcb23a2a2ce291 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 7 Jan 2024 16:06:07 +0530 Subject: [PATCH] fix: removes restriction on root record --- scripts/register-domains.js | 2 +- utils/domain-service.js | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/scripts/register-domains.js b/scripts/register-domains.js index 370949af6..55e201a57 100644 --- a/scripts/register-domains.js +++ b/scripts/register-domains.js @@ -15,7 +15,7 @@ const toHostList = R.chain(data => { // URL redirection must contain explicit A record // Wildcard A record breaks when used with MX // Ref: https://github.com/is-a-dev/register/issues/2365 - if (data.record.URL && data.record.MX) { + if (data.record.URL && data.record.MX || data.name === '@') { data.record.A = [ DOMAIN_HOST_IP ] } diff --git a/utils/domain-service.js b/utils/domain-service.js index e66099db1..5cbafaa2a 100644 --- a/utils/domain-service.js +++ b/utils/domain-service.js @@ -23,7 +23,7 @@ const recordToZone = ({ name, type, address, id, priority }) => ({ }); const cleanName = name => - name === DOMAIN_DOMAIN ? '@' : `${name}`.replace(new RegExp(`\\.?${DOMAIN_DOMAIN}\\.?$`), '').toLowerCase(); + [DOMAIN_DOMAIN, `${DOMAIN_DOMAIN}.`].includes(name) ? '@' : `${name}`.replace(new RegExp(`\\.${DOMAIN_DOMAIN}\\.?$`), '').toLowerCase(); const zoneToRecord = ({ name, @@ -63,8 +63,7 @@ const diffRecords = (oldRecords, newRecords) => { const isMatchingRecord = (a, b) => getHostKey(a) === getHostKey(b); const remove = R.differenceWith(isMatchingRecord, oldRecords, newRecords); - const add = R.differenceWith(isMatchingRecord, newRecords, oldRecords) - .filter(r => !['www'].includes(r.name)); + const add = R.differenceWith(isMatchingRecord, newRecords, oldRecords); return { add, remove }; }; @@ -86,8 +85,7 @@ const executeBatch = (batches) => batches.reduce((promise, batch, index) => { }, Promise.resolve()); const isReserved = (domain) => - !domain.name || - domain.name.startsWith('*') || + domain.name.startsWith('*') || !VALID_RECORD_TYPES.includes(domain.type) const getDomainService = ({ cpanel }) => {