6918d87d90
We will need OpenSSL 1.1.0 in order to test some of the features expected for Go 1.8. However, 1.1.0 also disables (by default) some things that we still want to test, such as RC4, 3DES and SSLv3. Thus developers wanting to update the crypto/tls test data will need to build OpenSSL from source. This change updates the test data with transcripts generated by 1.1.0 (in order to reduce future diffs) and also causes a banner to be printed if 1.1.0 is not used when updating. (The test for an ALPN mismatch is removed because OpenSSL now terminates the connection with a fatal alert if no known ALPN protocols are offered. There's no point testing against this because it's an OpenSSL behaviour.) Change-Id: I957516975e0b8c7def84184f65c81d0b68f1c551 Reviewed-on: https://go-review.googlesource.com/30821 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
82 lines
2.7 KiB
Go
82 lines
2.7 KiB
Go
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package tls
|
|
|
|
import "strconv"
|
|
|
|
type alert uint8
|
|
|
|
const (
|
|
// alert level
|
|
alertLevelWarning = 1
|
|
alertLevelError = 2
|
|
)
|
|
|
|
const (
|
|
alertCloseNotify alert = 0
|
|
alertUnexpectedMessage alert = 10
|
|
alertBadRecordMAC alert = 20
|
|
alertDecryptionFailed alert = 21
|
|
alertRecordOverflow alert = 22
|
|
alertDecompressionFailure alert = 30
|
|
alertHandshakeFailure alert = 40
|
|
alertBadCertificate alert = 42
|
|
alertUnsupportedCertificate alert = 43
|
|
alertCertificateRevoked alert = 44
|
|
alertCertificateExpired alert = 45
|
|
alertCertificateUnknown alert = 46
|
|
alertIllegalParameter alert = 47
|
|
alertUnknownCA alert = 48
|
|
alertAccessDenied alert = 49
|
|
alertDecodeError alert = 50
|
|
alertDecryptError alert = 51
|
|
alertProtocolVersion alert = 70
|
|
alertInsufficientSecurity alert = 71
|
|
alertInternalError alert = 80
|
|
alertInappropriateFallback alert = 86
|
|
alertUserCanceled alert = 90
|
|
alertNoRenegotiation alert = 100
|
|
alertNoApplicationProtocol alert = 120
|
|
)
|
|
|
|
var alertText = map[alert]string{
|
|
alertCloseNotify: "close notify",
|
|
alertUnexpectedMessage: "unexpected message",
|
|
alertBadRecordMAC: "bad record MAC",
|
|
alertDecryptionFailed: "decryption failed",
|
|
alertRecordOverflow: "record overflow",
|
|
alertDecompressionFailure: "decompression failure",
|
|
alertHandshakeFailure: "handshake failure",
|
|
alertBadCertificate: "bad certificate",
|
|
alertUnsupportedCertificate: "unsupported certificate",
|
|
alertCertificateRevoked: "revoked certificate",
|
|
alertCertificateExpired: "expired certificate",
|
|
alertCertificateUnknown: "unknown certificate",
|
|
alertIllegalParameter: "illegal parameter",
|
|
alertUnknownCA: "unknown certificate authority",
|
|
alertAccessDenied: "access denied",
|
|
alertDecodeError: "error decoding message",
|
|
alertDecryptError: "error decrypting message",
|
|
alertProtocolVersion: "protocol version not supported",
|
|
alertInsufficientSecurity: "insufficient security level",
|
|
alertInternalError: "internal error",
|
|
alertInappropriateFallback: "inappropriate fallback",
|
|
alertUserCanceled: "user canceled",
|
|
alertNoRenegotiation: "no renegotiation",
|
|
alertNoApplicationProtocol: "no application protocol",
|
|
}
|
|
|
|
func (e alert) String() string {
|
|
s, ok := alertText[e]
|
|
if ok {
|
|
return "tls: " + s
|
|
}
|
|
return "tls: alert(" + strconv.Itoa(int(e)) + ")"
|
|
}
|
|
|
|
func (e alert) Error() string {
|
|
return e.String()
|
|
}
|