Преглед изворни кода

Fixed refresh error when multiple certificates exist (#663)

* Fix when there are multiple certs, after refresh from file all will be the same as the last.
WeidiDeng пре 4 година
родитељ
комит
b0b2aaa70c
2 измењених фајлова са 4 додато и 4 уклоњено
  1. 2 2
      transport/internet/tls/config.go
  2. 2 2
      transport/internet/xtls/config.go

+ 2 - 2
transport/internet/tls/config.go

@@ -66,7 +66,7 @@ func (c *Config) BuildCertificates() []*tls.Certificate {
 				isOcspstapling = true
 			}
 			index := len(certs) - 1
-			go func(cert *tls.Certificate, index int) {
+			go func(entry *Certificate, cert *tls.Certificate, index int) {
 				t := time.NewTicker(time.Duration(hotReloadCertInterval) * time.Second)
 				for {
 					if entry.CertificatePath != "" && entry.KeyPath != "" {
@@ -107,7 +107,7 @@ func (c *Config) BuildCertificates() []*tls.Certificate {
 					certs[index] = cert
 					<-t.C
 				}
-			}(certs[len(certs)-1], index)
+			}(entry, certs[index], index)
 		}
 	}
 	return certs

+ 2 - 2
transport/internet/xtls/config.go

@@ -67,7 +67,7 @@ func (c *Config) BuildCertificates() []*xtls.Certificate {
 				isOcspstapling = true
 			}
 			index := len(certs) - 1
-			go func(cert *xtls.Certificate, index int) {
+			go func(entry *Certificate, cert *xtls.Certificate, index int) {
 				t := time.NewTicker(time.Duration(hotRelodaInterval) * time.Second)
 				for {
 					if entry.CertificatePath != "" && entry.KeyPath != "" {
@@ -108,7 +108,7 @@ func (c *Config) BuildCertificates() []*xtls.Certificate {
 					certs[index] = cert
 					<-t.C
 				}
-			}(certs[len(certs)-1], index)
+			}(entry, certs[index], index)
 		}
 	}
 	return certs