| // 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 | 
 | ) | 
 |  | 
 | 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", | 
 | } | 
 |  | 
 | 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() | 
 | } |