Skip to content

Commit

Permalink
quickstart: if initial address has non-ascii localpart, use "postmast…
Browse files Browse the repository at this point in the history
…er@" for registering with let's encrypt

because let's encrypt won't create an account for contact addresses with non-ascii characters.
we'll get an error message like:

	400 urn:ietf:params:acme:error:invalidContact: Error creating new account :: contact email [\"mailto:...\"] contains non-ASCII characters

found & reported by arnt, thanks!
  • Loading branch information
mjl- committed Apr 11, 2024
1 parent ad8c561 commit f4b6e14
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion quickstart.go
Original file line number Diff line number Diff line change
Expand Up @@ -650,15 +650,26 @@ many authentication failures).
Hostname: dnshostname.Name(),
AdminPasswordFile: "adminpasswd",
}

// todo: let user specify an alternative fallback address?
// Don't attempt to use a non-ascii localpart with Let's Encrypt, it won't work.
// Messages to postmaster will get to the account too.
var contactEmail string
if addr.Localpart.IsInternational() {
contactEmail = smtp.Address{Localpart: "postmaster", Domain: addr.Domain}.Pack(false)
} else {
contactEmail = addr.Pack(false)
}
if !existingWebserver {
sc.ACME = map[string]config.ACME{
"letsencrypt": {
DirectoryURL: "https://acme-v02.api.letsencrypt.org/directory",
ContactEmail: args[0], // todo: let user specify an alternative fallback address?
ContactEmail: contactEmail,
IssuerDomainName: "letsencrypt.org",
},
}
}

dataDir := "data" // ../data is relative to config/
os.MkdirAll(dataDir, 0770)
adminpw := pwgen()
Expand Down

0 comments on commit f4b6e14

Please sign in to comment.