aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/tls/handshake_messages.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/crypto/tls/handshake_messages.go')
-rw-r--r--src/crypto/tls/handshake_messages.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/crypto/tls/handshake_messages.go b/src/crypto/tls/handshake_messages.go
index d9a475aab1..aa0b7db75d 100644
--- a/src/crypto/tls/handshake_messages.go
+++ b/src/crypto/tls/handshake_messages.go
@@ -1005,6 +1005,7 @@ type encryptedExtensionsMsg struct {
quicTransportParameters []byte
earlyData bool
echRetryConfigs []byte
+ serverNameAck bool
}
func (m *encryptedExtensionsMsg) marshal() ([]byte, error) {
@@ -1040,6 +1041,10 @@ func (m *encryptedExtensionsMsg) marshal() ([]byte, error) {
b.AddBytes(m.echRetryConfigs)
})
}
+ if m.serverNameAck {
+ b.AddUint16(extensionServerName)
+ b.AddUint16(0) // empty extension_data
+ }
})
})
@@ -1095,6 +1100,11 @@ func (m *encryptedExtensionsMsg) unmarshal(data []byte) bool {
if !extData.CopyBytes(m.echRetryConfigs) {
return false
}
+ case extensionServerName:
+ if len(extData) != 0 {
+ return false
+ }
+ m.serverNameAck = true
default:
// Ignore unknown extensions.
continue