github.com/ooni/psiphon/tunnel-core@v0.0.0-20230105123940-fe12a24c96ee/oovendor/qtls-go1-17/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 qtls 6 7 import "strconv" 8 9 type alert uint8 10 11 // Alert is a TLS alert 12 type Alert = alert 13 14 const ( 15 // alert level 16 alertLevelWarning = 1 17 alertLevelError = 2 18 ) 19 20 const ( 21 alertCloseNotify alert = 0 22 alertUnexpectedMessage alert = 10 23 alertBadRecordMAC alert = 20 24 alertDecryptionFailed alert = 21 25 alertRecordOverflow alert = 22 26 alertDecompressionFailure alert = 30 27 alertHandshakeFailure alert = 40 28 alertBadCertificate alert = 42 29 alertUnsupportedCertificate alert = 43 30 alertCertificateRevoked alert = 44 31 alertCertificateExpired alert = 45 32 alertCertificateUnknown alert = 46 33 alertIllegalParameter alert = 47 34 alertUnknownCA alert = 48 35 alertAccessDenied alert = 49 36 alertDecodeError alert = 50 37 alertDecryptError alert = 51 38 alertExportRestriction alert = 60 39 alertProtocolVersion alert = 70 40 alertInsufficientSecurity alert = 71 41 alertInternalError alert = 80 42 alertInappropriateFallback alert = 86 43 alertUserCanceled alert = 90 44 alertNoRenegotiation alert = 100 45 alertMissingExtension alert = 109 46 alertUnsupportedExtension alert = 110 47 alertCertificateUnobtainable alert = 111 48 alertUnrecognizedName alert = 112 49 alertBadCertificateStatusResponse alert = 113 50 alertBadCertificateHashValue alert = 114 51 alertUnknownPSKIdentity alert = 115 52 alertCertificateRequired alert = 116 53 alertNoApplicationProtocol alert = 120 54 ) 55 56 var alertText = map[alert]string{ 57 alertCloseNotify: "close notify", 58 alertUnexpectedMessage: "unexpected message", 59 alertBadRecordMAC: "bad record MAC", 60 alertDecryptionFailed: "decryption failed", 61 alertRecordOverflow: "record overflow", 62 alertDecompressionFailure: "decompression failure", 63 alertHandshakeFailure: "handshake failure", 64 alertBadCertificate: "bad certificate", 65 alertUnsupportedCertificate: "unsupported certificate", 66 alertCertificateRevoked: "revoked certificate", 67 alertCertificateExpired: "expired certificate", 68 alertCertificateUnknown: "unknown certificate", 69 alertIllegalParameter: "illegal parameter", 70 alertUnknownCA: "unknown certificate authority", 71 alertAccessDenied: "access denied", 72 alertDecodeError: "error decoding message", 73 alertDecryptError: "error decrypting message", 74 alertExportRestriction: "export restriction", 75 alertProtocolVersion: "protocol version not supported", 76 alertInsufficientSecurity: "insufficient security level", 77 alertInternalError: "internal error", 78 alertInappropriateFallback: "inappropriate fallback", 79 alertUserCanceled: "user canceled", 80 alertNoRenegotiation: "no renegotiation", 81 alertMissingExtension: "missing extension", 82 alertUnsupportedExtension: "unsupported extension", 83 alertCertificateUnobtainable: "certificate unobtainable", 84 alertUnrecognizedName: "unrecognized name", 85 alertBadCertificateStatusResponse: "bad certificate status response", 86 alertBadCertificateHashValue: "bad certificate hash value", 87 alertUnknownPSKIdentity: "unknown PSK identity", 88 alertCertificateRequired: "certificate required", 89 alertNoApplicationProtocol: "no application protocol", 90 } 91 92 func (e alert) String() string { 93 s, ok := alertText[e] 94 if ok { 95 return "tls: " + s 96 } 97 return "tls: alert(" + strconv.Itoa(int(e)) + ")" 98 } 99 100 func (e alert) Error() string { 101 return e.String() 102 }