Commit c7d4d051 authored by Matthew Holt's avatar Matthew Holt

letsencrypt: Ensure no prompt if user is not there

Also only set custom address if alternate port is specified (rather than using a blank address; just cleaner this way)
parent 8a6c778c
...@@ -342,9 +342,11 @@ func newClientPort(leEmail, port string) (*acme.Client, error) { ...@@ -342,9 +342,11 @@ func newClientPort(leEmail, port string) (*acme.Client, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
if port != "" {
client.SetHTTPAddress(":" + port) client.SetHTTPAddress(":" + port)
client.SetTLSAddress(":" + port) client.SetTLSAddress(":" + port)
client.ExcludeChallenges([]string{"tls-sni-01", "dns-01"}) // We can only guarantee http-01 at this time }
client.ExcludeChallenges([]string{"tls-sni-01", "dns-01"}) // We can only guarantee http-01 at this time, but tls-01 should work if port is not custom!
// If not registered, the user must register an account with the CA // If not registered, the user must register an account with the CA
// and agree to terms // and agree to terms
...@@ -355,12 +357,14 @@ func newClientPort(leEmail, port string) (*acme.Client, error) { ...@@ -355,12 +357,14 @@ func newClientPort(leEmail, port string) (*acme.Client, error) {
} }
leUser.Registration = reg leUser.Registration = reg
if port == "" { // can't prompt a user who isn't there
if !Agreed && reg.TosURL == "" { if !Agreed && reg.TosURL == "" {
Agreed = promptUserAgreement(saURL, false) // TODO - latest URL Agreed = promptUserAgreement(saURL, false) // TODO - latest URL
} }
if !Agreed && reg.TosURL == "" { if !Agreed && reg.TosURL == "" {
return nil, errors.New("user must agree to terms") return nil, errors.New("user must agree to terms")
} }
}
err = client.AgreeToTOS() err = client.AgreeToTOS()
if err != nil { if err != nil {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment