github.com/zebozhuang/go@v0.0.0-20200207033046-f8a98f6f5c5d/src/crypto/tls/alert.go (about)

     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  	alertNoApplicationProtocol  alert = 120
    42  )
    43  
    44  var alertText = map[alert]string{
    45  	alertCloseNotify:            "close notify",
    46  	alertUnexpectedMessage:      "unexpected message",
    47  	alertBadRecordMAC:           "bad record MAC",
    48  	alertDecryptionFailed:       "decryption failed",
    49  	alertRecordOverflow:         "record overflow",
    50  	alertDecompressionFailure:   "decompression failure",
    51  	alertHandshakeFailure:       "handshake failure",
    52  	alertBadCertificate:         "bad certificate",
    53  	alertUnsupportedCertificate: "unsupported certificate",
    54  	alertCertificateRevoked:     "revoked certificate",
    55  	alertCertificateExpired:     "expired certificate",
    56  	alertCertificateUnknown:     "unknown certificate",
    57  	alertIllegalParameter:       "illegal parameter",
    58  	alertUnknownCA:              "unknown certificate authority",
    59  	alertAccessDenied:           "access denied",
    60  	alertDecodeError:            "error decoding message",
    61  	alertDecryptError:           "error decrypting message",
    62  	alertProtocolVersion:        "protocol version not supported",
    63  	alertInsufficientSecurity:   "insufficient security level",
    64  	alertInternalError:          "internal error",
    65  	alertInappropriateFallback:  "inappropriate fallback",
    66  	alertUserCanceled:           "user canceled",
    67  	alertNoRenegotiation:        "no renegotiation",
    68  	alertNoApplicationProtocol:  "no application protocol",
    69  }
    70  
    71  func (e alert) String() string {
    72  	s, ok := alertText[e]
    73  	if ok {
    74  		return "tls: " + s
    75  	}
    76  	return "tls: alert(" + strconv.Itoa(int(e)) + ")"
    77  }
    78  
    79  func (e alert) Error() string {
    80  	return e.String()
    81  }