From 3fc04f4dfffa3be42665a666de633953ce9556d5 Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Wed, 23 Oct 2019 22:15:15 +0100 Subject: [PATCH] fixup some acme related things --- api/server/acme/certmagic/certmagic.go | 22 +++++++++------------- api/server/acme/certmagic/storage.go | 2 +- api/server/acme/options.go | 12 ++++++------ 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/api/server/acme/certmagic/certmagic.go b/api/server/acme/certmagic/certmagic.go index cde5783d..4a3a464b 100644 --- a/api/server/acme/certmagic/certmagic.go +++ b/api/server/acme/certmagic/certmagic.go @@ -13,7 +13,7 @@ import ( ) type certmagicProvider struct { - opts *acme.Options + opts acme.Options } func (c *certmagicProvider) NewListener(ACMEHosts ...string) (net.Listener, error) { @@ -40,23 +40,19 @@ func (c *certmagicProvider) NewListener(ACMEHosts ...string) (net.Listener, erro // New returns a certmagic provider func New(options ...acme.Option) acme.Provider { - o := &acme.Options{} - if len(options) == 0 { - for _, op := range acme.Default() { - op(o) - } - } else { - for _, op := range options { - op(o) - } + opts := acme.DefaultOptions() + + for _, o := range options { + o(&opts) } - if o.Cache != nil { - if _, ok := o.Cache.(certmagic.Storage); !ok { + + if opts.Cache != nil { + if _, ok := opts.Cache.(certmagic.Storage); !ok { log.Fatal("ACME: cache provided doesn't implement certmagic's Storage interface") } } return &certmagicProvider{ - opts: o, + opts: opts, } } diff --git a/api/server/acme/certmagic/storage.go b/api/server/acme/certmagic/storage.go index b91b5db6..6b8e04fb 100644 --- a/api/server/acme/certmagic/storage.go +++ b/api/server/acme/certmagic/storage.go @@ -89,7 +89,7 @@ func (s *storage) Exists(key string) bool { } func (s *storage) List(prefix string, recursive bool) ([]string, error) { - records, err := s.store.Sync() + records, err := s.store.List() if err != nil { return nil, err } diff --git a/api/server/acme/options.go b/api/server/acme/options.go index cd7f55fd..04811b98 100644 --- a/api/server/acme/options.go +++ b/api/server/acme/options.go @@ -63,11 +63,11 @@ func Cache(c interface{}) Option { } } -// Default uses the Let's Encrypt Production CA, with DNS Challenge disabled. -func Default() []Option { - return []Option{ - AcceptToS(true), - CA(LetsEncryptProductionCA), - OnDemand(true), +// DefaultOptions uses the Let's Encrypt Production CA, with DNS Challenge disabled. +func DefaultOptions() Options { + return Options{ + AcceptToS: true, + CA: LetsEncryptProductionCA, + OnDemand: true, } }