From 6fc224b3599ed0856b3fd723561e00d83d9faaee Mon Sep 17 00:00:00 2001
From: Jean-Marie 'Histausse' Mineau <histausse@protonmail.com>
Date: Tue, 26 Mar 2024 00:45:45 +0100
Subject: [PATCH] simplify wildecard logic

---
 server/certificates/certificates.go | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/server/certificates/certificates.go b/server/certificates/certificates.go
index b56255e..cf5d401 100644
--- a/server/certificates/certificates.go
+++ b/server/certificates/certificates.go
@@ -216,9 +216,6 @@ func (c *AcmeClient) retrieveCertFromDB(sni, mainDomainSuffix string, useDnsProv
 
 func (c *AcmeClient) obtainCert(acmeClient *lego.Client, domains []string, renew *certificate.Resource, user string, useDnsProvider bool, mainDomainSuffix string, keyDatabase database.CertDB) (*tls.Certificate, error) {
 	name := strings.TrimPrefix(domains[0], "*")
-	if useDnsProvider && domains[0] != "" && domains[0][0] == '*' {
-		domains = domains[1:]
-	}
 
 	// lock to avoid simultaneous requests
 	_, working := c.obtainLocks.LoadOrStore(name, struct{}{})
@@ -236,12 +233,9 @@ func (c *AcmeClient) obtainCert(acmeClient *lego.Client, domains []string, renew
 	defer c.obtainLocks.Delete(name)
 
 	if acmeClient == nil {
+
 		if useDnsProvider {
-			mock_domain := domains[0]
-			if name == mainDomainSuffix {
-				mock_domain = "*" + mainDomainSuffix
-			}
-			return mockCert(mock_domain, "DNS ACME client is not defined", mainDomainSuffix, keyDatabase)
+			return mockCert(domains[0], "DNS ACME client is not defined", mainDomainSuffix, keyDatabase)
 		} else {
 			return mockCert(domains[0], "ACME client uninitialized. This is a server error, please report!", mainDomainSuffix, keyDatabase)
 		}