remove certmagic
This commit is contained in:
		| @@ -1,68 +0,0 @@ | |||||||
| // Package certmagic is the ACME provider from github.com/caddyserver/certmagic |  | ||||||
| package certmagic |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
| 	"crypto/tls" |  | ||||||
| 	"math/rand" |  | ||||||
| 	"net" |  | ||||||
| 	"time" |  | ||||||
|  |  | ||||||
| 	"github.com/caddyserver/certmagic" |  | ||||||
| 	"github.com/micro/go-micro/v3/api/acme" |  | ||||||
| 	"github.com/micro/go-micro/v3/logger" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| type certmagicProvider struct { |  | ||||||
| 	opts acme.Options |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // TODO: set self-contained options |  | ||||||
| func (c *certmagicProvider) setup() { |  | ||||||
| 	certmagic.DefaultACME.CA = c.opts.CA |  | ||||||
| 	if c.opts.ChallengeProvider != nil { |  | ||||||
| 		// Enabling DNS Challenge disables the other challenges |  | ||||||
| 		certmagic.DefaultACME.DNSProvider = c.opts.ChallengeProvider |  | ||||||
| 	} |  | ||||||
| 	if c.opts.OnDemand { |  | ||||||
| 		certmagic.Default.OnDemand = new(certmagic.OnDemandConfig) |  | ||||||
| 	} |  | ||||||
| 	if c.opts.Cache != nil { |  | ||||||
| 		// already validated by new() |  | ||||||
| 		certmagic.Default.Storage = c.opts.Cache.(certmagic.Storage) |  | ||||||
| 	} |  | ||||||
| 	// If multiple instances of the provider are running, inject some |  | ||||||
| 	// randomness so they don't collide |  | ||||||
| 	// RenewalWindowRatio [0.33 - 0.50) |  | ||||||
| 	rand.Seed(time.Now().UnixNano()) |  | ||||||
| 	randomRatio := float64(rand.Intn(17)+33) * 0.01 |  | ||||||
| 	certmagic.Default.RenewalWindowRatio = randomRatio |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *certmagicProvider) Listen(hosts ...string) (net.Listener, error) { |  | ||||||
| 	c.setup() |  | ||||||
| 	return certmagic.Listen(hosts) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *certmagicProvider) TLSConfig(hosts ...string) (*tls.Config, error) { |  | ||||||
| 	c.setup() |  | ||||||
| 	return certmagic.TLS(hosts) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // NewProvider returns a certmagic provider |  | ||||||
| func NewProvider(options ...acme.Option) acme.Provider { |  | ||||||
| 	opts := acme.DefaultOptions() |  | ||||||
|  |  | ||||||
| 	for _, o := range options { |  | ||||||
| 		o(&opts) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	if opts.Cache != nil { |  | ||||||
| 		if _, ok := opts.Cache.(certmagic.Storage); !ok { |  | ||||||
| 			logger.Fatal("ACME: cache provided doesn't implement certmagic's Storage interface") |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	return &certmagicProvider{ |  | ||||||
| 		opts: opts, |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| @@ -1,147 +0,0 @@ | |||||||
| package certmagic |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
| 	"bytes" |  | ||||||
| 	"encoding/gob" |  | ||||||
| 	"errors" |  | ||||||
| 	"fmt" |  | ||||||
| 	"path" |  | ||||||
| 	"strings" |  | ||||||
| 	"time" |  | ||||||
|  |  | ||||||
| 	"github.com/caddyserver/certmagic" |  | ||||||
| 	"github.com/micro/go-micro/v3/store" |  | ||||||
| 	"github.com/micro/go-micro/v3/sync" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| // File represents a "File" that will be stored in store.Store - the contents and last modified time |  | ||||||
| type File struct { |  | ||||||
| 	// last modified time |  | ||||||
| 	LastModified time.Time |  | ||||||
| 	// Contents |  | ||||||
| 	Contents []byte |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // storage is an implementation of certmagic.Storage using micro's sync.Map and store.Store interfaces. |  | ||||||
| // As certmagic storage expects a filesystem (with stat() abilities) we have to implement |  | ||||||
| // the bare minimum of metadata. |  | ||||||
| type storage struct { |  | ||||||
| 	lock  sync.Sync |  | ||||||
| 	store store.Store |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) Lock(key string) error { |  | ||||||
| 	return s.lock.Lock(key, sync.LockTTL(10*time.Minute)) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) Unlock(key string) error { |  | ||||||
| 	return s.lock.Unlock(key) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) Store(key string, value []byte) error { |  | ||||||
| 	f := File{ |  | ||||||
| 		LastModified: time.Now(), |  | ||||||
| 		Contents:     value, |  | ||||||
| 	} |  | ||||||
| 	buf := &bytes.Buffer{} |  | ||||||
| 	e := gob.NewEncoder(buf) |  | ||||||
| 	if err := e.Encode(f); err != nil { |  | ||||||
| 		return err |  | ||||||
| 	} |  | ||||||
| 	r := &store.Record{ |  | ||||||
| 		Key:   key, |  | ||||||
| 		Value: buf.Bytes(), |  | ||||||
| 	} |  | ||||||
| 	return s.store.Write(r) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) Load(key string) ([]byte, error) { |  | ||||||
| 	if !s.Exists(key) { |  | ||||||
| 		return nil, certmagic.ErrNotExist(errors.New(key + " doesn't exist")) |  | ||||||
| 	} |  | ||||||
| 	records, err := s.store.Read(key) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if len(records) != 1 { |  | ||||||
| 		return nil, fmt.Errorf("ACME Storage: multiple records matched key %s", key) |  | ||||||
| 	} |  | ||||||
| 	b := bytes.NewBuffer(records[0].Value) |  | ||||||
| 	d := gob.NewDecoder(b) |  | ||||||
| 	var f File |  | ||||||
| 	err = d.Decode(&f) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return f.Contents, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) Delete(key string) error { |  | ||||||
| 	return s.store.Delete(key) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) Exists(key string) bool { |  | ||||||
| 	if _, err := s.store.Read(key); err != nil { |  | ||||||
| 		return false |  | ||||||
| 	} |  | ||||||
| 	return true |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) List(prefix string, recursive bool) ([]string, error) { |  | ||||||
| 	keys, err := s.store.List() |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	//nolint:prealloc |  | ||||||
| 	var results []string |  | ||||||
| 	for _, k := range keys { |  | ||||||
| 		if strings.HasPrefix(k, prefix) { |  | ||||||
| 			results = append(results, k) |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	if recursive { |  | ||||||
| 		return results, nil |  | ||||||
| 	} |  | ||||||
| 	keysMap := make(map[string]bool) |  | ||||||
| 	for _, key := range results { |  | ||||||
| 		dir := strings.Split(strings.TrimPrefix(key, prefix+"/"), "/") |  | ||||||
| 		keysMap[dir[0]] = true |  | ||||||
| 	} |  | ||||||
| 	results = make([]string, 0) |  | ||||||
| 	for k := range keysMap { |  | ||||||
| 		results = append(results, path.Join(prefix, k)) |  | ||||||
| 	} |  | ||||||
| 	return results, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (s *storage) Stat(key string) (certmagic.KeyInfo, error) { |  | ||||||
| 	records, err := s.store.Read(key) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return certmagic.KeyInfo{}, err |  | ||||||
| 	} |  | ||||||
| 	if len(records) != 1 { |  | ||||||
| 		return certmagic.KeyInfo{}, fmt.Errorf("ACME Storage: multiple records matched key %s", key) |  | ||||||
| 	} |  | ||||||
| 	b := bytes.NewBuffer(records[0].Value) |  | ||||||
| 	d := gob.NewDecoder(b) |  | ||||||
| 	var f File |  | ||||||
| 	err = d.Decode(&f) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return certmagic.KeyInfo{}, err |  | ||||||
| 	} |  | ||||||
| 	return certmagic.KeyInfo{ |  | ||||||
| 		Key:        key, |  | ||||||
| 		Modified:   f.LastModified, |  | ||||||
| 		Size:       int64(len(f.Contents)), |  | ||||||
| 		IsTerminal: false, |  | ||||||
| 	}, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // NewStorage returns a certmagic.Storage backed by a go-micro/lock and go-micro/store |  | ||||||
| func NewStorage(lock sync.Sync, store store.Store) certmagic.Storage { |  | ||||||
| 	return &storage{ |  | ||||||
| 		lock:  lock, |  | ||||||
| 		store: store, |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
							
								
								
									
										4
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.mod
									
									
									
									
									
								
							| @@ -7,7 +7,6 @@ replace github.com/imdario/mergo => github.com/imdario/mergo v0.3.8 | |||||||
| require ( | require ( | ||||||
| 	github.com/bitly/go-simplejson v0.5.0 | 	github.com/bitly/go-simplejson v0.5.0 | ||||||
| 	github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect | 	github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect | ||||||
| 	github.com/caddyserver/certmagic v0.10.6 |  | ||||||
| 	github.com/davecgh/go-spew v1.1.1 | 	github.com/davecgh/go-spew v1.1.1 | ||||||
| 	github.com/dgrijalva/jwt-go v3.2.0+incompatible | 	github.com/dgrijalva/jwt-go v3.2.0+incompatible | ||||||
| 	github.com/ef-ds/deque v1.0.4-0.20190904040645-54cb57c252a1 | 	github.com/ef-ds/deque v1.0.4-0.20190904040645-54cb57c252a1 | ||||||
| @@ -21,9 +20,7 @@ require ( | |||||||
| 	github.com/gogo/protobuf v1.3.1 // indirect | 	github.com/gogo/protobuf v1.3.1 // indirect | ||||||
| 	github.com/golang/protobuf v1.4.2 | 	github.com/golang/protobuf v1.4.2 | ||||||
| 	github.com/google/uuid v1.1.2 | 	github.com/google/uuid v1.1.2 | ||||||
| 	github.com/gorilla/handlers v1.4.2 |  | ||||||
| 	github.com/hpcloud/tail v1.0.0 | 	github.com/hpcloud/tail v1.0.0 | ||||||
| 	github.com/klauspost/cpuid v1.3.1 // indirect |  | ||||||
| 	github.com/kr/pretty v0.2.0 | 	github.com/kr/pretty v0.2.0 | ||||||
| 	github.com/kr/text v0.2.0 // indirect | 	github.com/kr/text v0.2.0 // indirect | ||||||
| 	github.com/miekg/dns v1.1.27 | 	github.com/miekg/dns v1.1.27 | ||||||
| @@ -42,5 +39,4 @@ require ( | |||||||
| 	google.golang.org/grpc v1.27.0 | 	google.golang.org/grpc v1.27.0 | ||||||
| 	google.golang.org/protobuf v1.25.0 | 	google.golang.org/protobuf v1.25.0 | ||||||
| 	gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect | 	gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect | ||||||
| 	gopkg.in/square/go-jose.v2 v2.4.1 // indirect |  | ||||||
| ) | ) | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								go.sum
									
									
									
									
									
								
							| @@ -54,8 +54,6 @@ github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngE | |||||||
| github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= | github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= | ||||||
| github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= | github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= | ||||||
| github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= | github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= | ||||||
| github.com/caddyserver/certmagic v0.10.6 h1:sCya6FmfaN74oZE46kqfaFOVoROD/mF36rTQfjN7TZc= |  | ||||||
| github.com/caddyserver/certmagic v0.10.6/go.mod h1:Y8jcUBctgk/IhpAzlHKfimZNyXCkfGgRTC0orl8gROQ= |  | ||||||
| github.com/cenkalti/backoff/v4 v4.0.0 h1:6VeaLF9aI+MAUQ95106HwWzYZgJJpZ4stumjj6RFYAU= | github.com/cenkalti/backoff/v4 v4.0.0 h1:6VeaLF9aI+MAUQ95106HwWzYZgJJpZ4stumjj6RFYAU= | ||||||
| github.com/cenkalti/backoff/v4 v4.0.0/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg= | github.com/cenkalti/backoff/v4 v4.0.0/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg= | ||||||
| github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | ||||||
| @@ -184,8 +182,6 @@ github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEo | |||||||
| github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= | github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= | ||||||
| github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= | github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= | ||||||
| github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= | github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= | ||||||
| github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg= |  | ||||||
| github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= |  | ||||||
| github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | ||||||
| github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= | github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= | ||||||
| github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | ||||||
| @@ -218,10 +214,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V | |||||||
| github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= | github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= | ||||||
| github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= | github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= | ||||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||||
| github.com/klauspost/cpuid v1.2.3 h1:CCtW0xUnWGVINKvE/WWOYKdsPV6mawAtvQuSl8guwQs= |  | ||||||
| github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= |  | ||||||
| github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s= |  | ||||||
| github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4= |  | ||||||
| github.com/kolo/xmlrpc v0.0.0-20190717152603-07c4ee3fd181/go.mod h1:o03bZfuBwAXHetKXuInt4S7omeXUu62/A845kiycsSQ= | github.com/kolo/xmlrpc v0.0.0-20190717152603-07c4ee3fd181/go.mod h1:o03bZfuBwAXHetKXuInt4S7omeXUu62/A845kiycsSQ= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= | github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= | ||||||
| @@ -368,7 +360,6 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U | |||||||
| golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20190927123631-a832865fa7ad/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= |  | ||||||
| golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
| golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 h1:DZhuSZLsGlFL4CmhA8BcRA0mnthyA/nZ00AqCUo7vHg= | golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 h1:DZhuSZLsGlFL4CmhA8BcRA0mnthyA/nZ00AqCUo7vHg= | ||||||
| golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
| @@ -548,8 +539,6 @@ gopkg.in/ns1/ns1-go.v2 v2.0.0-20190730140822-b51389932cbc/go.mod h1:VV+3haRsgDiV | |||||||
| gopkg.in/resty.v1 v1.9.1/go.mod h1:vo52Hzryw9PnPHcJfPsBiFW62XhNx5OczbV9y+IMpgc= | gopkg.in/resty.v1 v1.9.1/go.mod h1:vo52Hzryw9PnPHcJfPsBiFW62XhNx5OczbV9y+IMpgc= | ||||||
| gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= | gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= | ||||||
| gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||||
| gopkg.in/square/go-jose.v2 v2.4.1 h1:H0TmLt7/KmzlrDOpa1F+zr0Tk90PbJYBfsVUmRLrf9Y= |  | ||||||
| gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= |  | ||||||
| gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= | gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= | ||||||
| gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= | gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= | ||||||
| gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= | gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user