]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.boringcrypto] all: merge master into dev.boringcrypto
authorHeschi Kreinick <heschi@google.com>
Mon, 8 Nov 2021 19:46:41 +0000 (14:46 -0500)
committerHeschi Kreinick <heschi@google.com>
Mon, 8 Nov 2021 19:46:41 +0000 (14:46 -0500)
Change-Id: If0a6a3d0abf15d9584ce572510b5bb31872d432f

1  2 
src/crypto/tls/common.go
src/crypto/tls/handshake_client.go
src/crypto/tls/handshake_server.go
src/crypto/tls/handshake_server_tls13.go

index 0da93677b52a6d2aec3386995e2eb7569e708810,bb5bec3c4d40f233ec893c7c0206f60c7cb11600..d17cac30eb49cd48007410c875c6bc4d81978baa
@@@ -967,12 -974,21 +977,24 @@@ var supportedVersions = []uint16
        VersionTLS10,
  }
  
- func (c *Config) supportedVersions() []uint16 {
+ // debugEnableTLS10 enables TLS 1.0. See issue 45428.
+ var debugEnableTLS10 = godebug.Get("tls10default") == "1"
+ // roleClient and roleServer are meant to call supportedVersions and parents
+ // with more readability at the callsite.
+ const roleClient = true
+ const roleServer = false
+ func (c *Config) supportedVersions(isClient bool) []uint16 {
        versions := make([]uint16, 0, len(supportedVersions))
        for _, v := range supportedVersions {
 +              if needFIPS() && (v < fipsMinVersion(c) || v > fipsMaxVersion(c)) {
 +                      continue
 +              }
+               if (c == nil || c.MinVersion == 0) && !debugEnableTLS10 &&
+                       isClient && v < VersionTLS12 {
+                       continue
+               }
                if c != nil && c.MinVersion != 0 && v < c.MinVersion {
                        continue
                }
Simple merge
Simple merge