...

Source file src/pkg/crypto/tls/alert.go

     1	// Copyright 2009 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	package tls
     6	
     7	import "strconv"
     8	
     9	type alert uint8
    10	
    11	const (
    12		// alert level
    13		alertLevelWarning = 1
    14		alertLevelError   = 2
    15	)
    16	
    17	const (
    18		alertCloseNotify            alert = 0
    19		alertUnexpectedMessage      alert = 10
    20		alertBadRecordMAC           alert = 20
    21		alertDecryptionFailed       alert = 21
    22		alertRecordOverflow         alert = 22
    23		alertDecompressionFailure   alert = 30
    24		alertHandshakeFailure       alert = 40
    25		alertBadCertificate         alert = 42
    26		alertUnsupportedCertificate alert = 43
    27		alertCertificateRevoked     alert = 44
    28		alertCertificateExpired     alert = 45
    29		alertCertificateUnknown     alert = 46
    30		alertIllegalParameter       alert = 47
    31		alertUnknownCA              alert = 48
    32		alertAccessDenied           alert = 49
    33		alertDecodeError            alert = 50
    34		alertDecryptError           alert = 51
    35		alertProtocolVersion        alert = 70
    36		alertInsufficientSecurity   alert = 71
    37		alertInternalError          alert = 80
    38		alertInappropriateFallback  alert = 86
    39		alertUserCanceled           alert = 90
    40		alertNoRenegotiation        alert = 100
    41		alertMissingExtension       alert = 109
    42		alertUnsupportedExtension   alert = 110
    43		alertNoApplicationProtocol  alert = 120
    44	)
    45	
    46	var alertText = map[alert]string{
    47		alertCloseNotify:            "close notify",
    48		alertUnexpectedMessage:      "unexpected message",
    49		alertBadRecordMAC:           "bad record MAC",
    50		alertDecryptionFailed:       "decryption failed",
    51		alertRecordOverflow:         "record overflow",
    52		alertDecompressionFailure:   "decompression failure",
    53		alertHandshakeFailure:       "handshake failure",
    54		alertBadCertificate:         "bad certificate",
    55		alertUnsupportedCertificate: "unsupported certificate",
    56		alertCertificateRevoked:     "revoked certificate",
    57		alertCertificateExpired:     "expired certificate",
    58		alertCertificateUnknown:     "unknown certificate",
    59		alertIllegalParameter:       "illegal parameter",
    60		alertUnknownCA:              "unknown certificate authority",
    61		alertAccessDenied:           "access denied",
    62		alertDecodeError:            "error decoding message",
    63		alertDecryptError:           "error decrypting message",
    64		alertProtocolVersion:        "protocol version not supported",
    65		alertInsufficientSecurity:   "insufficient security level",
    66		alertInternalError:          "internal error",
    67		alertInappropriateFallback:  "inappropriate fallback",
    68		alertUserCanceled:           "user canceled",
    69		alertNoRenegotiation:        "no renegotiation",
    70		alertMissingExtension:       "missing extension",
    71		alertUnsupportedExtension:   "unsupported extension",
    72		alertNoApplicationProtocol:  "no application protocol",
    73	}
    74	
    75	func (e alert) String() string {
    76		s, ok := alertText[e]
    77		if ok {
    78			return "tls: " + s
    79		}
    80		return "tls: alert(" + strconv.Itoa(int(e)) + ")"
    81	}
    82	
    83	func (e alert) Error() string {
    84		return e.String()
    85	}
    86	

View as plain text