From fca30b9c8e91667e6bb8b9bd0f7847357b8daab4 Mon Sep 17 00:00:00 2001 From: "Robert G. Jakabosky" Date: Sat, 12 Oct 2019 17:49:06 +0800 Subject: [PATCH 1/2] Update lego to 3.1.0 --- go.mod | 6 +----- go.sum | 12 ++++++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 69516ba..e5a18a5 100644 --- a/go.mod +++ b/go.mod @@ -11,13 +11,11 @@ require ( github.com/Azure/go-autorest/autorest/validation v0.2.0 // indirect github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190923070751-d615ccdd3e09 // indirect github.com/aws/aws-sdk-go v1.24.4 // indirect - github.com/cloudflare/cloudflare-go v0.10.1 // indirect github.com/foomo/tlsconfig v0.0.0-20180418120404-b67861b076c9 - github.com/go-acme/lego/v3 v3.0.2 + github.com/go-acme/lego/v3 v3.1.0 github.com/go-ini/ini v1.48.0 // indirect github.com/gophercloud/gophercloud v0.4.0 // indirect github.com/kolo/xmlrpc v0.0.0-20190909154602-56d5ec7c422e // indirect - github.com/labbsr0x/bindman-dns-webhook v1.0.2 // indirect github.com/lextoumbourou/goodhosts v2.1.0+incompatible github.com/miekg/dns v1.1.17 // indirect github.com/oracle/oci-go-sdk v10.0.0+incompatible // indirect @@ -26,10 +24,8 @@ require ( go.opencensus.io v0.22.1 // indirect go.uber.org/ratelimit v0.1.0 // indirect golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392 // indirect - golang.org/x/net v0.0.0-20190923162816-aa69164e4478 // indirect golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect golang.org/x/sys v0.0.0-20190924062700-2aa67d56cdd7 // indirect - golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0 // indirect google.golang.org/api v0.10.0 // indirect google.golang.org/appengine v1.6.3 // indirect google.golang.org/genproto v0.0.0-20190916214212-f660b8655731 // indirect diff --git a/go.sum b/go.sum index 6890f6b..57e2663 100644 --- a/go.sum +++ b/go.sum @@ -79,8 +79,11 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cloudflare/cloudflare-go v0.10.0/go.mod h1:fOESqHl/jzAmCtEyjceLkw3v0rVjzl8V9iehxZPynXY= github.com/cloudflare/cloudflare-go v0.10.1 h1:d2CL6F9k2O0Ux0w27LgogJ5UOzZRj6a/hDPFqPP68d8= github.com/cloudflare/cloudflare-go v0.10.1/go.mod h1:C0Y6eWnTJPMK2ceuOxx2pjh78UUHihcXeTTHb8r7QjU= +github.com/cloudflare/cloudflare-go v0.10.2 h1:VBodKICVPnwmDxstcW3biKcDSpFIfS/RELUXsZSBYK4= +github.com/cloudflare/cloudflare-go v0.10.2/go.mod h1:qhVI5MKwBGhdNU89ZRz2plgYutcJ5PCekLxXn56w6SY= github.com/cpu/goacmedns v0.0.1 h1:GeIU5chKys9zmHgOAgP+bstRaLqcGQ6HJh/hLw9hrus= github.com/cpu/goacmedns v0.0.1/go.mod h1:sesf/pNnCYwUevQEQfEwY0Y3DydlQWSGZbaMElOWxok= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -107,6 +110,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-acme/lego/v3 v3.0.2 h1:cnS+URiPzkt2pd7I2WlZtFyt2ihQ762nouBybY4djjw= github.com/go-acme/lego/v3 v3.0.2/go.mod h1:sMoLjf8BUo4Jexg+6Xw5KeFx98KVZ7Nfczh9tzLyhJU= +github.com/go-acme/lego/v3 v3.1.0 h1:yanYFoYW8azFkCvJfIk7edWWfjkYkhDxe45ZsxoW4Xk= +github.com/go-acme/lego/v3 v3.1.0/go.mod h1:074uqt+JS6plx+c9Xaiz6+L+GBb+7itGtzfcDM2AhEE= github.com/go-cmd/cmd v1.0.5/go.mod h1:y8q8qlK5wQibcw63djSl/ntiHUHXHGdCkPk0j4QeW4s= github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= @@ -207,6 +212,8 @@ github.com/lextoumbourou/goodhosts v2.1.0+incompatible h1:1U1p5Z1wrXl23/fW/GY4zd github.com/lextoumbourou/goodhosts v2.1.0+incompatible/go.mod h1:89s48k108X3gKDWn8AHk3gUzUGTcMZCCAOsE4QU1bbo= github.com/linode/linodego v0.10.0 h1:AMdb82HVgY8o3mjBXJcUv9B+fnJjfDMn2rNRGbX+jvM= github.com/linode/linodego v0.10.0/go.mod h1:cziNP7pbvE3mXIPneHj0oRY8L1WtGEIKlZ8LANE4eXA= +github.com/liquidweb/liquidweb-go v1.6.0 h1:vIj1I/Wf97fUnyirD+bi6Y63c0GiXk9nKI1+sFFl3G0= +github.com/liquidweb/liquidweb-go v1.6.0/go.mod h1:UDcVnAMDkZxpw4Y7NOHkqoeiGacVLEIG/i5J9cyixzQ= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -272,10 +279,12 @@ github.com/rainycape/memcache v0.0.0-20150622160815-1031fa0ce2f2/go.mod h1:7tZKc github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sacloud/libsacloud v1.26.1/go.mod h1:79ZwATmHLIFZIMd7sxA3LwzVy/B77uj3LDoToVTxDoQ= github.com/sacloud/libsacloud v1.27.1 h1:JxBSJkmoQn24NyjpJnUMkJ20svyq0NHlJEapVJVULao= github.com/sacloud/libsacloud v1.27.1/go.mod h1:79ZwATmHLIFZIMd7sxA3LwzVy/B77uj3LDoToVTxDoQ= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -300,6 +309,7 @@ github.com/transip/gotransip v5.8.2+incompatible/go.mod h1:uacMoJVmrfOcscM4Bi5NV github.com/uber-go/atomic v1.3.2 h1:Azu9lPBWRNKzYXSIwRfgRuDuS0YKsK4NFhiQv98gkxo= github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= github.com/urfave/cli v1.21.0/go.mod h1:lxDj6qX9Q6lWQxIrbrT0nwecwUtRnhVZAJjJZrVUZZQ= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/vultr/govultr v0.1.4 h1:UnNMixYFVO0p80itc8PcweoVENyo1PasfvwKhoasR9U= github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= @@ -364,6 +374,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478 h1:l5EDrHhldLYb3ZRHDUhXF7Om7MvYXnkV9/iQNo1lX6g= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3 h1:6KET3Sqa7fkVfD63QnAM81ZeYg5n4HwApOJkufONnHA= +golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= From f383a399b2c4c8ebb6d69b3d71c5d9a6845df4a4 Mon Sep 17 00:00:00 2001 From: "Robert G. Jakabosky" Date: Wed, 16 Oct 2019 22:58:22 +0800 Subject: [PATCH 2/2] Allow disabling HTTP and/or TLS challenges. --- client.go | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/client.go b/client.go index bd4e82a..6e84f13 100644 --- a/client.go +++ b/client.go @@ -41,26 +41,33 @@ func createClient(u SSLUser) (lego.Client, error) { log.Println("[INFO] simplecert: client creation complete") // ------------------------------------------- - // HTTP & TLS Challenges + // HTTP Challenges // ------------------------------------------- - httpSlice := strings.Split(c.HTTPAddress, ":") - if len(httpSlice) != 2 { - return *client, fmt.Errorf("simplecert: invalid HTTP address: %s", c.HTTPAddress) - } - tlsSlice := strings.Split(c.TLSAddress, ":") - if len(tlsSlice) != 2 { - return *client, fmt.Errorf("simplecert: invalid TLS address: %s", c.TLSAddress) + if c.HTTPAddress != "" { + httpSlice := strings.Split(c.HTTPAddress, ":") + if len(httpSlice) != 2 { + return *client, fmt.Errorf("simplecert: invalid HTTP address: %s", c.HTTPAddress) + } + err = client.Challenge.SetHTTP01Provider(http01.NewProviderServer(httpSlice[0], httpSlice[1])) + if err != nil { + return *client, fmt.Errorf("simplecert: setting HTTP challenge provider failed: %s", err) + } } - // Set Endpoints - err = client.Challenge.SetHTTP01Provider(http01.NewProviderServer(httpSlice[0], httpSlice[1])) - if err != nil { - return *client, fmt.Errorf("simplecert: setting HTTP challenge provider failed: %s", err) - } - err = client.Challenge.SetTLSALPN01Provider(tlsalpn01.NewProviderServer(tlsSlice[0], tlsSlice[1])) - if err != nil { - return *client, fmt.Errorf("simplecert: setting TLS challenge provider failed: %s", err) + // ------------------------------------------- + // TLS Challenges + // ------------------------------------------- + + if c.TLSAddress != "" { + tlsSlice := strings.Split(c.TLSAddress, ":") + if len(tlsSlice) != 2 { + return *client, fmt.Errorf("simplecert: invalid TLS address: %s", c.TLSAddress) + } + err = client.Challenge.SetTLSALPN01Provider(tlsalpn01.NewProviderServer(tlsSlice[0], tlsSlice[1])) + if err != nil { + return *client, fmt.Errorf("simplecert: setting TLS challenge provider failed: %s", err) + } } // -------------------------------------------