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 5package main 6 7import "strconv" 8 9type alert uint8 10 11const ( 12 // alert level 13 alertLevelWarning = 1 14 alertLevelError = 2 15) 16 17const ( 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 42var 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 67func (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 75func (e alert) Error() string { 76 return e.String() 77} 78