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