Skip to content

Commit f8807fa

Browse files
committed
Fix subdomain construction for bare two-part domains
1 parent f61c46d commit f8807fa

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

tools/certbot/certbot_renew_hook.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ def get_tld(validation_domain):
2121

2222

2323
def get_validation_subdomain(validation_domain, domain):
24+
if validation_domain == domain:
25+
return ""
2426
return validation_domain.replace("." + domain, "")
2527

2628

@@ -49,12 +51,14 @@ def perform_dns_challenge(validation_domain, validation_token):
4951
"Content-Type": "application/json",
5052
}
5153

54+
validation_sub = get_validation_subdomain(validation_domain, domain)
55+
subdomain = "_acme-challenge" + ("." + validation_sub if validation_sub else "")
56+
5257
payload = json.dumps(
5358
{
5459
"autocommit": True,
5560
"data": validation_token,
56-
"subdomain": "_acme-challenge."
57-
+ get_validation_subdomain(validation_domain, domain),
61+
"subdomain": subdomain,
5862
"ttl": 300,
5963
"type": "TXT",
6064
}
@@ -86,12 +90,14 @@ def cleanup_dns_challenge(validation_domain, validation_token):
8690
"Content-Type": "application/json",
8791
}
8892

93+
validation_sub = get_validation_subdomain(validation_domain, domain)
94+
subdomain = "_acme-challenge" + ("." + validation_sub if validation_sub else "")
95+
8996
payload = json.dumps(
9097
{
9198
"autocommit": True,
9299
"data": validation_token,
93-
"subdomain": "_acme-challenge."
94-
+ get_validation_subdomain(validation_domain, domain),
100+
"subdomain": subdomain,
95101
"ttl": 300,
96102
"type": "TXT",
97103
}

0 commit comments

Comments
 (0)