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