Commit 4f1e7be5 authored by Adam Langley's avatar Adam Langley Committed by Brad Fitzpatrick

crypto/x509: use Certificate.Equals and CertPool.contains.

By using these utility functions, the code can be made a little shorter.
Thanks to Omar Shafie for pointing this out in
https://golang.org/cl/27393/.

Change-Id: I33fd97cf7d60a31d0844ec16c12bba530dcc6f6d
Reviewed-on: https://go-review.googlesource.com/32120
Run-TryBot: Adam Langley <agl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent f697cf22
...@@ -4,10 +4,7 @@ ...@@ -4,10 +4,7 @@
package x509 package x509
import ( import "encoding/pem"
"bytes"
"encoding/pem"
)
// CertPool is a set of certificates. // CertPool is a set of certificates.
type CertPool struct { type CertPool struct {
...@@ -67,7 +64,7 @@ func (s *CertPool) contains(cert *Certificate) bool { ...@@ -67,7 +64,7 @@ func (s *CertPool) contains(cert *Certificate) bool {
candidates := s.byName[string(cert.RawSubject)] candidates := s.byName[string(cert.RawSubject)]
for _, c := range candidates { for _, c := range candidates {
if bytes.Equal(cert.Raw, s.certs[c].Raw) { if s.certs[c].Equal(cert) {
return true return true
} }
} }
...@@ -82,10 +79,8 @@ func (s *CertPool) AddCert(cert *Certificate) { ...@@ -82,10 +79,8 @@ func (s *CertPool) AddCert(cert *Certificate) {
} }
// Check that the certificate isn't being added twice. // Check that the certificate isn't being added twice.
for _, c := range s.certs { if s.contains(cert) {
if c.Equal(cert) { return
return
}
} }
n := len(s.certs) n := len(s.certs)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment