Browse Source

Accept existing certs in any order

This is how Let's Encrypt's rate limits are enforced.
master
Chris Smith 5 years ago
parent
commit
b46ff1eb0e
3 changed files with 3 additions and 5 deletions
  1. 2
    1
      dotege.go
  2. 0
    3
      lego.go
  3. 1
    1
      lego_test.go

+ 2
- 1
dotege.go View File

37
 	logger             *zap.SugaredLogger
37
 	logger             *zap.SugaredLogger
38
 	certificateManager *CertificateManager
38
 	certificateManager *CertificateManager
39
 	dockerClient       *client.Client
39
 	dockerClient       *client.Client
40
-	config             = createConfig()
40
+	config             *Config
41
 	containers         = make(map[string]*Container)
41
 	containers         = make(map[string]*Container)
42
 )
42
 )
43
 
43
 
88
 	logger.Info("Dotege is starting")
88
 	logger.Info("Dotege is starting")
89
 
89
 
90
 	doneChan := monitorSignals()
90
 	doneChan := monitorSignals()
91
+	config = createConfig()
91
 
92
 
92
 	var err error
93
 	var err error
93
 	dockerStopChan := make(chan struct{})
94
 	dockerStopChan := make(chan struct{})

+ 0
- 3
lego.go View File

216
 	if len(domains1) != len(domains2) {
216
 	if len(domains1) != len(domains2) {
217
 		return false
217
 		return false
218
 	}
218
 	}
219
-	if domains1[0] != domains2[0] {
220
-		return false
221
-	}
222
 	sort.Strings(domains1)
219
 	sort.Strings(domains1)
223
 	sort.Strings(domains2)
220
 	sort.Strings(domains2)
224
 	for i := range domains1 {
221
 	for i := range domains1 {

+ 1
- 1
lego_test.go View File

17
 		{"matching subject missing sans", args{[]string{"example.com", "example.org"}, []string{"example.com"}}, false},
17
 		{"matching subject missing sans", args{[]string{"example.com", "example.org"}, []string{"example.com"}}, false},
18
 		{"matching subject extra sans", args{[]string{"example.com"}, []string{"example.com", "example.org"}}, false},
18
 		{"matching subject extra sans", args{[]string{"example.com"}, []string{"example.com", "example.org"}}, false},
19
 		{"matching subject different sans", args{[]string{"example.com", "example.org"}, []string{"example.com", "example.net"}}, false},
19
 		{"matching subject different sans", args{[]string{"example.com", "example.org"}, []string{"example.com", "example.net"}}, false},
20
-		{"mismatched subject and san", args{[]string{"example.org", "example.com"}, []string{"example.com", "example.org"}}, false},
20
+		{"mismatched subject and san", args{[]string{"example.org", "example.com"}, []string{"example.com", "example.org"}}, true},
21
 		{"reordered sans", args{[]string{"example.org", "example.com", "example.net"}, []string{"example.org", "example.net", "example.com"}}, true},
21
 		{"reordered sans", args{[]string{"example.org", "example.com", "example.net"}, []string{"example.org", "example.net", "example.com"}}, true},
22
 	}
22
 	}
23
 	for _, tt := range tests {
23
 	for _, tt := range tests {

Loading…
Cancel
Save