Skip to content

Commit 09e2b11

Browse files
committed
Prevent adding www when domain nameserver is unknown
1 parent 0c3fac9 commit 09e2b11

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

apps/builder/app/builder/features/topbar/add-domain.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export const AddDomain = ({
5454
});
5555
// enforce www subdomain when no support for cname flattening
5656
// and root cname can conflict with MX or NS
57-
if (!registrar.cnameFlattening) {
57+
if (registrar.known && !registrar.cnameFlattening) {
5858
domain = `www.${domain}`;
5959
}
6060
}

packages/domain/src/rdap.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,14 @@ export const isDomainUsingCloudflareNameservers = async (domain: string) => {
9191
console.error(
9292
"RDAP Server for the given top level domain could not be found."
9393
);
94+
return undefined;
9495
}
9596

96-
if (rdapServer) {
97-
const data = await fetchRdap(rdapServer, domain);
98-
if (data) {
99-
// detect by nameservers rather than registrar url
100-
// sometimes stored as *.NS.CLOUDFLARE.COM
101-
return data.toLowerCase().includes(".ns.cloudflare.com");
102-
}
97+
const data = await fetchRdap(rdapServer, domain);
98+
if (data) {
99+
// detect by nameservers rather than registrar url
100+
// sometimes stored as *.NS.CLOUDFLARE.COM
101+
return data.toLowerCase().includes(".ns.cloudflare.com");
103102
}
104103
return false;
105104
};

packages/domain/src/trpc/domain.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ export const domainRouter = router({
2828
findDomainRegistrar: procedure
2929
.input(z.object({ domain: z.string() }))
3030
.query(async ({ input }) => {
31+
const isCloudflare = await isDomainUsingCloudflareNameservers(
32+
input.domain
33+
);
3134
return {
32-
cnameFlattening: await isDomainUsingCloudflareNameservers(input.domain),
35+
known: isCloudflare !== undefined,
36+
cnameFlattening: isCloudflare === true,
3337
};
3438
}),
3539

0 commit comments

Comments
 (0)