diff options
| author | Filippo Valsorda <filippo@golang.org> | 2020-06-24 17:01:00 -0400 |
|---|---|---|
| committer | Filippo Valsorda <filippo@golang.org> | 2020-11-09 19:48:28 +0000 |
| commit | d7fff1f2cf2c0cb7cb2e03a3d057c600c4ec545a (patch) | |
| tree | 40287adcc39884f0ac30b39630055c8d35e7986f /src/crypto/tls/handshake_server.go | |
| parent | a2d01473aec0e9d19ff31bb9727dcc350d500e56 (diff) | |
| download | go-d7fff1f2cf2c0cb7cb2e03a3d057c600c4ec545a.tar.xz | |
crypto/tls: ensure the server picked an advertised ALPN protocol
This is a SHALL in RFC 7301, Section 3.2.
Also some more cleanup after NPN, which worked the other way around
(with the possibility that the client could pick a protocol the server
did not suggest).
Change-Id: I83cc43ca1b3c686dfece8315436441c077065d82
Reviewed-on: https://go-review.googlesource.com/c/go/+/239748
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Filippo Valsorda <filippo@golang.org>
Trust: Roland Shoemaker <roland@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Diffstat (limited to 'src/crypto/tls/handshake_server.go')
| -rw-r--r-- | src/crypto/tls/handshake_server.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/crypto/tls/handshake_server.go b/src/crypto/tls/handshake_server.go index 73df19d10f..a7d44144cb 100644 --- a/src/crypto/tls/handshake_server.go +++ b/src/crypto/tls/handshake_server.go @@ -218,7 +218,7 @@ func (hs *serverHandshakeState) processClientHello() error { } if len(hs.clientHello.alpnProtocols) > 0 { - if selectedProto, fallback := mutualProtocol(hs.clientHello.alpnProtocols, c.config.NextProtos); !fallback { + if selectedProto := mutualProtocol(hs.clientHello.alpnProtocols, c.config.NextProtos); selectedProto != "" { hs.hello.alpnProtocol = selectedProto c.clientProtocol = selectedProto } |
