Merge branch 'getcertificate'

This commit is contained in:
Matthew Holt 2016-01-12 08:52:52 -07:00
commit 2bcbdd6a17
2 changed files with 19 additions and 8 deletions

View File

@ -342,9 +342,11 @@ func newClientPort(leEmail, port string) (*acme.Client, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
client.SetHTTPAddress(":" + port) if port != "" {
client.SetTLSAddress(":" + port) client.SetHTTPAddress(":" + port)
client.ExcludeChallenges([]string{"tls-sni-01", "dns-01"}) // We can only guarantee http-01 at this time client.SetTLSAddress(":" + port)
}
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,11 +357,13 @@ func newClientPort(leEmail, port string) (*acme.Client, error) {
} }
leUser.Registration = reg leUser.Registration = reg
if !Agreed && reg.TosURL == "" { if port == "" { // can't prompt a user who isn't there
Agreed = promptUserAgreement(saURL, false) // TODO - latest URL if !Agreed && reg.TosURL == "" {
} Agreed = promptUserAgreement(saURL, false) // TODO - latest URL
if !Agreed && reg.TosURL == "" { }
return nil, errors.New("user must agree to terms") if !Agreed && reg.TosURL == "" {
return nil, errors.New("user must agree to terms")
}
} }
err = client.AgreeToTOS() err = client.AgreeToTOS()

View File

@ -34,7 +34,9 @@ func TLS(c *Controller) (middleware.Middleware, error) {
} }
// Optional block with extra parameters // Optional block with extra parameters
var hadBlock bool
for c.NextBlock() { for c.NextBlock() {
hadBlock = true
switch c.Val() { switch c.Val() {
case "protocols": case "protocols":
args := c.RemainingArgs() args := c.RemainingArgs()
@ -71,6 +73,11 @@ func TLS(c *Controller) (middleware.Middleware, error) {
return nil, c.Errf("Unknown keyword '%s'", c.Val()) return nil, c.Errf("Unknown keyword '%s'", c.Val())
} }
} }
// tls requires at least one argument if a block is not opened
if len(args) == 0 && !hadBlock {
return nil, c.ArgErr()
}
} }
SetDefaultTLSParams(c.Config) SetDefaultTLSParams(c.Config)